Работа с файлами в Linux: их создание и организация через терминал
Статья
Время чтения
5 минут
Новички в Linux нередко удивляются тому, насколько просто работать в этой системе с помощью терминала. Его стоит освоить, чтобы эффективно справляться с личными и профессиональными задачами. О том, как создавать файлы через терминал и удобно их организовывать, поговорим в этой статье.
Как ориентироваться в файловой системе Linux
Первое, с чего нужно начать пользователю — получить представление о файловой системе Linux и научиться в ней ориентироваться. Для этого нужно ознакомиться с основными командами для работы с файлами и каталогами.
Определение текущего местоположения (pwd)
За определение местоположения в Linux отвечает команда:
pwd
После ее введения в терминал система предлагает адрес корневого каталога /home/demo, который расположен внутри подкаталога /home — он размещается в директории верхнего уровня root, но в терминале просто обозначается знаком «/».
Просмотр содержимого каталогов (ls)
Чтобы ознакомиться с содержанием каталога, нужно применить команду:
ls
В ответ система предложит перечень доступных файлов и папок.
После этого следует указать путь к нужному каталогу — ls /home/demo/Documents. А чтобы система выдала список всех файлов во всех вложенных каталогах в директории, в командную строку нужно ввести:
ls -R /home/demo
При необходимости можно воспользоваться и другими вариантами запроса:
ls -a — покажет скрытые файлы;
ls -al — выведет файлы и директории с расширенной информацией о владельцах файлов и директорий, их правах доступа и так далее.
Поиск необходимых файлов (find, locate)
Когда предстоит найти конкретный файл, в Linux применяются команды find и locate:
find отвечает за поиск в определенном каталоге, поэтому должна состоять из двух аргументов: пути к директории и имени необходимого файла. Например, чтобы отыскать документ abc.txt в домашнем каталоге demo, необходимо ввести:
find /home/demo -name abc.txt
locate также предназначена для поиска, но при введении выдает все возможные файлы и папки с указанным названием. То есть путь к каталогу для этой команды обозначать не нужно. Запрос системе может выглядеть так:
locate abc.txt
Перемещение по каталогам (cd)
Чтобы свободно перемещаться из одного подкаталога в другой, в Linux предусмотрена команда cd.
Для перемещения на один уровень вверх используется cd с двумя точками:
cd ..
Чтобы переместиться прямо в домашнюю директорию пригодится cd с пробелом:
cd
Для перемещения в предыдущий каталог нужно ввести cd с дефисом:
cd -
Основные операции для работы с файлами
Рассмотрим наиболее востребованные команды для работы с файлами через терминал Linux.
Создание файла (touch, cat, vim)
touch. Для создания нового файла применяется команда touch и имя файла с его расширением. Запрос может выглядеть так:
touch ~/abc.txt
В команде touch ~/abc.txt значок «тильда» указывает на короткий путь к основной директории пользователя, а abc.txt — имя нового текстового документа.
cat. Еще создать файл можно при помощи команды cat. Она же применяется и для чтения содержимого документа, но не для редактирования. Для создания файла команду cat нужно дополнить оператором перенаправления «>»:
cat>
После ввода этой команды появится новый пустой документ. В него можно сразу вставить текст и сохранить с помощью клавиш Ctrl+D.
vim. Еще одна команда, которой часто пользуются для создания файлов в Linux — vim. На самом деле так называется текстовый редактор, встроенный в терминал Linux. Для создания нового документа с ее помощью введите в консоль запрос:
vim abc.txt
Редактирование файла (nano)
Для изменения содержания файлов в Linux по умолчанию предусмотрен редактор nano. Чтобы им воспользоваться, достаточно указать в командной строке nano abc.txt, где abc.txt — название документа:
nano abc.txt
После этого на экране появится окно редактора, где можно менять документ по своему усмотрению.
Просмотр документа (head, tail)
head. Команда head предназначена для просмотра содержания любого текстового файла. После ее получения система покажет первые десять строк в начале документа:
head abc.txt
Однако число отображаемых строк при необходимости можно менять. Например, если нужно вывести только первые пять строк, следует задать такую команду:
head - 5 abc.txt
tail. Команда tail выполняет аналогичную функцию, как и head, с той лишь разницей, что она отображает последние десять строк документа. В таком случае в терминале задаем запрос:
tail abc.txt
Создание каталога (mkdir)
Команда mkdir пригодится, если нужно создать новый каталог. Для выполнения задачи системе нужно указать путь, где должна находиться папка. Например:
mkdir ~/Photos
Переименование и перемещение (mv)
Для смены местоположения файла следует использовать команду mv. Также она применяется для изменения имени документа, фото или видео. Например:
если требуется поместить файл abc.jpg в Photos, необходимо задать системе запрос:
mv abc.jpg /home/demo/Photos
когда нужно поменять название документа, в терминале следует указать:
mv abc.txt abc1.txt
если нужно одновременно переместить файл из одного места в другое и переименовать его, запрос должен быть примерно таким:
mv abc.txt /home/demo/Documents/abc1.txt
Копирование файла (cp)
Чтобы продублировать конкретный файл, в ОС Linux применяется команда cp. К примеру, если нужно создать копию документа с именем abc.txt в корневом каталоге, в командную строку нужно записать:
cp abc.txt /home/Documents
Если же необходимо скопировать целую папку, системе нужно отправить такой запрос:
cp -R /home/demo/tutorials /home/demo/Documents/
Просмотр размера (du, df)
Команда du пригодится, когда нужно узнать размер определенного файла:
du
Однако если в консоли не указать конкретное местоположение, она предоставит объем всех имеющихся файлов в активном каталоге. Чтобы правильно задать запрос, необходимо передать системе путь директории, где расположена искомая папка.
Для получения более подробной информации программисты часто используют дополнительно флаг -sh. Например:
du -sh /home/demo/Photos
А когда нужно посмотреть состояние определенного диска, применяется распоряжение df с флагом -h и его названием: df -h /dev/sda1.
Важно отметить, что команда du автоматически выдает объем файлов, каталогов и дисков в байтах. Если же необходимо посмотреть размер в других значениях, например, в мегабайтах или килобайтах, к команде следует добавить флаг -m или -k соответственно. В этом случае в терминале нужно ввести строку: du -m /home/demo/ или du -k /home/demo/:
du -m /home/demo/
du -k /home/demo/
Так система выдаст объем всего каталога. Чтобы посмотреть размеры файлов, которые в них содержатся, следует добавить в команду флаг -a. Сам запрос можно задать так:
du -ah /home/demo/
Удаление каталогов и файлов (rm)
Для удаления ненужного файла потребуется ввести команду rm, а каталога — аналогичный запрос с добавлением флага -r. В таком случае в терминал следует отправить:
для файла
rm /home/demo/abc.txt
для папки
rm -r /home/demo/Photos
Такие команды необходимо применять аккуратно, так как их действия необратимы.
Коротко о работе с файлами в Linux
На устройствах с установленной системой Linux — в том числе и на виртуальных машинах в облаке — создавать файлы можно как при помощи встроенного менеджера, так и через команды в окне терминала вручную. Эти команды позволяют быстро найти нужный файл, просмотреть его содержимое, копировать, редактировать и перемещать.