Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何在没有软链接的情况下查找目录?_Linux_Bash_Shell - Fatal编程技术网

Linux 如何在没有软链接的情况下查找目录?

Linux 如何在没有软链接的情况下查找目录?,linux,bash,shell,Linux,Bash,Shell,我有一个目录包含几个子目录: ./abc/ ./cde/ ./link_to_abc -> ./abc abc和cde是普通目录,但link_to_abc是一个软链接,其目标是abc 现在我想使用linux的find命令来查找没有软链接的普通dir,在我的例子中,就是cde。怎么做 因为我需要删除一些目录,但是我应该检查没有人再使用我的文件没有其他符号链接指向我的目录使用查找-类型l或查找-类型d 检查这个答案 使用查找-类型l或查找-类型d 检查这个答案 以下解决方案使用了多个查找,但

我有一个目录包含几个子目录:

./abc/
./cde/
./link_to_abc -> ./abc
abc和cde是普通目录,但link_to_abc是一个软链接,其目标是abc

现在我想使用linux的find命令来查找没有软链接的普通dir,在我的例子中,就是cde。怎么做


因为我需要删除一些目录,但是我应该检查没有人再使用我的文件没有其他符号链接指向我的目录

使用查找-类型l或查找-类型d

检查这个答案

使用查找-类型l或查找-类型d

检查这个答案

以下解决方案使用了多个查找,但应该可以工作:

# step1: list all directories:
$ find /absolute/path -type d | sort > real_dirs.txt
# step2: list all files "pointed" by a symlink:
$ find /absolute/path -type l -exec readlink -f {} \; | sort > sym_dirs.txt
# step3: get directories not "pointed" by symlinks:
$ comm -23 real_dirs.txt sym_dirs.txt 

以下解决方案使用多个查找,但应能正常工作:

# step1: list all directories:
$ find /absolute/path -type d | sort > real_dirs.txt
# step2: list all files "pointed" by a symlink:
$ find /absolute/path -type l -exec readlink -f {} \; | sort > sym_dirs.txt
# step3: get directories not "pointed" by symlinks:
$ comm -23 real_dirs.txt sym_dirs.txt 

独立查找无法知道文件系统中其他位置的符号链接是否指向文件。您无法避免暴力方法-查找所有目录,查找所有符号链接,从目录列表中删除符号链接目标,打印其余的。真的@这是个严肃的问题吗?是的,确实如此。单独查找无法知道文件系统中其他位置的符号链接是否指向文件。您无法避免暴力方法-查找所有目录,查找所有符号链接,从目录列表中删除符号链接目标,打印其余的。真的@这是个严肃的问题吗?是的,确实如此。因为我需要删除一些目录,但我应该检查没有人再使用我的文件没有其他符号链接指向我的目录这会找到不是符号链接的目录;不是没有符号链接的目录。因为我需要删除一些目录,但我应该检查没有人再使用我的文件没有其他符号链接指向我的目录这会找到不是符号链接的目录;不是任何地方都没有符号链接的目录。