Linux — Простейшие команды для работы с каталогами

Хотя при работе с KDE и Gnome в вашем распоряжении есть современные файловые менеджеры, опытные пользователи Linux охотнее работают в терминале с текстовыми командами. Ниже приведены самые важные из таких команд.

cd — смена актуального каталога

ls — показ всех файлов каталога

cp —  копирование файлов

mv — перемещение файлов или изменение их имен

less — постраничный показ вывода команды

mkdir — создание нового каталога

rm — удаление файлов

rmdir — удаление каталогов

Рассмотрим каждую из них более подробно.

Команда cd — смена каталога

Команда cd позволяет перейти в другой каталог. Команда cd — возвращает вас в каталог, который был активен непосредственно перед этим, cd .. переводит в подкаталог, а команда cd без дополнительных параметров позволяет перейти в личный каталог. Примеры использования:

[admin@srv1 ~]$ cd /etc/httpd
[admin@srv1 httpd]$ cd /etc/asterisk/
[admin@srv1 asterisk]$ cd -
/etc/httpd
[admin@srv1 httpd]$
[admin@srv1 httpd]$ cd ~
[admin@srv1 ~]$

Команда ls — показ файлов каталога

Команда ls возвращает список всех файлов каталога. Если вы также хотите увидеть скрытые файлы, то задайте дополнительный параметр -a. Если вас интересует не только имя файла, но и другая информация о нем, на­пример размер, владелец и т.д., то вам поможет параметр -l. По умолчанию вывод информации по ls производится в алфавитном порядке. Чтобы сортировать файлы по времени внесения изменений, размеру или расширению, используйте параметры -t, -S или -X. Параметр –r позволяет отсортировать информацию в обратном по­рядке.

[admin@srv1 ~]$  ls /etc/httpd/
conf  conf.d  logs  modules  run
[admin@srv1 ~]$  ls -l /etc/httpd/
drwxr-xr-x 2 root root 4096 May 20  2014 conf
drwxr-xr-x 2 root root 4096 Dec 12  2014 conf.d
lrwxrwxrwx 1 root root   19 Mar 31  2014 logs -> ../../var/log/httpd
lrwxrwxrwx 1 root root   29 Mar 31  2014 modules -> ../../usr/lib64/httpd/modules
lrwxrwxrwx 1 root root   19 Mar 31  2014 run -> ../../var/run/httpd

Несколько замечаний по интерпретации вывода команды ls: десять первых символов в начале строки указывают тип файла и биты доступа. В описание типа файла входят дефис «-» для обычного файла, «d» для каталога (directory), «b» или «c» для файла устройства (block или char) или «l» для символьной ссылки. Три следующих символа (rwx) указывают, что пользователи могут делать с файлом: читать, записывать в него информацию или выполнять его. Кроме того, сообщается аналогичная информация для членов группы, а также для других пользователей  системы. Число, следующее за десятью символами, означающими тип и уровень доступа, говорит о том, сколько жестких ссылок указывает на файл. В следующих  столбцах указано, к какой группе относится файл и кто его владелец (здесь в обоих случаях root), размер файла, дата его последнего изменения и, наконец, имя файла.

Команда cp — копирование файлов

Команда cp name1 name2 копирует файл name1 и называет его name2. Чтобы скопировать несколько файлов, вызовите команду вида cp name1 name2 … directory или используйте маску (например *.*).

[admin@srv1 ~]$  cp /etc/resolv.conf /etc/resolv.conf.bak
[admin@srv1 ~]$  cp *.conf bak/

Команда mv — перемещение или переименовывание файлов

Команда mv name1 name2 перемещает файл name1 и называет его name2. Отличается от cp тем, что после выполнения команды не остается копии файла name1.

[admin@srv1 ~]$  mv /etc/resolv.conf /etc/resolv.conf.bak

Команда less — постраничный показ вывода команды

В данном примере используется команда ls -lR, которая позволяет перечислить все файлы, находящиеся во всех подкаталогах (рекурсивно). Список выводимых файлов может быть огромным, и для просмотра вывода в удобном для нас виде, можно использовать команду less:

[admin@srv1 ~]$ ls -lR | less

Обратите внимание, команда less указывается после команды ls -lR, причем между командами обязателен символ вертикальной черты (пайп). На самом деле, команду less можно использовать через пайп со многими другими командами, если вывод программы большой и хочется его просмотреть полностью.

Команда mkdir — создание нового каталога

При помощи команды mkdir можно создавать новые каталоги. В качестве аргумента принимается название каталога. Создание папки test:

[admin@srv1 ~]$ mkdir test

Для того, чтобы скопировать папку, необходимо воспользоваться командой cp -r name1 name2(рекурсивное копирование). Команда скопирует все вложенные в каталог name1 файлы, в том числе скрытые в каталог name2.

[admin@srv1 ~]$ cp -r test test2

Команды rm и rmdir — удаление файлов и каталогов

Последние по порядку команды схожи по своему действию: они удаляют объекты файловой системы. Команда rm name1 позволяет безвозвратно удалить указанный файл. Для удаления каталогов предусмотрена команда rmdir name1, которая работает лишь в том случае, если указанный каталог пуст. На практике для удаления каталогов обычно применяется команда rm с параметром -rf. Это означает, что все каталоги и находящиеся в них подкаталоги файлы рекурсивно удаляются без запроса о подтверждении удаления. Команда rm -rf name1 очень опасна и ее следует применять обдуманно. Примеры:

[admin@srv1 ~]$ rm /etc/resolv.conf.bak
[admin@srv1 ~]$ rmdir test
[admin@srv1 ~]$ rm -rf test2

В интернете есть множество историй, как боевые серверы компаний таким образом «форматировали» начинающие специалисты, следуя советам на форуме. Команду «rm -rf /» предлагали огромное множество раз в качестве решения любых проблем с Linux-серверами. Прежде чем выполнять любые неизвестные вам команды на сервере, тем более боевом, изучите сперва справку по команде.

Опубликовано в категории: Linux Метки:

1 комментарий к записи “Linux — Простейшие команды для работы с каталогами

  1. Именно возможности перенаправления ввода и вывода этой команды и используются для создания новых файлов. Для этого на вход команды Если в качестве целевого указывается существующий файл, то его содержимое будет затерто, поэтому при копировании надо соблюдать осторожность. Впрочем, можно использовать команду

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *