Команда «ls» является наиболее часто используемой командой для вывода списка файлов и каталогов в каталоге в Unix-подобных системах.
Тем не менее, есть и другие способы просмотра содержимого каталога без использования команды ls.
Как вы, возможно, знаете, существует множество альтернативных программ наиболее популярным и широко используемым существующим программам Linux.
Мы уже писали о хороших альтернативах «top», альтернативам «du» и альтернативам «man».
Сегодня в этом уроке мы увидим 10 альтернативных способов составления списка содержимого каталога без использования команды «ls» в Linux.
Список содержимого каталога без использования команды ls
Обычно большинство пользователей Linux используют команду ls для вывода списка файлов и каталогов в каталоге.
Например, мы можем использовать следующую команду для отображения содержимого каталога с именем itisgood
$ ls itisgood
Вот как мы перечисляем файлы и каталоги.
Однако есть способы сделать это по-другому.
На данный момент я знаю только следующие десять методов.
Если я найду какой-нибудь другой лучший метод, я тоже добавлю его.
Кроме того, если вы знаете другие способы сделать это, пожалуйста, сообщите нам об этом в разделе комментариев ниже.
1. СПИСОК ФАЙЛОВ С ИСПОЛЬЗОВАНИЕМ КОМАНДЫ ECHO
Команда echo – наиболее часто используемая встроенная команда, которая используется в сценариях оболочки и пакетных программах для вывода заданных аргументов
. Вы можете передать любой текст / строку в качестве аргумента, и команда echo отобразит их в стандартном выводе или файле.
Эта команда предназначена не только для печати заданных аргументов, но также может использоваться для вывода списка файлов.
Чтобы вывести список файлов, используемых в текущем каталоге, просто введите:
$ echo *
Чтобы вывести список всех файлов на один уровень ниже, используйте эту команду:
$ echo */*
Чтобы вывести список скрытых файлов, запустите:
$ echo * .*
Для более подробной информации обратитесь к справочным страницам.
$ man echo
Как видите, команда echo будет отображать только файлы, а не каталоги.
Нет проблем, следующие методы описывают, как составить список файлов и каталогов.
2. СПИСОК ФАЙЛОВ И СПРАВОЧНИКОВ С ИСПОЛЬЗОВАНИЕМ КОМАНДЫ PRINTF
Команда printf используется для форматирования и вывода текста.
Эта команда напечатает заданные аргументы в соответствии с заданным форматом или выполнит в соответствии с заданным параметром.
Чтобы просмотреть содержимое текущего каталога с помощью команды printf, выполните:
$ printf '%s\n' *
отличие от команды «echo», команда print отображает как файлы, так и каталоги.
Для более подробной информации обратитесь к справочным страницам.
$ man printf
3. Отобразить СПИСОК ФАЙЛОВ И ДИРЕКТОРИЙ, ИСПОЛЬЗУЯ КОМАНДУ DIR
Команда dir – это еще одна команда Linux для отображения содержимого каталога.
Это часто считается эквивалентом Windows, но работает в Linux почти так же.
Чтобы просмотреть текущее содержимое каталога, выполните:
$ dir
Чтобы получить список содержимого определенного каталога, просто передайте его путь в качестве аргумента, как показано ниже.
$ dir /home/sk/itisgood
Для просмотра всего содержимого, включая скрытые файлы:
$ dir -a
Обратитесь к страницам руководства, чтобы узнать больше о команде dir.
$ man dir
4. ОТОБРАЗИТЬ СПИСОК ФАЙЛОВ И КАТАЛОГОВ, ИСПОЛЬЗУЯ КОМАНДУ FIND
Команда find используется для поиска файлов в иерархии каталогов.
Не только для поиска файлов, мы также можем использовать команду find для отображения содержимого каталога, как показано ниже.
$ find -maxdepth 1
или же
$ find .
Как видите, первая команда выводит список всех файлов и каталогов на один уровень в текущем каталоге, тогда как вторая команда перечисляет все файлы и каталоги рекурсивно.
Вы можете также перечислить содержимое определенного каталога.
$ find dir1/
5. СПИСОК ФАЙЛОВ И СПРАВОЧНИКОВ С ИСПОЛЬЗОВАНИЕМ КОМАНДЫ STAT
Команда stat используется для отображения информации о файле и файловой системе.
Используя эту команду, мы можем найти свойства файла, такие как размер, права доступа, даты создания и доступа среди других.
Чтобы вывести список файлов и каталогов, используя команду «stat»,
$ stat -c '%A %n' *
Как видите, команда stat не только отображает содержимое текущего каталога, но и права доступа.
Это полезно, когда вы хотите просмотреть содержимое каталога, включая разрешения.
Проверьте man-страницы для более подробной информации о команде stat.
$ man stat
6. ПОКАЗАТЬ СПИСОК ФАЙЛОВ И ПАПОК С ИСПОЛЬЗОВАНИЕМ GREP
Команда grep используется для поиска текстовых файлов с регулярными выражениями.
Мы написали подробное руководство по использованию grep некоторое время назад.
Проверьте следующую ссылку, чтобы узнать больше о команде grep и ее вариантах.
⏰ Как перемещаться внутри директории / папки в Linux без команды cd?
Чтобы просмотреть содержимое каталога с помощью команды grep, просто запустите:
$ grep -l '.*' ./*
7. ОТОБРАЗИТЬ СПИСОК ФАЙЛОВ И ДИРЕКТОРИЙ, ИСПОЛЬЗУЮЯ КОМАНДУ LSATTR
Команда lsattr используется для вывода списка атрибутов файлов и каталогов в Linux.
Чтобы вывести список файлов и каталогов в текущем рабочем каталоге, используйте команду lsattr:
$ lsattr ./*
Как вы можете видеть в выводе, команда lsattr отображает содержимое только на один уровень ниже.
Другими словами, она не будет отображать никаких подкаталогов, его содержимое и скрытые файлы.
Проверьте man-страницы для получения подробной информации о команде lsattr.
$ man lsattr
8. ПОКАЗАТЬ СПИСОК ФАЙЛОВ И ДИРЕКТОРОВ, ИСПОЛЬЗУЮЯ КОМАНДУ GETFACL
Setfacl и getfacl являются наиболее полезными и важными командами, которые должен знать каждый системный администратор для установки списков контроля доступа (ACL) для файлов и каталогов.
Чтобы просмотреть список файлов и каталогов в текущем каталоге, просто запустите:
$ getfacl ./*
В этой команде мне больше всего нравится то, что она не только перечисляет содержимое каталога, но также и другие полезные детали, такие как,:
- владелец файла / каталога,
- группа, которая имеет к ней доступ,
- права доступа владельца, группы и др.
9. ОТОБРАЗИТЬ СПИСОК ФАЙЛОВ И ПАПОК, ИСПОЛЬЗУЯ ЦИКЛ FOR
Другой метод для отображения содержимого каталога – использовать цикл.
Я проверил работу в BASH, и все заработало нормально, как и ожидалось.
$ for i in *; do echo $i; done
Как вы видите выводе, мы можем перечислить текущее содержимое каталога, используя цикл for.
10. СПИСОК ФАЙЛОВ И КАТАЛОГОВ С ИСПОЛЬЗОВАНИЕМ РЕДАКТОРА VIM
И последнее, но не менее важное: редактор Vim также может использоваться для отображения файлов и каталогов.
Как вы, возможно, уже знаете, все в Linux – это файл.
Технически говоря, каталог – это файл, который содержит список файлов и / или подкаталогов.
Чтобы вывести список файлов и каталогов текущего каталога с помощью редактора Vim, используйте следующую команду:
$ vim .
Обратите внимание, что точка (.) указана в конце.
Чтобы просмотреть содержимое определенного каталога, выполните:
$ vim <path-to-dir>
Например
$ vim itisgood/
Просто используйте стрелки ВВЕРХ / ВНИЗ, чтобы перемещаться по списку.
Чтобы вывести список содержимого подкаталога, просто наведите на него курсор мыши и нажмите ENTER.