Linux学习笔记(8)文件搜索与帮助(find)
【1】find综合参考
关键词:find
参考:https://www.cnblogs.com/Ido-911/p/9638612.html
帮助:
(1) man ls (2) info ls (3) whatis ls (4) help
搜索:
(1) which ls :查看ls命令所在绝对路径
(2) locate useradd:查看命令相关的所有的文档和资料库
(3) find : 找寻文件
-----------------
时间:【1】ctime ~创建时间 【2】atime~访问时间 【3】mtime~修改时间 mmin 是分钟
大小:【1】-size ~大小
案例: find / -size +100M |xargs -i du -sh {} #查看超过100M大小的所有文件
逻辑:【1】-a ~ and 【2】-o ~ or 【3】-exec command {} \ ; ~搜索到之后对其执行命令 【4】 -ok、
类型 【1】-type f d …… f为文件,d为目录 等等
关键词:【1】-name test*:名字以test开头的所有 【2】-size +1M:大小超过1M的
【3】-user root:用户为root的文件 【4】-group/nogroup user:分组是 参数,分组不是 参数
--------------
find /home/test/ -name test* |more #查询/home/test/ 目录下 名字为test开头的所有文件 |more是分页显示
find /etc/ -name init* -type f |more #查询 /etc/目录下 名字为init开头的,类型为文件的所有信息
find /etc/ -mmin +120 |more #查询/etc/目录下120分钟前被修改过的文件
find /etc/ -mtime -2 |more #查询/etc/目录下2天内被修改过的文件
find /temp/ -mtime +7 -name '*itpux*' -exec rm -rf {} \ ; #找到目录下,7天前有修改的 名称中包含itpux的 然后执行删除
find /usr/local/backups -mtime +10 -name "*.*" -exec rm -rf {} \; #删除10天前的文件
(4)grep :在文件/结果集 中搜索内容所在行
【1】grep 'root' password :查看root关键词在password的所在行数据
#或可以改写成cat password |grep 'root'
常用参数:
【1】-i 不区分大小 【2】 -w 限制全部路径 【3】-c 匹配里面出现的参数次数
【4】-l 列包含参数的文件名
【2】find 入门
一,查找文件
find 查找位置 选项(查找方式) 参数 find /root -user root //按用户查找,找/root里面所有root的文件 find /root -type f //按类型查找,f是普通文件 find /root -type d //按类型查找,d是目录 find /root -type l //按类型查找,l是链接文件 find /root -name abc //按文件名查找,找不到就不显示 find /root -name "a*" //模糊查找 find /root -size -10M //按大小查找, 找/下小于10M的文件 find /root -size +10G //找大于10G的文件 find /root -size -10k find /root -mtime -1 //找一天内被修改过的文件 echo 123 > 123.txt find /root -mtime +1 //找一天前被修改过的文件 find /root -perm -o=rw //在root目录里找其他人有rw权限的文件
时间:【1】ctime ~创建时间 【2】atime~访问时间 【3】mtime~修改时间 mmin 是分钟
大小:【1】-size ~大小
案例: find / -size +100M |xargs -i du -sh {} #查看超过100M大小的所有文件
逻辑:【1】-a ~ and 【2】-o ~ or 【3】-exec command {} \ ; ~搜索到之后对其执行命令 【4】 -ok、
类型 【1】-type f d …… f为文件,d为目录 等等
关键词:【1】-name test*:名字以test开头的所有 【2】-size +1M:大小超过1M的
【3】-user root:用户为root的文件 【4】-group/nogroup user:分组是 参数,分组不是 参数
find特殊用法1:(默认就是 -a )
-a 并且 -o 或者
find /root -name root -a -user root //找名字是root并且属于root的文件,-a也可以省略不写
find /root -name root -o -user root //找名字是root或者属于root的文件
find特殊用法2:
find /root -type f -exec cp {} /opt \; //找/root里的普通文件,然后将其拷贝到/opt下 , -exec是要继续执行某指令,{}是前面找到的所有文件,\;代表结束
find特殊用法3:
-perm 权限查找
find /root -perm -o=rw //在root目录里找其他人有rw权限的文件
【3】常用find实践
(1)清空所有文件,追加内容到查找到的文件
find /data/docker -type f -name "*.log" -exec sh -c "echo ''>{}" \; find /data/docker -type f -name "*.log"|xargs -I {} sh -c "echo ''>{}"