Find命令使用详解

jingjavaeye

jingjavaeye

2016-01-29 18:24

Find命令使用详解,Find命令使用详解

Find命令使用详解
使用find和xargs <转>有时可能需要在系统中查找具有某一特征的文件(例如文件权限、文件属主、文件长度、 文件类型等等)。这样做可能有很多原因。可能出于安全性的考虑,或是一般性的系统管理任 务,或许只是为了找出一个不知保存在什么地方的文件。F i n d是一个非常有效的工具,它可 以遍历当前目录甚至于整个文件系统来查找某些文件或目录。 在本章中,我们介绍以下内容: * find命令选项。 * 使用f i n d命令不同选项的例子。 * 配合f i n d使用x a rg s命令的例子。 由于f i n d具有如此强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间 来了解一下。即使系统中含有网络文件系统( N F S ),f i n d命令在该文件系统中同样有效,只要 你具有相应的权限。 在运行一个非常消耗资源的f i n d命令时,很多人都倾向于把它放在后台执行,因为遍历一 个大的文件系统可能会花费很长的时间(这里是指3 0 G字节以上的文件系统)。 F i n d命令的一般形式为: find pathname -options [-print -exec -ok] 让我们来看看该命令的参数: pathname find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。 -print find命令将匹配的文件输出到标准输出。 -exec find命令对匹配的文件执行该参数所给出的s h e l l命令。相应命令的形式为' c o m m - and' {} ;,注意{ }和;之间的空格。 -ok 和- e x e c的作用相同,只不过以一种更为安全的模式来执行该参数所给出的s h e l l命令, 在执行每一个命令之前,都会给出提示,让用户来确定是否执行。 find命令选项 f i n d命令有很多选项或表达式,每一个选项前面跟随一个横杠-。让我们先来看一下该命 令的主要选项,然后再给出一些例子。 -name 按照文件名查找文件。 -perm 按照文件权限来查找文件。 -prune 使用这一选项可以使f i n d命令不在当前指定的目录中查找,如果同时使用了- d e p t h 选项,那么- p r u n e选项将被f i n d命令忽略。 -user 按照文件属主来查找文件。 -group 按照文件所属的组来查找文件。 -mtime -n +n 按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n 表示文件更改时间距现在n天以前。F i n d命令还有- a t i m e和- c t i m e选项,但它们都和- m t i m e选项 相似,所以我们在这里只介绍- m t i m e选项。 -nogroup 查找无有效所属组的文件,即该文件所属的组在/ e t c / g r o u p s中不存在。 -nouser 查找无有效属主的文件,即该文件的属主在/ e t c / p a s s w d中不存在。 -newer file1 ! file2 查找更改时间比文件f i l e 1新但比文件f i l e 2旧的文件。 -type 查找某一类型的文件,诸如: b - 块设备文件。 d - 目录。 c - 字符设备文件。 p - 管道文件。 l - 符号链接文件。 f - 普通文件。 -size n[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。 -depth 在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。 -fstype 查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件 / e t c / f s t a b中找到,该配置文件中包含了本系统中有关文件系统的信息。 -mount 在查找文件时不跨越文件系统m o u n t点。 -follow 如果f i n d命令遇到符号链接文件,就跟踪至链接所指向的文件。 -cpio 对匹配的文件使用c p i o命令,将这些文件备份到磁带设备中。 使用name选项 文件名选项是f i n d命令最常用的选项,要么单独使用该选项,要么和其他选项一起使用。 可以使用某种文件名模式来匹配文件,记住要用引号将文件名模式引起来。 不管当前路径是什么,如果想要在自己的根目录$ H O M E中查找文件名符合* . t x t的文件, 使用~作为' p a t h n a m e参数,波浪号~代表了你的$ H O M E目录。 $ find ~ -name "*.txt" -print 想要在当前目录及子目录中查找所有的' * . t x t'文件,可以用: $ find . -name "*.txt" -print 想要的当前目录及子目录中查找文件名以一个大写字母开头的文件,可以用: $ find . -name "[A-Z]*" -print 想要在/ e t c目录中查找文件名以h o s t开头的文件,可以用: $ find /etc -name "host*" -print 想要查找$ H O M E目录中的文件,可以用: $ find ~ -name "*" -print 或find . -print 要想让系统高负荷运行,就从根目录开始查找所有的文件。如果希望在系统管理员那里 保留一个好印象的话,最好在这么做之前考虑清楚! $ find / -name "*" -print 如果想在当前目录查找文件名以两个小写字母开头,跟着是两个数字,最后是* . t x t的文 件,下面的命令就能够返回名为a x 3 7 . t x t的文件: $ find . -name "[a-z][a-z][0--9][0--9].txt" -print 使用perm选项 如果希望按照文件权限模式来查找文件的话,可以采用- p e r m选项。你可能需要找到所有 用户都具有执行权限的文件,或是希望查看某个用户目录下的文件权限类型。在使用这一选 项的时候,最好使用八进制的权限表示法。 为了在当前目录下
展开更多 50%)
分享

猜你喜欢

Find命令使用详解

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
Find命令使用详解

Linux find命令与xargs组合使用的方法

电脑入门
Linux find命令与xargs组合使用的方法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Linux系统命令行Find工具使用小技巧

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
Linux系统命令行Find工具使用小技巧

使用 find 搜索文件

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
使用 find 搜索文件

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Linux find命令常见用法汇总

电脑入门
Linux find命令常见用法汇总

Linux下使用find命令查找文件如何忽略某些目录

电脑入门
Linux下使用find命令查找文件如何忽略某些目录

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

《侠盗猎车5》主流载具短距离速度详解攻略

《侠盗猎车5》主流载具短距离速度详解攻略

XP系统中Net User命令的另类用法

XP系统中Net User命令的另类用法
下拉加载更多内容 ↓