Резюме
Резюме (Chapter Review)¶
В этой главе мы рассмотрели широкий круг тем, связанных с управлением файловой системой Linux. Глава началась со знакомства с файловой системой Linux. Прежде всего было проведено разграничение между понятием файловой системы как таковой и конкретными реализациями дисковых файловых систем — например, Reiser или ext4. Затем было отмечено, что роль файловой системы Linux состоит в организации данных таким образом, чтобы их можно было легко найти и получить, а также надёжно сохранить.
Далее мы выяснили, что Linux использует иерархическую файловую систему. Верхний каталог этой иерархии — корневой каталог (/). Мы обсудили назначение различных стандартных каталогов типичной системы Linux, определённых стандартом иерархии файловой системы (Filesystem Hierarchy Standard, FHS). К ним относятся:
/bin/boot/dev/etc/home/lib/media/mnt/opt/proc/root/sbin/srv/sys/tmp/usr/var
Мы также рассмотрели четыре типа файлов, используемых в Linux: обычные файлы, ссылки, FIFO и сокеты.
Получив базовые сведения, мы перешли к рассмотрению типовых задач управления файловой системой. Было подчёркнуто, что, хотя большинство этих задач можно выполнить с помощью графических утилит, экзамен LPIC-1/Linux+ требует умения решать их из приглашения командной строки.
В первую очередь мы рассмотрели утилиты для поиска файлов и каталогов в файловой системе Linux: find и locate. Было отмечено, что find обходит иерархию файловой системы вручную, что может быть довольно медленным. В качестве альтернативы утилита locate формирует базу данных файлов. При поиске locate обращается к своей базе данных, а не обходит иерархию файловой системы, что значительно быстрее.
Также было упомянуто, что команда which позволяет выяснить расположение исполняемых файлов системных утилит, таких как ls, cp и man. Мы рассмотрели команду whereis, которая отображает сведения о расположении исполняемого файла, исходного кода и страницы руководства для заданной команды оболочки. Кроме того, мы изучили применение команды type для определения типа файла.
Затем мы разобрали навигацию по файловой системе Linux с помощью команд pwd и cd, а также управление файлами и каталогами. Было показано, что создавать новые файлы можно командой touch, а новые каталоги — командой mkdir.
Мы также рассмотрели утилиты для удаления файлов и каталогов: rmdir и rm. Для копирования и перемещения файлов и каталогов служат утилиты cp и mv. Было отмечено, что mv можно использовать и для переименования файлов и каталогов. Мы обсудили файлы-ссылки: они указывают на другие файлы или каталоги в файловой системе, а создавать жёсткие и символьные ссылки позволяет команда ln.
Далее мы рассмотрели утилиты для просмотра содержимого текстовых файлов на экране: cat, less, head и tail. Было особо отмечено, что параметр -f команды tail позволяет отслеживать изменения в текстовом файле (например, файле журнала) в режиме реального времени. Завершилась глава обсуждением поиска содержимого внутри текстовых файлов с помощью grep.
Ускоренное повторение (Accelerated Review)¶
- Роль файловой системы — хранить и организовывать данные таким образом, чтобы их можно было легко найти и получить.
- Файловая система также должна обеспечивать целостность данных.
- Linux использует иерархическую файловую систему.
- Иерархия файловой системы Linux основана на стандарте иерархии файловой системы (FHS).
- Верхним каталогом является
/. - Прочие стандартные каталоги создаются внутри
/и выполняют функции, определённые в FHS. - В файловой системе Linux используются обычные файлы, ссылки, FIFO и сокеты.
- Большинство задач управления файловой системой можно выполнять как с помощью графических, так и с помощью инструментов командной строки.
- Утилита
findпозволяет находить файлы и каталоги в файловой системе. - Утилита
findобходит иерархию файловой системы вручную для выполнения поиска. - Утилита
locateпозволяет искать файлы и каталоги. - Утилита
locateподдерживает базу данных всех файлов в файловой системе. - При поиске
locateобращается к базе данных, а не к файловой системе. - Команда
whichиспользуется для отображения расположения файлов в файловой системе. - Команда
whereisотображает сведения об исполняемом файле, файле исходного кода и файле страницы руководства для заданной команды. - Команда
typeотображает тип файла. - Команда
pwdиспользуется для отображения текущего каталога. - Команда
cdиспользуется для смены каталога. - Команда
lsиспользуется для отображения содержимого каталога. - Параметр
-lкомандыlsотображает дополнительные сведения о файлах и каталогах. - Параметр
-Rкомандыlsотображает содержимое каталога рекурсивно. - Команда
touchиспользуется для создания новых файлов. - Команда
mkdirиспользуется для создания новых каталогов. - С помощью
catможно просматривать текстовый файл на экране. - С помощью
lessтакже можно просматривать текстовый файл на экране. - Команда
lessостанавливает вывод по одной строке за раз. - Команда
headпозволяет отображать первые несколько строк текстового файла. - Команда
tailпозволяет отображать последние несколько строк текстового файла. - Команда
tailс параметром-fпозволяет отслеживать изменения в текстовом файле. - С помощью
rmdirможно удалить пустой каталог. - С помощью
rmможно удалять непустые каталоги и файлы. - Команда
cpиспользуется для копирования файлов. - Команда
mvиспользуется для перемещения файлов. - Файловая система Linux позволяет создавать файлы-ссылки, указывающие на другие файлы или каталоги в файловой системе.
- Жёсткие ссылки указывают непосредственно на индексный дескриптор (inode) другого файла.
- Символьные ссылки имеют собственный индексный дескриптор (inode).
- Ссылки создаются командой
ln. - С помощью
grepможно искать текст внутри файла.