find命令

find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。

find的使用格式如下:
  $ find <指定目录> <指定条件> <指定动作>
  - <指定目录>: 所要搜索的目录及其所有子目录。默认为当前目录。
  - <指定条件>: 所要搜索的文件的特征。
  - <指定动作>: 对搜索结果进行特定的处理。

如果什么参数也不加,find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。
=========================
-name   filename             #查找名为filename的文件
-perm                        #按执行权限来查找
-user    username             #按文件属主来查找
-group groupname            #按组来查找
-mtime   -n +n                #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime    -n +n               #按文件访问时间来查GIN: 0px">

-ctime    -n +n              #按文件创建时间来查找文件,-n指n天以内,+n指n天以前

-nogroup                     #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser                     #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-newer   f1 !f2              找文件,-n指n天以内,+n指n天以前
-ctime    -n +n               #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-nogroup                     #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser                      #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-newer   f1 !f2               #查更改时间比f1新但比f2旧的文件
-type    b/d/c/p/l/f         #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size      n[c]               #查长度为n块[或n字节]的文件
-depth                       #使查找在进入子目录前先行查找完本目录
-fstype                     #查更改时间比f1新但比f2旧的文件
-type    b/d/c/p/l/f         #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size      n[c]               #查长度为n块[或n字节]的文件
-depth                       #使查找在进入子目录前先行查找完本目录
-fstype                      #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
-mount                       #查文件时不跨越文件系统mount点
-follow                      #如果遇到符号链接文件,就跟踪链接所指的文件
-cpio                %;      #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
-mount                       #查文件时不跨越文件系统mount点
-follow                      #如果遇到符号链接文件,就跟踪链接所指的文件
-cpio                        #对匹配的文件使用cpio命令,将他们备份到磁带设备中
-prune                       #忽略某个目录
==========================

一些示例:
 

代码示例:

$find  ~   -name   "*.txt"  -print    #在$HOME中查.txt文件并显示
$find   .   -name  "[a-z][a-z][0–9][0–9].txt"    -print   #查以两个小写字母和两个数字开头的txt文件
$find   .   -perm -007   -exec ls -l {}\;   #查所有用户都可读写执行的文件同

$find  .   -size   +1000000c  -print        #查长度大于1Mb的文件
$find   .   -size  100c        -print       #查长度为100c的文件
find /home  -mmin   +60                 在/home下查60分钟前改动过的文件
find  /home    -name tmp.txt    -maxdepth  4  列出/home内的tmp.txt查时深度最多为3层
find   /home  -name tmp.txt   -mindepth   3  从第2层开始查

内容概要:本文档主要展示了C语言中关于字符串处理、指针操作以及动态内存分配的相关代码示例。首先介绍了如何实现键值对(“key=value”)字符串的解析,包括去除多余空格和根据键获取对应值的功能,并提供了相应的测试用例。接着演示了从给定字符串中分离出奇偶位置字符的方法,并将结果分别存储到两个不同的缓冲区中。此外,还探讨了常量(const)修饰符在变量和指针中的应用规则,解释了不同类型指针的区别及其使用场景。最后,详细讲解了如何动态分配二维字符数组,并实现了对这类数组的排序与释放操作。 适合人群:具有C语言基础的程序员或计算机科学相关专业的学生,尤其是那些希望深入理解字符串处理、指针操作以及动态内存管理机制的学习者。 使用场景及目标:①掌握如何高效地解析键值对字符串并去除其中的空白字符;②学会编写能够正确处理奇偶索引字符的函数;③理解const修饰符的作用范围及其对程序逻辑的影响;④熟悉动态分配二维字符数组的技术,并能对其进行有效的排序和清理。 阅读建议:由于本资源涉及较多底层概念和技术细节,建议读者先复习C语言基础知识,特别是指针和内存管理部分。在学习过程中,可以尝试动手编写类似的代码片段,以便更好地理解和掌握文中所介绍的各种技巧。同时,注意观察代码注释,它们对于理解复杂逻辑非常有帮助。
### Linux `find` 命令使用指南 `find` 是一个强大的命令行工具,用于在目录层次结构中搜索文件和目录。它提供了丰富的选项来精确控制搜索行为,并支持基于多种条件(如名称、类型、大小、时间等)进行过滤。 #### 1. 基本语法 `find` 的基本语法如下: ```bash find [路径] [选项] [表达式] ``` - `[路径]`:指定搜索的起始目录。如果省略,则默认为当前目录。 - `[选项]`:控制搜索行为的参数。 - `[表达式]`:定义搜索条件的逻辑表达式。 #### 2. 常用选项 以下是一些常用的 `find` 命令选项及其功能: - **限制目录深度** 使用 `-maxdepth` 和 `-mindepth` 选项可以限制搜索的目录深度[^1]。例如,仅搜索当前目录而不进入子目录: ```bash find . -maxdepth 1 -name "*.txt" ``` - **跟随符号链接** 默认情况下,`find` 不会跟随符号链接。若需要强制跟随符号链接,可使用 `-L` 选项。但需注意,若遇到指向自身的符号链接,可能会导致死循环。 - **根据文件类型搜索** 可以通过 `-type` 选项指定文件类型[^1]。常见的文件类型包括: - `f`:普通文件 - `d`:目录 - `l`:符号链接 示例:查找所有普通文件: ```bash find /path/to/directory -type f ``` - **按名称搜索** 使用 `-name` 或 `-iname`(忽略大小写)选项可以根据文件名进行搜索。例如,查找扩展名为 `.log` 的文件: ```bash find /var -name "*.log" ``` - **按修改时间搜索** 可以使用 `-mtime`、`-atime` 和 `-ctime` 选项根据文件的时间戳进行搜索。例如,查找最近 7 天内修改过的文件: ```bash find /path/to/directory -mtime -7 ``` - **按大小搜索** 使用 `-size` 选项可以根据文件大小进行搜索。例如,查找大于 100MB 的文件: ```bash find /path/to/directory -size +100M ``` #### 3. 综合示例 以下是一些综合使用的示例: - 查找当前目录下所有普通文件并删除: ```bash find . -type f -exec rm -f {} \; ``` - 查找 `/home` 目录下所有空文件: ```bash find /home -type f -empty ``` - 查找 `/etc` 目录下所有最近 24 小时内访问过的配置文件: ```bash find /etc -type f -atime 0 ``` #### 4. 注意事项 - 使用 `-exec` 选项执行命令时,请确保命令的安全性,避免误删重要文件。 - 当搜索范围较大时,`find` 命令可能需要较长时间完成,建议结合 `-maxdepth` 限制搜索范围。 ```bash # 示例:查找当前目录下所有普通文件并打印其权限 find . -type f -exec ls -l {} \; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值