Программа используется в работе каждый день. Полезные опции программы, которые мы рассмотрим, вы сможете добавить в арсенал своих знаний.

ls для списка файлов и каталогов

Команда ls является одной из первых программ с которыми сталкиваются пользователи . Большинство пользователей используют команду для получения списка файлов и директорий не задумываясь и не подозревая, что программа имеет огромное количество опций.

Простой вывод списка файлов

ls

Команда ls в примере вывела список файлов и каталогов в текущей папке, разместив в виде трех колонок.

Если вы хотите вывести список файлов в виде одной колонки выполните команду:

ls -1

Содержимое все того-же каталога выведено уже в виде одной колонки, что должно быть несколько наглядней.

Использование ls в разных каталогах

Для получения списка файлов и каталогов из каталогов отличных от текущего добавьте путь к директории в виде параметра к команде ls.

Более того, команда ls позволяет выводить содержимое сразу из нескольких директорий одновременно, для этого добавляйте ключи с путями директорий через пробел. Попробуем вывести содержимое директорий /boot и /boot/grub одновременно.

ls /boot boot/grub

Видим, что команда ls вывела содержимое указанных каталогов по мере их обработки — сначала boot и потом boot/grub, подписывая списки названием каталогов.

Использование шаблонов файлов

Для выборочного вывода списка файлов можно использовать маски. Знак вопроса «?» будет означать один пропущенный знак, а звездочка «*» будет означать любое количество пропущенных знаков.

Для получения списка файлов или директорий имена которых начинаются с «log» введем команду:

ls log*

Для списка файлов с расширением «.conf» используем команду:

Вы также можете сочетать ls с grep, используя маски grep вместо ls. Например, давайте выведем список файлов и каталогов содержащих строку «log» в имени:

Интересно:  Как изменить терминал по-умолчанию в Ubuntu

Это практически идентично выводу команды ls с двумя звездочками:

ls | grep log
ls *log*

Почему «практически», да потому, что grep выводит имена файлов построчно.

Игнорируемые файлы

Для исключения некоторых файлов из списка нужно использовать опцию —hide. Например, вы не хотите видеть в списке файлы «*bak«. Тогда используйте команду:

ls
ls --hide=*.bak

Как видим файлы с расширением *.bak* во втором случае были исключены из вывода команды ls.

Вывод скрытых файлов командой ls

Для вывода скрытых файлов используйте ключ -a (англ. all)

ls -l -a

В выводе видно четыре файла с «.» расположенных в данном каталоге: «.brltty.conf«, «.pam.conf» и т.д.

Вывод ls содержимого директорий рекурсивно

Для вывода ls списка файлов во всех подкаталогах используйте параметр -R (англ. recursive)

ls -l -R

ls выведет список файлов и директорий в текущей директории и начнет выводить список из всех поддиректорий.

Сортировка вывода ls

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

Отсортируем вывод ls по расширению:

ls -X -1

Каталоги будут выведены первыми, после файлы без расширений, после файлы с расширениями по алфавиту.

Для сортировки вывода ls по размеру файлов используйте параметр —s (англ. sort):

ls -l -h -S

Сортировка по умолчанию от большего к меньшему.

Для сортировки по времени изменения файла используйте -t (англ. time)

ls -l -t

Вывод команды ls отсортирован по времени изменения файлов.