第五节 查找目录文件命令

find 查找文件或者目录
语法:find [搜索路径][匹配条件],如果没有指定路径则在当前路径查找
原则:占用最上的系统资源,即查询范围最小,查询条件最精确
注意:如果明确指定要查找的文件在哪一个目录,就直接对指定目录查找,不查找根目录
1) -name 按名称查找,精确查找
find /root/a -name 'a.txt' 在/root/a 下查找a.txt
2) -iname 不区分大小写
find /root/a -iname 'A.txt'
3) 字符匹配
find find /root/a -name 'a?' 查找a+任意一个字符的目录或者文件
find find /root/a -name 'a*' 查找a开头的任意目录或者文件
4) -size 按文件的大小查找
以block为单位,一个block是512B,1K=2block + 是大于 - 是小于 不写是等于
find /root/a -size +204800 查找小于100MB的文件
5) -type 按文件类型查找
f 二进制文件
l 软连接文件
d 目录
c 字符文件
find /root/a -type c

grep 在文件中(不是目录)搜寻字符串匹配的行并输出
语法:grep [-cinv] '搜寻字符串' filename
-c 输出匹配行的次数(是以行为单位,不是以出现的次数为单位)
-i 忽略大小写
-n 显示匹配行以及行号
-v 反向选择,显示不包含匹配文本的所有行
grep -i -n 'over' aa.txt
grep -i -n 'a' aa.txt
# grep -v '^#' a.txt 查找不以#开头的行,即从文件中打印出不包含注释的代码

which 显示系统命令所在目录(绝对路径和别名)
which命令的作用是,在PATH变量指定的路径中,搜寻某个系统命令的位置,并且返回第一个搜寻结果,也就是说,使用which,就可以看到某个系统命令是否存在,以及执行到底是哪一个位置的命令
which ls 出现下面指令的信息,是ls指令的详情,说明指令ls是存在的
ls='ls --color=auto

which zs 出现下面指令的信息,说明指令zs是不存在的
/usr/bin/which: no zl in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)

whereis 搜寻命令所在目录 配置文件所在目录以及帮助文档
whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz

whereis man
man: /usr/share/man

原文地址:https://www.cnblogs.com/kogmaw/p/12409942.html