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

Получение списка содержимого каталога без использования команды ls

Команда "ls" — наиболее часто используемая команда для вывода списка файлов и каталогов в каталоге в Linux и Unix-подобных системах. Однако существуют и другие способы отобразить содержимое каталога без использования команды ls.

Как вы, возможно, знаете, существует множество программ, альтернативных наиболее популярным и широко используемым существующим программам Linux. Мы уже писали о хороших альтернативах команде 'top', альтернативах команде 'du' и . альтернативы страницам man.

Сегодня в этом уроке мы увидим 11 альтернативных способов вывода содержимого каталога без использования команды ls в Linux.

Получение списка содержимого каталога без использования команды ls

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

ls ostechnix/

Получение списка содержимого каталога с помощью команды ls

Вот как мы перечисляем файлы и каталоги. Однако есть способы сделать это. На данный момент я знаю только следующие 11 методов. Если я встречу какой-либо другой лучший метод, я тоже добавлю их. Кроме того, если вы знаете другие способы сделать это, сообщите нам об этом в разделе комментариев ниже.

Рекомендуется прочитать:

  • Как автоматически отображать содержимое каталога при каждом переходе в него в Linux

1. Перечислите файлы с помощью команды echo.

Команда echo — это наиболее часто используемая встроенная команда, которая используется в сценариях оболочки и пакетных программах для печати заданных аргументов. Вы можете передать любой текст/строку в качестве аргумента, и команда echo отобразит их в стандартном выводе или файле. Эта команда предназначена не только для печати заданных аргументов, но также может использоваться для вывода списка файлов.

Чтобы просмотреть файлы, используемые в текущем каталоге, с помощью команды echo, просто введите:

echo *

Получение списка файлов с помощью команды echo

Чтобы перечислить все файлы на один уровень ниже, используйте эту команду:

echo */*

Чтобы просмотреть скрытые файлы, запустите:

echo * .*

Более подробную информацию можно найти на страницах руководства.

man echo

Как видите, команда echo отображает только файлы, а не каталоги. Нет проблем, следующие методы описывают, как составить список файлов и каталогов. Читай дальше.

2. Перечислите файлы и каталоги с помощью команды printf.

Команда printf используется для форматирования и печати текста. Эта команда распечатает заданные аргументы в соответствии с заданным форматом или выполнит в соответствии с заданным параметром.

Чтобы просмотреть содержимое текущего каталога с помощью команды printf, выполните:

printf '%s\n' *

Получение списка файлов и каталогов с помощью команды printf

В отличие от команды echo, команда printf отображает как файлы, так и каталоги.

Более подробную информацию можно найти на страницах руководства.

man printf

3. Перечислите файлы и каталоги с помощью команды dir.

Команда dir — это еще одна команда Linux для отображения содержимого каталога. Его часто считают эквивалентом Windows, но в Linux он работает практически так же.

Чтобы просмотреть содержимое текущего каталога, запустите:

dir

Получение списка файлов и каталогов с помощью команды dir

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

dir /home/sk/ostechnix

Чтобы просмотреть все содержимое, включая скрытые файлы:

dir -a

Обратитесь к справочным страницам, чтобы узнать больше о команде dir.

man dir

4. Перечислите файлы и каталоги, используя команду find.

Команда find используется для поиска файлов в иерархии каталогов. Не только для поиска файлов мы также можем использовать команду find для вывода списка содержимого каталога, как показано ниже.

find -maxdepth 1

Или,

find .

Получение списка файлов и каталогов с помощью команды find

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

Вы также можете перечислить содержимое определенного каталога.

find dir1/

Рекомендуется к прочтению:

  • Как найти файлы на основе их разрешений в Linux
  • Как найти файлы размером больше или меньше X в Linux
  • Как найти и удалить файлы, в именах которых содержится определенный текст
  • Как найти самый старый файл в дереве каталогов в Linux
  • Как найти и скопировать файлы определенного типа из одного каталога в другой в Linux
  • Как найти и удалить файлы старше X дней в Linux

5. Перечислите файлы и каталоги с помощью команды stat.

Команда stat используется для отображения информации о файле и файловой системе. Используя эту команду, мы можем найти такие свойства файла, как размер, разрешения, даты создания и доступа, а также другие.

Чтобы просмотреть файлы и каталоги с помощью команды stat,

stat -c '%A %n' *

Получение списка файлов и каталогов с помощью команды stat

Как видите, команда stat выводит не только содержимое текущего каталога, но и разрешения. Это полезно, если вы хотите просмотреть содержимое каталога, включая разрешения.

Дополнительную информацию о команде stat можно найти на страницах руководства.

man stat

6. Перечислите файлы и каталоги с помощью команды grep.

Команда grep используется для поиска текстовых файлов с помощью регулярных выражений. Некоторое время назад мы написали подробное руководство по использованию grep. Перейдите по следующей ссылке, чтобы узнать больше о команде grep и ее вариантах.

Учебное пособие по команде Grep с примерами для начинающих

Чтобы просмотреть содержимое каталога с помощью команды grep, просто запустите:

grep -l '.*' ./*

Получение списка файлов и каталогов с помощью команды grep

7. Перечислите файлы и каталоги с помощью команды lsattr.

Команда lsattr используется для вывода списка атрибутов файлов и каталогов в Linux.

Чтобы просмотреть файлы и каталоги в текущем рабочем каталоге, используйте команду lsattr:

lsattr ./*

Получение списка файлов и каталогов с помощью команды lsattr

Как вы видите в выводе, команда lsattr отображает содержимое на один уровень ниже. Другими словами, он не будет отображать подкаталоги, их содержимое и скрытые файлы.

Подробную информацию о команде lsattr можно найти на страницах руководства.

man lsattr

8. Перечислите файлы и каталоги с помощью команды getfacl

setfacl и getfacl — наиболее полезные и важные команды, которые должен знать каждый системный администратор, чтобы установить Контроль доступа. списки (ACL) файлов и каталогов.

Чтобы просмотреть список файлов и каталогов в текущем каталоге, просто запустите:

getfacl ./*

Получение списка файлов и каталогов с помощью команды getfacl

Что мне больше всего нравится в этой команде, так это то, что она не только перечисляет содержимое каталога, но и другие полезные детали, такие как:

  • владелец файла/каталога,
  • группа, которая имеет к нему доступ,
  • права доступа для владельца, группы и других.

9. Перечислите файлы и каталоги, используя цикл for

Другой способ просмотреть содержимое каталога — использовать цикл for. Я протестировал это в BASH, и все работало нормально, как и ожидалось.

for i in *; do echo $i; done

Получение списка файлов и каталогов с помощью цикла

Как вы видите в приведенном выше выводе, мы можем просмотреть содержимое текущего каталога, используя цикл for.

10. Список файлов и каталогов с помощью редактора Vim

Редактор Vim предназначен не только для просмотра и редактирования файлов. Его также можно использовать для вывода списка файлов и каталогов. Как вы, возможно, уже знаете, все в Linux представляет собой файл. С технической точки зрения каталог — это файл, содержащий список файлов и/или подкаталогов.

Чтобы просмотреть файлы и каталоги текущего каталога с помощью редактора Vim, используйте следующую команду:

vim .

Обратите внимание на точку (.) в конце.

Чтобы просмотреть содержимое определенного каталога, выполните:

vim <path-to-dir>

Например:

vim ostechnix/

Получение списка файлов и каталогов с помощью редактора Vim

Просто используйте стрелки ВВЕРХ/ВНИЗ для перемещения по списку. Чтобы просмотреть содержимое подкаталога, просто наведите на него курсор мыши и нажмите ENTER.

Рекомендуется прочитать:

  • Как просмотреть содержимое архива или сжатого файла, не распаковывая его
  • Как редактировать несколько файлов с помощью редактора Vim
  • PacVim – игра с интерфейсом командной строки для изучения команд Vim
  • Как закомментировать несколько строк одновременно в редакторе Vim
  • Как использовать редактор Vim для ввода текста где угодно
  • Как использовать функцию проверки орфографии в текстовом редакторе Vim

11. Перечислите файлы с помощью команды tree.

Команда tree используется для просмотра содержимого каталога (и его подкаталогов) в древовидном формате.

Если вы запустите команду дерева без каких-либо параметров, она отобразит все файлы и папки (и подпапки) текущего рабочего каталога.

tree

Чтобы просмотреть содержимое каталога на один уровень ниже, выполните:

tree -L 1

Более подробную информацию о команде tree можно найти в следующем руководстве.

  • Как просмотреть древовидную структуру каталогов в Linux

Заключение

И это все на данный момент. На данный момент я не знаю практических вариантов использования этих методов. Команда ls предустановлена почти во всех Unix-подобных операционных системах, поэтому ее можно использовать для удобного отображения содержимого каталога. На тот случай, если команда ls недоступна в вашей системе, используйте эти альтернативные способы ls без команды «ls».

Статьи по данной тематике