Linux centos7查看目录下子目录的方法

  • Post author:
  • Post category:linux



(所述方法是在当前目录下,如在其他目录,要注意查找目录的表达)

在目录中,一般存放着普通文件及目录文件。

可用ls查看目录下的所有文件

如果我们仅仅希望查询目录下的子目录文件,不需要出现普通文件,如何操作呢?

下面提供6种方法,供参考。


1.ls -d  */

我们知道,加-d选项,是仅列出目录,而不列出目录下的文件,而参数 */ 是指当前目录中的所有内容

*通配符,代表多个字符,所有的意思;?通配符,代表一个字符

此处的参数不能写. 、./ 、*等


2.ls -F | grep /$

加-F选项,是在目录文件后面添加标记/。再搜索此标记时,就仅能看到目录

grep 主要功能是搜索字符串,是处理文本时的重要命令,主要按行处理文件

grep与sed和awk并称为linux三剑客。如配合正则表达式,功能将十分强大

/$ 是正则表达式,表示以/结尾的行;^d表示以d开头的行


3.ll |grep ^d

ll是ls  -l的别名(执行alias命令,可以看到全部有别名的命令)

ll列表显示目录下的文件,而以d开头的文件正是目录文件

其他文件类型有:

– 普通文件

b 块设备文件

c 字符设备文件

l 链接文件

p 管道文件

s 套接字文件


4.stat ./* | grep  -B 1 “directory”

stat命令是详细列出文件信息。在目录中的文件很多,搜索”directory”可只显示目录

grep的-B 1选项是指显示


符合条件的行及其之前的行,




”B”









before




之意




,


数字1指显示前面的1行

与-B类似的还有:

-A n 显示结果行的后n行,“A有after之意”

-C n 显示结果行的前后n行,”C是context之意,上下文。也可以通过center中间、中部 帮助记忆命令选项”


(ll


命令执行的结果,正是系统调用stat


命令,再按一定格式输出的结果。查询ls


内核源代码,可以进一步理解stat


命令)

(系统语言为中文时,可搜索”目录”)


5.find . -maxdepth 1 -type d | grep -v  ‘^\./\.’

-maxdepth 1 指定搜索的目录层级,仅1级

find后面的点代表在当前目录下查询,可用路径替代,-type d表示查询文件的类型为 d(目录)

通过grep过滤掉隐藏文件(命令中的两个右斜杠是转义,即点代表点符号,而不是匹配任意单个字符)

grep  -v 代表查询结果取反

查询结果中的第一行:./  代表查询的哪一个目录(查询当前目录时,也可以用./表示)

后面的几行才是查询结果


6.tree -L 1 -d

tree命令显示目录的层次结构,没有选项时显示所有文件及层次

选项-L 1仅显示一级(L是layer 的简写,表示层,分层)

选项-d 仅显示目录

不指定tree命令参数,默认是显示当前目录的文件结构



版权声明:本文为qq_36142959原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。