考虑以下命令行片段:
$ cd /tmp/
$ mkdir dirA
$ mkdir dirB
$ echo "the contents of the 'original' file" > orig.file
$ ls -la orig.file
-rw-r--r-- 1 $USER $USER 36 2010-12-26 00:57 orig.file
# create symlinks in dirA and dirB that point to /tmp/orig.file:
$ ln -s $(pwd)/orig.file $(pwd)/dirA/
$ ln -s $(pwd)/orig.file $(pwd)/dirB/lorig.file
$ ls -la dirA/ dirB/
dirA/:
total 44
drwxr-xr-x 2 $USER $USER 4096 2010-12-26 00:57 .
drwxrwxrwt 20 root root 36864 2010-12-26 00:57 ..
lrwxrwxrwx 1 $USER $USER 14 2010-12-26 00:57 orig.file -> /tmp/orig.file
dirB/:
total 44
drwxr-xr-x 2 $USER $USER 4096 2010-12-26 00:58 .
drwxrwxrwt 20 root root 36864 2010-12-26 00:57 ..
lrwxrwxrwx 1 $USER $USER 14 2010-12-26 00:58 lorig.file -> /tmp/orig.file
在这一点上,我可以readlink
用来查看什么是“原始”(好吧,我想这里的常用术语是“目标”或“源”,但是我认为这些也可以是相反的概念,所以我将只需将其称为符号链接的“原始”文件即可
$ readlink -f dirA/orig.file
/tmp/orig.file
$ readlink -f dirB/lorig.file
/tmp/orig.file
…但是,我想知道的是-是否可以在“原始”文件上运行一个命令,并找到指向该文件的所有符号链接?换句话说,类似(pseudo):
$ getsymlinks /tmp/orig.file
/tmp/dirA/orig.file
/tmp/dirB/lorig.file
预先感谢您的任何评论,
干杯!
我还没有看到用于此目的的命令,这并不是一件容易的事,因为目标文件包含指向该源文件的零信息。
这类似于“硬”链接,但至少那些链接始终位于同一文件系统上,因此您可以执行a find -inode
列出它们。软链接的问题更多,因为它们可以跨文件系统。
我认为您要做的基本上是ls -al
对整个层次结构中的每个文件都执行一个操作,然后使用它grep
进行搜索-> /path/to/target/file
。
例如,这里是我的系统上的一个我跑(格式化的可读性-最后两行实际上是对 一个 在现实输出线):
pax$ find / -exec ls -ald {} ';' 2>/dev/null | grep '\-> /usr/share/applications'
lrwxrwxrwx 1 pax pax 23 2010-06-12 14:56 /home/pax/applications_usr_share
-> /usr/share/applications
问题内容: 大家好,我需要在linux中执行此操作: 给出:文件名“ foo.txt” 查找:所有符号链接到“ foo.txt”的文件 怎么做?谢谢! 问题答案: 这取决于是否要查找指向特定文件的链接,那么这是唯一的好方法: 另一方面,如果您只是想查找指向恰好名为的 任何 文件的链接,则类似 要么
问题内容: 我在Ubuntu上,我想在当前目录和子目录中找到名称包含字符串“ John”的所有文件。我知道可以匹配文件中的内容,但是我不知道如何在文件名中使用它。任何帮助,将不胜感激。 问题答案: 使用find命令,
问题内容: 我想在Linux中建立一个符号链接。我已经编写了此Bash命令,其中第一个路径是我要链接到的文件夹,第二个路径是已编译的源代码。 它是否正确? 问题答案: 要创建新的符号链接(如果符号链接已存在,将失败): 要创建或更新符号链接:
问题内容: 给定一个time_t: 我正在寻找一个bash单线列出所有较新的文件。比较应考虑时区。 就像是 但是使用time_t而不是文件。 问题答案: 这有点circuit回,因为它没有原始值,但是应该可以在脚本中安全地完成此工作。(MacOS X中存在的选项;我没有仔细检查GNU。)可以通过直接在命令行中编写命令替换来避免使用“ time”变量。
如何查找在其文件内容中包含特定文本字符串的所有文件? 以下方法不起作用。它似乎显示系统中的每个文件。
问题内容: 如果我调用break ,python会抛出异常。这对于找到它们很有用。但是,还有其他一些原因可能会引发类似的异常。在Linux下,是否有更精确的方法来检测Python 损坏的情况? 问题答案: Python常见的说法是,请求宽恕比允许许可容易。尽管我不喜欢现实生活中的这种说法,但它确实适用于许多情况。通常,您要避免将两个系统调用链接到同一文件的代码,因为您不知道在代码中的两次调用之间文