Linux中如何在指定目录下查找文件?

Linux中如何在指定目录下查找文件?,第1张

find顾名思义就是查找的意思,该命令是各种Linux发行版本中比较重要的、常用的一个命令。Linux下的find命令提供相当多的查找条件,功能比较强大,掌握这个命令之后,对平时的系统运维、管理工作可以达到事半功倍的效果。那么Linux系统中find命令的用法是什么?具体请看下文:

Linux

find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件,并且将查找到的子目录和文件全部进行显示。

语法格式:

find path -option [ -print ] [ -exec -ok command ] {} \

参数说明:

find根据下列规则判断path和expression,在命令列上第一个-(),!之前的部分为path,之后的部分是expression。如果path是空字串则使用目前路径,如果expression是空字串则使用-print为预设expression。

expression中可使用的选项有二三十个,在此只介绍常用的部分。

-mount,-xedv:只检查和指定目录在同一个文件系统下的文件,避免列出其他文件系统中的文件

-amin n:在过去n分钟内被读取过

-anewer file:比文件file更晚被读取过的文件

-atime n:在过去n天内被读取过的文件

-cmin n:在过去n分钟内被修改过

-cnewer file:比文件file更新的文件

-ctime n:在过去n天内被修改过的文件

-empty:空的文件-gid n or -group name:gid是n或是group名称是name

-ipath p,-path p:路径名称符合p的文件,ipath会忽略大小写

-name name,-iname name:文件名称符合name的文件,iname会忽略大小写

-size n:文件大小是n单位,b代表512位元组的区块,c表示字元数,k表示kilo bytes,w是二个位元组。

-type c:文件类型是C的文件。

1、使用命令find来查找指定的文件和文件夹。find的语法:

find [起始目录] 寻找条件 *** 作

2、表述方式:find PATH OPTION [-exec COMMAND { } \]

find命令会根据用户给的option,也就是寻找条件从用户给出的目录开始对其中文件及其下子目录中的文件进行递归搜索。该命令中的寻找条件可以是一个用逻辑运算符 not、and、or 组成的复合条件。逻辑运 算符 and、or、not 的含义为:

(1) and:逻辑与,在命令中用“-a”表示,是系统缺省的选项,表示只有当所给的条 件都满足时,寻找条件才算满足。例如:

find –name ’tmp’ –xtype c -user ’inin’% 该命令寻找三个给定条件都满足的所有文件。

(2) or:逻辑或,在命令中用“-o”表示。该运算符表示只要所给的条件中有一个满足 时,寻找条件就算满足。例如:

find –name ’tmp’ –o –name ’mina*’% 该命令查询文件名为’tmp’或是匹配’mina*’的所有文件。

(3) not:逻辑非,在命令中用“!”表示。该运算符表示查找不满足所给条件的文件 。例如:

find ! –name ’tmp’% 该命令查询文件名不是’tmp’的所有文件。

需要说明的是:当使用很多的逻辑选项时,可以用括号把这些选项括起来。为了避免Shell本身对括号引起误解,在话号前需要加转义字符“\”来去除括号的意义。例:

find \(–name ’tmp’ –xtype c -user ’inin’ \)

3、在find中的option的内容了:

在option中,具体有参数:

-name ’字串’ 查找文件名匹配所给字串的所有文件,字串内可用通配符 *、?、[ ]。

-lname ’字串’ 查找文件名匹配所给字串的所有符号链接文件,字串内可用通配符 *、?、[ ]。

-gid n 查找属于ID号为 n 的用户组的所有文件。

-uid n 查找属于ID号为 n 的用户的所有文件。

-group ’字串’ 查找属于用户组名为所给字串的所有的文件。

-user ’字串’ 查找属于用户名为所给字串的所有的文件。

-empty 查找大小为 0的目录或文件。

-path ’字串’ 查找路径名匹配所给字串的所有文件,字串内可用通配符*、?、[ ]。

-perm 权限 查找具有指定权限的文件和目录,权限的表示可以如711,644。

-size n[bckw] 查找指定文件大小的文件,n 后面的字符表示单位,缺省为 b,代表512字节的块。

-type x 查找类型为 x 的文件,x 为下列字符之一:

b 块设备文件

c 字符设备文件

d 目录文件

p 命名管道(FIFO)

f 普通文件

l 符号链接文件(symbolic links)

s socket文件

-xtype x 与 -type 基本相同,但只查找符号链接文件。

以时间为条件查找

-amin n 查找n分钟以前被访问过的所有文件。

-atime n 查找n天以前被访问过的所有文件。

-cmin n 查找n分钟以前文件状态被修改过的所有文件。

-ctime n 查找n天以前文件状态被修改过的所有文件。

-mmin n 查找n分钟以前文件内容被修改过的所有文件。

-mtime n 查找n天以前文件内容被修改过的所有文件。

-print:将搜索结果输出到标准输出。

linux怎么拷贝文件夹到指定目录》我们一起来了解一下吧。

以复制到tmp文件为例

使用cp复制当前目录下的文件file.txt到/tmp目录下,

复制当前目录下所有文件到/tmp目录,直接执行命令cp*即可,:

使用-p选项复制文件时可以保留原文件的一切属性以及扩展属性,如图所示:

使用-R或者-r,可以递归的复制目录下的所有文件到另一个目录,如图所示:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12012506.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存