- 浏览: 545541 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (618)
- java (109)
- Java web (43)
- javascript (52)
- js (15)
- 闭包 (2)
- maven (8)
- 杂 (28)
- python (47)
- linux (51)
- git (18)
- (1)
- mysql (31)
- 管理 (1)
- redis (6)
- 操作系统 (12)
- 网络 (13)
- mongo (1)
- nginx (17)
- web (8)
- ffmpeg (1)
- python安装包 (0)
- php (49)
- imagemagic (1)
- eclipse (21)
- django (4)
- 学习 (1)
- 书籍 (1)
- uml (3)
- emacs (19)
- svn (2)
- netty (9)
- joomla (1)
- css (1)
- 推送 (2)
- android (6)
- memcached (2)
- docker、 (0)
- docker (7)
- go (1)
- resin (1)
- groovy (1)
- spring (1)
最新评论
-
chokee:
...
Spring3 MVC 深入研究 -
googleyufei:
很有用, 我现在打算学学Python. 这些资料的很及时.
python的几个实用网站(转的) -
hujingwei1001:
太好了找的就是它
easy explore -
xiangtui:
例子举得不错。。。学习了
java callback -
幻影桃花源:
太好了,謝謝
Spring3 MVC 深入研究
原文地址:http://tutorials.hostucan.cn/article-linux-find
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
我们可以通过以下操作符, 将匹配条件 连起来:
-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
#
[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查找出来的文件名, 最后”\;”表示结束符.
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
我们可以通过以下操作符, 将匹配条件 连起来:
-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
#
[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查找出来的文件名, 最后”\;”表示结束符.
发表评论
-
Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
2015-10-21 09:48 526原文地址:http://c.biancheng.net/cpp ... -
Linux(非ubuntu系统)下安装lrzsz
2015-09-14 15:12 465原文地址:http://jingyan.baidu.com/a ... -
Linux中LANG,LC_ALL,local详解
2015-09-08 15:59 701原文地址:http://blog.csdn.net/z4213 ... -
linux查看磁盘io的几种方法
2015-04-21 10:04 1238原文地址:http://www.3lian.com/edu/2 ... -
Linux新手入门:Unable to locate package错误解决办法
2015-03-24 09:33 955原文地址:http://www.cppblog.com/col ... -
Linux命令大全(自己用)
2015-02-10 11:42 1118原文地址:http://blog.chinaunix.net/ ... -
Linux中find常见用法示例
2014-10-24 09:42 377原文地址:http://blog.chin ... -
CentOS升级Git(自己看)
2014-10-23 10:13 351原文地址:http://blog.csdn.net/ljian ... -
rpm 命令|rpm 安装|rpm 卸载|rpm 使用|rpm 删除
2014-10-23 10:04 630原文地址:http://www.jb51.net/LINUXj ... -
vbox中Linux mysql 的远程连接
2014-07-02 16:53 699原文地址:http://pengranxi ... -
关于vbox使用的一点总结
2014-07-02 16:52 813原文地址:http://chinachen ... -
putty
2014-07-02 15:36 658putty host 127.0.0.1:2222 putty ... -
ssh 连 koding
2014-07-02 14:03 845原文地址:http://www.cnblo ... -
用PROXYCHAINS实现SSH全局代理
2014-07-02 13:26 2710用PROXYCHAINS实现SSH全局代理 LINUX下可以实 ... -
在windows下用virtualbox虚拟ubuntu,并通过ssh登录
2014-07-01 16:37 577The best way to login to a gues ... -
文本搜索必学命令-grep egrep fgrep用法以及正则表达式
2014-03-13 14:54 762文本搜索必学命令-grep egrep fgrep用法以及正则 ... -
HTTrack 网站复制
2014-02-14 16:03 3006黑客 专题一 常用工具 ... -
linux下源码安装软件
2014-01-17 13:32 704http://www.cnblogs.com/huangfen ... -
抓包工具
2014-01-08 18:07 626backtrack http://www.backtrack ... -
Vim配置大全
2013-12-20 17:49 1114http://0nly.me/2013/11/vim-all/ ...
相关推荐
Linux中find常见用法
Linux中find常见用法示例.docx
·find path -option [ -print ] [ -exec -ok command ] {} ; find命令的参数; pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。 -print: find命令将匹配的...
主要给大家介绍了关于Linux基础学习之文件查找find的常见用法的相关资料,例如:根据文件名查找、根据正则表达式查找、根据路径查找、根据文件类型查找以及根据文件大小等等,文中给出了详细的示例代码,需要的朋友...
另外还总结了find、whereis、which、sudo、grep等实用工具命令,以及系统管理中的防火墙设置、主机名修改、网络配置、进程管理等常见任务的相关命令使用方式。 总的来说,这是一份内容丰富、知识面广、实用性强的...
第一阶段 Linux快速入门掌握Linux的常用操作命令 第一讲 Linux介绍 知识点1: Linux发展简史与黑客文化 知识点2: 安装Linux系统, 以Ubuntu虚拟机为例 知识点3: 购买Linux云主机,...第十讲 Linux操作系统常见试题解析
此相对独立 4 1.3.3 Windows中的“网络邻居”概念 5 1.3.4 Windows中的注册表文件与文本文 件的比较 6 1.3.5 域的概念 6 1.4 小结 7 第2章 按服务器配置安装Linux 8 2.1 安装之前 8 2.1.1 ...
作为一个Linux程序员,make工具的使用以及编写Makefile是必需的 目 录 第一章:概述 1.1 概述 1.2 准备知识 第二章:GNU make 介绍 2.1 Makefile简介 2.2 Makefile规则介绍 2.3 简单的示例 2.4 make如何...
----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset ...• 多媒体支持 包括常见的音频、视频和...
如果不能在启动目录(默认为 %systemroot%System32)中找到该文件,将试着在 Windows 安装 CD 中找到它。如果有多引导系统的计算机,必须保证是在包含 Windows 的驱动器上使用该命令。 Diskpart 创建和删除硬盘...
Introduction介绍 Part 2 - .htaccess Commande命令 Part 3 - Password protection密码保护 Part 1 – Introduction介绍 <br>Introduction 介绍 <br>In this tutorial you will find out about ...
GNU make中文手册..................................................................................................................... 1 ver - 3.8 .......................................................