Linux命令之find的⽤法
find顾名思义就是查,Linux下find命令提供相当多的查条件,因此功能⽐较强⼤,可以在众多⽂件或⽬录下查你想要的任何⽂件或⽬录。
find 命令格式:find pathname -options [-print -exec -ok...]
pathname表⽰find命令所查的⽂件或⽬录的路径。例如:/home/tools/tongyan
find查命令的使用-print: find命令将匹配的⽂件输出到标准输出。
-exec: find命令对匹配的⽂件执⾏该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。
-ok:和-exec的作⽤相同,只不过以⼀种更为安全的模式来执⾏该参数所给出的shell命令,在执⾏每⼀个命令之前,都会给出提⽰,让⽤户来确定是否执⾏。
find常⽤命令格式:
-name filename #查名为filename的⽂件
-
perm #按执⾏权限来查
-user username #按⽂件属主来查
-group groupname #按组来查
-mtime -n +n #按⽂件更改时间来查⽂件,-n指n天以内,+n指n天以前
-atime -n +n #按⽂件访问时间来查GIN: 0px">
-ctime -n +n #按⽂件创建时间来查⽂件,-n指n天以内,+n指n天以前
-nogroup #查⽆有效属组的⽂件,即⽂件的属组在/etc/groups中不存在
-nouser #查⽆有效属主的⽂件,即⽂件的属主在/etc/passwd中不存
-newer f1 !f2 # ⽂件,-n指n天以内,+n指n天以前
-ctime -n +n #按⽂件创建时间来查⽂件,-n指n天以内,+n指n天以前
-nogroup #查⽆有效属组的⽂件,即⽂件的属组在/etc/groups中不存在
-
nouser #查⽆有效属主的⽂件,即⽂件的属主在/etc/passwd中不存
-newer f1 !f2 #查更改时间⽐f1新但⽐f2旧的⽂件
-type b/d/c/p/l/f #查是块设备、⽬录、字符设备、管道、符号链接、普通⽂件
-size n[c] #查长度为n块[或n字节]的⽂件
-depth #使查在进⼊⼦⽬录前先⾏查完本⽬录
-fstype #查更改时间⽐f1新但⽐f2旧的⽂件
-type b/d/c/p/l/f #查是块设备、⽬录、字符设备、管道、符号链接、普通⽂件
-size n[c] #查长度为n块[或n字节]的⽂件
-depth #使查在进⼊⼦⽬录前先⾏查完本⽬录
-fstype #查位于某⼀类型⽂件系统中的⽂件,这些⽂件系统类型通常可在/etc/fstab中到
-mount #查⽂件时不跨越⽂件系统mount点
-follow #如果遇到符号链接⽂件,就跟踪链接所指的⽂件
-cpio #查位于某⼀类型⽂件系统中的⽂件,这些⽂件系统类型通常可在/etc/fstab中到
-mount #查⽂件时不跨越⽂件系统mount点
-follow #如果遇到符号链接⽂件,就跟踪链接所指的⽂件
-cpio #对匹配的⽂件使⽤cpio命令,将他们备份到磁带设备中
-prune #忽略某个⽬录
下⾯具体说明
查⽅式有很多种,⽐如按⽂件类型(-type),⽂件名(-name),⽂件属主(-user),⽂件所属组)(-group),⽂件权限(-perm),⽂件长度(-size),⽂件修改时间(-mtime)等查。
⽂件类型包括:d ⽬录⽂件。
l 符号链接(指向另⼀个⽂件,类似于瘟下的快捷⽅式) 。
s 套接字⽂件。
b 块设备⽂件,⼆进制⽂件。
c 字符设备⽂件。
p 命名管道⽂件。
- 普通⽂件,或更准确地说,不属于以上⼏种类型的⽂件。
⽂件权限包括:r 读⽂件
w 写⽂件
x 执⾏⽂件操作
(1)按⽂件类型查
find test1 -type d
(2)按⽂件名查
find test1 -name test2
(3)按⽂件属主
find test1 -user wangmengting
(4)按⽂件所属组
find test1 -group wangmengting
(5)按⽂件修改时间
find test1 -mtime -1
其他的就不⼀⼀演⽰了。
注意:那如果查出来的⽂件太多,可⽤以下⽅式进⾏显⽰。例如:
-print :将查到的匹配的⽂件输出到标准输出
find /home -type f -print
此外,还可以对⽂件进⾏额外的操作。例如:
-exec :将查到的⽂件进⾏额外的动作
find /test1 -name “” -exec rm {} \;
{}:指的是find到的内容,即到的结果会被放到{}的位置中;
-exec 到 \; :是关键字代表find额外动作的开始(-exec)到(\;)结束,这中间的就是find指令内的额外动作,在上⾯例⼦中就是【 rm {}】;
\ :为转义字符。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论