该命令列出当前路径下的目录:
ls -d */
模式*/到底做什么?
我们如何在上面的命令中给出绝对路径(例如ls -d /home/alice/Documents),只列出该路径下的目录?
该命令列出当前路径下的目录:
ls -d */
模式*/到底做什么?
我们如何在上面的命令中给出绝对路径(例如ls -d /home/alice/Documents),只列出该路径下的目录?
当前回答
仅列出目录:
ls -l | grep ^d
只列出文件:
ls -l | grep -v ^d
或者你也可以这样做:
ls -ld */
其他回答
仅列出目录:
ls -l | grep ^d
只列出文件:
ls -l | grep -v ^d
或者你也可以这样做:
ls -ld */
供您参考,如果您想以多行打印所有文件,您可以执行ls -1,这将以单独的行打印每个文件。 file1 file2 file3
*/是一个匹配当前目录中所有子目录的模式(*将匹配所有文件和子目录;/将其限制为目录)。类似地,要列出/home/alice/Documents下的所有子目录,请使用ls -d /home/alice/Documents/*/
使用Perl:
ls | perl -nle 'print if -d;'
使用Test -d测试项目是否为目录:
for i in $(ls); do test -d $i && echo $i ; done