传输的文件名中有未知结尾

传输的文件名中有未知结尾

我使用 rsync 将文件从本地计算机传输到远程计算机。目标路径是/usr/share/nginx/html,但在文件名中有一个额外的行提到了不同的路径-> /usr/share/nginx/mario/desktop/。我不知道这是什么意思?

终端快照

答案1

该文件是符号链接或指向 的符号链接/usr/share/nginx/mario/desktop。它没有自己的内容 - 只有名称和位置以及它指向的位置。此信息存储在文件系统中(在 inode 表中),而不是文件本身内。

如果你打开一个符号链接,你会看到它指向的文件的内容(我们说程序关注它指向的目标的符号链接)

任何读取此目录中的文件的程序也会读取符号链接指向的文件。这通常非常有用,而且可以节省空间,因为如果其他目录中的符号链接可以指向该文件,程序和用户就可以找到所需的内容,那么就不需要存在该文件的多个副本。

/usr/share/nginx/mario/desktop/是符号链接指向的“真实”目录。如果您复制了符号链接,那么它应该指向之前所在的位置(它只是一个文本字符串,因此不会因复制而更改),并且符号链接现在没有损坏(因为它显示为青绿色而不是红色),因此要进行调查,您应该检查目标目录/usr/share/nginx/mario/desktop和原始文件/Users/ogorod/Desktop/f6c594012317.html

*在 Linux 中,一切皆文件即使它是一个目录;)

答案2

该文件/usr/share/nginx/html/f6c594012317.html并不是真正的文件,而是一个符号链接(symbolic link)。

这意味着如果您访问此文件,您的访问将被重定向到链接目标。

在这种情况下,链接目标是目录/usr/share/nginx/mario/desktop/,因此“文件”将表现得像一个目录。

相关内容