(20231102)
面试题:三剑客专题 | cnblogs | ZhangHe
find
找出/test.dir目录下的文件名中包含test关键字的文件并将其全部删除
方法一:使用 find 命令和通配符配合删除文件
find /test.dir -type f -name '*test*' -exec rm {} +
解释:
find /test.dir
:在/test.dir
目录下进行查找。-type f
:只查找普通文件。-name '*test*'
:查找文件名中包含关键字 "test"。-exec rm {} +
:删除找到的文件。
方法二:使用 grep 命令和 xargs 命令配合删除文件
ls /test.dir | grep 'test' | xargs -I {} rm /test.dir/{}
解释:
ls /test.dir
:列出/test.dir
目录下的所有文件。grep 'test'
:筛选包含关键字 "test" 的文件名。xargs -I {} rm /test.dir/{}
:通过管道将文件名传递给 xargs 命令,并使用{}
表示文件名,执行rm
删除文件。
请注意,在使用以上方法删除文件之前,一定要确保你理解并验证了要删除的文件,并且确保没有重要文件会被误删除。
查找/etc目录下以tions结尾的目录或者文件然后把其详细信息保存到/tmp/下的test.txt文件下
find /etc -type d -name '*tions' -o -type f -name '*tions' -exec ls -l {} \; > /tmp/test.txt
解释:
find /etc
:在/etc
目录下进行查找。-type d
:查找目录。-name '*tions'
:查找名字以 "tions" 结尾的目录。-o
:表示“或”的逻辑操作符。-type f
:查找文件。-exec ls -l {} \;
:对于找到的目录或文件,使用ls -l
命令显示详细信息。> /tmp/test.txt
:将详细信息输出到/tmp/test.txt
文件中。
请注意,在运行该命令之前,请确保你有足够的权限来访问/etc
目录和创建/写入/tmp/test.txt
文件。
查找/etc/下大于5M的文件或目录并显示其详细信息
你可以使用 find
命令来查找 /etc
目录下大于 5M 的文件或目录,并显示其详细信息。以下是示例命令:
find /etc -size +5M -exec ls -lh {} \;
解释:
find /etc
:在/etc
目录下进行查找。-size +5M
:查找大于 5M 的文件或目录。-exec ls -lh {} \;
:对于找到的文件或目录,使用ls -lh
命令显示详细信息。
请注意,查找和显示/etc
目录下大于 5M 的文件或目录可能需要较长的时间,具体取决于目录层次结构的大小和系统性能。也可以根据自己的需要调整文件大小的表示方式,如使用G
表示 GB 或K
表示 KB。