Работа с файлами и каталогами в Linux
Рассказываем о просмотре доступных файлов и каталогов, командах для работы с файлами и основах редактирования в текстовом редакторе nano.
Эта инструкция — часть курса «Linux: горячие клавиши и команды».
Смотреть весь курс
Введение
В этом руководстве для начинающих пользователей мы ознакомимся с основными командами для работы с файлами и каталогами (иногда их еще называют директориями) в Linux-системах.
Требования
Cервер с Ubuntu 20.04
Все команды, описанные ниже, будут работать и в других дистрибутивах Linux.
Расположение каталогов в файловой системе
При входе на сервер, вы, как правило, попадаете в домашний каталог вашей учетной записи, отведенный для хранения файлов и создания директорий.
Для того чтобы узнать, где располагается каталог, в котором мы сейчас находимся, используется команда:
Результат выполнения команды выглядит следующим образом:
/home/demo
Домашний каталог располагается после имени учетной записи пользователя, в приведенном примере он называется /demo. Этот каталог находится в каталоге с именем /home и в каталоге верхнего уровня, который называется root или корневой каталог, поэтому представлен одной косой чертой /.
Просмотр содержимого каталогов
Для просмотра содержимого каталога используется команда ls. Название этой команды является сокращением слов list files.
Просмотреть содержимое любой директории можно следующими способами:
ls имя_директории
Либо введя команду:
ls /путь _к _директории
В результате выполнения команды отображаются файлы и каталоги, находящиеся внутри данного каталога:
dir1 file1 file2 file3
К команде ls можно добавлять дополнительные флаги, например, чтобы показать детализированное представление (права, список владельцев файлов или папок, размер, дату последнего модифицирования) файлов и директорий в текущей директории, можно использовать флаг -l:
ls -l
Результат выполнения команды:
total 16 drwxr-xr-x 2 home demo 4096 Nov 3 17:40 dir1 -rw-r--r-- 1 home demo 13 Nov 8 17:17 file1 -rw-r--r-- 1 home demo 42 Nov 9 13:04 file2 -rw-r--r-- 1 home demo 42 Nov 10 13:04 file3
Для просмотра списка всех файлов, включая скрытые файлы и каталоги, вы можете добавить флаг -a:
ls -a
Результат выполнения команды:
. dir1 file1 .mysql_history .ssh .. .bash_history file2 file3 .nan
Отобразить содержимое текущей директории с добавлением к именам символов, характеризующих тип, можно с помощью команды:
ls -F
Результат выполнения команды:
dir1/ file1 file2 file3
Перемещение между каталогами
Для перехода в домашний каталог используется команда cd. Название этой команды является сокращением слов change directory.
Для перехода в домашний каталог пользователя user используется команда:
cd ~user
Для перехода в предыдущую директорию, в которой мы находились до перехода в текущую директорию также используется команда cd.
В Linux-системах каждый файл и каталог находятся в самой верхней директории, которая называется «корневой» и обозначается одним символом слэш /.
Абсолютный путь указывает на расположение каталога по отношению к этой директории верхнего уровня. Это позволяет обращаться к справочникам однозначным образом из любого места в файловой системе.
Каждый абсолютный путь должен начинаться с косой черты — символа слэш /.
Для перехода в директорию уровнем выше используется команда:
Для перехода в директорию двумя уровнями выше:
Операции с файлами и каталогами
У каждой команды имеется множество параметров, чтобы узнать их, наберите команду и параметр —help, например:
ls --help
Далее приведен список основных команд навигации в консоли Linux.
Создание
Создание файлов производится с помощью команды:
touch имя_файла
Создание каталогов выполняется с помощью команды вида:
mkdir имя_директории
Название этой команды является сокращением слов make directory.
Создание двух каталогов одновременно выполняется с помощью команды:
mkdir имя_директории_1 имя_директории_2
Для создания дерева каталогов используется команда следующего вида:
mkdir -p /имя_директории_1/имя_директории_2
Удаление
Для удаления директорий используется команда rmdir имя_директории. Название этой команды является сокращением слов remove directory.
Для удаления файлов используется команда rm. Например, для удаления файла с именем file1 используется команда:
rm file1
Команда rm также позволяет удалять не только файлы, но и каталоги.
Для удаления директории с именем dir1 со всеми подкаталогами и файлами используется опция -r (от слова recursive):
rm -r dir1
Можно удалить одновременно две директории со всем их содержимым:
rm -r имя_директории_1 имя_директории_2
Также можно использовать параметр -f, который означает, что при удалении не будет запрашиваться подтверждение.
Команда для удаления файла будет выглядеть так:
rm -f file1
Команда для удаления каталога:
rm -rf dir1
Перемещение
Для перемещения и переименования файлов и каталогов используется команда mv. Название этой команды является сокращением слова move.
Переименовать файл можно с помощью команды:
mv имя_файла новое_имя
Для того чтобы переместить файл, используется команда:
mv имя_файла путь/
Копирование
Для копирования используется команда cp. Название этой команды является сокращением слова copy.
Чтобы скопировать файл file1 и назвать его file2, используется команда:
cp file1 file2
Для того чтобы копировать директорию dir1 в директорию dir2, используется команда:
cp -a dir1/ dir2/
Скопировать файл с именем file1 в директорию с именем dir1, можно с помощью команды:
cp file1 dir1/
Редактирование файлов
Мы ознакомились с основными командами для работы с каталогами и файлами.
Далее мы изучим, как редактировать файлы и добавлять в них содержание.
Команда nano позволяет работать в одном из самых простых текстовых редакторов командной строки Linux, который занимает весь терминал в течение всего срока его использования.
В результате ввода в терминал команды nano будет открыт чистый файл.
Интерфейс выглядит следующим образом:

В верхней части открывшегося редактора отображается имя приложения и имя файла, который мы редактируем.
В середине должно располагаться содержимое файла, в настоящее время оно пустое.
В нижней части интерфейса расположен ряд комбинаций клавиш, которые указывают с основными элементами управления текстового редактора. Для каждого из них символ ^ означает клавишу CTRL.
Для того чтобы открыть справку используйте сочетание клавиш CTRL-G.
Закрывается справка с помощью сочетания клавиш CTRL-X. После закрытия справки мы возвращаемся к редактированию.
Вводить и редактировать можно любой текст, например, можно ввести: “Hello World!”
Для сохранения внесенных изменений следует нажать сочетание клавиш CTRL-O. Внимание! Это буква О, а не ноль.
Далее система попросит вас ввести либо подтвердить имя файла, который вы хотите сохранить:
File Name to Write: ^G Get Help M-D DOS Format M-A Append M-B Backup File ^C Cancel M-M Mac Format M-P Prepend
Как вы можете видеть, параметры в нижней части окна редактирования также изменились. Они являются контекстными, то есть будут меняться в зависимости от того, что вы пытаетесь сделать.
После ввода имени файла нажмите клавишу ENTER.
Для того чтобы выйти из тестового редактора нажмите сочетание клавиш CTRL-X.
Если вы внесли изменения и не сохранили файл, вам будет предложено сохранить сделанные вами изменения:
Save modified buffer (ANSWERING "No" WILL DESTROY CHANGES) ? Y Yes N No ^C Cancel
Вы можете нажать клавишу Y, чтобы сохранить изменения, клавишу N для отмены изменений и выхода, или сочетание клавиш CTRL-C, чтобы отменить операцию выхода из режима редактирования файла.
Если вы решили сохранить изменения, вам будет предложено сохранить их в том же файле, который был отредактирован.
Нажмите клавишу ENTER, чтобы сохранить файл и выйти из редактора.
Заключение
Мы ознакомились с возможностями просмотра доступных файлов и каталогов, с основными командами для работы с файлами, которые позволяют просматривать, копировать, перемещать и удалять файлы, а также с основами редактирования в текстовом редакторе nano.
Структура и типы файловых систем в Linux
Форум русскоязычного сообщества Ubuntu
Страница сгенерирована за 0.253 секунд. Запросов: 25.
- Сайт
- Об Ubuntu
- Скачать Ubuntu
- Семейство Ubuntu
- Новости
- Форум
- Помощь
- Правила
- Документация
- Пользовательская документация
- Официальная документация
- Семейство Ubuntu
- Материалы для загрузки
- Совместимость с оборудованием
- RSS лента
- Сообщество
- Наши проекты
- Местные сообщества
- Перевод Ubuntu
- Тестирование
- RSS лента
© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.
Где находится etc linux
— Видишь, какой у меня порядок. Всё-всё висит слева, кроме инструментов, а инструменты — справа, — объяснил Карлсон Малышу. — И картины тоже.
— Астрид Линдгрен. Малыш и Карлсон
Место для хранения файлов с наиболее важными программами.
Здесь лежат файлы, необходимые на стадии загрузки операционной системы: образы ядра ОС и начального RAM-диска.
Здесь находятся файлы, представляющие специальные устройства, например, /dev/hdb — primary slave IDE диск, /dev/hdb1 — его первый раздел, /dev/fd0 — первый дисковод для дискет, /dev/null — «нулевое» устройство.
etc — это латинское сокращение, означающее «и так далее». В этой директории находятся файлы с настройками системы и многих программ. Там же лежат файлы /etc/passwd и /etc/group , о которых отдельный разговор.
Место для домашних директорий обычных пользователей.
Директория предназначена для служебных нужд.
Здесь лежат библиотеки, необходимые для работы системы (минимальный набор).
При внезапных электрических авариях, «повисаниях» компьютера в файловой системе могут появиться ошибки. Сравнительно не тяжёлая ошибка — потерянные фрагменты файлов. Потерянные в том смысле, что они не помечены в файловой системе как относящиеся к какому-либо файлу. Такого рода ошибки легко выявляются при проверке целостности файловой системы программой fsck . Программа сохраняет эти фрагменты в виде файлов в директории /lost+found — вдруг в них что-то ценное! Но, как правило, эти потерянные фрагменты — просто копии фрагментов, входящих в файлы; потери обычно происходят при копировании файлов с места на место. Директории /lost+found автоматически создаются программой fsck на всех разделах, содержащих файловые системы ext2 и ext3 .
В этой директории принято создавать поддиректории — «монтажные точки», например, /mnt/floppy и /mnt/cdrom .
Сюда можно устанавливать дополнительное программное обеспечение, не входящее в установочный комплект Linux .
Всё, что находится в этой директории — не совсем настоящее. Все файлы из этого директории содержат в удобном для чтения виде информацию об операционной системе и запущенных процессах в данный момент времени. Файлы и поддиректории создаются, удаляются и обновляются «на лету». К примеру, заглянув в файл /proc/mounts , можно узнать всё о смонтированных в настоящий момент файловых системах. Огромный файл /proc/kcore (на моём компьютере он имеет размер 256 Mb) — не что иное, как копия всей оперативной памяти, и он непрерывно обновляется! В директории /proc есть также подкаталоги с числовыми названиями. Эти числа — номера работающих в данный момент процессов, а в каждом таком каталоге — файлы с различной информацией о процессе. Например, из файла /proc/2890/cmdline можно узнать, что процесс номер 2890 запущен программой vim , и что командная строка запуска этой программы — vim linux.html (это я редактирую настоящий документ). В каком смысле содержимое /proc ненастоящее? На самом деле это смонтированная файловая система специального типа procfs . Её файлы не располагаются на диске, они не располагаются нигде! Просто это очень удобный способ общения программ с работающей операционной системой.
Домашний каталог самого главного администратора с неограниченными правами — пользователя по имени root .
Здесь лежат программы, предназначенные для запуска привилегированными пользователями.
(от слова temporary — временный). Каталог для временных файлов, создаваемых программами. Нуждается в периодической очистке.
Обычно это самый большой каталог, в котором располагается большинство установленных программ ( /usr/bin ) и их библиотек ( /usr/lib ).
Каталог /var предназначен для файлов длительного хранения, создаваемых программами. Многие программы ведут протоколы своей деятельности, эти протоколы складываются обычно в /var/log . В /var/lib/pgsql лежат, к примеру, файлы баз данных Postgres SQL (это, кстати, также и домашний каталог пользователя postgres , от имени которого ведётся работа с базами данных).
|
![]() |
![]() |
| Типы файловых систем | ![]() |
Типы объектов в файловых системах ext2 и ext3 |
Файлы, каталоги и папки в Linux. Структура файловой системы
В операционной системе Linux файловая система отличается организованной структурой. Если вы только перешли с Windows, вы можете столкнуться с некоторыми затруднениями, во многом из-за отсутствия чёткого понимания о принадлежности каждой директории. В данной статье будет рассмотрена структура файловой системы, в результате чего смысл применения большинства папок в Linux директории (directory) станет вам ясен.
В первую очередь, обратите внимание на следующую таблицу ниже:

Теперь следует разобрать всё более подробно.
/ — корень
Главный каталог в системе. Здесь нет дисков, как в Виндовс. По большему счёту, это и есть файловая система Линукс. Адреса всех существующих файлов начинаются с корневой директории Linux, а дополнительные разделы подключаются к папкам корневого каталога.
Читать или менять содержимое в данном каталоге может лишь root-пользователь (user). Домашний каталог пользователя root — /root.
/bin — бинарные файлы пользователя
Содержит файлы исполняемого типа. Программы, с которыми можно работать в однопользовательском режиме и прочие утилиты, которые применяются, пока не подключён каталог /usr/.
/sbin — системные исполняемые файлы
Во-первых, как и в случае с /bin, содержатся исполняемые файлы, доступные на ранних этапах загрузки. Во-вторых, тут располагаются программы, выполняемые с правами суперпользователя, те же утилиты обслуживания и пр.
/etc
В этой папке Linux расположены конфигурационные файлы всех программ, которые установлены в системе. Также есть скрипты для запуска демонов, автозагрузки программ и т. п. Главное, что следует запомнить, — речь идёт о файлах по настройке и конфигурации.
/dev — файлы устройств
Как вы знаете, в операционной системе Linux «всё есть файл». И различные внешние устройства тоже. В результате, любые подключённые микрофоны, клавиатуры, флешки и т. п. — это лишь файлы, которые находятся в каталоге /dev.
/proc — информация о процессах
Подсистема, которая динамически создаётся ядром. Содержит всю информацию о процессах, которые запущены в реальном времени. Тут можно найти данные об использовании системных ресурсов и получить другую информацию о системе.
/var — переменные файлы
Речь идёт о файлах, которые часто меняются — это базы данных, кеши, системные журналы и пр. Следует подробнее рассмотреть каталог Linux из папки /var/: • /var/log — файлы логов; • /var/lib — базы данных; • /var/lock — файлы блокировок; • /var/mail — почта; • /var/spool — принтер, печать; • /var/run — pid процессов.
/tmp
В данном каталоге располагаются временные файлы, которые созданы пользователями (users), программами или системой. Любой пользователь имеет права записи в данную директорию. При перезагрузке компьютера они удаляются.
/usr — программы пользователя
Этот каталог является самым большим и имеет много функций. Вкратце рассмотрим его структуру: • /usr/bin/ — исполняемые файлы (графические редакторы, браузеры, плееры — не используются при загрузке системы); • /usr/sbin/ — бинарные файлы программ, предназначенных для системного администрирования (выполняются с правами суперпользователя); • /usr/lib/ — библиотеки для программ из /usr/sbin либо /usr/bin; • /usr/local — файлы пользователя (программы, библиотеки и настройки, созданные пользователем).
/home — домашняя папка
Linux директория пользователей, где содержатся домашние каталоги всех пользователей. В данных каталогах пользователи хранят личные файлы, программные настройки и пр. Аналогия с Windows — папка на диске C. Но тут есть разница: home располагается на отдельном разделе, в результате чего при переустановке системы все данные и настройки сохраняются.
/boot — файлы загрузчика
Linux директория, где содержатся файлы, связанных с загрузчиком системы (ядро vmlinuz, образ initrd и пр.).
/lib — системные библиотеки
Тут располагаются файлы системных библиотек.
/opt — дополнительные программы
Эта папка Linux включает в себя установленные проприетарные программы, драйвера либо игры, то есть софт, созданный производителем в качестве отдельных исполняемых файлов.
/mnt — монтирование
Сюда сисадмины монтируют внешние либо дополнительные файловые системы Linux.
/media — съемные носители
Монтируются подключаемые внешние накопители — оптические диски, USB-устройства.
/srv — сервер
Файлы сервисов и серверов. Как пример — web-сервер Apache.
/run — процессы
Каталог включает в себя PID-файлы процессов, однако в отличие от /var/run, он располагается в TMPFS, в результате чего всё удаляется после перезагрузки.
/sys — информация о системе
Каталоги Linux в этой папке предназначены для получения информации от ядра о системе. По сути, речь идёт о файловой системе, организованной ядром и позволяющей просматривать и менять множество параметров системной работы, ту же работу swap и много чего ещё.
Пожалуй, этого достаточно для общего понимания файловой системы и структуры папок в Linux. Более профессиональную информацию всегда можно получить на нашем курсе.


