美文网首页
linux上的find命令

linux上的find命令

作者: icameisaw | 来源:发表于2018-06-24 09:32 被阅读12次

关于 find 命令的一些用法

find [PATH] [OPTION] [ACTION]

查找文件

与文件权限及名称有关的参数

-name filename : filename 为需要查找的文件名,支持使用通配符
-size [+-]SIZE : 查找比 SIZE 还有大(+)或小(-)的文件,需要制定单位
-type TYPE : 查找指定 TYPE 文件类型的文件
-perm [+-]MODE : 查找匹配文件权限的文件
$find /etc -name passwd
$find ~/ -name '*.vim'
$find ~/ -size +50k
$find /app/jetty/server/ -type d -name '*log*'
$find /app/jetty/server/ -perm +7000

与时间有关的参数

-mtime n n 天之前的“一天之内”被更改过的文件名  
-mtime +n 查找 n 天之前(不含n本身)被更改过的文件名  
-mtime -n 查找 n 天之内(含n本身)被更改过的文件名  
-newer file : file 为一个存在的文件,查找比 file 还要新的文件名
$find /etc -mtime 4
$find /etc -mtime +4
$find /etc -mtime -4

与用户或者用户组有关的参数

-user name : name 为用户账户名称
-group name : name 为用户组名称
-uid n : n 为数字,记录在 /etc/passwd 里面与用户名称对应的数字
-gid n : n 为数字,记录在 /etc/passwd 里面与用户组名称对应的数字
-nouser : 查找所有者不存在 /etc/passwd 的文件
-nogroup : 查找所有者的用户组不存在 /etc/passwd 的文件
$find /home/mysql -user root
$find /home/mysql -group root
$find ~/ -name '*.vim'
$find ~/ -nouser

其他选项

-exec command : command 为其他 linux 命令,处理查找到的结果。
-print : 将结果打印到屏幕上,这个是默认操作。
$find /home/mysql -user root
$find /home/mysql -group root
$find ~/ -name '*.vim'
$find ~/ -nouser

删除 Linux 下乱码文件

删除文件

每个文件都有一个节点编号,利用此节点编号定位乱码的文件,首先查看乱码文件的节点号。

$ls -i
22413314 12 ?..??mp3

前面的就是节点号了,接下来使用find命令查询并且删除。

$find -inum 22413314 -delete

-inum指根据节点号查询;-delete顾名思义就是删除操作了。这样就成功删除乱码文件了。值得注意的是,此方法只适用于删除文件或空的文件夹。

删除文件夹

对于文件夹,尤其是非空的文件夹,上面的方法就不适用了,要用到另外的参数来实现,首先相同的是查看乱码文件夹的节点号。

$ls -i
18612483 瑗块.?.. - Thank you, Love(128kbps) 2011.06.22

接下来使用find命令删除

$find -inum 18612483 -exec rm -rf {} \;
$find: ./瑗块.?.. - Thank you, Love(128kbps) 2011.06.22: No such file or directory

虽然提示我们找不到此文件或文件夹,但其实已经表明删除了。-exec作用是查找后执行命令,其中{}代表前面查询到的结果,空格+;是结束符,其它就不说了。-exec后可以跟任何常用命令,因此这方法不但适用于文件夹,文件也可以。

批量删除文件

$for n in 22413315 22413314;do find -inum $n -delete;done

批量删除文件夹

$for n in 22413315 22413314;do find -inum $n -exec rm -rf {} \;;done
$n是变量名,与for后面定义的一致,其它没啥好说的,适用其它操作。

locate 命令

从数据库/var/lib/mlocate数据库查找数据。
更新的配置:/etc/updatedb.conf
手动更新数据库:updatedb

相关文章

  • linux下查找命令

    9月18日任务2.23/2.24/2.25 find命令2.26 文件名后缀 find命令 linux上常用的查找...

  • Linux find and grep

    linux下的find文件查找命令与grep文件内容查找命令 linux下的find文件查找命令与grep文件内容...

  • Linux find命令查找文件

    Linux Find命令 Linux find命令用来在指定目录下查找文件。 学习参考地址:https://www...

  • linux上的find命令

    关于 find 命令的一些用法 find [PATH] [OPTION] [ACTION] 查找文件 与文件权限及...

  • find--linux

    Linux中find常见用法示例(转) find命令的参数; pathname: find命令所查找的目录路径。例...

  • 基础篇

    Linux学习 一、find命令 1、搜索文件的命令:which、whereis、locate、find a、wh...

  • linux 命令行整理2

    这次我们来看看Linux的查找文件的命令:find 命令格式: find 范围 匹配条件 比如:find /etc...

  • 碎碎念 b

    Linux中的搜索命令 文件搜索命令locate 命令搜索命令 忘记是啥了 find命令,其中find命令有好多后...

  • Mac 常用操作

    一、常用命令 Linux的五个查找命令:find,locate,whereis,which,type 1、find...

  • Linux命令之文件管理 (十一)

    Linux find命令 Linux find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查...

网友评论

      本文标题:linux上的find命令

      本文链接:https://www.haomeiwen.com/subject/xrsjyftx.html