Этот материал является частью 2 серии LFCA. Здесь, в этой части, мы объясним файловую систему Linux и рассмотрим основные команды управления файлами, необходимые для сдачи экзамена на сертификацию LFCA.
При начале работы в Linux вы будете проводить много времени взаимодействуя с файлами и каталогами. Каталоги также известны как папки, и они организованы в иерархической структуре.
В операционной системе Linux каждая сущность рассматривается как файл. Фактически, существует популярное утверждение в кругах Linux, которое гласит: «Всё является файлом в Linux». Это всего лишь упрощение, и на самом деле большинство файлов в Linux являются специальными файлами, включая символические ссылки, блочные файлы и т. д.
Обзор файловой системы Linux
Давайте на мгновение взглянем на основные типы файлов:
1. Обычные файлы
Это наиболее распространенные типы файлов. В обычных файлах содержится читаемый человеком текст, инструкции программы и символы ASCII.
Примеры обычных файлов включают в себя:
- Простые текстовые файлы, файлы pdf
- Мультимедийные файлы, такие как изображения, музыка и видеофайлы
- Бинарные файлы
- Архивированные или сжатые файлы
И многое другое.
И многое другое.
2. Специальные файлы
Это файлы, представляющие физические устройства, такие как примонтированные тома, принтеры, CD-приводы и любые устройства ввода-вывода (I/O).
3. Каталоги
A directory is a special file type that stores both regular and special files in a hierarchical order starting from the root ( / )
directory. A directory is the equivalent of a folder in the Windows operating system. Directories are created using the mkdir command, short for making the directory, as we shall see later on in this tutorial.
Структура иерархии Linux начинается с корневого каталога и ветвится на другие каталоги, как показано ниже:

Давайте разберем каждый каталог и его использование.
- Каталог /root является домашним каталогом для пользователя root.
- Каталог /dev содержит файлы устройств, такие как /dev/sda.
- Статические загрузочные файлы находятся в каталоге /boot.
- Приложения и утилиты пользователя находятся в каталоге /usr.
- Каталог /var содержит файлы журналов различных системных приложений.
- Все файлы конфигурации системы хранятся в каталоге /etc.
- Каталог /home – это местоположение папок пользователей. Сюда входят папки Desktop, Documents, Downloads, Music, Public и Videos.
- Для дополнительных пакетов приложений посмотрите в каталоге /opt.
- Каталог /media хранит файлы для съемных устройств, таких как USB-накопители.
- Каталог /mnt содержит подкаталоги, которые служат временными точками монтирования для устройств, таких как CD-ROMы.
- Каталог /proc – это виртуальная файловая система, которая содержит информацию о текущих запущенных процессах. Это странная файловая система, которая создается при загрузке системы и уничтожается при выключении.
- Каталог /bin содержит двоичные файлы пользовательских команд.
- Каталог /lib хранит общие изображения библиотек и модулей ядра.
Команды управления файлами Linux
Вы будете проводить много времени взаимодействуя с терминалом, где будете выполнять команды. Выполнение команд является наиболее предпочтительным способом взаимодействия с системой Linux, поскольку оно дает вам полный контроль над системой по сравнению с использованием графических элементов отображения.
Для этого урока и последующих уроков мы будем выполнять команды в терминале. Мы используем ОС Ubuntu и для запуска терминала используйте комбинацию клавиш CTRL + ALT + T
.
Давайте теперь поглубже вникнем в основные команды управления файлами, которые помогут вам создавать и управлять файлами на вашей системе.
1. Команда pwd
pwd , сокращенно от print working directory , – это команда, которая выводит текущий рабочий каталог иерархически, начиная с верхнего корневого каталога ( / )
.
Чтобы проверить текущий рабочий каталог, просто вызовите команду pwd , как показано.
$ pwd
Выходной показывает, что мы находимся в нашем домашнем каталоге, абсолютный или полный путь /home/tecmint.

2. Команда cd
Для изменения или навигации по каталогам используйте команду cd, которая является сокращением от change directory.
Например, чтобы перейти к пути файла /var/log, выполните команду:
$ cd /var/log

Чтобы перейти на один уровень вверх в каталоге, добавьте две точки в конце.
$ cd ..
Чтобы вернуться в домашний каталог, выполните команду cd без аргументов.
$ cd

ПРИМЕЧАНИЕ: Чтобы перейти в подкаталог или каталог внутри текущего каталога, не используйте косую черту ( / )
, просто введите название каталога.
Например, чтобы перейти в каталог Загрузки, выполните:
$ cd Downloads

3. Команда ls
Команда ls используется для отображения существующих файлов или папок в каталоге. Например, чтобы отобразить все содержимое в домашнем каталоге, выполним команду.
$ ls
Из вывода мы видим, что у нас есть два текстовых файла и восемь папок, которые обычно создаются по умолчанию после установки и входа в систему.

Для перечисления дополнительной информации добавьте флаг -lh
, как показано. Опция -l
означает длинное перечисление и выводит дополнительную информацию, такую как права доступа к файлам, пользователь, группа, размер файла и дата создания. Флаг -h
выводит размер файла или каталога в удобочитаемом формате.
$ ls -lh

Для перечисления скрытых файлов добавьте флаг -a
.
$ ls -la
Это отображает скрытые файлы, которые начинаются с точки (.)
, как показано.
.ssh .config .local

4. Команда touch
Команда touch используется для создания простых файлов в системе Linux. Чтобы создать файл, используйте синтаксис:
$ touch filename
Например, чтобы создать файл file1.txt, выполните команду:
$ touch file1.txt
Для подтверждения создания файла вызовите команду ls.
$ ls

5. Команда cat
Чтобы просмотреть содержимое файла, используйте команду cat следующим образом:
$ cat filename

6. Команда mv
Команда mv довольно универсальна. В зависимости от того, как она используется, она может переименовать файл или переместить его из одного места в другое.
Чтобы переместить файл, используйте следующий синтаксис:
$ mv filename /path/to/destination/
Например, чтобы переместить файл из текущего каталога в каталог Public/docs, выполните команду:
$ mv file1.txt Public/docs

Иначе, вы можете переместить файл из другого места в текущую директорию, используя синтаксис, показанный. Обратите внимание на знак точки в конце команды. Это означает, что местоположение ’.
$ mv /path/to/file .
Теперь мы собираемся сделать обратное. Мы скопируем файл из пути Public/docs в текущую директорию, как показано.
$ mv Public/docs/file1.txt .

Чтобы переименовать файл, используйте показанный синтаксис. Команда удаляет исходный имя файла и присваивает второй аргумент как новое имя файла.
$ mv filename1 filename2
Например, чтобы переименовать file1.txt в file2.txt, запустите команду:
$ mv file1.txt file2.txt

Кроме того, вы можете переместить и переименовать файл одновременно, указав папку назначения и другое имя файла.
Например, чтобы переместить file1.txt в местоположение Public/docs и переименовать его file2.txt, запустите команду:
$ mv file1.txt Public/docs/file2.txt

7. Команда cp
Команда cp, сокращенно от copy, копирует файл из одного места в другое. В отличие от команды move, команда cp оставляет исходный файл в его текущем месте и делает дубликат в другой директории.
Синтаксис для копирования файла показан ниже.
$ cp /file/path /destination/path
Например, чтобы скопировать файл file1.txt из текущей директории в директорию Public/docs/, выполните команду:
$ cp file1.txt Public/docs/

Для копирования каталога используйте опцию -R
для рекурсивного копирования каталога вместе со всем содержимым. Мы создали другой каталог под названием tutorials. Чтобы скопировать этот каталог вместе с его содержимым в путь Public/docs/, выполните команду:
$ cp -R tutorials Public/docs/

8. Команда mkdir
Возможно, вы задавались вопросом, как мы создали каталог tutorials. Ну, это довольно просто. Чтобы создать новый каталог, используйте команду mkdir ( make directory) следующим образом:
$ mkdir directory_name
Давайте создадим еще один каталог под названием projects, как показано ниже:
$ mkdir projects

Для создания каталога внутри другого каталога используйте флаг -p
. Команда ниже создает каталог fundamentals внутри каталога linux в родительском каталоге, который является каталогом projects.
$ mkdir -p projects/linux/fundamentals

9. Команда rmdir
Команда rmdir удаляет пустой каталог. Например, чтобы удалить или удалить каталог tutorials, выполните команду:
$ rmdir tutorials

Если попробовать удалить непустой каталог, вы получите сообщение об ошибке, как показано.
$ rmdir projects

10. Команда rm
Команда rm (remove) используется для удаления файла. Синтаксис довольно прост:
$ rm filename
Например, чтобы удалить файл file1.txt, выполните команду:
$ rm file1.txt
Кроме того, можно удалить каталог рекурсивно, используя опцию -R
. Это может быть как пустой, так и непустой каталог.
$ rm -R directory_name
Например, чтобы удалить каталог projects, выполните команду:
$ rm -R projects

11. Команды find и locate
Иногда вам может потребоваться найти расположение определенного файла. Вы можете легко сделать это, используя команды find или locate.
Команда find ищет файл в определенном местоположении и принимает два аргумента: путь к поиску или каталог и файл для поиска.
Синтаксис показан следующим образом
$ find /path/to/search -name filename
Например, чтобы найти файл с именем file1.txt в домашнем каталоге, выполните:
$ find /home/tecmint -name file1.txt

Команда locate, также как и команда find, выполняет ту же функцию поиска файлов, но принимает только один аргумент, как показано.
$ locate filename
Например;
$ locate file1.txt

Команда locate ищет, используя базу данных всех возможных файлов и каталогов в системе.
ПРИМЕЧАНИЕ: Команда locate работает намного быстрее, чем команда find. Однако команда find более мощная и работает в ситуациях, когда locate не дает желаемых результатов.
Вот и всё! В этой теме мы рассмотрели основные команды управления файлами, которые помогут вам создавать и управлять файлами и каталогами в системе Linux.
Source:
https://www.tecmint.com/linux-file-management-commands/