【Linux 运维】 笔记001只列出当前目录下的一级子目录
【摘要】 如何过滤出已知当前目录下的所有一级目录
1、如何过滤出已知当前目录下的所有一级目录(提示:不包含目录下面目录的子目录即隐藏目录,即只能时一级目录)?
正则表达式:
解答:
分析过程:要完成此题,我们首先要知道如何区分目录和文件。
思路想法:
1、根据颜色区分文件和目录(浅蓝色时目录,默认是深蓝色)。
2、ls -l 输出结果中已d (全拼directory)开头的就是目录。
3、ls -l 输出结果中第二列数字大于1的即使目录(文件没有硬连接数的情况下是对的)。
[master4@master4-server u]$ ls -l | awk '$2>1{print}'
total 5020
drwxrwxr-x. 3 master4 master4 19 Mar 22 16:03 CATCiris
drwxr-xr-x. 46 master4 master4 4096 Mar 29 10:57 deco
drwxrwxr-x. 24 master4 master4 4096 Mar 22 16:04 decoIRIS
drwxrwxr-x. 4 master4 master4 61 Mar 22 16:04 deco-pc-convert
drwxrwxr-x. 4 master4 master4 72 Mar 22 16:04 html
drwxr-xr-x. 2 master4 master4 4096 Mar 22 16:04 ibm-lib
drwxr-xr-x. 24 master4 master4 4096 Mar 22 16:04 iris
drwxrwxr-x. 9 master4 master4 108 Mar 22 16:04 ruleChkClient
drwxrwxr-x. 3 master4 master4 17 Mar 22 16:04 sdt
drwxr-xr-x. 36 master4 master4 4096 Mar 22 16:04 sdttmg
drwxr-xr-x. 10 master4 master4 132 Mar 22 16:07 sorter
drwxrwxr-x. 3 master4 master4 142 Mar 22 16:07 temp
drwx------. 19 master4 master4 4096 Mar 22 16:16 tester
[master4@master4-server u]$
4、通过给目录加标识符,然后通过过滤标识符,就过滤出目录(ls -F 或 ls -p)。
5、通过find 直接查找指定类型的文件(-d 就是目录)
[master4@master4-server u]$ find ./ -maxdepth 1 -type d ! -name "."
./CATCiris
./deco
./decoIRIS
./deco-pc-convert
./html
./ibm-lib
./iris
./ruleChkClient
./sdt
./sdttmg
./sorter
./temp
./tester
[master4@master4-server u]$
其实很简单,下面的 ls -l 的结果中以d开头的就是目录,我们要做的就是只能把这些目录打印出来。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)