Чтобы быть профессионалом в использовании терминала Linux, нужно научиться управлять файлами через терминал. Это чуть ли не основа всего, включая редактирование конфигурационных файлов, сборку программ, администрирование и множество других вещей. Просмотр содержимого папок, переход между папками, создание и удаление файлов - это необходимая база, для удобной работы в терминале.
В этой статье мы рассмотрим самые часто используемые команды Linux для работы с файлами и каталогами, после их освоения терминал больше не будет казаться таким непонятным и объемлемым. Вот какие команды будут нас сегодня интересовать:
- ls - список файлов в директории;
- cd - переход между директориями;
- rm - удалить файл;
- rmdir - удалить папку;
- mv - переместить файл;
- cp - скопировать файл;
- mkdir - создать папку;
- ln - создать ссылку;
- chmod - изменить права файла;
- touch - создать пустой файл.
А теперь перейдем к подробному рассмотрению всех этих команд.
Содержание статьи
- 1. ls - просмотр содержимого папки
- 2. cd - изменить папку
- 3. rm - удалить файлы
- 4. rmdir - удалить папку
- 5. mv - перемещение файлов
- 6. cp - копирование файлов
- 7. mkdir - создать папку
- 8. ln - создание ссылок
- 9. chmod - изменить права
- 10. touch - создать файл
- 11. mc
- Выводы
1. ls - просмотр содержимого папки
Команда ls позволяет вывести список файлов заданной папки, по умолчанию, будет выведен список файлов текущей папки:
ls
Вы можете вывести список файлов из всех подкаталогов рекурсивно, для этого используйте опцию -R:
ls -R
Чтобы вывести список файлов нужной папки, вы можете передать ее адрес утилите, например, /home:
ls /home
Чтобы получить больше информации и вывести все имена файлов в виде списка используйте опцию -l:
ls -l /home/
2. cd - изменить папку
Команда cd позволяет изменить текущую папку на другую. По умолчанию, текущей считается домашняя папка, например, cd Desktop меняет папку на рабочий стол, если вы выполните ее из домашнего каталога:
cd Desktop
Вы также можете указать полный путь к папке:
cd /usr/share/
Команда cd .. переходит в папку, которая находится выше на одну в файловой системе:
cd ..
Вы также можете вернуться в предыдущую рабочую папку:
cd -
3. rm - удалить файлы
Команда rm позволяет удалить файл. Будьте очень осторожны с ней, она не будет спрашивать подтверждения:
rm file
Например, rm file удалит файл с именем file, который находится в текущей папке. Как и в предыдущих вариантах, вы можете указать полный путь к файлу linux. Например:
rm /usr/share/file
Если вы хотите удалить папку, то нужно использовать опцию -r. Она включает рекурсивное удаление всех файлов и папок на всех уровнях вложенности:
rm -r /home/user/photo/
Будьте осторожны, потому что эта команда удаляет файлы безвозвратно.
4. rmdir - удалить папку
Команда rmdir позволяет удалить пустую папку. Например, команда rmdir directory удалит папку directory, которая находится в текущей папке:
rmdir directory
Если вам нужно удалить папку с файлами, то нужно использовать утилиту rm вместе с опцией -r.
5. mv - перемещение файлов
Команда mv перемещает файл в новое место. Она также может использоваться для переименования файлов. Например, mv file newfile переименует файл file в newfile:
mv file newfile
Чтобы переместить файл в другую папку нужно указать путь к ней, например, переместим файл file в папку /home/user/tmp/
mv file /home/user/tmp/
6. cp - копирование файлов
Эта cp и mv - это похожие команды linux для работы с файлами. Они работают аналогичным образом, только исходный файл остается на своем месте.
cp file newfile
Вы также можете рекурсивно скопировать всю папку с помощью команды cp -r. Эта команда скопирует всю папку вместе со всеми файлами и вложенными папками в новое место. Например, скопируем папку /etc/:
cp -r /etc /etc_back
7. mkdir - создать папку
Команда mkdir позволяет создать новую папку mkdir test создаст папку в текущем каталоге:
mkdir test
Если нужно создать папку в другом каталоге, укажите полный путь к нему:
mkdir /home/user/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:
chmod +x script.sh
Чтобы убрать флаг исполняемый используйте опцию -x:
chmod -x script.sh
Подробнее о том, как работают разрешения для файлов смотрите в статье права доступа к файлам в Linux.
10. touch - создать файл
Команда touch создает пустой файл. Например, touch file создаст пустой файл в текущей папке с именем file:
touch file
Для создания файлов через терминал существует еще несколько команд, они рассмотрены в статье как создать файл в linux.
11. mc
Работа с файлами Linux через терминал может выполняться не только с помощью обычных консольных команд, каждая из которых выполняет только определенное действие. Вы можете использовать полнофункциональный файловый менеджер с псевдографическим интерфейсом на основе ncurses. Midnight Commander - это файловый менеджер, который можно использовать прямо в терминале. Для установки mc в Ubuntu выполните:
sudo apt install mc
После завершения установки достаточно выполнить команду mc:
mc
Используйте клавиши со стрелками для перемещения по файлам, Tab для перехода на другую панель, Alt+1 для просмотра справки и Alt+2 для вывода меню:
Если терминальное окружение поддерживает мышь, то вы можете ее использовать в Midnight Commander.
Выводы
В этой статье мы рассмотрели как выполняется работа с файлами и каталогами в linux, с помощью терминала. Когда вы освоите все эти команды, вы сможете сделать большинство основных действий в терминале. А как часто вы пользуетесь терминалом? Используете его для работы с файлами? Напишите в комментариях!
меня одного последнее время mc стал тихонько бесить?
п.с. ставлю его всегда, первым делом. но пользуюсь все реже.
п.п.с. пока сидел на венде (до 2009), "лицом" компа для меня был far - через него делал все. даже диссер набрал в фар-эдиторе, 100 страниц сплошных формул. но мц меня тихо бесит, точно не могу сказать, почему.
touch не только умеет создавать файлы
если применить к существующему файлу - установит время модификации файла текущим значением времени.
Всеже неверно в Linux директории называть папками
Для просмотра файлов тоже стоило бы команды добавить.
Жесткие ссылки нельзя создавать для каталогов.
а как сохранять измененные файлы???
зависит от того, в каком редакторе Вы его меняли