Tree command list one level all files
How can I use the tree command to list current directory as a tree?
If I do
tree -L 1
It only lists the directories, how can I get it to show the files as well?
Solution 1:
For Windows XP or 7, the /F
switch will also show filenames.
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.
However, I'm guessing you're on another OS since /L
is not a valid switch on XP or 7.
On my Ubuntu VM (11.10), tree
did not come pre-installed. sudo apt-get install tree
fixed that quickly. Afterwards tree -L 1
worked just as you seem to want it to - it showed a tree of just the current directory, including files and directories. Adding the -a
switch also included "hidden" files. It seems the default behavior of tree
is to show both files and directories. This can be changed to directories only with the -d
switch.
More details can be found in man tree
or here: http://www.computerhope.com/unix/tree.htm
If you're having trouble, I suggest checking the ls
of your pwd
to make sure there actually are files in that directory. Also, check your file and folder permissions and view the man
page for tree
for more options.
Solution 2:
It lists both files and directories for me:
[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