which命令——查找用户所执行的命令文件存放的目录


which命令用于查找Linux命令程序并显示所在的具体位置,其搜索范围主要由用户的环境变量PATH决定(可以执行“echo $PATH”命令查看),这个范围也是Linux系统在执行命令或程序时的默认搜索路径。

例:which ls命令后,可以找到名为ls的,位于/usr/bin/ls的命令程序文件。


image.png





find命令——查找文件或目录


采用递归方式,根据目标的名称,类型,大小等不同属性进行精细查找

find [查找范围]  [查找条件表达式]

查找类型关键字    说明
按名称查找   -name  根据目标文件的名称进行查找,运用“*(所有)”及“?(一个字母)”
按文件大小查找-size 一般使用“+”,“-”设置超过指定的大小作为查找条件,常用的容量单位包括kB,MB,GB
按文件属性查找-type根据文件类型进行查找
按用户查找-user根据用户查找

文件类型包括:普通文件(f),目录(d),块设备文件(b) 文字设备文件(c)等

块设备是指读取数据的设备(如硬盘,内存等)

字符设备是指按单个字符读取数据的设备(如键盘,鼠标等)

例:

find / -name a* 查找根目录a开头的文件

find /etc/ -size +50k 查找etc下面文件大于50k的 

find / -user lq 查找系统中属主(用户)为lq的内容

find / -type f 查找系统中的所有文本文件

image.png

image.png



搜索命令后面+    -exec cp -rf {}   目标地址

将以上的一系列命令保存到 目标地址中。

例:find / -size -5k -a -name c* -a -type f -exec cp -rf {} /opt/bb/ \;

查找系统中小于5k且名称以a开头的且类型为文件的内容并把它复制到/opt/bb目录里面去。

注:以上查找都是广泛查找

各表达式之间使用逻辑运算符 

  “-a” 表示而且 (and)     "-o"表示或者(or)