- Команды Linux для работы с файлами
- 1. ls — просмотр содержимого папки
- 2. cd — изменить папку
- 3. rm — удалить файлы
- 4. rmdir — удалить папку
- 5. mv — перемещение файлов
- 6. cp — копирование файлов
- 7. mkdir — создать папку
- 8. ln — создание ссылок
- 9. chmod — изменить права
- 10. touch — создать файл
- 11. mc
- Выводы
- Команда ls
- Опции
- Примеры использования команды ls
- Подробный список файлов
- Показать скрытые файлы
- Понятный размер файлов
- Обозначить директории
- Список файлов в одну колонку
- Вывести только файлы с определенным расширением
- Файлы, начинающиеся на определенную букву
- Список файлов с сортировкой по времени
- Сортировка по размеру
- Список файлов, включая вложенные директории
Команды Linux для работы с файлами
Чтобы быть профессионалом в использовании терминала Linux, нужно научится управлять файлами через терминал. Это чуть ли не основа всего, включая редактирование конфигурационных файлов, сборку программ, администрирование и множество других вещей. Просмотр содержимого папок, переход между папками, создание и удаление файлов — это необходимая база, для удобной работы в терминале.
В этой статье мы рассмотрим самые часто используемые команды Linux для работы с файлами и каталогами, после их освоения терминал больше не будет казаться таким непонятным и объемлемым. Вот какие команды будут нас сегодня интересовать:
- ls — список файлов в директории;
- cd — переход между директориями;
- rm — удалить файл;
- rmdir — удалить папку;
- mv — переместить файл;
- cp — скопировать файл;
- mkdir — создать папку;
- ln — создать ссылку;
- chmod — изменить права файла;
- touch — создать пустой файл.
А теперь перейдем к подробному рассмотрению всех этих команд.
1. ls — просмотр содержимого папки
Команда ls позволяет вывести список файлов заданной папки, по умолчанию, будет выведен список файлов текущей папки:
Вы можете вывести список файлов из всех подкаталогов рекурсивно, для этого используйте опцию -R:
Чтобы вывести список файлов нужной папки, вы можете передать ее адрес утилите, например, /home:
Чтобы получить больше информации и вывести все имена файлов в виде списка используйте опцию -l:
2. cd — изменить папку
Команда cd позволяет изменить текущую папку на другую. По умолчанию, текущей считается домашняя папка, например, cd Desktop меняет папку на рабочий стол, если вы выполните ее из домашнего каталога:
Вы также можете указать полный путь к папке:
Команда cd .. переходит в папку, которая находится выше на одну в файловой системе:
Вы также можете вернуться в предыдущую рабочую папку:
3. rm — удалить файлы
Команда rm позволяет удалить файл. Будьте очень осторожны с ней, она не будет спрашивать подтверждения:
Например, rm file удалит файл с именем file, который находится в текущей папке. Как и в предыдущих вариантах, вы можете указать полный путь к файлу linux. Например:
Если вы хотите удалить папку, то нужно использовать опцию -r. Она включает рекурсивное удаление всех файлов и папок на всех уровнях вложенности:
Будьте осторожны, потому что эта команда удаляет файлы безвозвратно.
4. rmdir — удалить папку
Команда rmdir позволяет удалить пустую папку. Например, команда rmdir directory удалит папку directory, которая находится в текущей папке:
Если вам нужно удалить папку с файлами, то нужно использовать утилиту rm вместе с опцией -r.
5. mv — перемещение файлов
Команда mv перемещает файл в новое место. Она также может использоваться для переименования файлов. Например, mv file newfile переименует файл file в newfile:
Чтобы переместить файл в другую папку нужно указать путь к ней, например, переместим файл file в папку /home/user/tmp/
6. cp — копирование файлов
Эта cp и mv — это похожие команды linux для работы с файлами. Они работают аналогичным образом, только исходный файл остается на своем месте.
Вы также можете рекурсивно скопировать всю папку с помощью команды cp -r. Эта команда скопирует всю папку вместе со всеми файлами и вложенными папками в новое место. Например, скопируем папку /etc/:
7. mkdir — создать папку
Команда mkdir позволяет создать новую папку mkdir test создаст папку в текущем каталоге:
Если нужно создать папку в другом каталоге, укажите полный путь к нему:
8. ln — создание ссылок
Утилита ln позволяет создавать жесткие и символические ссылки на файлы или папки. Для создания символической ссылки используется опция -s. Например, вы создадим ссылку на папку с загрузками:
ln -s /home/user/Downloads/ /home/user/test/
Для создания жесткой ссылки никаких опций задавать не нужно:
ln /home/user/Downloads/ /home/user/test/
9. chmod — изменить права
chmod позволяет изменить права доступа к файлам. Например, chmod +x script.sh добавляет флаг исполняемости к файлу script.sh:
Чтобы убрать флаг исполняемый используйте опцию -x:
Подробнее о том, как работают разрешения для файлов смотрите в статье права доступа к файлам в Linux.
10. touch — создать файл
Команда touch создает пустой файл. Например, touch file создаст пустой файл в текущей папке с именем file:
Для создания файлов через терминал существует еще несколько команд, они рассмотрены в статье как создать файл в linux.
11. mc
Работа с файлами Linux через терминал может выполняться не только с помощью обычных консольных команд, каждая из которых выполняет только определенное действие. Вы можете использовать полнофункциональный файловый менеджер с псевдографическим интерфейсом на основе ncurses. Midnight Commander — это файловый менеджер, который можно использовать прямо в терминале. Для установки mc в Ubuntu выполните:
После завершения установки достаточно выполнить команду mc:
Используйте клавиши со стрелками для перемещения по файлах, Tab для перехода на другую панель, Alt+1 для просмотра справки и Alt+2 для вывода меню:
Если терминальное окружение поддерживает мышь, то вы можете ее использовать в Midnight Commander.
Выводы
В этой статье мы рассмотрели как выполняется работа с файлами и каталогами в linux, с помощью терминала. Когда вы освоите все эти команды, вы сможете сделать большинство основных действий в терминале. А как часто вы пользуетесь терминалом? Используете его для работы с файлами? Напишите в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Команда ls
директория — задает директорию, содержимое которой нужно вывести. Если вместо директории указать файл, то будет выведена информация о данном файле.
Если директория не указана, то выводится содержимое текущей директории.
Опции
Если имя файла содержит непечатаемые символы, то выводить их как Esc-последовательность в стиле языка C (например, \n \t )
Задает в каком формате выводить размер файла, например, в килобайтах, мегабайтах или гигабайтах. Вместо SIZE нужно указать обозначение, например:
SIZE может принимать значения K, M, G, T, P, E, Z, Y (используется множитель 1024) или KB, MB, GB. (используется множитель 1000).
Не выводить файлы, имя которых оканчивается на знак тильды ~ (такие файлы обычно создаются текстовыми редакторами в качестве резервной копии исходного файла).
Сортировать файлы по времени последнего изменения. Новые файлы располагаются сверху.
При использовании с опциями -lt : выводить время последнего изменения и сортировать по этому времени.
При использовании с опцией -l : выводить время последнего изменения и сортировать по имени.
Добавить специальные символы к именам файлов, которые показывают, что это за файл. Возможные символы:
- / — директория
- * — исполняемый файл.
- @ — символическая ссылка.
- = — сокет.
- > — door.
- | — именованная очередь FIFO (pipe).
Формат вывода. Определяет как выводить список файлов. Вместо длинной записи —format=WORD можно использовать короткие опции, например, -x . Возможные значения WORD (в скобках) и соответсвующие короткие опции:
- -x (across)
- -m (commas) — через запятую.
- -x (horizontal)
- -l (long) — подробная информация о файлах.
- -1 (single-column) — в одну колонку.
- -l (verbose)
- -C (vertical)
При использовании совместно с опцией -l или -ls выводить размер файлов в понятном формате (например, 105K, 12M).
То же, что и опция -h (см. предыдущую опцию), но при расчете размера использовать множитель 1000 вместо 1024.
Выводить информацию о файлах, на которые указывают символические ссыли, вместо информации о самих ссылках.
Скрывать файлы, имена которых соответствуют шаблону. Шаблон может быть вида: *.txt , abcd* , и так далее.*.cpp,*.h>
Добавлять к именам файлов символ, который обозначает тип файла (см. также опцию -F ).
WORD может принимать значения: none (ничего не добавлять), slash ( -p ), file-type ( —file-type ), classify ( -F )
Не выводить файлы, имена которых соответствуют шаблону. Например, скрыть файлы, начинающиеся на букву A: ls -I ’A*’
Для символических ссылок выводить информацию о файле, на который указывает ссылка, но не о самой ссылке.
Заключить имена файлов в кавычки. WORD определяет стиль кавычек. Может принимать значения: literal , locale , shell , shell-always , shell-escape , shell-escape-always , c , escape
Если указана опция —sort=time , то выполняется сортировка по соответствующему времени (новые файлы располагаются сверху).
Определяет формат вывода времени.
При использовании с опцией -l : STYLE может принимать значения full-iso , long-iso , iso , locale , или +FORMAT.
FORMAT задается в формате ’date’.
Если FORMAT задан в виде FORMAT1 FORMAT2 , тогда FORMAT1 применяется к старым файлам, а FORMAT2 к более новым.
При использовании совместно с опциями -lt : сортировать по времени последнего доступа к файлу.
При использовании с опцией -l : сортировать по имени, но выводить время последнего доступа к файлу.
В остальных случаях сортировать по времени последнего доступа к файлу.
Сортировать по номеру версии файлов. Например, если файлы имеют имена myfile-1.txt, myfile-2.txt и так далее. В данном случае в именах файлов автоматически определяется версия и по ней осуществляется сортировка.
Примеры использования команды ls
Рассмотрим несколько примеров использования команды ls.
Подробный список файлов
Выведем содержимое текущей директории, в которой мы в данной момент находимся. Используем опцию -l , чтобы выводить подробную информацию о файлах.
Если необходимо вывести содержимое другой директории, то нужно указать путь до директории, например:
Показать скрытые файлы
По умолчанию команда ls не показывает скрытые файлы. Что их показать, используется опция -a :
Понятный размер файлов
Вывести размер файлов в понятном формате (опция -h ):
Обозначить директории
У команды ls есть очень полезная опция -F , про которую не все знают. Она добавляет к именам файлов дополнительные обозначения, по которым сразу понятно что это за файл. Например, для директорий она добавляет символ /, и в списке файлов сразу видно где директории а где обычные файлы.
Список файлов в одну колонку
Вывести список в одну колонку:
Вывести только файлы с определенным расширением
Выведем файлы только с расширением .txt :
Выведем файлы с определенными расширениями ( .html , .php и .txt ):
Файлы, начинающиеся на определенную букву
Показать только файлы, имена которых начинаются на одну из букв указанного множества (a, d, u и x):
Список файлов с сортировкой по времени
Выведем список файлов с сортировкой по времени последнего изменения файла. Более свежие файлы располагаются сверху.
Сортировка по времени, но в обратном порядке:
Сортировка по размеру
Отсортируем файлы по размеру. Большие файлы располагаются первыми.
Список файлов, включая вложенные директории
Выведем список файлов, включая все файлы внутри вложенных директорий (рекурсивный обход всех директорий):