Создание файла через висячую символическую ссылку с помощью vi

Создание файла через висячую символическую ссылку с помощью vi

Это содержимое моего файла машинописного текста,

/mac>ln -s non_exist ~/link
/mac>vi ~/link
Hi!
I am a link.
/mac>cat ~/link
Hi!
I am a link.
/mac>cat non_exist
cat: non_exist: No such file or directory
/mac>exit

Может ли кто-нибудь рассказать мне, что на самом деле здесь произошло?

Это не создало файл, но следующее создало:

/mac>ln -s non_exist link
/mac>vi link
Hi!
I am a link.
/mac>cat link
Hi!
I am a link.
/mac>cat non_exist
Hi!
I am a link.
/mac>exit

решение1

Символические ссылки — это относительные пути. Если ~/link— символическая ссылка на non_exist, то полный путь к цели ссылки — $HOME/non_exist. Когда вы открываете ~/linkс помощью vi, он создает файл с именем non_existв вашем каталоге $HOME, а не в текущем каталоге.

Связанный контент