linux - ls -lrt 显示不存在的文件

标签 linux file filesystems symlink

当我在当前工作目录中执行 ls -lart 时,它会显示

lrwxrwxrwx 1 root 10004 36 Dec 16 17:59 index.html ->/home/moviebeam/assets/ui/index.html

但我看不到文件的内容。最重要的是文件 index.html 不在路径 /home/moviebeam/assets/ui/ 中。那为什么当我运行命令 ls -lrt 时它会出现?

最佳答案

这个:

lrwxrwxrwx 1 root 10004 36 Dec 16 17:59 index.html ->/home/moviebeam/assets/ui/index.html

是指向原始文件的软链接(soft link)。创建时会检查此目标文件是否存在,但是一旦创建了软链接(soft link)(或符号链接(symbolic link)),就可以删除目标文件,并且软链接(soft link)仍然存在。

如果您希望在您的链接中保留文件的内容,而目标文件可以被删除,那么您应该创建一个硬链接(hard link)(ln 而不是 ln -s)。

关于linux - ls -lrt 显示不存在的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20657702/

相关文章:

php - 无法访问在 cpanel 中创建的文件夹

linux - 检查两个目录是否在haskell中的同一文件系统上

php - OOP PHP 中的文件和类结构

linux - 移动未使用的文件

Perl - 将文件中的记录加载到哈希中

python - 在 Python 中,如何检查文件是否存在以子字符串开头或结尾?

Docker aufs diff 文件夹的大小越来越大

c++ - 如何在 C++ 中使用 Mosquitto 发布文件?

macos - 操作系统 X : Can I localize the name of a folder/directory?

c - 使用 C 中的管道在 ipc 中连续写入和读取消息