删除文件
rm filename
删除文件夹
# 删除文件夹,文件夹非空时无法删除
rmdir data
# rmdir: failed to remove 'data': Directory not empty
# 删除目录不加 -r 会报错
$ rm data
# rm: cannot remove ‘data’: Is a directory
# 正确删除目录 -r 表示递归删除文件夹,加f 表示强制删除,不报任何提示
$ rm -r data
# 强制删除目录
$ rm -rf data
创建文件夹
mkdir data
// 要按特定名称搜索文件
find . -name test.txt
// 查找所有格式为 pdf 的书籍, 正则表达式
find ./yang/books -name "*.pdf"
// 默认情况下,find 命令会搜索常规文件,但最好进行指定(-type f)以使所有内容更清晰
find ./yang/books -type f -name "*.pdf"
// 目录
find . -type d -name "yang*"
// 符号链接
find . -type l -name "yang*"
// 搜索atime超过一年的文件
find . -type f -atime +365
//查找mtime正好是 5 天前的文件
find . -type f -mtime 5
//+表示“大于”,-表示“小于”。所以我们可以搜索ctime在 5~10 天前的文件
find . -type f -ctime +5 -ctime -10
-size
选项使我们能够按指定大小查找文件。我们可以将其计量单位指定为以下约定:
b
:512 字节块(默认)c
:字节w
:双字节字k
:KBM
:MBG
:GB// 要查找大小为 10 MB ~ 1 GB 的文件:
find . -type f -size +10M -size -1G
find
命令的-perm
选项可以帮助我们按指定权限查找文件:
// 搜索所有具有 777 权限的文件
find . -type f -perm 777
我们可以使用-user
选项指定用户名
// 查找所有属于yang的文件:
find -type f -user yang
在大多数情况下,我们希望在找到我们需要的文件后进行后续操作。例如将其删除,或检查它们的详细信息等等。-exec
命令使这些所有事情变得更加容易。
// 此命令在`-exec`选项后是`rm -rf`,其用于删除文件。`{}`是用于查找结果的占位符。
find . -type f -atime +365 -exec rm -rf {} \;