我试图使用“find”查找 home 及其子目录中的所有 bash 脚本,为此我在终端中输入了以下内容:
find ~ -name '*.sh'
它返回子目录中包含的 .sh 文件,但不返回主目录中的文件。
然而这些指令是有效的:
find . -name '*.sh'
我想知道为什么它不能与“~”一起使用:有什么想法吗?
编辑。按照要求:
$ ls -ld ~
drwxr-xr-x 25 administrateur sudo 4096 janv. 28 13:52 /home/administrateur
$ ls -ld "$PWD"
drwxr-xr-x 3 root root 4096 janv. 28 11:15 /home
答案1
当你跑的时候
find . -name '*.sh'
您位于/home
,但~
是您的主目录,/home/administrateur
而不是/home
。
所以find ~ ...
只会找到下面的文件,而不是外面的/home/administrateur
文件。/home
/home/administrateur