Вне зависимости от того, как часто вы пользуетесь UNIX-подобными операционными системами: раз в две недели или каждый день, почти всегда Вы будете использовать команду ls, и пожалуй это одна из самых часто используемых команд в Linux. При этом у нее имеется большое количество ключей, с помощью которых можно влиять на поведение команды, делая ее использование более эффективным и практичным.
Команда ls распечатывает содержимое каталога в терминал. Вызванная без опций и параметров, она просто распечатывает в терминал содержимое текущего каталога. В таком случае команда без ключей
$ ls
будет равносильна команде с переданным аргументом «.».
$ ls .
Но почти всегда просто списка имеющихся файлов и директорий бывает недостаточно, и можем модифицировать поведение команды с помощью короткого ключа -l (от англ. long). Команда ls -l будет выводить подробную информацию о содержимом текущего каталога.
$ ls -l
Команды указанные выше делали листинг явных файлов, но зачастую требуется увидеть имеющиеся скрытые файлы, так в UNIX системах все файлы начинающиеся с символа точка являются скрытыми. Для решения этой задачи используется короткий ключ -a и его длинный аналог —all , и сразу для получения о содержимом подробной информации используется совместно с ключом -l , рассмотренным выше.
$ ls -la
В выводе команды выше будут присутствовать и такие скрытые объекты как «.» и «..«, но и так известно, что в каждом каталоге они будут присутствовать, поэтому чтобы они отсутствовали в выводе можно применять ключ -A .
$ ls -lA
По умолчанию вызов команды ls выводит содержимое текущего каталога, для того, чтобы узнать содержимое другого каталога, то нужно передать путь до этого каталога в качестве аргумента. Путь может быть задан как относительный, так и абсолютный (полный), как в примере ниже.
$ ls -la /etc/xml
Кроме того, чтобы узнать содержимое каталога, зачастую бывает полезным узнать именно информацию о самом каталоге, и для этого можно использовать ключ -d (от англ directory).
$ ls -ld /etc/xml
Также в качестве аргумента может быть передан путь до определенного файла, и команда ls выведет информацию об этом конкретном файле.
$ ls -l /etc/hosts
Обо всех ньюансах использования команды ls и всех имеющихся ключах, можно узнать воспользовавшись встроенной справкой
$ man ls
Список ключей для команды ls.
Для повседневной работы, одни из самых используемых ключей для команды ls:
- -l — вывод подробной информации о содержимом каталога в виде списка;
- -a (—all) — вывод информации о всех имеющихся объектах явных и скрытых;
- -A (—allmost-all) — вывод информации о всех имеющихся явных и скрытых объектах (за исключением объектов «.» и «..»);
- -d (—directory) — вывод информации о директории без вывода его содержимого;
- -F — к объектам являющимся каталогами добавит в конце символ слеш «/», к объектам являющимися исполняемыми файлами добавляется «*», к объектам являющимися символьными ссылками — «@»;
- -r (—reverse) — данные ключи меняют сортировку на обратную;
- -i — отображение номера индексных дескрипторов объектов;
- -S — сортировка объектов по размеру от большого к меньшему;
- -Sr — сортировка объектов по размеру от меньшего;
- -t — сортировка объектов по времени модификации файлов;
- -R (—recursive) — вывод информации об имеющихся объектах в том числе и объектах во вложенных каталогах.
Способы работы с командой ls и ее ключи, упоминаемые в статье это далеко не весь список. Если вы желаете использовать всю мощь этой на первый взгляд простой команды, то как уже упоминалось ранее, более подробную информацию можно получить при вызове встроенного мануала $ man ls .