6

В Linux есть ли эквивалент Dir /s /a /b где указан полный путь и имя файла? Я новичок в Linux, и без графического интерфейса я хочу получить представление о структуре того, что находится на жестком диске.

2 ответа2

10

Используйте команду find . По умолчанию он будет рекурсивно перечислять все файлы и папки, нисходящие из вашего текущего каталога, с полным (относительным) путем.

Если вам нужен полный путь, используйте: find "$(pwd)" .

  • Если вы хотите ограничить его только файлами или папками, используйте команды find -type f или find -type d соответственно.
  • Если вы хотите, чтобы он остановился на определенной глубине каталога, используйте, например, find -maxdepth 2 .

Прочтите раздел «Поиск файлов» для подробного руководства по find GNU, которое по умолчанию используется в Linux.

2

Для полноты команда 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 , вы сможете чтобы увидеть, что включить или нет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .