find
命令用于根据指定条件(如文件名、大小、修改日期和其他属性)搜索和定位文件和目录。你可以用它搜索整个文件系统或某个特定目录。
系统管理员和普通用户常用它来快速查找文件,尤其是在有大量文件的系统中。无论你是在寻找丢失的文件,还是需要对一组符合特定条件的文件执行批量操作,find
命令都是管理和组织文件系统的重要工具。
find
命令的一般语法:
$ find [OPTIONS] [PATH...] [EXPRESSION]
1. 搜索目录中的特定文件
find ./ExampleDir -name example.txt
使用 -name
参数时,该命令将尝试在 ExampleDir 目录中搜索 example.txt
;如果找到,将返回文件的路径。
./ExampleDir/subdir1/example.txt ./ExampleDir/subdir2/subsubdir/example.txt
2. 查找并列出扩展名相同的文件
find ./dirname -name *.txt
该命令将搜索 ExampleDir
目录中所有扩展名为 .txt
的文件。如果找到,每个结果都将以新行返回。
./dirname/file1.txt ./dirname/file2.txt ./dirname/subdir/file3.txt ./dirname/subdir/another_subdir/file4.txt
3. 查找并列出空文件和空子目录
find ./ExampleDir -empty
该命令带有 -empty
参数,将查找并列出 ExampleDir
文件夹内的所有空文件和空子文件夹。
空文件的定义是文件大小为 0 字节,空文件夹的定义是没有文件或文件大小为 0 字节。
4. 查找并列出包含特定文本的文件
find ./ExampleDir -type f -name "*.txt" -exec grep 'Example' {} \;
该命令在 ExampleDir
目录下扩展名为 .txt
的文件中搜索单词/字符串 “Example“。
./ExampleDir/file1.txt:This is an Example line in file1. ./ExampleDir/subdir/file2.txt:Another Example in a different file. ./ExampleDir/file3.txt:Example usage of the find command.
5. 查找并列出特定用户拥有的文件和子目录
find ./ExampleDir -user ubuntu
该命令带有 -user
参数,将查找 ExampleDir
目录中 Ubuntu
用户拥有的文件和子目录。如果找到,将返回文件名。
下面是 ls -l
的结果示例:
-rw-rw-r-- 1 newone ubuntu 20 Jan 27 06:24 example.txt
newone
表示组名, ubuntu
表示用户。
6. 查找并列出特定组拥有的文件和子目录
find ./ExampleDir -group ubuntu
该命令带有 -group
参数,将查找 ExampleDir
目录中 Ubuntu
组拥有的所有文件和子目录。如果找到,将返回文件名。
更多 Linux 命令
下面罗列了最常见的一些 Linux 命令,您可以根据自己的需要查阅对应命令的详细解析:
目录操作 | rmdir · cd · pwd · exa · ls |
文件操作 | cat · cp · dd · less · touch · ln · rename · more · head |
文件系统操作 | chown · mkfs · locate |
网络 | ping · curl · wget · iptables · mtr |
搜索和文本处理 | find · grep · sed · whatis · ripgrep · fd · tldr |
系统信息和管理 | env · history · top · who · htop · glances · lsof |
用户和会话管理 | screen · su · sudo · open |
此外,我们还整理 Linux 命令行大全,以帮助大家全面深入地学习 Linux。
评论留言