Файлы, используемые в лекции |
Файловая система Linux
Ход занятия
1. Файловая система Linux, в отличие от операционных систем семейства Windows не разделена по томам (дискам, устройствам), а имеет единую древовидную структуру, в основе которой лежит корневой каталог. Корневой каталог - это уровень файловой системы, выше которого по дереву каталогов подняться невозможно. В Linux корневой каталог обозначается как / (именно / - слэш, а не \ - обратный слэш). Система позволяет устанавливать много корневых каталогов. Так например для некоторого пользователя ftp /home будет корневым каталогом и при обращении к клиенту ftp на смену каталога на корневой пользователь будет попадать в /home.
Возникает вопрос, а как тогда разные физические устройства участвуют в формировании единой файловой системы? Сделаем небольшой экскурс в историю. В то время, когда создавалась ОС Unix, устройства – накопители информации представляли собой ящик размером с письменный стол и назывались магнитными барабанами. В то время не было необходимости подключать и отключать его по нескольку раз в час. Поэтому не был выработан и механизм быстрой смены. Для подключения любого устройства к файловой системе используется так называемая точка монтирования – каталог, все вложенные уровни которого являются файловой системой на устройстве-носителе. Например, при монтировании дискеты обычно используется каталог /media/floppy . То есть, все каталоги и файлы, находящиеся внутри /media/floppy на самом деле содержатся на дискете, вставленной в дисковод компьютера. Для подключения, или монтирования, устройств используется специальная команда, которую мы изучим на следующих занятиях. Таким образом подключаются и сетевые файловые системы, то есть такие системы, которые реально находятся где-то на сервере в сети, однако различий в работе с ними пользователь не ощущает и видит сетевые файлы и каталоги, как если бы они были расположены на локальном компьютере.
Есть у файловой системы Linux и еще одна особенность: пользователям в ней выделяется домашний каталог – специальный каталог, необходимый для хранения пользователем своих личных данных. При входе пользователя в систему, он сразу оказывается в своем домашнем каталоге. Обычно права доступа к домашнему каталогу с консоли пользователя выставлены таким образом, что доступ к каталогу запрещен всем кроме владельца и администратора.
2. В файловой системе Линукс различают несколько типов файлов. Понятие "файл" включает в себя также и интерфейсы работы с периферийными устройствами, и каналы, позволяющие разным процессам в системе обмениваться данными.
[student@ns lesson_2]$ ls -l total 40 -rwxr-xr-x 1 root root 2872 Aug 27 2001 arch -rw-rw-rw- 1 root root 612 Jun 25 2001 chain.b brw-rw---- 1 root disk 3, 1 Feb 3 15:38 hda1 drwxrwxrwx 2 root root 32768 Feb 3 15:38 ida
Основные типы устройств:
d каталог
3. Навигация по файловой системе является одним из самых важных навыков при работе с операционной системой Linux. Основными командами, используемыми при навигации по файловой системе, являются:
pwd – показывает полное имя каталога, в котором находится пользователь.
[student@ns student]$ pwd /home/student [student@ns student]$
cd – изменяет текущий каталог на указанный. cd без параметров или с параметром ~ изменяет текущий каталог на домашний. cd с параметром .. изменяет каталог на тот, который находится на один уровень выше по дереву каталогов.
[student@ns student]$ pwd /home/student [student@ns student]$ cd primer [student@ns primer]$ pwd /home/student/primer [student@ns primer]$ cd .. [student@ns student]$ pwd /home/student [student@ns student]$ cd /home/student/primer [student@ns primer]$ pwd /home/student/primer [student@ns primer]$ cd [student@ns student]$ pwd /home/student [student@ns student]$ cd /bin [student@ns bin]$ pwd /bin [student@ns bin]$ cd ~ [student@ns student]$ pwd /home/student [student@ns student]$_
pushd,popd – эти команды работают в связке. Команда pushd изменяет каталог на указанный. pushd c параметром .. изменяет каталог на тот, который находится на один уровень выше по дереву каталогов. Основное отличие этой команды от cd в том, что вся история смены каталогов запоминается в стек и потом может быть использована для быстрой обратной навигации с помощью команды popd.
[student@ns student]$ pushd /var /var ~ [student@ns var]$ pushd log /var/log /var ~ [student@ns log]$ popd /var ~ [student@ns var]$ popd ~ [student@ns student]$
4. Пользователю Linux ежедневно приходится создавать, копировать и удалять файлы. Эти операции являются такими же важными, как перемещение по файловой системе.
Команда cp используется для копирования файлов. Её синтаксис таков:
cp [параметры] <имя файла источника> <имя каталога приемника>
Наиболее часто используемым параметром является параметр - R , позволяющий рекурсивно копировать каталоги, т.е со всем их содержимым.
[student@ns primer_3]$ cd ../primer_1/in_primer_1 [student@ns in_primer_1]$ ls [student@ns primer_3]$ cd ../primer_3 [student@ns primer_3]$ cp in_primer_3 ../primer_1/in_primer_1/ [student@ns primer_3]$ cd ../primer_1/in_primer_1 [student@ns in_primer_1]$ ls in_primer_3 [student@ns primer_2]$ cd ../primer_2 [student@ns primer_2]$ ls in_primer_2 in_primer_2_2 [student@ns primer_3]$ cp -R * ../primer_2 [student@ns primer_3]$ cd ../primer_2 [student@ns primer_2]$ ls in_primer_2 in_primer_3 [student@ns primer_2]$ cd in_primer_3
Команда touch позволяет создавать файлы. Её применение наиболее просто: touch <имя файла>.Если файл с заданным именем существует в текущей директории, команда touch обновит его время создания на текущее.
[student@ns lesson_3]$ ls primer_1 primer_2 primer_3 [student@ns lesson_3]$ touch file [student@ns lesson_3]$ ls file primer_1 primer_2 primer_3 [student@ns lesson_3]$_
Команда rm используется для удаления файлов. Основные параметры, используемые с командой rm это -i (удаление с подтверждением удаления), -r (рекурсивное удаление) и -f (удаление всех файлов без подтверждения), -v (подробное описание производимых действий). Параметры -r и -f используются для удаления большого количества файлов. Но при их использовании необходимо быть предельно осторожным, т.к. с помощью этих параметров можно уничтожить систему.
[student@ns lesson_3]$ rm -iv ./file rm: remove `./file'? y removing `./file' [student@ns lesson_3]$_
5. Операции с каталогами также важны для пользователя Linux , как и основные операции с файлами. Основные команды, используемые при работе с каталогами это – rmdir и mkdir .
Команда mkdir позволяет создать каталог:
[student@ns student]$ ls file primer_1 primer_2 primer_3 [student@ns student]$ mkdir catalog [student@ns student]$ ls catalog file primer_1 primer_2 primer_3 [student@ns student]$_
rmdir, наоборот, позволяет удалить каталог:
[student@ns student]$ ls catalog file primer_1 primer_2 primer_3 [student@ns student]$ rmdir catalog [student@ns student]$ ls file primer_1 primer_2 primer_3 [student@ns student]$_
Обращаю ваше внимание на то, что команда rmdir без использования дополнительных параметров, может удалять ТОЛЬКО ПУСТЫЕ КАТАЛОГИ.
6. Файловая система Linux, как и любой другой unix-подобной операционной системы, имеет строгую структуру каталогов. Каждый дистрибутив Linux может несколько изменять структуру в зависимости от предпочтений разработчиков. Мы рассмотрим те каталоги, которые используются в каждом дистрибутиве: