您的位置:首页 > 运维架构 > Linux

Linux命令练习第二关(1)

2016-08-28 12:25 176 查看
(1)如何过滤出已知当前目录(iantest)下的所有一级目录(提示:不包含当前目录下面目录的子目录,即只能是一级目录)?

解答:

根据颜色区分文件和目录(蓝色)。

ls -l结果中以d开头的就是目录。

通过给目录加标识,然后通过过滤标识就过滤出目录(ls -F或ls -p)。

通过find直接查找指定类型的文件(-d 就是目录)。

实验数据:



d开头的是目录



方法二:

基础正则表达式字符’^’:表示以…开头,如^ian,以ian开头的那一行。



#  过滤出以d开头的那行
[root@ianLinux iantest]# ls -l|grep "^d"




方法三:

①ls 的-F参数给不同文件类型结尾加标识。

-F, --classify
append indicator (one of */=>@|) to entries

-p, --indicator-style=slash
append / indicator to directories #只是在目录后面加/


ls -F /dev




②基础正则表达式字符’$’:表示以…结尾,如ian\$,表示以ian结尾的那一行。



# 过滤包含/的
[root@ianLinux iantest]# ls -lF/grep "/"

# 过滤以/结尾的
[root@ianLinux iantest]# ls -lF|grep "/$"




方法四:

直接
[root@ianLinux iantest]# find /data/iantest/ -type d
会查找到二级目录



find的-maxdepth参数可以控制查找深度

[root@ianLinux iantest]# find /data/iantest/ -maxdepth 1  -type d




‘! ‘非的使用,去除查找结果中的当前目录/data/iantest

[root@ianLinux iantest]# find /data/iantest/ -maxdepth 1  -type d ! -name "iantest"




方法五:

[root@ianLinux iantest]# tree -Ld 1
#tree 显示目录树结构 -L 层数 -d 目录




方法六:

sed的过滤: sed -n ‘/过滤的内容/处理的命令’ 文件

[root@ianLinux iantest]# ls -l|sed -n '/^d/p'




方法七:

awk的过滤:

[root@ianLinux iantest]# ls -l|awk '/^d/'


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 命令