我想在某个文件夹中查找具有特定扩展名的文件,比如说在“ /backup-nfs ”中查找“ .sql ” 。稍后,我将在 crontab 上使用此命令来自动删除一些文件。
我使用了 3 种不同的方法,它们给出了不同的结果:
方法一:
- 以用户身份登录。
- 转到/backup-nfs
- 输入
ls -lah
- 结果是 14 个文件。当然,这是正确的。
方法二:
- 以用户身份登录。
- 转到/backup-nfs
- 输入 :
find . /backup-nfs/ -name "*.sql" -type f -ls
- 结果是 14 个文件(其中 7 个是重复的,因此基本上只生成 7 个文件)。例如:文件 A、文件 B、...文件 G、/backup-nfs/文件 A、/backup-nfs/文件 B、.../backup-nfs/文件 G
方法三:
- 以用户身份登录
- 转到该用户的根目录
- 输入 :
find . /backup-nfs/ -name "*.sql" -type f -ls
- 结果文件太多。它搜索整个目录,而不仅仅是 /backup-nfs !
问题:
- 为什么方法 2 只生成 7 个不同的文件?还有 7 个其他文件,大小为 0KB,被省略。
- 为什么方法 3 会搜索/backup-nfs以及“/backup-nfs”之外的 …