Mengapa symlink Linux ini tidak berfungsi?

1

Saya mencoba membuat tautan simbolis untuk file logsdi dalam home/dir1/ke file netlogsdi dalam home/dir3/.

Tautan dibuat tetapi ketika saya mencoba melihat isi dari netlogssaya mendapat pesan kesalahan ini:

13042432: -bash: cd: netlogs: No such file or directory

Hargai bantuannya!

Szymon Zmudzki
sumber
Anda symlink rusak. Sulit untuk mengatakan mengapa tanpa petunjuk tentang bagaimana Anda membuatnya dan seperti apa tampilannya. Silakan posting ls -dl home/dir1/netlogsoutput (Anda mungkin bermaksud ls -ld $HOME/dir1/netlogs).
jlliagre
lrwxrwxrwx 1 joasia None 9 Dec 27 14:06 netlogs -> dir1/logs
Szymon Zmudzki
Apakah penting saya menggunakan Cygwin?
Szymon Zmudzki
Itu tidak masalah.
jlliagre

Jawaban:

4

Symlink Anda rusak. Hapus dengan rm netlogs. Buat kembali menggunakan jalur absolut, seperti ini:

ln -s /home/dir3/logs /home/dir1/netlogs

Argumen pertama adalah file atau direktori nyata yang ada.

Argumen kedua adalah tautan yang akan menunjuk ke argumen pertama.

Kiat ekstra:

lrwxrwxrwx 1 joasia None 9 Dec 27 14:06 netlogs -> dir1/logs

The netlogs -> dir1/logssarana yang netlogsadalah link ke dir1/logsrelatif dari direktori saat ini. Ini terlihat salah, karena dalam pertanyaan Anda menulis bahwa Anda ingin menautkan ke logsyang ada di dalam home/dir3, bukan di dir1.

janos
sumber
Saya menggunakan sintaks yang Anda berikan, meskipun masih ketika saya mencoba cat netlogsketika di dir3dalamnya mengatakan bahwa ada No such file or directorydan ya tautan memang ada sebagaimana dikonfirmasi dengan ls -lmenunjukkanlrwxrwxrwx 1 joasia None 14 Dec 27 15:19 netlogs -> home/dir1/logs
Szymon Zmudzki
Sepertinya tautan mengarah ke home/dir1/logsbukan /home/dir1/logs. Awal /itu penting.
janos
Ya ampun, salahku!
Szymon Zmudzki
2

Anda perlu membuat tautan simbolis dengan jalur yang akan berfungsi di mana pun Anda berada, baik yang absolut suka

ln -s $HOME/dir3/logs $HOME/dir1/netlogs

atau lebih baik , jalur relatif yang memungkinkan direktori atas dipindahkan di tempat lain tanpa tautan terputus.

ln -s ../dir3/logs dir1/netlogs
Jlliagre
sumber
Targetnya seharusnya dir3/logs. Itu adalah tautannya netlogs.
AFH
@janos Sejujurnya, saya bukan dia tetapi harus mengakui bahwa Anda pertama kali mendapatkan nama dalam urutan yang benar jadi +1 sekarang.
jlliagre