linux find
文件的查找
在linux下我们可以用到三个命令来查找文件,通常我们都是先使用whereis或者是locate来检查,如果真的找不到了我们才以find来找。为什么呢?因为whereis和locate是利用数据库来查找数据,所以相当快速,而且并没有实际查询硬盘,比较节省时间。但是find是直接查找硬盘,如果你的硬盘比较老旧的话,就会花费很长的时间。
我们上面说到whereis和locate找不到了才会使用find查找,所以find是很强大的查找命令,下面我们看一下find的功能有哪些:
1.命令格式:
find pathname -options [-print -exec -ok …]
2.命令功能:
用于在文件树中查找文件,并做相应的处理(可能访问磁盘)
3.命令选项:
按照文件名,文件权限,文件所属查找
-prune 命令的详解:
(存在目录dir0和dir1及其子目录)
1:在除dir0及子目录以外的目录下查找txt后缀文件
find ./ -path './dir0*' -a -prune -o -name *.txt -print
说明:-a 应该是and的缩写,意思是逻辑运算符‘与’(&&); -o应该是or的缩写,意思是逻辑运算符‘或’(||), -not 表示非.
命令行的意思是:如果目录dir0存在(即-a左边为真),则求-prune的值,-prune 返回真,‘与’逻辑表达式为真(即-path ‘./dir0*’ -a -prune 为真),find命令将在除这个目录以外的目录下查找txt后缀文件并打印出来;如果目录dir0不存在(即-a左边为假),则不求值-prune ,‘与’逻辑表达式为假,则在当前目录下查找所有txt后缀文件。
(dir0*表示dir0及其子目录)
2:在除dir0、dir1及子目录以外的目录下查找txt后缀文件
find ./ \( -path './dir0*' -o -path './dir1*' \) -a -prune -o -name *.txt -print
注意:圆括号()表示表达式的结合。即指示 shell 不对后面的字符作特殊解释,而留给 find 命令去解释其意义。由于命令行不能直接使用圆括号,所以需要用反斜杠’\’进行转意(即’\’转意字符使命令行认识圆括号)。同时注意’(‘,’)’两边都需空格。
时间参数
atime:文件最后一次被访问的时间
ctime:改变文件的属性更新的时间
mtime:改变文件内容时更新的时间
你想找出被改动的过的文件名使用命令:find ~ -mtime n
(~代表主工作目录可以换成其他目录,n代表天数,如下图所示)
其他命令选项:
-nogroup 查找⽆无有效所属组的⽂文件,即该⽂文件所属的组在/
etc/groups中不存在。
-nouser 查找⽆无有效属主的⽂文件,即该⽂文件的属主在/etc/
passwd中不存在。
-newer file1 ! file2 查找更改时间⽐比⽂文件file1新但⽐文
件file2旧的⽂文件。
-type d 目录
-type b 块设备文件
-type c 字符设备文件
-type p 管道文件
-type l 符号链接文件
-type f 普通文件
-size nc 查找文件长度为n块的文件,带有c时表示文件长度以字节记
Linux ⽤用find命令查找⽂文件大小为XX的文件的办法:
例如:⼀一个⽂文件5556字节,可以这样写
find /root -size -5557c -size +5555c -exec ls -ld {} \;
即查找⼤大于5555字节⼩小于5557字节的⽂文件,以上查找的是/root目录。
find /root -size -500K -size +50K -exec ls -ld {} \;
查找 小于500K,大于50K的⽂文件。
-follow 如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。
-fstype 在查找位于某一文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,改配置文件中包含了本系统中有关文件系统的信息。
相关阅读
引言:上期回顾(想要学习的童鞋可以点击看看)上次我们学习如何添加一个linux用户以及设置密码、查看linux当前登陆用户的一个状态
1. vi 操作 目录 1. vi 操作 2. 退出操作说明 插入文本 修改文本 删除文本 备注:进入文本编辑器中,使用命
圆整通常被理解为为满足某种要求而进行的数据修正。按照修正后的数据在数值上是否比原数据大,又可分为向上圆整和向下圆整。它们很
find 查找命令 -name 查找某个文件,文件名为name 例如: find /etc/ -name passwd 查找/etc/目录下名为passwd的
重温 wallabag:Instapaper 的开源替代品 | Linux 中国
这个稍后阅读应