Setelah membaca pertanyaan ini Mengapa '~' dipilih untuk mewakili direktori home? , pertanyaan jelas berikutnya di pikiran saya adalah mengapa '.' dan '..' digunakan untuk merepresentasikan direktori saat ini dan direktori induk.
Tampaknya sangat intuitif sekarang, tetapi ada alasan khusus?
Jawaban:
Saya ragu Anda akan menemukan jawaban yang sama menariknya dengan pertanyaan tilde!
Saya tidak ada di sana, tapi .. seperti ellipsis (...), yang masuk akal dalam konteks seperti
cd ../../../there
. Juga, dan terutama melihat keyboard terminal kamu dari case tilde, tidak ada banyak karakter yang memenuhi syarat untuk tujuan ini. Anda juga tidak perlu bergeser.
. Itu sempurna.Fakta bahwa dot awalan digunakan untuk file tersembunyi mungkin menjadi alasan lain. File tersembunyi tidak terdaftar secara default oleh alat-alat seperti
ls
, jadi tidak ada dasarnya redundan.
dan..
. Redundan dalam arti bahwa tidak ada gunanya mempertimbangkannya bersama dengan file lain - mereka tentu berguna sebaliknya.Ternyata saya mungkin memilikinya mundur ... dari wikipedia :
Ini ternyata berguna saat pemrograman; karena sistem tidak termasuk. dan .. dalam menanggapi
readdir()
mengetik perintah (dan shell gumpalan), mengabaikannya dan file tersembunyi dapat diselesaikan dengan cara yang sama.Sebuah pendapat yang berbeda tentang itu nilai yang digunakan adalah dalam referensi untuk kutipan wikipedia. Tentu saja, keseluruhan cerita bisa menjadi apokrip ... agak sulit untuk percaya bahwa, misalnya, Dennis Ritchie menganggap hanya memeriksa karakter pertama akan baik-baik saja.
Saya tidak setuju dengan vis penulis, akan lebih baik untuk meletakkan file konfigurasi tersembunyi di direktori mereka sendiri daripada memberi mereka awalan universal. Awalannya jauh lebih fleksibel, memungkinkan arahan dalam-pohon seperti
.gitignore
dan.htaccess
. Saksikan bahwa file-file semacam itu juga muncul bersama ketika diurutkan secara leksikografis - jadi mungkin ini memang sengaja .sumber
Sebagian besar jawaban yang sama dengan @Panos di stackoverflow :
Singkatnya, itu berevolusi dari
d
dandd
(d
irectory dand
irectory'sd
irectory) yang dibuat oleh pengguna dengan tangan.d
menjadi dot , dan orang-orang.
dan..
diciptakan pertama kali olehmkdir
utilitas (setuid setelah menghubungkan direktori tidak lagi diperbolehkan oleh belaka pengguna) dan kemudian olehmkdir
system call.Kutipan dari wawancara dengan Ken Thompson (1989-09-06):
sumber