Tôi có hai thư mục trong nhà của mình: ~/dir1
và ~/dir2
với một tập tin đầu tiên: ~/dir1/file.txt
Có cách nào tôi có thể tạo một liên kết tượng trưng đến nó ~/dir2
mà 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.txt
chỉ đế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 ln
tạ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