(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。