1、which +命令 (根据PATH环境变量查找命令)
列出别名以及命令所在位置
2、whereis +文件(查找速度快)
列出文件的位置以及帮助手册的位置
3、locate
与whereis基本相同
4、find
1)参数
-type 文件类型
-name 文件名字
-user 属主
-group 属组
-nouser 没有有效属主
-nogroup 没有有效属组
-perm 权限
-size 文件大小
2)实例:
例1:查找系统上以.conf结尾的普通文件:
find / -name "*.conf" -type f
例2:查找home目录下用户Jack拥有的普通文件:
find /home -user "Jack" -type f
例3:查找没有有效属主的普通文件:
find / -type f -nouser
例4:查找指定权限的普通文件:
find 路径 -perm 644 -type f
-644 (大于等于指定权限的文件)
/644 (属主具有读写权限或属组具有读权限或其他具有读权限,满足其中一位即可)
例5:查找链接文件:
find 路径 -type l
例6:根据时间查找:
时间查找参数:
-atime n 取出n*24小时之内存取过的文件
-ctime n 取出n*24小时之内改变新增的文件或目录
-mtime n 取出n*24小时之内修改过的文件或目录(常用)
-newer file 列出比file更新的文件
实例:
find 路径 -mtime 0 过去24小时之内修改过的文件
find 路径 -mtime -2 过去两天内修改过的文件
find 路径 -mtime +2 过去三天之前修改过的文件
例7:根据大小查找:
生成模拟文件:
dd if=/dev/zero of=file1.txt bs=1M count=5 (生成一个5M大小的文件file1.txt)
find 路径 -type f -size 5M(等于5M)
find 路径 -type f -size +5M(大于5M)
find 路径 -type f -size -5M(小于5M)
find 路径 -type f -size +1M -size -50M(在1M到50M之间)
例8:搜索时排除一个目录:
find 路径 -path'排除目录的路径' -a -prune -o -name
命令行的意思是:如果目录dir0存在(即-a左边为真),则求-prune的值,-prune 返回真,‘与’逻辑表达式为真(即-path ‘。/dir0*’ -a -prune 为真),
find命令将在除这个目录以外的目录下查找txt后缀文件并打印出来;如果目录dir0不存在(即-a左边为假),则不求值-prune ,‘与’逻辑表达式为假,
则在当前目录下查找所有txt后缀文件。
例9:找出/tmp目录下,属主不是root,且文件名不以f开头的文件
find /tmp ! \( -user root -o -name "f*" \)
条件加括号时,括号需要转义"\(\)"
3)逻辑关系:
-a 应该是and的缩写,意思是逻辑运算符‘或’(&&)“两边都为true时,结果才为true;当左边为false时,右边的表达式不会进行运算”;
-o 应该是or的缩写,意思是逻辑运算符‘与’(||),“两边任何一边为true时结果才为true”
! not表示非
4)找到文件后执行额外操作:
-exec(不需确认)
-ok(需要确认)
例1:查找过去三天之前改动的文件并且以长格式列出
find 路径 -mtime +2 -exec ls -l {} \;
{} 代表前面查找的结果
\ 代表结束符
例2:在线安装软件保存到本地
修改配置文件:vim /etc/yum.conf keepcache=1
find /var/cache/yum/x86-64/7/ -type f -name "*.rpm" -exec cp {} 本地路径 \;
5)xargs
适用场景:
例1:一个文件包含了希望下载的软件包的URL,用xargs下载所有链接
将链接写入到url.txt中
cat url.txt | xargs wget -C(大写)
例2:查找所有jpg文件并压缩:
find / -name "*.jpg" -type f -print | xargs tar -cvzf images.tar.gz
例3:一个文件夹下面文件太多,使用rm或ls等命令时会出现Argument list too long错误
解法1:
ls | xargs -n 10 rm -rf ls
解法2:
find . -maxdepth | -name "*.sh" -type f -exec rm -rf {} \;
Linux高级查找
最新推荐文章于 2024-09-10 20:40:41 发布