2021年linux中的find命令
Linux中的find指令主要用于查,下面由我为大家整理了linux中的find指令的相关学问,盼望对大家有关心!
linux中的find指令详解
find查命令的使用
Linux下find指令在名目构造中搜寻文件,并执行指定的操作。Linux下find指令供应了相当多的查条件,功能很强大。由于find 具有强大的功能,所以它的选项也许多,其中大局部选项都值得我们花时间来理解一下。即使系统中含有网络文件系统( NFS),find指令在该文件系统中同样有效,只你具有相应的权限。在运行一个特别消耗资源的find指令时,许多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)。
1.指令格式:
find pathname -options [-print -exec -ok ...]
2.指令功能:
用于在文件树种查文件,并作出相应的处理
3.指令参数:
pathname: find指令所查的名目途径。例如用.来表示当前名目,用/来表示系统根名目。
-print: find指令将匹配的文件输出到标准输出。
-exec: find指令对匹配的文件执行该参数所给出的shell指
令。相应指令的形式为command { } \;,留意{ }和\;之间的空格。    -ok:和-exec的作用一样,只不过以一种更为平安的形式来执行该参数所给出的shell指令,在执行每一个指令之前,都会给出提示,让用户来确定是否执行。
4.指令选项:
-name 根据文件名查文件。
-perm 根据文件权限来查文件。
-prune 用法这一选项可以使find指令不在当前指定的名目中查,假如同时用法-depth选项,那么-prune将被find指令忽视。    -user 根据文件属主来查文件。
-
group 根据文件所属的组来查文件。
-mtime -n +n 根据文件的更改时间来查文件, - n表示文件更改时间距如今n天以内,+ n表示文件更改时间距如今n天以前。find指令还有-atime和-ctime 选项,但它们都和-m time选项。
-nogroup 查无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。
-nouser 查无有效属主的文件,即该文件的属主在/etc/passwd中不存在。
-newer file1 ! file2 查更改时间比文件file1新但比文件file2旧的文件。
-type 查某一类型的文件,诸如:
b - 块设备文件。
d - 名目。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 一般文件。
-size n:[c] 查文件长度为n块的文件,带有c时表示文件长度以字节计。-depth:在查文件时,首先查当前名目中的文件,然后再在其子名目中查。
-fstype:查位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中到,该配置文件中包含了本系统中有关文件系统的信息。
-mount:在查文件时不跨越文件系统mount点。
-follow:假如find指令遇到符号链接文件,就跟踪至链接所指向的文件。
-cpio:对匹配的文件用法cpio指令,将这些文件备份到磁带设备中。
另外,下面三个的区分:
-amin n 查系统中最终N分钟访问的文件
-atime n 查系统中最终n*24小时访问的文件
-cmin n 查系统中最终N分钟被转变文件状态的文件
-ctime n 查系统中最终n*24小时被转变文件状态的文件
-mmin n 查系统中最终N分钟被转变文件数据的文件
-mtime n 查系统中最终n*24小时被转变文件数据的文件    linux中的find指令用法实例
实例1:查指定时间内修改正的文件
指令:
find -atime -2
输出:
[root@peidachang ~]# find -atime -2
.
./logs/monitor
./.bashrc
.
/.bash_profile
./.bash_history
说明:
超48小时内修改正的文件
实例2:依据关键字查
指令:
find . -name *.log
输出:
[root@localhost test]# find . -name *.log
./log_link.log
./log2021.log
.
/test4/log3-2.log
./test4/log3-3.log
./test4/log3-1.log
./log2021.log
./log2021.log
./log.log
./test5/log5-2.log
./test5/log5-3.log
./test5/log.log
./test5/log5-1.log
./test5/test3/log3-2.log
.
/test5/test3/log3-3.log
./test5/test3/log3-1.log
./test3/log3-2.log
./test3/log3-3.log
./test3/log3-1.log
说明:
在当前名目查以.log结尾的文件。 . 代表当前名目
实例3:根据名目或文件的权限来查文件
指令:
find /opt/soft/test/ -perm 777
输出:
[root@localhost test]# find /opt/soft/test/ -perm 777

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。