Tôi có hai thư mục trong nhà của mình: ~/dir1và ~/dir2với một tập tin đầu tiên: ~/dir1/file.txtCó cách nào tôi có thể tạo một liên kết tượng trưng đến nó ~/dir2mà không chuyển đến ~/và nếu không thì tại sao lại như vậy?
Tôi đã thử ~/chạy:
$ ln -s ./dir1/file.txt ./dir2/file.txt
nhưng như tôi mong đợi, điều đó làm cho liên kết tượng trưng kết quả chỉ ra một cách hiệu quả ~/dir1/dir2/file.txt, điều đó có ý nghĩa nhưng không phải là điều tôi thực sự muốn.
Tôi cũng đã thử:
$ ln -s ./dir1/file.txt ../dir2/file.txt
Trả về:
ln: failed to create symbolic link `../dir2/file.txt': No such file or directory
Tôi hy vọng điều này sẽ tạo ra một liên kết tượng trưng ~/dir2/file.txtchỉ đến~/../dir1/file.txt
Vì vậy, tôi cho rằng câu hỏi thực sự của tôi là: tôi có thể buộc lntạo một liên kết tượng trưng đến một tệp mà nó không nghĩ là tồn tại không?
Chỉnh sửa: Để rõ hơn về những gì tôi đang cố gắng đạt được, tôi muốn một lệnh duy nhất mà tôi có thể chạy từ thư mục chính của mình sẽ thực hiện một cách hiệu quả:
pushd dir2/ && ln -s ../dir1/file.txt && popd
hoặc trong Python (đây là lần gần nhất tôi đến với những gì tôi muốn):
echo "import os; os.symlink('../dir1/file.txt', './dir2/file.txt')" | python