Linux目录文件操作命令之查找命令

作者: 金沙澳门官网网址  发布:2019-11-03

图片 1

那节我们来学学Linux文件目录的操作命令,对文件或目录进行找出的指令

上几节已经大致跟我们说了在Linux端文件目录操作的片段下令

find 内定目录下查找文件
find(选项)(参数)

那篇小说,大家世襲来上学对文件目录的操作命令

find命令可以用来在特定目录下查找文件,暗许是内需丰裕查找的不二等秘书诀的,假诺不加路线,则find命令会在眼下目录查找子目录和文书

 

然后把查找的文件或目录展现出来

对文本或目录实行检索的通令

 

他的选项如下

find 钦命目录下查找文件

find(选项)(参数)

 find命令能够用来在一定目录下查找文件,默许是索要增加查找的门路的,借使不加路线,则find命令会在眼下目录查找子目录和文书

下一场把查找的文件或目录展现出来

她的选项如下

-amin<分钟>:查找在指定时间曾被存取过的文件或目录,单位以分钟计算;
-anewer<参考文件或目录>:查找其存取时间较指定文件或目录的存取时间更接近现在的文件或目录;
-atime<24小时数>:查找在指定时间曾被存取过的文件或目录,单位以24小时计算;
-cmin<分钟>:查找在指定时间之时被更改过的文件或目录;
-cnewer<参考文件或目录>查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录;
-ctime<24小时数>:查找在指定时间之时被更改的文件或目录,单位以24小时计算;
-daystart:从本日开始计算时间;
-depth:从指定目录下最深层的子目录开始查找;
-expty:寻找文件大小为0 Byte的文件,或目录下没有任何子目录或文件的空目录;
-exec<执行指令>:假设find指令的回传值为True,就执行该指令;
-false:将find指令的回传值皆设为False;
-fls<列表文件>:此参数的效果和指定“-ls”参数类似,但会把结果保存为指定的列表文件;
-follow:排除符号连接;
-fprint<列表文件>:此参数的效果和指定“-print”参数类似,但会把结果保存成指定的列表文件;
-fprint0<列表文件>:此参数的效果和指定“-print0”参数类似,但会把结果保存成指定的列表文件;
-fprintf<列表文件><输出格式>:此参数的效果和指定“-printf”参数类似,但会把结果保存成指定的列表文件;
-fstype<文件系统类型>:只寻找该文件系统类型下的文件或目录;
-gid<群组识别码>:查找符合指定之群组识别码的文件或目录;
-group<群组名称>:查找符合指定之群组名称的文件或目录;
-help或——help:在线帮助;
-ilname<范本样式>:此参数的效果和指定“-lname”参数类似,但忽略字符大小写的差别;
-iname<范本样式>:此参数的效果和指定“-name”参数类似,但忽略字符大小写的差别;
-inum<inode编号>:查找符合指定的inode编号的文件或目录;
-ipath<范本样式>:此参数的效果和指定“-path”参数类似,但忽略字符大小写的差别;
-iregex<范本样式>:此参数的效果和指定“-regexe”参数类似,但忽略字符大小写的差别;
-links<连接数目>:查找符合指定的硬连接数目的文件或目录;
-iname<范本样式>:指定字符串作为寻找符号连接的范本样式;
-ls:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出;
-maxdepth<目录层级>:设置最大目录层级;
-mindepth<目录层级>:设置最小目录层级;
-mmin<分钟>:查找在指定时间曾被更改过的文件或目录,单位以分钟计算;
-mount:此参数的效果和指定“-xdev”相同;
-mtime<24小时数>:查找在指定时间曾被更改过的文件或目录,单位以24小时计算;
-name<范本样式>:指定字符串作为寻找文件或目录的范本样式;
-newer<参考文件或目录>:查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录;
-nogroup:找出不属于本地主机群组识别码的文件或目录;
-noleaf:不去考虑目录至少需拥有两个硬连接存在;
-nouser:找出不属于本地主机用户识别码的文件或目录;
-ok<执行指令>:此参数的效果和指定“-exec”类似,但在执行指令之前会先询问用户,若回答“y”或“Y”,则放弃执行命令;
-path<范本样式>:指定字符串作为寻找目录的范本样式;
-perm<权限数值>:查找符合指定的权限数值的文件或目录;
-print:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式为每列一个名称,每个名称前皆有“./”字符串;
-print0:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式为全部的名称皆在同一行;
-printf<输出格式>:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式可以自行指定;
-prune:不寻找字符串作为寻找文件或目录的范本样式;
-regex<范本样式>:指定字符串作为寻找文件或目录的范本样式;
-size<文件大小>:查找符合指定的文件大小的文件;
-true:将find指令的回传值皆设为True;
-typ<文件类型>:只寻找符合指定的文件类型的文件;
-uid<用户识别码>:查找符合指定的用户识别码的文件或目录;
-used<日数>:查找文件或目录被更改之后在指定时间曾被存取过的文件或目录,单位以日计算;
-user<拥有者名称>:查找符和指定的拥有者名称的文件或目录;
-version或——version:显示版本信息;
-xdev:将范围局限在先行的文件系统中;
-xtype<文件类型>:此参数的效果和指定“-type”参数类似,差别在于它针对符号连接检查。

 仅供参谋或是查找

 

作者们前边来实战那一个命令

 

amin<分钟>:查找在指准时期曾被存取过的公文或目录,单位以分钟总计;
-anewer<参考文件或目录>:查找其存取时间较钦定文件或目录的存取时间更近乎将来的文件或目录;
-atime<24小时数>:查找在指准时期曾被存取过的文书或目录,单位以24小时总结;
-cmin<分钟>:查找在指按时期之时被转移过的文本或目录;
-cnewer<参考文件或目录>查找其转移时间较钦定文件或目录的变动时间更相似今后的公文或目录;
-ctime<24小时数>:查找在指定时间之时被校订的文件或目录,单位以24钟头总结;
-daystart:从本日始于思谋时间;
-depth:从钦定目录下最深层的子目录早先查找;
-expty:找寻文件大小为0 Byte的文本,或目录下未有任何子目录或文件的空目录;
-exec<奉行命令>:假诺find指令的回传值为True,就实践该指令;
-false:将find指令的回传值皆设为False;
-fls<列表文件>:此参数的作用和点名“-ls”参数肖似,但会把结果保存为内定的列表文件;
-follow:扼杀符号连接;
-fprint<列表文件>:此参数的意义和点名“-print”参数肖似,但会把结果保存成钦点的列表文件;
-fprint0<列表文件>:此参数的成效和内定“-print0”参数相通,但会把结果保存成内定的列表文件;
-fprintf<列表文件><输出格式>:此参数的效果和钦点“-printf”参数相近,但会把结果保存成钦点的列表文件;
-fstype<文件系统类型>:只寻觅该文件系统类型下的文本或目录;
-gid<群组识别码>:查找相符钦命之群组识别码的文本或目录;
-group<群组名称>:查找相符内定之群组名称的文书或目录;
-help或——help:在线援助;
-ilname<范本样式>:此参数的效应和钦定“-lname”参数相通,但忽视字符大小写的异样;
-iname<范本样式>:此参数的功能和钦命“-name”参数相符,但忽视字符大小写的差异;
-inum<inode编号>:查找切合钦定的inode编号的文书或目录;
-ipath<范本样式>:此参数的效果和内定“-path”参数相同,但忽略字符大小写的反差;
-iregex<范本样式>:此参数的法力和点名“-regexe”参数相同,但忽视字符大小写的异样;
-links<连接数目>:查找切合钦赐的硬连接数指标公文或目录;
-iname<范本样式>:钦点字符串作为寻觅符号连接的样板样式;
-ls:纵然find指令的回传值为Ture,就将文件或目录名称列出到专门的学问输出;
-maxdepth<目录层级>:设置最大目录层级;
-mindepth<目录层级>:设置最小目录层级;
-mmin<分钟>:查找在指如时期曾被改成过的文本或目录,单位以分钟总结;
-mount:此参数的效果和钦命“-xdev”相似;
-mtime<24小时数>:查找在指依时期曾被改造过的文本或目录,单位以24刻钟总结;
-name<范本样式>:钦命字符串作为找寻文件或目录的样板样式;
-newer<参考文件或目录>:查找其转移时间较钦命文件或目录的改过时间更相似未来的文件或目录;
-nogroup:寻找不归于地点主机群组识别码的公文或目录;
-noleaf:不去思量目录起码需具有七个硬连接存在;
-nouser:寻找不归于当地主机客商识别码的文本或目录;
-ok<推行命令>:此参数的功力和内定“-exec”雷同,但在实行命令在此以前会先了然顾客,若回答“y”或“Y”,则舍弃实行命令;
-path<范本样式>:钦定字符串作为寻找目录的范本样式;
-perm<权限数值>:查找切合钦赐的权柄数值的文书或目录;
-print:借使find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式为每列一个称呼,各个名称前都有“./”字符串;
-print0:若是find指令的回传值为Ture,就将文件或目录名称列出到规范输出。格式为任何的名号皆在同生机勃勃行;
-printf<输出格式>:就算find指令的回传值为Ture,就将文件或目录名称列出到正规输出。格式能够自动内定;
-prune:不寻觅字符串作为找寻文件或目录的样品样式;
-regex<范本样式>:钦点字符串作为寻觅文件或目录的范本样式;
-size<文件大小>:查找相符钦点的文件大小的公文;
-true:将find指令的回传值皆设为True;
-typ<文件类型>:只寻觅相符钦点的文件类型的文本;
-uid<客户识别码>:查找切合钦点的客商识别码的文书或目录;
-used<日数>:查找文件或目录被改变之后在指定时期曾被存取过的文本或目录,单位以日总结;
-user<具备者名称>:查找符和点名的具有者名称的文本或目录;
-version或——version:突显版本音讯;
-xdev:将限量局限在先行的文件系统中;
-xtype<文件类型>:此参数的效应和钦命“-type”参数相像,差异在于它针对符号连接检查。

先是大家根据文件名名称或正则表明式相配文件

列出当前目录下有所的子目录下全部文件和文件夹

find .

 

/home目录下寻找以.txt结尾的文本名

find /home -name "*.txt"

 

同上,但忽视大小写

find /home -iname "*.txt"

 

当前目录及子目录下搜寻全数以.txt和.pdf结尾的公文

find . ( -name "*.txt" -o -name "*.pdf" )

或

find . -name "*.txt" -o -name "*.pdf" 

 

非常文件路线也许文件

find /usr/ -path "*local*"

 

听说正则表达式相称文件路线

find . -regex ".*(.txt|.pdf)$"

 

同上,但忽视大小写

find . -iregex ".*(.txt|.pdf)$"

 

仅供仿照效法或是查找

本来大家还是能够动用否认参数

找寻/home下不是以.txt结尾的文书

find /home ! -name "*.txt"

 

 

咱俩还足以依附文件类型来深度查找文件

品种有以下二种

  • 经常来说文书
  • 标志连接
  • d 目录
  • 字符设备
  • 块设备
  • 套接字
  • Fifo

一声令下如下

find . -type 类型参数

 

 

咱俩前面来实战那些命令

我们还足以依赖目录深度找寻

向下最大深度节制为3

find . -maxdepth 3 -type f

 

查搜索深度间距当前目录最少2个子目录的具备文件

find . -mindepth 2 -type f

 

本来还会有其余各系列型的选项,作者在此就不风华正茂生机勃勃解释了

风乐趣的话能够去尝试一下

 

 

首先我们依据文件名名称或正则表明式相称文件
列出当前目录下具有的子目录下全数文件和文书夹

locate 查找文件或目录

locate/slocate(选项)(参数)

 ocate命令其实是find-name的另意气风发种写法,不过要比前者快得多,原因在于它不寻找具体目录,而是寻觅三个数据库/var/lib/locatedb,这一个数据库中带有本地全部文件音信。Linux系统自动创设那几个数据库,而且天天自动更新叁回,所以选取locate命令查不到最新变动过的文件

能够因而手动更新数据库来缓和那几个主题素材

updatedb

 

locate命令的选项如下

-d<目录>或--database=<目录>:指定数据库所在的目录;
-u:更新slocate数据库;
--help:显示帮助;
--version:显示版本信息。

 

因而多少个例子熟稔命令

搜索etc目录下全数以sh初步的公文:

locate /etc/sh

 

检索顾客主目录下,全部以m带头的文本,并且忽略大小写:

locate -i ~/m

 

 

find .

whereis  定位路线

whereis(选项)(参数)

 whereis命令用来恒定指令的二进制造过程序、源代码文件和man手册页等有关文书的门径

选取如下

-b:只查找二进制文件;
-B<目录>:只在设置的目录下查找二进制文件;
-f:不显示文件名前的路径名称;
-m:只查找说明文件;
-M<目录>:只在设置的目录下查找说明文件;
-s:只查找原始代码文件;
-S<目录>只在设置的目录下查找原始代码文件;
-u:查找不包含指定类型的文件。

和find命令比较,whereis查找的速度极其快,那是因为linux系统会将 系统内的保有文件都记录在多少个数据库文件中,当使用whereis和下边将要介绍的locate时,会从数据库中找找数据,实际不是像find命令那样,通 过遍历硬盘来查究,效用自然会超级高

 

上面大家来实战那个命令

[root@localhost ~]# whereis tomcat
tomcat:

[root@localhost ~]# whereis svn
svn: /usr/bin/svn /usr/local/svn /usr/share/man/man1/svn.1.gz

 

开始的时候我们寻找tomcat,因为自个儿并没有设置,所以在这里地并不曾显得

而svn作者设置了,所以找到了大多有关的文书

 

理之当然大家得以只将二进制文件显示出来

[root@localhost ~]# whereis -b svn
svn: /usr/bin/svn /usr/local/svn

[root@localhost ~]# whereis -m svn
svn: /usr/share/man/man1/svn.1.gz

[root@localhost ~]# whereis -s svn
svn:

 

别的选项照旧不生龙活虎生龙活虎实行事必躬亲了,Linux本就是要实战手艺确实学会

 

 

在/home目录下搜寻以.txt结尾的公文名

which 查找命令的相对路线

which(选项)(参数)

which命令用于查找并显示给定命令的绝对路线,景况变量PATH中保留了研究命令时索要遍历的目录。which指令会留意况变量$PATH设置的目录里搜索符合条件的文书。也正是说,使用which命令,就足以看出有些系统命令是或不是存在,以至推行的毕竟是哪二个职责的授命

筛选如下所示

-n<文件名长度>:制定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名;
-p<文件名长度>:与-n参数相同,但此处的<文件名长度>包含了文件的路径;
-w:指定输出时栏位的宽度;
-V:显示版本信息。

 

上边通过多少个例子理解这些命令

[root@localhost ~]# which pwd
/bin/pwd

[root@localhost ~]#  which adduser
/usr/sbin/adduser

 

本身的博客网址 www.susmote.com 

 

find /home -name "*.txt"

同上,但忽视大小写

find /home -iname "*.txt"

当前目录及子目录下搜寻全体以.txt和.pdf结尾的文书

find . ( -name "*.txt" -o -name "*.pdf" )
 

 
find . -name "*.txt" -o -name "*.pdf"

协作文件路径或然文件

find /usr/ -path "*local*"

凭借正则表明式相配文件路线

find . -regex ".*(.txt|.pdf)$"

同上,但忽略大小写

find . -iregex ".*(.txt|.pdf)$"

本来我们还是能动用否认参数
寻觅/home下不是以.txt结尾的文书

find /home ! -name "*.txt"

咱俩还足以依赖文件类型来深度查找文件

项目有以下二种

f 普通文书
l 符号连接
d 目录
c 字符设备
b 块设备
s 套接字
p Fifo
指令如下

find . -type 类型参数

咱俩仍然为能够依据目录深度找寻
向下最大深度约束为3

find . -maxdepth 3 -type f

找出出深度间隔当前目录最少2个子目录的具有文件

find . -mindepth 2 -type f

自然还应该有别的各连串型的选项,小编在这里就不后生可畏后生可畏解释了

本文由金沙澳门官网发布于金沙澳门官网网址,转载请注明出处:Linux目录文件操作命令之查找命令

关键词: 金沙澳门官网

上一篇:linux必备本领
下一篇:没有了