В Linux есть ли эквивалент Dir /s /a /b
где указан полный путь и имя файла? Я новичок в Linux, и без графического интерфейса я хочу получить представление о структуре того, что находится на жестком диске.
2 ответа
Используйте команду find
. По умолчанию он будет рекурсивно перечислять все файлы и папки, нисходящие из вашего текущего каталога, с полным (относительным) путем.
Если вам нужен полный путь, используйте: find "$(pwd)"
.
- Если вы хотите ограничить его только файлами или папками, используйте команды
find -type f
илиfind -type d
соответственно. - Если вы хотите, чтобы он остановился на определенной глубине каталога, используйте, например,
find -maxdepth 2
.
Прочтите раздел «Поиск файлов» для подробного руководства по find
GNU, которое по умолчанию используется в Linux.
Для полноты команда ls -lR /
перечислит имя каждого файла, тип файла, биты режима файла, количество жестких ссылок, имя владельца, имя группы, размер и временную метку каждого файла (к которому у вас есть права доступа).) из корневого каталога вниз. (l
- для длинного списка, т.е. всей этой информации, R
- для рекурсии через каталоги, /
начинается с корня файловой системы.)
Есть несколько параметров, чтобы сделать выводную информацию ближе к dir /S /A
, но я должен признать, что не могу понять, как перевести /B
Для полезной информации я бы попробовал: ls -lAFGR --si /
где
- l = длинный список (как упомянуто выше)
- A = почти все файлы (не включает. И .. в каждом каталоге, но показывает все скрытые файлы)
- F = показать индикатор файла, (один из
*
для exe-файлов,/
для каталогов,@
для символических ссылок,|
для FIFO,=
для сокетов и>
для дверей) - G = не показывать информацию о группе (удалите ее, если хотите ее увидеть)
- R = рекурсивный список каталогов (подкаталогов) и
- --si = показать размер файла в удобочитаемом формате, например, 1M (где 1M = 1000B)
ls
может обеспечить более удобный для чтения синопсис каталогов и файлов в этих каталогах, так как вывод команды find
может быть трудным для сканирования, когда файлы содержатся в очень длинных структурах каталогов (занимающих несколько строк). Следствием этого является то, что каждый файл указан в отдельности (то есть без информации о пути к каталогу), и вам, возможно, придется вернуться на пару страниц / экранов, чтобы найти каталоги, в которых находится конкретный файл.
Кроме того, find не содержит информацию /A в команде DIR. Я предложил ряд атрибутов в показанной мной команде (которые по совпадению показывают дополнительную полезность, которую вы получаете от linux через определенную проприетарную систему), но если вы прочитаете страницы man
и info
на ls
, вы сможете чтобы увидеть, что включить или нет.