Перейти к содержанию

Резюме

Резюме (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 можно искать текст внутри файла.