find命令详述,find查找钦定项目文件并删除
分类:pc28.am神测网

find查找钦命项目文件并删除

Linux find命令详述

find是Linux下最佳的授命之一,其询问作用非常强劲。以下将详细介绍find的大多用法:

办事措施:其沿着文件档案的次序结构向下遍历,相称符合条件的公文,并推行相应的操作。

1.打字与印刷文件和目录列表
$find . -print  #打字与印刷文件和目录列表

当使用-print时,'n'作为用来分隔文件的定界符。
-print0指明使用'\0'作为定界符来打字与印刷相称的每二个文书名。此方法对于文本名中带有'n'是丰富有效。
但在CentOS上经实际测量试验,find直接显示相配到的公文,无需加多-print选项。
2.依照文件名或正则表明式相配寻找
选料-name钦点了文本名所不可不配皮的字符串.

$find . -name "*.txt" -print  # 打字与印刷以.txt结尾的文件
$find . -iname "*.txt" -print    #-iname表示极度的文本名大体大小写
3.法则限制,相配八个原则中的三个
-a:表示且
-o:表示或
-not:表示非

$find . ( -name "*.txt" -o -name "*.pdf" ) -print  #打印当前目录下以.txt或.pdf结尾的文件
$find . ( -name "*.txt" -a -name "a*" ) -print  #打字与印刷当前目录下以a早先且以.txt结尾的公文
$find . -not ( -name "*.txt" -a -name "a*" ) -print  #打字与印刷当前目录下不以a起先或不以.txt结尾的文书
$find . -not ( -name "*.txt" -o -name "a*" ) -print  #打印当前目录下不以a起始qie不以.txt结尾的文件
-not用法源于德Morgan定律

-path:此参数用于将文件路径作为二个一体化进行相配。

$find /home/user -path "*sh" -print
  /home/user/bin/1.sh
  /home/user/bash
-regex :此参数与-path类似,只可是其是依据正则表明式来合营文件路线的。
$find . -regex ".*( .py | .sh )$"
4.矢口否认参数
find也得以用“!”作为否认参数。

$find . ! -name ".txt" -print  #同盟全体不以.txt结尾的文书</code></pre>
5.基于目录的深度寻觅
find命令在用时会遍历全体的子目录,大家得以选拔局地参数来限制其遍历的深度。

-maxdepth:最大深度限制,1表示只在当前目录,2象征向下两级。。。。。。
$find . -maxdepth 1 -type f -print    #只列出当前目录下的持有普通文书
-mindepth:最小深度限制,与地点用法相似。
$find . -mindepth 2 -type f -print    #列出距当前目录至少多少个子目录的保有文件
6.基于文件类型寻找
linux下的文件类型
文件类型            类型参数
习感到常文书              f
标记文件              l
目录                    d
字符设备              c
块设备                  b
套接字                  s
Fifo(管道文件)  p

$find , -type f -print
$find . -type d -print
7.基于文件时间进行查找
linux文件系统中的各种文件都有二种时光戳:
做客时间(atime——access time):正是上次访谈这些文件的小时。
改造时间(ctime——change time):正是文件的inode改动的光阴(什么是inode?)当您往一个文书中添增添少可能去除数据的时候,修改文件全体者的时候,链接改换的时候,文件的ctime就能够时有发生变动。
修改时间(mtime——modification time):就是文件的源委上一回发出转移的时候的时日。
-atime,-ctime,-mtime可看成find的年华参数。单位是天,这么些值一般还含有 或-: 表示大于,-表示小于。

$find . -type f -atime -7 -print  #打字与印刷7天内被访谈的文件
$find . -type f -atime  7 -print  #打字与印刷恰辛亏7天前被访问的公文
$find . -type f -atime 7 -print  #打字与印刷当先7天没被采访的文本
上边的岁月都以依照“天”,还可能有基于“分钟”的。
-amin
-mmin
-cmin
用法与上相似,再度就比不上方了。
find的另多少个杰出的特点是-newer参数,大家得以钦赐一个用以相比时间戳的参阅文件,然后寻找比参照文件更新的持有文件。

$find . -type f -newer file.txt -print
8.基于文件大小的探究

-size:用法与上相似
$find . -type f -size 2k                  #搜寻大于2k的文本
$find . -type f -size 2k                  #查找等于2k的文书
$find . -type f -size -2k                  #探求小于2k的公文</code></pre>
而外k之外,还大概有别的文件大小单元
b——块(512字节)。
c——字节。
w——字。
k——千字节。
M——兆字节。
G——吉字节。
9.剔除相称的文书

-delete参数能够兑现此意义。
$find . -type f -name "*.swp" -delete
10.基于文件权限和全体权记性相配

-perm:
$find . -type f -perm 644 -print #打字与印刷出权力为644的文件
-user:后可解客商名或uid
$find . -type f -user root -print    # 打字与印刷root客商所持有的文件
11.结合find实施命令或动作

-exec:此参数是find最强劲的参数之一。
$find . -type f -name "*.c" -exec cat {} ; > file.txt  #将具备c程序拼接起来写入单个文件file.txt中
$find . -type f -mtime 10 -name "*.txt" -exec cp {} /tmp ;    #将10天前的.txt文件复制到/tmp下
注:{}表示相当到的文书。
12.让find跳过一定的目录

$find  . (-name ".git" -prune ) -o ( -type f -print )
13.find与xargs结合使用

xargs:将正式输入调换到命令行参数。
$find . -type f -name "*.txt" -print0 |xargs  -0 rm -f  #将合营到的公文删除,xargs -0将 \0作为输入定界符。
$find . -type f -name "*.c" -print0 | xargs  -0wc -l    #总结全部c程序文件的行数

Linux下查找文件find命令 

Linux下find命令详解

文件查找利器find的运用

作用强大的find命令

Linux系统find命令详解

本文永恒更新链接地址:

find命令详述 find是Linux下最好的吩咐之一,其询问成效十三分强劲。以下将详细介绍find的大多用法: 工作办法:其沿着文件等级次序结构向...

find是Linux下最佳的吩咐之一,其询问功用极度有力。以下将详细介绍find的大许多用法:

 

专业方法:其沿着文件档案的次序结构向下遍历,相配符合条件的公文,并实行相应的操作。

        问题陈述:    

1.打字与印刷文件和目录列表
$find . -print  #打字与印刷文件和目录列表

                 查找当前目录下内定项目标文本

当使用-print时,'n'作为用来分隔文件的定界符。
-print0指明使用'\0'作为定界符来打印相称的每叁个文书名。此措施对于文本名中蕴涵'n'是非常实用。
但在CentOS上经实际测量试验,find直接展示相配到的文件,不供给增加-print选项。
2.基于文件名或正则表明式相配找出
选拔-name钦命了文件名所必得配皮的字符串.

    

$find . -name "*.txt" -print  # 打字与印刷以.txt结尾的文书
$find . -iname "*.txt" -print    #-iname代表十分的公文名大体大小写
3.口径限制,相配五个规范中的三个
-a:表示且
-o:表示或
-not:表示非

        难题一蹴而就:

$find . ( -name "*.txt" -o -name "*.pdf" ) -print  #打字与印刷当前目录下以.txt或.pdf结尾的公文
$find . ( -name "*.txt" -a -name "a*" ) -print  #打字与印刷当前目录下以a开始且以.txt结尾的文本
$find . -not ( -name "*.txt" -a -name "a*" ) -print  #打字与印刷当前目录下不以a初叶或不以.txt结尾的文件
$find . -not ( -name "*.txt" -o -name "a*" ) -print  #打字与印刷当前目录下不以a初叶qie不以.txt结尾的公文
-not用法源于德摩尔根定律

                    (1)find命令

-path:此参数用于将文件路线作为三个完完全全举办相称。

                 具体命令为:find  .   -maxdepth  1   -name    '.*.c'         

$find /home/user -path "*sh" -print
  /home/user/bin/1.sh
  /home/user/bash
-regex :此参数与-path类似,只然而其是基叶昭君则表明式来合作文件路线的。
$find . -regex ".*( .py | .sh )$"
4.否认参数
find也得以用“!”作为否认参数。

                 参数表明,maxdepth限定了查找子目录的深度,name 提出查找文件名(查找.c类型的文书,使用' *.c',这里文件名的相称不是正则表明式,表示以.c结尾的保有文件)

$find . ! -name ".txt" -print  #协作全体不以.txt结尾的文件</code></pre>
5.基于目录的纵深找寻
find命令在用时会遍历全部的子目录,大家能够利用局地参数来界定其遍历的纵深。

                  

-maxdepth:最大深度限制,1代表只在当前目录,2代表向下两级。。。。。。
$find . -maxdepth 1 -type f -print    #只列出当前目录下的具备普通文书
-mindepth:最小深度限制,与地方用法相似。
$find . -mindepth 2 -type f -print    #列出距当前目录至少多少个子目录的具备文件
6.依照文件类型寻找
linux下的文件类型
文件类型            类型参数
常常文书              f
标识文件              l
目录                    d
字符设备              c
块设备                  b
套接字                  s
Fifo(管道文件)  p

注:

$find , -type f -print
$find . -type d -print
7.基于文件时间展开搜寻
linux文件系统中的每个文件都有三种时光戳:
拜谒时间(atime——access time):正是上次访谈这么些文件的年月。
改造时间(ctime——change time):就是文本的inode改动的时日(什么是inode?)当你往二个文书中添扩大少还是去除数据的时候,修改文件全体者的时候,链接改换的时候,文件的ctime就能够产生退换。
修改时间(mtime——modification time):正是文件的从头到尾的经过上一次产生变动的时候的时刻。
-atime,-ctime,-mtime可作为find的时光参数。单位是天,这一个值一般还含有 或-: 表示大于,-表示小于。

             这里也能够使用grep 命令进行搜寻

$find . -type f -atime -7 -print  #打印7天内被访问的公文
$find . -type f -atime  7 -print  #打字与印刷恰还好7天前被访谈的文本
$find . -type f -atime 7 -print  #打字与印刷超越7天没被访谈的文书
地点的小时皆以基于“天”,还会有基于“分钟”的。
-amin
-mmin
-cmin
用法与上一般,再一次就不举例了。
find的另三个名特别巨惠的风味是-newer参数,大家得以钦命二个用来相比时间戳的参谋文件,然后搜索比参照文件更新的有着文件。

              

$find . -type f -newer file.txt -print
8.基于文件大小的搜寻

注:                

-size:用法与上相似
$find . -type f -size 2k                  #探求大于2k的文件
$find . -type f -size 2k                  #寻觅等于2k的文本
$find . -type f -size -2k                  #索求小于2k的文书</code></pre>
除外k之外,还会有别的文件大小单元
b——块(512字节)。
c——字节。
w——字。
k——千字节。
M——兆字节。
G——吉字节。
9.刨除相配的文本

             grep -E 类似于egrep ,查找的参数是正则表明式 ' .*.c '表示以.c结尾的其他文件

-delete参数能够达成此功用。
$find . -type f -name "*.swp" -delete
10.基于文件权限和全体权记性相称

    

-perm:
$find . -type f -perm 644 -print #打字与印刷出权力为644的公文
-user:后可解客户名或uid
$find . -type f -user root -print    # 打字与印刷root客户所具有的文件
11.结合find试行命令或动作

            (2)删除钦命项指标文书    

-exec:此参数是find最有力的参数之一。
$find . -type f -name "*.c" -exec cat {} ; > file.txt  #将兼具c程序拼接起来写入单个文件file.txt中
$find . -type f -mtime 10 -name "*.txt" -exec cp {} /tmp ;    #将10天前的.txt文件复制到/tmp下
注:{}表示极度到的文件。
12.让find跳过一定的目录

                     命令:find .  -maxdepth 1 -name  ' *.c '  -delete     

$find  . (-name ".git" -prune ) -o ( -type f -print )
13.find与xargs结合使用

                

xargs:将标准输入转换来命令行参数。
$find . -type f -name "*.txt" -print0 |xargs  -0 rm -f  #将相配到的文书删除,xargs -0将 \0作为输入定界符。
$find . -type f -name "*.c" -print0 | xargs  -0wc -l    #总计全部c程序文件的行数

注:    

Linux下查找文件find命令  http://www.linuxidc.com/Linux/2014-10/108575.htm

             使用find查找钦赐项目标公文从此,使用参数-delete 删除查找到的内定项目标文书

Linux下find命令详解 http://www.linuxidc.com/Linux/2011-08/40669.htm

难点叙述: 查找当前目录下钦定项目标文本 难题消除: (1)find命令 具体命令为:find . -maxdepth 1 -name .*.c 参...

文件查找利器find的行使 http://www.linuxidc.com/Linux/2014-03/97559.htm

成效壮大的find命令 http://www.linuxidc.com/Linux/2014-01/95236.htm

Linux系统find命令详解 http://www.linuxidc.com/Linux/2014-06/103232.htm

正文长久更新链接地址:http://www.linuxidc.com/Linux/2015-02/113855.htm

图片 1

本文由pc28.am发布于pc28.am神测网,转载请注明出处:find命令详述,find查找钦定项目文件并删除

上一篇:文件夹的个数,Linux统计某文件夹下文件 下一篇:没有了
猜你喜欢
热门排行
精彩图文