linux中5种方法过滤出文件夹ls -F ls -p grep、find快速查找过滤目录

时间:2023-03-09 09:59:15
linux中5种方法过滤出文件夹ls -F ls -p grep、find快速查找过滤目录

1.ls -l , 根据颜色区分目录和文件
2.ls -l, 以d开头的是目录 ls -l | grep "^d" 过滤以d开头的
3.ls -l , 输入结果中第二列中大余1的是目录(没有硬链接的情况下)

ls -l |awk '{if($2>1) print $0}'
total 4
drwxr-xr-x. 3 root root 143 Jan 6 14:26 data
drwxr-xr-x. 2 root root 6 Jan 6 11:53 oldboy

4.ls -F,ls -p 目录以/线结尾.ls -F不同文件不同标识结尾,ls -p只能给文件夹加标识“/”

ls -F |grep "/$" 输出以/线结尾的

ls -F | grep '/$'
data/
oldboy/

5.find find ./ -tpye d(find ./* -type d) 查找类型为文件夹,./表示当前目录及目录本身(包括隐藏文件夹),

                        ./*目录下(不包括隐 藏文件夹)

                        ! -name "."叹号表示不包括,不包包括当前目录‘.’

[root@v2-ui ~]# find ./ -maxdepth 1 -type d ! -name "."
./.pki
./.config
./data
./oldboy
[root@v2-ui ~]# find ./ -maxdepth 1 -type d
./
./.pki
./.config
./data
./oldboy

-maxdepth n,参数后接数字n,0开始,表示当前。

[root@v2-ui ~]# tree
.
├── a.txt
├── data
│   ├── 100.txt
│   ├── 19
│   ├── 3000.txt
│   ├── 30.txt
│   ├── aa
│   │   └── bb
│   ├── a.txt
│   ├── bb.txt
│   ├── b.txt
│   ├── code.txt
│   └── test.txt
├── install_bbr.log
└── oldboy 4 directories, 11 files
[root@v2-ui ~]# ls -l
total 4
-rw-r--r--. 1 root root 0 Jan 9 09:15 a.txt
drwxr-xr-x. 3 root root 143 Jan 6 14:26 data
-rw-r--r--. 1 root root 2264 Oct 17 14:25 install_bbr.log
drwxr-xr-x. 2 root root 6 Jan 6 11:53 oldboy
[root@v2-ui ~]# find ./ -type d
./
./.pki
./.pki/nssdb
./.config
./.config/gcloud
./.config/gcloud/logs
./.config/gcloud/logs/2019.10.17
./data
./data/aa
./data/aa/bb
./oldboy
[root@v2-ui ~]# find ./* -type d
./data
./data/aa
./data/aa/bb
./oldboy
[root@v2-ui ~]# find ./* -maxdepth 0 -type d
./data
./oldboy
[root@v2-ui ~]# find ./* -maxdepth 1 -type d
./data
./data/aa
./oldboy
[root@v2-ui ~]#