Министерство образования Российской Федерации.
Московский государственный институт электроники и математики
(технический университет)
Кафедра Кибернетики
Лабораторная работа № 1
“Изучение команд для работы с файлами и каталогами”
по дисциплине «Операционные системы»
Выполнил студент группы С-41
Проверил
Гостев И.М.
Москва 2010
-
Создание файлового поддерева, просмотр его структуры из различных точек файлового дерева. Команды mkdir, rmdir, cd, pwd, ls.
mkdir – команда для создания новой директории. Новая директория будет создана в текущей директории.
rmdir – команда, которая удаляет директорию. Команда не удалит директорию если она не пуста.
сd – эта команда командной строки используется для изменения текущего рабочего каталога
pwd – консольная утилита, которая выводит полный путь от корневого каталога к текущему рабочему каталогу.
ls – распечатывает имена всех файлов и каталогов, за исключением тех, которые начинаются с точки.
Пример:
c-41-26$ ls
bd.txt laba1
c-41-26$ mkdir laba11
c-41-26$ ls
bd.txt laba1 laba11
c-41-26$ rmdir laba11
c-41-26$ ls
bd.txt laba1
c-41-26$ pwd
/home/student/c-41/c-41-26
-
Работа с файлами, работа с группой файлов. Команды cat, rm, mv, wc, cmp diff, comm. Метасимволы “*”, “?”.
cat – утилита, выводящая последовательно указанные файлы, таким образом, объединяя их в единый поток.
rm – утилита, используемая для удаления файлов из файловой системы. Ключи, использующиеся с rm:
mv – утилита, используется для перемещения или переименования файлов или каталогов.
wc – выводит число переводов строк, слов и байт для каждого указанного файла и итоговую строку, если было задано несколько файлов. Если входной файл не задан, или равен ‘-‘, то данные считываются со стандартного ввода. В первой колонке содержится количество строк, во второй — слов, в третьей — символов.
cmp – сравнивает два файла, и если они различаются, сообщает о первом байте и строке, где было обнаружено различие.
diff – выдает на стандартный вывод те строки файлов, которые нужно изменить, чтобы привести файлы в соответствие друг с другом. Если вместо файла1 или файла2 стоит -, то используется стандартный ввод.
comm – читает файл1 и файл2, которые должны быть предварительно лексически отсортированы, и генерирует вывод, состоящий из трёх колонок текста: строки, найденные только в файле файл1; строки, найденные только в файле файл2; и строки, общие для обоих файлов.
Пример:
c-41-26$ cat ->bd.txt
123
321
123
321
nn
cc
c-41-26$ cat bd.txt
123
321
123
321
nn
cc
c-41-26$ mkdir kl
c-41-26$ ls
bd.txt dmv.txt laba1
c-41-26$ rm -r dmv.txt
c-41-26$ ls
bd.txt laba1
c-41-26$ mv laba1 lama11
c-41-26$ ls
bd.txt lama11
c-41-26$ wc bd.txt
3 15 100 bd.txt
c-41-26$ diff -i bd.txt bd11.txt
2c2
< 321
---
> 333
5,6c5
<
< ert
---
> r
c-41-26$ comm bd.txt bd11.txt
123
321
123
321
333
123
321
ert
r
-
Информационные команды, работа с почтой. Команды date, who, tty, df, file, ps, du.
date – утилита для работы с системными часами. Выводит текущую дату и время в различных форматах и позволяет устанавливать системное время.
who – показывает текущих пользователей в компьютерной системе
tty – получение имени терминала
df – показывает список всех файловых систем по именам устройств, сообщает их размер, занятое и свободное пространство и точки монтирования.
file – предназначена для определения типа файла.
ps –выводит отчёт о работающих процессах.
du – программа для оценки занимаемого файлового пространства.
Пример:
c-41-26$ date
среда, 28 апреля 2010 г. 22:15:58 (MSD)
c-41-26$ who
c-41-26 ttyp0 28 апр 22:07 (77.232.15.183)
c-41-26$ tty
/dev/ttyp0
c-41-26$ df
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad4s1h 169912000 154048548 2270492 99% /
c-41-26$ ps
PID TT STAT TIME COMMAND
99395 p0 SsJ 0:00,03 -bash (bash)
99590 p0 R+J 0:00,00 ps
c-41-26$ du
4 .
c-41-26$ file -L bd.txt
bd.txt: ASCII text
-
Обработка текстовых (структурированных) файлов.
Создать текстовый файл (БД) по преподавателям.
Сортировать БД по алфавиту.
Сортировать БД по факультету.
Выполнить поиск по ФИО преподавателя.
Пример:
c-41-26$ cat -> bd.txt
Belikova N.M. docent AVT VS
Vlasov M.M. prepodovatel VSIS VC
Anichkina M.T. aspirant MUS VS
Goncharuk F.S. docent TAT VV
c-41-26$ sort bd.txt
Anichkina M.T. aspirant MUS VS
Belikova N.M. docent AVT VS
Goncharuk F.S. docent TAT VV
Vlasov M.M. prepodovatel VSIS VC
c-41-26$ sort --k=5 -d bd.txt
Vlasov M.M. prepodovatel VSIS VC
Anichkina M.T. aspirant MUS VS
Belikova N.M. docent AVT VS
Goncharuk F.S. docent TAT VV
c-41-26$ sort --k=5 -d bd.txt -r
Goncharuk F.S. docent TAT VV
Belikova N.M. docent AVT VS
Anichkina M.T. aspirant MUS VS
Vlasov M.M. prepodovatel VSIS VC
c-41-26$ grep Goncharuk bd.txt
Goncharuk F.S. docent TAT VV
Внести новые записи в БД
echo — команда Unix, предназначенная для отображения строки текста.
Пример:
c-41-26$ cat bd.txt
Belikova N.M. docent AVT VS
Vlasov M.M. prepodovatel VSIS VC
Anichkina M.T. aspirant MUS VS
Goncharuk F.S. docent TAT VV
c-41-26$ echo bd.txt
bd.txt
c-41-26$ echo "lolo " >> bd.txt
c-41-26$ cat bd.txt
Belikova N.M. docent AVT VS
Vlasov M.M. prepodovatel VSIS VC
Anichkina M.T. aspirant MUS VS
Goncharuk F.S. docent TAT VV
lolo
tail — утилита в UNIX, выводящая несколько (по умолчанию 10) последних строк из файла.
uniq — утилита Unix, с помощью которой можно вывести или отфильтровать повторяющиеся строки в файле.
c-41-26$ tail -2 bd.txt
Anichkina M.T. aspirant MUS VS
Goncharuk F.S. docent TAT VV
c-41-26$ uniq -u bd.txt
Belikova N.M. docent AVT VS
Vlasov M.M. prepodovatel VSIS VC
Anichkina M.T. aspirant MUS VS
Goncharuk F.S. docent TAT VV
c-41-26$ uniq -c bd.txt
1 Belikova N.M. docent AVT VS
1 Vlasov M.M. prepodovatel VSIS VC
1 Anichkina M.T. aspirant MUS VS
1 Goncharuk F.S. docent TAT VV
-
Изменение прав доступа к файлам и команда вывода списка прав доступа к файлу.
ls -l – выдавать (в одноколоночном формате) тип файла, права доступа к файлу, количество ссылок на файл, имя владельца, имя группы, размер файла (в байтах), временной штамп и имя файла.
chmod - изменение прав доступа к файлам и папкам. Каждое право имеет числовой код и может быть задано вручную:
400 — владелец имеет право на чтение;
200 — владелец имеет право на запись;
100 — владелец имеет право на выполнение;
40 — группа имеет право на чтение;
20 — группа имеет право на запись;
10 — группа имеет право на выполнение;
4 — остальные имеют право на чтение;
2 — остальные имеют право на запись;
1 — остальные имеют право на выполнение.
Суммировав эти коды можно получить символьную запись. Например, chmod 444 {имяфайла}: 400+40+4=444 — все имеют право только на чтение.
Пример:
c-41-26$ ls -l
total 4
-rw-r--r-- 1 c-41-26 c-41 115 29 апр 16:28 bd.txt
drwxr-xr-x 4 c-41-26 c-41 512 28 апр 22:48 lama11
c-41-26$ chmod 444 bd.txt
c-41-26$ ls -l
total 4
-r--r--r-- 1 c-41-26 c-41 115 29 апр 16:28 bd.txt
drwxr-xr-x 4 c-41-26 c-41 512 28 апр 22:48 lama11
c-41-26$ chmod 412 bd.txt
c-41-26$ ls -l
total 4
-r----x-w- 1 c-41-26 c-41 115 29 апр 16:28 bd.txt
drwxr-xr-x 4 c-41-26 c-41 512 28 апр 22:48 lama11
c-41-26$ chmod 777 bd.txt
c-41-26$ chmod 777 lama11
c-41-26$ ls -l
total 4
-rwxrwxrwx 1 c-41-26 c-41 115 29 апр 16:28 bd.txt
drwxrwxrwx 4 c-41-26 c-41 512 28 апр 22:48 lama11
