于Linux系统里,find命令身为一个具备强大功能的文件搜索工具,它能够依照各类条件在指定的目录当中去查找文件。要是掌握find命令的用法,便能非常显著地提升文件管理的效率,不管是去查找特定的文件,还是对文件进行批量处理,均无法离开这个实用的工具。接下来会详细地介绍find命令的基本语法以及常见用法。
find命令的基本语法是什么
在查找命令之中,find命令的基本语法是由命令本身、搜索路径、表达式以及操作动作共同组合而成的。其中,搜索路径所起到的作用是指定从哪一个目录开始进行查找,它既能够是绝对路径,又能够是相对路径。而表达式主要的功能在于定义搜索条件linux命令find用法详解,这里面涵盖了文件名、类型、时间之类的参数。至于操作动作,它所规定的是针对找到的文件去执行什么样的操作,像是打印、删除等 。

对语法结构予以理解,乃是运用find命令的首个步骤。举例而言,最为简单命令“find . -name ‘test.txt’”linux命令find用法详解,其意味着于当前目录以及该目录的子目录里,去搜寻名为test.txt的文件。其中,那个点号所代表的是当前目录,-name这一参数规定按照文件名来进行搜索,单引号之内的内容便是所要匹配的模式。在掌握了这种基本结构之后,便能够一步步地增添更为复杂的搜索条件。
如何按文件名查找文件
当进行按文件名查找这个最为常用的功能时,主要是借助 -name 参数来达成的。比如,假使要在系统里查找所有扩展名为.conf 的文件,即可运用命令“find / -name ‘.conf’”。在此处,星号属于通配符,它所代表的含义是能够匹配任意字符。要是想要精确匹配文件名,那么便无需使用通配符。

排除 -name 参数之外,-iname 参数 在于文件名搜索方面能够实现在不区分大小写基础上进行,这当处于不确定文件名大小写这种状况时显得极为有用,举例来讲,像 “find /home -iname ‘readme'” 这样的指令 会对 README、readme 以及其他有着不同大小写形式的文件予以匹配,在此需要加以留意的是,在使用通配符的情形下要对引号的运用予以关注,以此避免 shell 过早地展开模式。
怎样按文件类型进行搜索
依照-type参数能够按照文件类型予以筛选,经常会用到的类型涵盖f(普通文件)、d(目录)、l(符号链接)等,要是想要查找某个目录之下的所有子目录,能够运用”find /path -type d”,这于需要统计目录结构或者清理空目录之际是颇为实用的。

利用“find /usr -type l”能够去查找符号链接,而借助“find /dev -type b”可以查找块设备文件。要是结合其他参数,比如查找最近7天修改过的普通文件,就要使用“find /var/log -type f -mtime -7”。这样的组合使用能够精准地定位特定类型的文件。
如何按时间查找文件
获取按时间查找的强大功能的命令是find命令,其按时间查找的功能主要涵盖按修改时间(-mtime)查找,按访问时间(-atime)查找,以及按状态改变时间(-ctime)查找。时间参数后面跟着的数字代表天数,往后数7天前表示为+7,往前数7天内表示为-7,正好7天前表示为7 。
例如,“find /tmp -atime +30”,此操作是进行查找,查找的对象是30天内未被访问的文件,这类文件适宜用于清理缓存。“find /home -mtime -1”,这又是另外一种查找,其查找的是最近24小时内修改过的文件linux运维博客,这些文件方便用于备份最新变动。并且还能够使用以分钟作为单位的时间参数,像是-mmin、-amin,通过使用它们能够实现更为精确的时间控制。
怎样按文件大小查找

通过运用-size参数能够实现依据文件大小来查找文件,其大小单位涵盖了c(字节)、k(千字节)、M(兆字节)、G(千兆字节),像”find /var -size +1G”这般可查找大于1GB的文件,这对发觉异常的大文件是有帮助的。
查找小于一百千字节海量数据中的微小文件LINUX虚机,可运用“find /home -size -100k”这一指令,此指令特别适宜于筛选那些体积相对较小的文件。当与删除操作相互结合之时,便能对特定大小的数据文件执行清理:“find /tmp -size 0 -delete”此操作能够将所有空文件予以删除。需要留意的是,在大小参数之前,若存在“+”符号,则意味着大于,若存在“-”符号,则意味着小于,要是不存在任何符号,那就表示精确匹配 。
find命令如何执行操作
查找命令极为强大的功能当中的一个是具备可以针对所寻找到的文件开展操作的能力。最为常用的是通过 -delete 参数直接将文件予以删除,而 -exec 参数则是用于执行自定义的命令。举例来说,“find . -name ‘.tmp’ -delete”这样的指令能够把所有的临时文件给删除掉 。
开启-exec参数之际,{}所指代的乃是寻觅到的文件名,而;则意味着命令宣告终结。“find /var/log -name ‘*.log’ -exec cp {} /backup ;”这般操作会把全部的日志文件备份至指定的目录之处。出于安保方面的考量,提议优先运用-ok来替换-exec,它会在提示确认过后才开展操作流程。
你平日工作里最常运用find命令去解决啥问题呢,欢迎于评论区分享你的运用经验,要是觉着本文有助益,请点赞并分享给更多有需要的朋友呀!
