目录
4.3文件搜索命令
4.3.1文件搜索命令find
*文件搜索:find
命令名称:find
命令所在路径:/bin/find
执行权限:所有用户
语法:find【搜索范围】【匹配条件】【文件名】
-name根据文件名搜索,一个字母都不能错,区分大小写
文件名可以使用通配符来模糊匹配:*可以匹配任意字符。?可以匹配一个未知字符
-iname根据文件名搜索,不区分大小写
-size根据文件大小搜索,单位是数据块,一个数据块512字节
+n大于;-n小于;n等于(几乎不用)
-user根据所有者搜索
-group根据所属组搜索
-amin根据访问时间搜索
+n大于;-n小于;n等于(几乎不用)
-cmin根据修改过文件属性时间搜索
+n大于;-n小于;n等于(几乎不用)
-mmin根据修改过文件内容时间搜索
+n大于;-n小于;n等于(几乎不用)
-type根据文件类型查找
f文件;d目录;l软链接文件
-inum根据i文件节点查找
链接查找多项匹配条件:-a两个条件同时满足
-o两个条件只满足一个
-exec/ok【命令】{};对搜索结果进行操作
功能描述:文件搜索
范例:$find /home/cx/test -name test.txt 在当前目录按照文件名精准搜索
$find /home/cx/test -iname test.txt 不区分大小写
$find /home/cx/test -name *test*.* 在当前目录按照搜索包含这个文件名的所有文件
$find /home/cx/test -name 123test???.??? 在当前目录按照搜索包含这个文件名并且后面只有三个未知字符的文件
$find /home/cx/test -size +400 这里是查找一个大于200K的文件,1K等于两个数据块
$find /home/cx -user cx 这里是查找目录下所有者是cx的文件
$find /home/cx -mmin -30 这里是查找目录下30分钟之内修改过文件属性的所有文件
$find /home/cx -user cx -ok rm {} ; 这里是查找目录下所有者是cx的文件,并且删除,有询问提示
$find /home/cx -user cx -exec rm {} ; 这里是查找目录下所有者是cx的文件,并且删除,没有询问提示
$find /home/cx -inum 12365 -exec rm {} ; 查找i节点,然后删除。对付奇怪的文件及其有效
4.3.2其他搜索命令
*在文件资料库中查找文件:locate
命令名称:locate
命令所在路径:/usr/bin/locate
执行权限:所有用户
语法:locate【文件名】
-i不区分大小写
功能描述:在文件资料库中查找文件
范例:$locate test
*更新locate文件资料库:updatedb
命令名称:updatedb
命令所在路径:/usr/bin/updatedb
执行权限:所有用户
语法:updatedb
功能描述:更新locate文件资料库
范例:$locate
*搜索命令所在目录以及别命信息:which
命令名称:which
命令所在路径:/usr/bin/which
执行权限:所有用户
语法:which【命令】
功能描述:搜索命令所在目录以及别命信息
范例:$which updatedb
*搜索命令所在目录以及帮助文档信息:whereis
命令名称:whereis
命令所在路径:/usr/bin/whereis
执行权限:所有用户
语法:whereis【命令】
功能描述:搜索命令所在目录以及帮助文档信息
范例:$whereis ls
*在文件中搜寻字串匹配的行并输出:grep
命令名称:grep
命令所在路径:/bin/grep
执行权限:所有用户
语法:grep -iv【指定字串】【文件】
功能描述:在文件中搜寻字串匹配的行并输出
-i 不区分大小写
-v排除包含指定字串的整行
-^v只排除行首是自定字符的
范例:$grep mysql /root/install.log
$grep multiuser /etc/inittab