Поиск по сайту:

16 практических примеров команды Linux LS для начинающих


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

Хотя это основное использование инструментов, он предлагает множество функций (в виде параметров командной строки), которые помогут вам в некоторых случаях. В этом руководстве мы обсудим использование некоторых из этих параметров командной строки на простых для понимания примерах. Используйте команду cd, чтобы перейти в каталог, в котором вы хотите выполнить ls.

1. Как вывести список скрытых файлов/каталогов

Команда ls по умолчанию не отображает скрытые файлы/каталоги. Однако вы можете заставить инструмент сделать это с помощью параметра командной строки -a. Итак, чтобы вывести список всех файлов/каталогов (включая скрытые — те, имена которых начинаются с точки .) в текущем каталоге, выполните следующую команду:

лс -а

2. Как пропустить текущую (.) и предыдущую (..) записи каталога в выводе

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

3. Как отображать файлы/каталоги в обратном порядке

По умолчанию команда ls отображает файлы в выходных данных в алфавитном порядке. Но если вы хотите, вы также можете заставить инструмент отображать файлы в обратном порядке. Для этого вам нужно использовать параметр командной строки -r инструмента.

ls -r

Вот пример:

4. Как сортировать вывод команды ls по расширениям файлов

Чтобы отсортировать выходные данные команды ls в алфавитном порядке на основе расширений файлов, используйте параметр командной строки -X.

ls -X

Вот приведенная выше команда в действии:

Как вы можете видеть на снимке экрана выше, среди файлов с именами, содержащими расширение, echo.c указан первым, а byzanz_window.py указан в конце.

5. Как сортировать файлы по времени модификации

Если вы хотите быстро узнать, какие файлы или каталоги были недавно изменены, вы можете использовать параметр ls commands -t.

ls -t

Опция командной строки -t сначала отображает самые новые записи.

6. Как рекурсивно перечислить подкаталоги

Если вы хотите, вы можете заставить команду ls также отображать содержимое подкаталогов. Это можно сделать с помощью параметра командной строки -R.

лс-р

На следующем снимке экрана показана вышеуказанная команда в действии:

7. Как составить список имен файлов вместе с их номерами инодов

Команда ls также позволяет вам перечислить имена файлов/каталогов вместе с соответствующими номерами инодов. Инструмент предоставляет параметр командной строки -i для доступа к этой функции.

лс -я

Вот приведенная выше команда в действии:

Как вы можете видеть на снимке экрана выше, числа слева — это номера инодов, а имена справа — соответствующие имена файлов/каталогов.

8. Как отобразить подробную информацию о файлах и каталогах

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

Как вы можете видеть на скриншоте выше, вывод разделен на 8 столбцов. Вот что передают эти столбцы:

  • В первом столбце показаны права доступа к файлам.
  • Во втором столбце показано количество жестких ссылок.
  • Третий и четвертый — это имена владельца и группы.
  • пятый – размер файла.
  • Шестое и седьмое — это дата и время последнего изменения.
  • Последнее — это имя файла.

9. Как отобразить информацию об авторе

Вы также можете попросить команду ls указать автора каждого файла при создании длинных списков каталогов. Для этого вам нужно объединить параметр --author с параметром -l.

лс -л --автор

Как вы можете видеть на скриншоте выше, недавно добавленный пятый столбец предназначен для автора.

Примечание. На официальном веб-сайте GNU сообщено: \В GNU/Hurd авторы файлов могут отличаться от их владельцев, но в других операционных системах они одинаковы\.

10. Как печатать escape-последовательности в стиле C для неграфических символов (например, символов новой строки и пробелов)

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

Однако команда ls предоставляет параметр, который при использовании печатает escape-символы в стиле C для непечатаемых символов. Рассматриваемый параметр — -b.

Итак, вы можете видеть на снимке экрана выше, что опция -b приводит к тому, что ls печатает \n для символа новой строки. Точно так же в этом режиме пробелы представлены \[пробелом].

11. Как напечатать размер файла в единицах, отличных от байтов

Если вы хотите узнать размер файла, вам нужно использовать параметр -l (который включает формат длинного списка), который мы обсуждали в пункте 3 выше. По умолчанию размер отображается в байтах. Однако могут быть ситуации, когда вам нужен размер в килобайтах или мегабайтах.

У команды ls есть параметр, который позволяет указать единицу измерения, в которой должен отображаться размер файла. Речь идет о параметре --block-size. Например, если вы хотите, чтобы размер отображался в килобайтах, вы можете запустить следующую команду:

ls -l --block-size=k [имя-файла]

Имейте в виду, что значение размера, полученное с помощью параметра командной строки -l, представляет собой фактический размер файла или количество содержащихся в нем данных. Если вместо этого вы хотите узнать размер файла в файловой системе или выделенный размер (да, он может быть другим), вам придется использовать команду -s.

ls -s --block-size=k [file-name]

Для получения дополнительной информации о разнице между размером файла, создаваемого опцией -l и опцией -s, перейдите сюда.

12. Как заставить ls отображать в выводе только имена и размеры файлов

Если вы хотите, чтобы выходные данные команды ls содержали только имена файлов/каталогов и их соответствующие размеры, вы можете сделать это с помощью параметра -h в сочетании с параметром командной строки -l/-s.

Например:

лс -с -ч

13. Как заставить ls не отображать файлы резервных копий в выводе

В Linux файлы резервных копий представлены именами, оканчивающимися на тильду (~). Команда ls предоставляет параметр (-B), с помощью которого вы можете попросить инструмент не отображать файлы резервных копий в выводе, если это необходимо.

Например, на следующем снимке экрана показаны две команды ls. Первый выводит имя файла резервной копии, а второй (использующий параметр -B) нет.

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

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

Вот пример:

Обратите внимание на дополнительный/с каталогом example и * с исполняемым файлом test. Вот полный список индикаторов, а также информация о том, на что они указывают:

  • @ указывает символическую ссылку
  • * указывает на исполняемый файл
  • = указывает файл сокета
  • | указывает именованный канал
  • > указывает на дверь
  • / указывает каталог

15. Как изменить формат вывода команды ls

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

Например, используйте --format=commas, если вы хотите, чтобы выходные данные были разделены запятыми:

Аналогичным образом используйте --format=single-column, если вы хотите, чтобы выходные данные отображались в одном столбце:

16. Как заставить ls скрывать файлы определенного типа

Если вы хотите, вы также можете заставить команду ls скрывать определенный тип файлов в выводе. Параметр --hide (который требует передачи шаблона оболочки) позволяет это сделать. Например, если вы не хотите, чтобы инструмент не отображал файлы .txt в выходных данных, выполните следующую команду:

лс --скрыть=*.txt

На следующем снимке экрана показан результат как без параметра --hide, так и с ним.

Заключение

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