28

Как я могу использовать команду дерева, чтобы вывести текущий каталог в виде дерева?

Если я сделаю

tree -L 1

Он только перечисляет каталоги, как я могу заставить его также показывать файлы?

2 ответа2

9

В нем перечислены файлы и каталоги для меня:

[ben@ben-x220 ~/tmp/test]$ tree --version
tree v1.5.3 (c) 1996 - 2009 by Steve Baker, Thomas Moore, Francesc Rocher, Kyosuke Tokoro 

[ben@ben-x220 ~/tmp/test]$ tree -L 1
.
├── dir1
├── file1
├── file2
└── file3

1 directory, 3 files

[ben@ben-x220 ~/tmp/test]$ tree
.
├── dir1
│   └── file4
├── file1
├── file2
└── file3

1 directory, 4 files
6

Для Windows XP или 7, переключатель /F также покажет имена файлов.

C:\>tree /?
Graphically displays the folder structure of a drive or path.

TREE [drive:][path] [/F] [/A]

   /F   Display the names of the files in each folder.
   /A   Use ASCII instead of extended characters.

Тем не менее, я предполагаю, что вы работаете в другой ОС, поскольку /L не является допустимым ключом в XP или 7.

На моей Ubuntu VM (11.10)tree не было предустановлено. sudo apt-get install tree исправлено, что быстро. Впоследствии tree -L 1 работало так, как вы, кажется, хотите, - оно показывало дерево только текущего каталога, включая файлы и каталоги. Добавление ключа -a также включало "скрытые" файлы. Кажется, стандартное поведение tree - показывать файлы и каталоги. Это может быть изменено на каталоги только с ключом -d .

Более подробную информацию можно найти в man tree или здесь: http://www.computerhope.com/unix/tree.htm

Если у вас возникли проблемы, я предлагаю проверить ls вашего pwd чтобы убедиться, что в этом каталоге действительно есть файлы. Кроме того, проверьте свои права доступа к файлам и папкам и просмотрите man страницу для tree для получения дополнительных опций.

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