初学者如何快速学习Linux下的find命令

dezhizs

dezhizs

2016-02-20 12:36

下面图老师小编要向大家介绍下初学者如何快速学习Linux下的find命令,看起来复杂实则是简单的,掌握好技巧就OK,喜欢就赶紧收藏起来吧!

单纯的了解Linux find命令是不够的,我们还要知道怎么使用它,下面图老师小编从find的例子中给大家介绍下find的用法,希望对初学者能有所帮助。

 初学者如何快速学习Linux下的find命令

让我们先从一个简单例子开始。

$ find / -name test

。/backup/ modules/field/modules/test

$

查找根目录下名称为’test’的文件, 这条命令会让系统查找所有文件, 包括挂载的文件设备。 这可能需要花费一段时间, 尤其是查找网络共享硬盘。 不过, 我们可以通过参数-mount告诉, 系统忽略挂载设备:

$ find / -mount -name test

find命令格式如下:

find [path] [options] [tests] [actions]

[path]

路径; 应该不难理解。 这里可以使用绝对路径, 也快成使用相对路径。

[options]

参数; 比较常用的参数用:

-depth: 先查找子目录再查看当前目录 -follow: 跟踪查找连接文件 -maxdepths N: 子目录递归最大深度 -mount(or -xdev): 忽略挂载文件

[tests]

条件匹配;

-atime -N/N/+N: 最后一次访问文件的时间在 N天内/N天/N天前 -mtime -N/N/+N: 最后一次修改文件的时间在 N天内/N天/N天前 -name pattern: 与pattern相匹配的文件(包括目录) -newer f1 !f2: 比文件f1新的文件, 比文件f2旧的文件 -type b/d/c/p/l/f: 文件类型为: 块设备/目录/字符设备/管道/链接/文件 -user username: 文件的所有者是username

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)

我们可以通过以下操作符, 将匹配条件 连起来:

-not (!): 方向匹配 -and (-a): 而且 -or (-o): 或者

我们还可以通过括号将一些匹配符号合并。 例如

(-newer -o -name ‘*test’ )

现在举一个稍微有点复杂的例子, 查找当天被访问过或修改过的文件, 文件名包含’python’, 而起文件所有者是’anthony’:

# find / ( -atime -1 -or -mtime -1 ) -and -name ‘*python*’ -and -user ‘anthony’

/home/anthony/svn_code/subversion-1.7.2/subversion/bindings/swig/python

/home/anthony/svn_code/subversion-1.7.2/subversion/bindings/ctypes-python

/home/anthony/python

/home/anthony/python/Python-3.2.2/build/temp.linux-x86_64-3.2/home/anthony/python

/home/anthony/python/Python-3.2.2/Tools/unicode/python-mappings

/home/anthony/.local/lib/python3.2

#

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)

[actions]

操作;

-exec command: 执行命令, 具体介绍见后文。 -ok command: 和-exec一样, 除了命令执行需要用户许可。 -print: 打印文件名 -ls: 列出文件详细信息

现在举例说明-exec command

anthony@z:~$ find -mtime -1 -type f -exec ls -l {} ;

-rw-r--r-- 1 anthony anthony 0 Apr 5 12:04 。/search/search.txt

-rw------- 1 anthony anthony 22997 Apr 5 12:04 。/.viminfo

-rw------- 1 anthony anthony 125 Apr 5 14:25 。/.lesshst

anthony@z:~$

简单地说, -exec或-ok, 将查询到的文件作为参数传递给后面的命令执行, 而参数的位置用{}标识, 即命令中, {}替换成find查找出来的文件名, 最后;表示结束符。

上面就是Linux find命令的介绍了,从例子中学习find命令效果会比看理论知识会好的多,对于初学者来说,多看例子多动手是很有必要的。

展开更多 50%)
分享

猜你喜欢

初学者如何快速学习Linux下的find命令

电脑入门
初学者如何快速学习Linux下的find命令

Linux初学者学习命令有什么意义?

电脑入门
Linux初学者学习命令有什么意义?

s8lol主宰符文怎么配

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

Linux初学者需要学会的命令汇总

电脑入门
Linux初学者需要学会的命令汇总

初学者如何学习化妆 初学化妆小技巧

化妆 美妆 化妆技巧
初学者如何学习化妆 初学化妆小技巧

lol偷钱流符文搭配推荐

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

Linux初学者需了解的Bash命令操作技巧分享

电脑入门
Linux初学者需了解的Bash命令操作技巧分享

摄影初学者需要终身学习

摄影 人像摄影 静物摄影
摄影初学者需要终身学习

lolAD刺客新符文搭配推荐

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

Mac彻底删除iTunes中的歌曲的方法

Mac彻底删除iTunes中的歌曲的方法

清理Linux磁盘空间的方法有哪些?

清理Linux磁盘空间的方法有哪些?
下拉加载更多内容 ↓