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!


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.


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

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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.