如何列出其他(非当前)目录中的文件?

Tif*_*ulS 17 directory ls

如果 ls 列出当前目录的内容,是否有类似的命令列出非当前目录的内容,而不使用 cd?

Dan*_*oca 20

之后ls只需输入你想要的清单目录的路径,你会得到它。假设您在主目录中但想要列出/etc. 只需运行ls /etc,您就会将其列出。


Eli*_*gan 8

ls 会这样做。

的语法ls是:

 ls flags file-or-directory-names
Run Code Online (Sandbox Code Playgroud)

对于我所说的file-or-directory-names,您可以列出当前目录中的文件,只列出某些文件。例如,ls -l foo bar将列出有关foo和的信息bar(以长格式,因为我已经给出了-l标志)。ls baz*go将列出名称bazgo(如果有)开头和结尾的所有文件。

但是,当你给一个目录名ls,它列出的内容是目录,而不是当前目录。

因此,要列出 的内容/var/log,您只需运行:

ls /var/log
Run Code Online (Sandbox Code Playgroud)

如果您为目录提供了一个相对路径——也就是说,一个不以 -- 开头的/路径,那么它将在当前目录中查找该目录(就像它查找文件一样)。但它仍会根据需要列出目录的内容

作为旁注,有时您可能会发现您不想列出目录的内容,而只想列出与列出文件相同的目录。为此,您可以传递-d标志。例如,这/var/log以长格式显示(不是它的内容,而是/var/log它本身):

ls -ld /var/log
Run Code Online (Sandbox Code Playgroud)