(2 jawaban)
Tutup 3 tahun yang lalu.
Kemungkinan Duplikat:
Bagaimana linux menangani beberapa pemisah jalur (/home////username///file)
Sebagian besar perintah yang saya gunakan di linux berperilaku persis sama apakah saya menyertakan garis miring /
karakter di akhir nama direktori atau tidak.
Misalnya:
ls /home/cklein
ls /home/cklein/
cp foo bar
cp foo/ bar/
Kapan garis miring ini penting? Apa arti semantik dari garis miring?
Jawaban yang Diterima:
Salah satu contoh yang baik adalah memindahkan file ke direktori:
mv some_file foo
vs.
mv some_file foo/
Jika foo
tidak ada, yang pertama akan mengganti nama some_file
untuk foo
, daripada foo/some_file
yang dimaksudkan; yang kedua akan mengeluh, itulah yang Anda inginkan.
Jika foo
memang ada tetapi bukan direktori, yang pertama dapat menghancurkan foo
mengajukan; lagi, yang kedua akan mengeluh.
cp
menyajikan masalah serupa.
Bekerja pada beberapa versi lama SunOS, saya mengembangkan kebiasaan menambahkan /.
, karena sistem sebenarnya mengabaikan /
. yang tertinggal pada nama file; misalnya, /etc/motd/
akan merujuk ke file daripada menjadi kesalahan. Versi SunOS / Solaris yang lebih baru tampaknya tidak memiliki masalah itu.