Волшебная команда ls и ее ключ в Linux.

Вне зависимости от того, как часто вы пользуетесь UNIX-подобными операционными системами: раз в две недели или каждый день, почти всегда Вы будете использовать команду ls, и пожалуй это одна из самых часто используемых команд в Linux. При этом у нее имеется большое количество ключей, с помощью которых можно влиять на поведение команды, делая ее использование более эффективным и практичным.

Команда ls распечатывает содержимое каталога в терминал. Вызванная без опций и параметров, она просто распечатывает в терминал содержимое текущего каталога. В таком случае команда без ключей

$ ls

будет равносильна команде с переданным аргументом «.».

$ ls . 

Пример вызова команда ls без ключей
Пример вызова команда ls без ключей

Но почти всегда просто списка имеющихся файлов и директорий бывает недостаточно, и можем модифицировать поведение команды с помощью короткого ключа -l (от англ. long). Команда ls -l будет выводить подробную информацию о содержимом текущего каталога.

$ ls -l 

Пример вызова команды ls с ключем -l
Вызов команды ls -l

Команды указанные выше делали листинг явных файлов, но зачастую требуется увидеть имеющиеся скрытые файлы, так в UNIX системах все файлы начинающиеся с символа точка являются скрытыми. Для решения этой задачи используется короткий ключ -a и его длинный аналог —all , и сразу для получения о содержимом подробной информации используется совместно с ключом -l , рассмотренным выше.

$ ls -la

Вызов команды ls с ключами -la
Пример использования команды ls -la

В выводе команды выше будут присутствовать и такие скрытые объекты как «.» и «..«, но и так известно, что в каждом каталоге они будут присутствовать, поэтому чтобы они отсутствовали в выводе можно применять ключ -A .

$ ls -lA

По умолчанию вызов команды ls выводит содержимое текущего каталога, для того, чтобы узнать содержимое другого каталога, то нужно передать путь до этого каталога в качестве аргумента. Путь может быть задан как относительный, так и абсолютный (полный), как в примере ниже.

$ ls -la /etc/xml

Вывод команды ls -la с переданным полным путем до каталога
Пример вызова команды ls с ключами -la и полным путем до каталога.

Кроме того, чтобы узнать содержимое каталога, зачастую бывает полезным узнать именно информацию о самом каталоге, и для этого можно использовать ключ -d (от англ directory).

$ ls -ld /etc/xml

Вызов команды ls -ld
Пример вызова команды ls с ключом d.

Также в качестве аргумента может быть передан путь до определенного файла, и команда ls выведет информацию об этом конкретном файле.

$ ls -l /etc/hosts

Вызов команды ls -l /etc/hosts
Пример вызова команды ls с абсолютным путем до файла

Обо всех ньюансах использования команды ls и всех имеющихся ключах, можно узнать воспользовавшись встроенной справкой

$ man ls

Фрагмент вывода команды maln ls.
Фрагмента вывода команды man ls (документация по команде ls).

Список ключей для команды ls.

Для повседневной работы, одни из самых используемых ключей для команды ls:

  • -l — вывод подробной информации о содержимом каталога в виде списка;
  • -a (—all) — вывод информации о всех имеющихся объектах явных и скрытых;
  • -A (—allmost-all) — вывод информации о всех имеющихся явных и скрытых объектах (за исключением объектов «.» и «..»);
  • -d (—directory) — вывод информации о директории без вывода его содержимого;
  • -F — к объектам являющимся каталогами добавит в конце символ слеш «/», к объектам являющимися исполняемыми файлами добавляется «*», к объектам являющимися символьными ссылками — «@»;
  • -r (—reverse) — данные ключи меняют сортировку на обратную;
  • -i — отображение номера индексных дескрипторов объектов;
  • -S — сортировка объектов по размеру от большого к меньшему;
  • -Sr — сортировка объектов по размеру от меньшего;
  • -t — сортировка объектов по времени модификации файлов;
  • -R (—recursive) — вывод информации об имеющихся объектах в том числе и объектах во вложенных каталогах.

Способы работы с командой ls и ее ключи, упоминаемые в статье это далеко не весь список. Если вы желаете использовать всю мощь этой на первый взгляд простой команды, то как уже упоминалось ранее, более подробную информацию можно получить при вызове встроенного мануала $ man ls .

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

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