Itu mengganggu saya setelah menggunakan Unix di perguruan tinggi dan sekarang bekerja di sisi Windows. Apa sejarah di balik keputusan ini? Adakah yang tahu mengapa cara ini berhasil?
Itu mengganggu saya setelah menggunakan Unix di perguruan tinggi dan sekarang bekerja di sisi Windows. Apa sejarah di balik keputusan ini? Adakah yang tahu mengapa cara ini berhasil?
Jawaban:
Unix diperkenalkan /
sebagai pemisah direktori sekitar tahun 1970. Saya tidak tahu mengapa karakter ini dipilih; sistem leluhur Multics digunakan >
, tetapi desainer Unix telah digunakan >
bersama dengan <
untuk pengalihan di shell (lihat Mengapa direktori root dilambangkan dengan /
tanda? ).
MS-DOS 2.0 diperkenalkan \
sebagai pemisah direktori pada awal 1980-an. Alasannya /
tidak digunakan adalah bahwa MS-DOS 1.0 (yang tidak mendukung direktori sama sekali) sudah menggunakan /
untuk memperkenalkan opsi baris perintah. Butuh penggunaan ini /
dari CP / M , yang mengambilnya dari VMS . Anda dapat membaca penjelasan yang lebih menyeluruh tentang mengapa pilihan itu dibuat di blog Larry Osterman (MS-DOS bahkan sempat memiliki opsi untuk mengubah karakter opsi -
dan pemisah direktori /
, tetapi tidak tetap).
/
itu dikenali oleh sebagian besar API tingkat programmer (di semua versi DOS dan Windows). Jadi Anda bisa sering melakukannya, tetapi tidak selalu berhasil menggunakan /
pemisah direktori di Windows. Pengecualian penting adalah bahwa Anda tidak dapat menggunakan /
sebagai pemisah setelah \\?
awalan yang (bahkan di Windows 7) adalah satu-satunya cara untuk menentukan jalur menggunakan Unicode atau berisi lebih dari 260 karakter.
Beberapa elemen antarmuka pengguna mendukung /
sebagai pemisah direktori di bawah Windows, tetapi tidak semua. Beberapa program hanya meneruskan nama file ke API yang mendasarinya, sehingga mereka mendukung /
dan \
acuh tak acuh. Dalam penerjemah perintah (dalam command.com
atau cmd
), Anda dapat menggunakan /
dalam banyak kasus, tetapi tidak selalu; ini sebagian tergantung pada versi Windows (misalnya, cd /windows
berfungsi di XP dan 7 tetapi tidak di Windows 9x). Kotak entri jalur Explorer menerima /
(setidaknya dari XP ke atas; mungkin karena ia juga menerima URL). Di sisi lain, dialog buka file standar menolak garis miring .
/
diakui sebagai pemisah direktori oleh baris perintah MS-DOS atau Windows.
/
diterima pada baris perintah? Misalnya, apa fungsinya dir /p
? dan dir c:/p
? dan c:/windows/notepad.exe
? dan start /windows/notepad.exe
? dll. (Saya tidak punya mesin Windows di sini untuk menguji.)
/
mungkin digunakan sebagai pemisah direktori di UNIX karena itu adalah kunci yang mudah (tidak tergeser) untuk menyerang Teletype. Karakter khusus unshifted adalah : - ; , . /
.
/
(dan -
untuk sakelar) seperti Xenix, dan terinspirasi oleh Xenix, tetapi IBM dirilis sebelum Microsoft dikirimkan ke OEM, dan IBM menggunakan ` (and
/ `untuk sakelar) dan berubah cepat dari A:
ke A>
sehingga mereka mengubah default dan dikirim kereta (masih dengan asumsi /
/ -
) dokumentasi ditambah catatan bahwa itu berubah dan mengapa.
The mendasari API Windows dapat menerima baik backslash atau memangkas direktori dan berkas komponen yang terpisah dari jalan, tapi konvensi Microsoft adalah dengan menggunakan garis miring terbalik, dan API yang kembali jalur menempatkan garis miring terbalik di.
MS-DOS 2.0 menyalin sistem file hierarkis dari Unix dan dengan demikian menggunakan slash maju, tetapi (mungkin atas desakan IBM ) menambahkan backslash untuk memungkinkan jalur yang akan diketikkan ke dalam shell perintah sementara tetap mempertahankan kompatibilitas dengan MS-DOS 1.0 dan CP / M di mana garis miring adalah indikator opsi baris perintah.
Membandingkan
dir/w
yang menunjukkan direktori saat ini dalam format lebar terhadap
dir\w
yang menjalankan w
file di direktur dir
.
Referensi: