- 浏览: 1547319 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (532)
- 软件设计师 (7)
- PSP (5)
- NET MD (9)
- Hibernate (8)
- DIY (51)
- Work (43)
- GAME (24)
- 未分类 (44)
- iPod (6)
- MySQL (39)
- JSP (7)
- 日语能力考试 (36)
- 小说 (4)
- 豆包网 (23)
- 家用电脑 (7)
- DB2 (36)
- C/C++ (18)
- baby (9)
- Linux (13)
- thinkpad (23)
- OA (1)
- UML (6)
- oracle (24)
- 系统集成 (27)
- 脑梗塞 (6)
- 车 (8)
- MainFrame (8)
- Windows 7 (13)
- 手机 (8)
- git (12)
- AHK (2)
- COBOL (2)
- Java (9)
最新评论
-
安静听歌:
... ...
UUID做主键,好还是不好?这是个问题。 -
lehehe:
http://www.haoservice.com/docs/ ...
天气预报 -
lehehe:
[url http://www.haoservice.com/ ...
天气预报 -
liubang201010:
监控TUXEDO 的软件推荐用这个,专业,权威.并能提供报警和 ...
(转载)Tuxedo中间件简介 -
tinkame:
Next[j] =-1 当j=0时;=Max{k|0<k ...
KMP字符串模式匹配详解
上一页 | 第 5 章 命令行工具下一页 |
find 是一个资深的 UNIX® 工具。它的功能在于递归扫描一个或多个目录,从中查找匹配指定条件的文件。尽管此工具非常有用,但语法却十分复杂,使用的时候也需要多多练习。最普通的语法是这样的:
find [选项] [目录] [条件] [动作] |
如果您不指定任何目录,find 将会查找当前目录。如果您不指定条件,则条件相当于“true”,这样会把全部文件都找出来。选项、条件和动作的设置十分繁多,我们在这里只会提到其中的少数几个。首先,让我们来看看着几个选项:
条件可以是一个或多个原子测试。这是一些有用的测试:
-
-type <文件类型>:搜索给定类型的文件。文件类型可以是以下之一:f(普通文件)、d(目录)、l(符号链接)、s(套接字)、b(块模式文件)、c(字符模式文件)或p(命名管道)。
-
-name <模式>:查找文件名与给定模式匹配的文件。使用此选项,模式将被看作shell 全局模式(参见“Shell 通配符”一节)。
-
-atime <n>、-amin <n>:查找上次访问时间在 n 天前(-atime)或 n 分钟前(-amin) 的文件。您还可以指定 <+n> 或 <-n>,这代表要搜索访问时间在至多或者至少 n 天/分钟前的文件。
-
-ctime <n>、-cmin <n>、-cnewer <file>:与 -atime、-amin 和 -anewer 相同,但比较的是文件上次修改的时间。
可供选择的设置还有很多,请参看 find(1) 中的详情。要进行组合测试,您可以使用以下格式之一:
要理解这些选项和参数最好的方法是执行一些例子。现在,您想要在 /usr/share 目录中查找全部目录,只需输入:
find /usr/share -type d |
假设您有 HTTP 服务器,而您所有的 HTML 文件都存在 /var/www/html,该目录也是您的当前目录。您想要查找一个月来没有编辑过的全部文件。由于您拥有来自不同作者的页面,所以有些文件的扩展名是 html,有些文件的扩展名是htm。您想要将这些文件链接在目录 /var/www/obsolete 中。您应该输入[17]:
find \( -name "*.htm" -o -name "*.html" \) -a -ctime -30 \ -exec ln {} /var/www/obsolete \; |
这个例子看起来有点复杂,我们会进行详细解释。这里所用的条件是:
\( -name "*.htm" -o -name "*.html" \) -a -ctime -30 |
它所完成的功能正是我们想要的:它会找到文件名以 .htm 或 .html“\( -name "*.htm" -o -name "*.html" \)” 结尾的文件,而且(-a) 在最近的三十天内没有修改过,这大概是一个月(-ctime -30)。请额外注意括号:这里的括号时必需的,因为 -a 的优先级较高。如果没有括号的话,将会找到所有以 .htm 结尾的文件,以及所有一个月以来没有修改过且以 .html 结尾的文件。这显然不是我们所需要的结果。您还应该注意括号需要在 shell 中加以转码:如果我们写的是 ( .. ),而不是 \( .. \),那么 shell 就会对括号进行解释,并且试图在子 shell 中执行 -name "*.htm" -o -name "*.html"……另外一种解决方案是将括号放在双引号或单引号中,但是我们更愿意在此使用反斜线,因为这里只有一个字符。
-exec ln {} /var/www/obsolete \; |
这里,您仍然需要对分号(;)进行转码,否则 shell 会将其解释为命令分隔符。如果您忘记了进行转码,find 将会抱怨说 -exec 缺少一个参数。
最后一个例子:您有一个非常大的目录(/shared/images),其中包含各种图像。通常,您会使用 touch 命令更新此目录中名为 stamp 的文件的时间,这样您就会有一个可参考的时间。您想要找到比 stamp 文件新的所有 JPEG 图像,但是您的图像来源各不相同,文件扩展名有 jpg、jpeg、JPG 以及 JPEG。您还想要不在 old 目录中搜索。不仅如此,您还想要将此文件列表发送给您,而您的用户名是 li_si:
find /shared/images -cnewer \ /shared/images/stamp \ -a -iregex ".*\.jpe?g" \ -a -not -regex ".*/old/.*" \ | mail li_si -s "New images" |
当然,如果您每次都要重复输入的话,这个命令确实没什么用。您可能会想要定时执行该命令。要定时运行命令,最简单的方法就是使用下一节介绍的 cron 守护程序。
发表评论
-
(转)SQLデータ型
2011-08-24 18:09 2159https://www.microfocus. ... -
(转)Determining equivalent SQL and COBOL data types
2011-08-24 18:01 1487http://publib.boulder.ibm ... -
(转)grep Programs and Regular expressions
2011-08-10 13:10 1224http://ss64.com/bash/grep-r ... -
(转)[红旗] 手动可以执行,加入crontab 就不行了
2011-07-05 13:07 1812http://bbs.chinaunix.net ... -
(转)Linux——计划任务管理
2011-07-04 15:02 1577http://hi.baidu.com/%BA%CE%B4 ... -
(转)CentOS的计划任务,Crontab安装及使用方法
2011-07-04 15:01 3107http://www.hitsword.org/re ... -
(转)Windows如何压缩tar.gz格式
2011-05-11 10:34 1275http://www.viosem.com/2008/ ... -
(转)日语的文字编码
2011-03-02 10:23 1657http://blog.csdn.net/jackyren ... -
(转)find命令详细用法
2010-11-30 16:11 1182http://www.aixchina.net/?17/v ... -
(转)使用 UNIX find 命令的高级技术
2010-11-30 16:08 1123http://www.ibm.com/develo ... -
(转)UNIX /AIX常用的指令
2010-11-17 10:06 1716http://hi.baidu.com/winas/blo ... -
(转)tar命令参数列表
2010-11-11 17:12 964http://fanqiang.chinaunix ... -
(转)linux解压 tar命令
2010-11-11 17:09 821http://www.21andy.com/blog/20 ... -
(转)vi 命令 用法
2010-11-11 15:44 995http://blog.csdn.net/xuezihen ... -
(转)《软件工程的事实与谬论》
2010-11-04 09:57 1694http://book.group.iteye.com ... -
(转)VB6迁移到VB.NET的一些问题汇总
2010-11-03 15:02 1818http://www.cnblogs.com/ols/ar ... -
(转)《张冰Java视频教程》(struts Hibernate spring jsp J2SE)长期更新
2010-07-14 20:51 0http://www.verycd.com/topics/ ... -
(转)使用httpclient4登录百度
2010-02-26 14:45 0http://legend30g-4/article/h ... -
(转)如何一次性从Outlook Express中导出邮件
2010-01-06 13:23 5678http://hi.baidu.com/grape17/b ... -
Top Ten TPC-E by Performance
2009-10-21 14:50 1048http://www.tpc.org/tpc ...
相关推荐
-mtime <时间范围>`,其中 `.` 表示当前目录,`-mtime` 指定查找文件的最后修改时间, `<时间范围>` 指定时间范围。 以下是几个常见的查找文件的例子: 1. 查找过去 24 小时内修改的文件:`find . -mtime 0` 2. ...
使用find命令查找Linux中的隐藏文件的方法 find命令是Linux和Unix系统中最强大和灵活的命令之一,能够根据不同的选项和参数来实现各种文件搜索和管理任务。下面将详细介绍如何使用find命令查找Linux中的隐藏文件。 ...
总结起来,`find`命令提供了丰富的选项来精确查找文件,而`xargs`则帮助用户高效地处理这些找到的文件。熟练掌握这两个命令,可以极大地提高Linux系统中的文件管理效率。无论是日常操作还是自动化脚本,它们都是不可...
- `-type <文件类型>`:根据文件类型查找文件,例如 b(块设备)、c(字符设备)、d(目录)、p(管道文件)、f(普通文件)、l(链接)、s(端口文件)。 - `-user <用户名>`:按照归属用户查找文件。 - `-uid <uid>`:按照UID...
这里使用了Windows API函数`FindFirstFile`和`FindNextFile`来查找文件。这两个函数可以有效地遍历指定目录及其子目录下的所有文件。 ##### 4.3 用户输入处理 主函数`main`负责接收用户的输入并调用`ListFile`函数...
- `-options`: 包括一系列可选参数,用于指定查找的具体条件。 - `-print`, `-exec`, `-ok`: 指定找到匹配项后应执行的操作。 #### 使用 find 命令的选项 - `-name`: 根据文件名进行匹配查找。 - `-perm`: 根据...
*可以使用以下选项指定查找条件: + -name "文件名称":根据文件名查找,支持使用 glob,如:*, ?, [], [^],通配符要加双引号引起来。 + -iname "文件名称":不区分字母大小写的文件名查找。 + -inum n:按 ...
- `find`:根据不同的条件查找文件。例如,`find /path/to/dir -mtime +n`可以找到指定目录下n天前的文件。 2. **删除指定时间前的文件**: 使用`find`命令,我们可以轻松地删除指定目录下指定时间前的文件。`-...
在C++编程中,快速查找文件是一项常见的任务,尤其对于处理大量数据或文件系统操作时。本主题将深入探讨如何利用C++的标准库和自定义算法来实现高效的文件查找功能。 首先,C++标准库提供了`<filesystem>`库(在C++...
- 实例1:查找48小时内修改过的文件: ```bash find . -atime -2 ``` - 实例2:查找所有`.log`文件: ```bash find . -name "*.log" ``` `find`命令还支持更复杂的组合条件,如`-and`(逻辑与)、`-or`(逻辑...
Find 命令是一个功能强大且灵活的文件搜索工具,它可以根据各种条件来搜索文件并执行相应的操作。本文将详细介绍 Find 命令的使用方法和选项。 Find 命令的基本格式为: ``` find [目录] [条件 1] [条件 2] ... ```...
`find`命令是Linux中最强大的文件查找工具,它可以基于各种条件来查找文件。常用选项包括: - `-name <表达式>`:根据文件名查找,例如`find /home/user -name "example.txt"`。 - `-iname <表达式>`:与`-name`...
在VC++编程中,查找指定目录下的特定类型文件是一项常见的任务。这通常涉及到Windows API的使用,特别是`FindFirstFile`、`FindNextFile`和`FindClose`等函数。这些函数可以帮助开发者遍历指定目录及其子目录,查找...
- `LookAt`: 指定查找匹配的条件,可选择整个内容(WholeCell)、部分内容(Part)或者首字符(ByFirstChar)。 - `SearchOrder`: 指定按行(Rows)或列(Columns)进行查找。默认为ByRows。 - `SearchDirection`: ...
- 查找当前目录下所有.txt文件:`find . -name "*.txt"` - 查找在过去24小时内被修改过的文件:`find /path -mtime -1` - 删除/home目录下大小超过10MB的文件:`find /home -type f -size +10M -exec rm {} \;` **7...
find 命令的使用非常灵活,可以根据不同的需求指定不同的查找条件,从而快速地查找文件。Linux 操作系统中还有许多其他的文件命令,例如 ls、cp、mv、rm 等,但 find 命令是其中一个最强大和灵活的命令。
- `-size`:根据文件大小查找,可以加上`+`或`-`来表示大于或小于指定大小,单位可以是`b`, `c`, `w`, `k`, `M`, `G`。 - `-type`:根据文件类型查找,如`b`(块设备)、`c`(字符设备)、`d`(目录)、`p`(管道)...
find命令从指定的目录下开始,递归地查找指定文件。其命令格式如下: find PATH -option 参数 [-print] [-exec 命令 {} \;] PATH:查找的起始目录。 -option 参数:用来控制搜索方式,具体如下(以下只列出最常用的...
"rar_extension find_查找文件_查找文件名"这个标题暗示了我们将讨论如何在RAR压缩包中查找具有特定扩展名的文件,这在日常工作中非常实用。 RAR是一种流行的文件压缩格式,由WinRAR软件支持。它允许用户将多个文件...
使用 `find` 命令也可以查找文件,语法为 `find /(查找范围) -name 查找关键字 -print`。其中 `/` 是查找的范围,可以是根目录或某个特定的目录。`-name` 参数指定了要查找的文件名,`查找关键字` 是要查找的...