it-swarm.asia

Apa alasan teknis yang ada untuk tidak menggunakan karakter spasi dalam nama file?

Seseorang yang saya kenal menyatakan jengkel hari ini mengenai kita yang cenderung tidak menggunakan spasi di nama file kita, mis. NamingThingsLikeThis.txt - meskipun sebagian besar sistem operasi modern mendukung ruang dalam nama file.

Apakah ada alasan teknis bahwa masih umum untuk melihat nama file tanpa spasi (sesuai)? Jika demikian, apa alasan teknis ini bahwa ruang dalam nama file dihindari atau dihilangkan, dan dalam keadaan apa mereka relevan?

Alasan paling jelas yang bisa saya pikirkan, dan mengapa saya biasanya menghindarinya, adalah kutipan tambahan yang diperlukan pada baris perintah ketika berurusan dengan file-file tersebut. Apakah ada alasan teknis penting lainnya?

75
Chris W. Rea

Karakter spasi putih dalam nama file bisa menjadi masalah kerajaan yang tepat dalam pepatah dalam banyak konteks pada baris perintah, dan dalam skrip, di mana Anda harus berhati-hati untuk memastikan mereka lolos dengan benar sehingga tidak terlihat seperti pemisah dari perintah yang Anda miliki. berlari.

Lebih aman untuk tidak memilikinya di sana, bahkan jika Anda yakin file/dir/apa pun tidak akan pernah digunakan dalam konteks seperti itu.

Itu, dan kebiasaan lama sangat sulit.

65
David Spillett

Selain jawaban lain tentang baris perintah dan kebiasaan lama, ada juga banyak protokol jaringan yang memerlukan perhatian khusus ketika berhadapan dengan nama file yang mengandung spasi.

(Jika Anda pernah mencoba mengunduh "Daftar Produk.pdf" dari situs web, dan berakhir dengan file yang disebut "Produk", Anda digigit oleh ini, karena programmer di ujung lain tidak tahu atau tidak cari tahu aturan mengutip untuk header http-Content Disposition.)

30
Stobor

Banyak alasannya historis. Itu tidak berarti bahwa mereka tidak masuk akal hari ini.

Masalah dalam Portabilitas

Saat memberi nama file, Anda mungkin juga harus mempertimbangkan bagaimana sistem (file) lain akan memperlakukan nama file itu. Karakter dalam nama file mungkin baik untuk sistem Anda, tetapi mungkin masalah untuk sistem lain.

Jadi, selama ada kemungkinan sekecil apa pun Anda mungkin ingin dapat mengakses file dengan mudah dari sistem yang lebih lama, Anda hanya akan memilih karakter aman . Ini mungkin termasuk mem-boot ke sistem pemulihan lama yang Anda simpan atau ketakutan bahwa versi Windows baru-baru ini masih berbasis MS-DOS.

Panjangnya

Sistem file dapat membatasi panjang file. Ini bahkan lebih serius selama hari-hari ketika MS-DOS terbatas pada 8.3 nama file . Jadi, tanpa spasi memungkinkan Anda untuk memasukkan karakter yang lebih bermakna ke dalam nama.

Beberapa sistem file lain juga menetapkan batasan ketat pada panjang nama file mereka. Wikipedia memiliki tabel di artikel tentang perbandingan sistem file untuk mereka yang menginginkan detailnya.

Karakter Cadangan

MS-DOS juga mendefinisikan karakter spasi sebagai karakter yang dilindungi. Ini disebabkan oleh fakta bahwa karakter spasi digunakan untuk padding dalam FAT . Selain itu, MS-DOS tidak menyediakan sistem pelarian di Shell.

Interpretasi Baris Perintah

Sebagian besar baris perintah yang saya ketahui menggunakan karakter spasi sebagai pembatas parameter . Ketika mengabaikan untuk melarikan diri nama file dengan benar, itu dapat memiliki konsekuensi yang mengerikan karena bagian dari nama file dapat ditafsirkan sebagai parameter untuk aplikasi yang ingin Anda panggil.

Pertimbangkan perbedaannya

rm foo bar

dan

rm "foo bar"

Artikel WikiPedia yang ditautkan di atas bahkan menunjukkan ambiguitas yang diperkenalkan karena tidak ada perintah yang benar:

Ambiguitas dapat dicegah dengan melarang spasi yang disematkan dalam nama file dan direktori di tempat pertama (misalnya, dengan menggantikannya dengan garis bawah '_'), atau, jika didukung oleh penerjemah baris perintah dan program yang menggunakan parameter ini sebagai argumen, dengan melampirkan nama dengan spasi yang tertanam di antara karakter kutipan atau menggunakan karakter escape sebelum spasi, biasanya backslash ('\'). Sebagai contoh

Long path/Long program name Parameter one Parameter two ...

ambigu (apakah "nama program" bagian dari nama program, atau dua parameter?); namun

Long_path/Long_program_name Parameter_one Parameter_two ...,
LongPath/LongProgramName ParameterOne ParameterTwo ...,
"Long path/Long program name" "Parameter one" "Parameter two" ...

dan Panjang\path/Panjang\program\nama Parameter\satu Parameter\dua ...

tidak ambigu.

Uniform Resource Locators (URL)

Saat mencoba menggambarkan lokasi file, menggunakan URL, spasi harus diloloskan.

Karakter dapat tidak aman karena sejumlah alasan. Karakter spasi tidak aman karena ruang yang signifikan dapat menghilang dan ruang yang tidak signifikan dapat diperkenalkan ketika URL ditranskripsikan atau dikeset atau dikenai perlakuan program pengolah kata.

Sumber: RFC1738

Dengan demikian, ruang harus diganti dengan %20 sebagai gantinya. Ini membuat nama file bagian dari URL menjadi kurang mudah dibaca dan, karenanya, membuat orang menghindarinya.

28
Der Hochstapler

Spasi dikodekan atau dikonversi menjadi %20 dalam nama file di web, yang mungkin mempersulit mengelola aset situs.

Memiliki Image 1.png dan Image%201.png membingungkan. Lebih mudah menggunakan Image001.png sebagai gantinya.

Ini benar-benar berada di bawah kategori yang sama dengan urutan melarikan diri untuk baris perintah.

25
user7012

Kadang-kadang, spasi dapat menghadirkan masalah ketika berhadapan pada baris perintah, atau ketika menggunakan OS yang lebih lama, atau ketika menulis program yang akan dikompilasi pada OS yang berbeda, atau ketika ... ada banyak alasan yang dapat menimbulkan masalah, dan saya tidak Saya benar-benar merasa kesulitan untuk menulis file sebagai: file-tanpa-blanks.txt atau file_without_blanks .txt . Saya lebih suka dask karena garis bawah kadang-kadang bisa menjadi tidak terlihat ketika berhadapan dengan, misalnya, font yang digarisbawahi.

Tapi sebagian besar, itu adalah masalah kebiasaan sejak usia lanjut. Yang saya rasa tidak cukup pro alasan untuk diabaikan.


Catatan tambahan, mungkin tidak terkait, tetapi tetap saya taruh di sini. Orang yang memberi nama file mereka dengan spasi biasanya tidak terlalu memikirkannya; orang-orang yang tidak sering tahu sedikit mengapa itu baik untuk menghindari mereka dalam nama file.
Dan, kita semua bisa sepakat, tidak ada yang lebih buruk daripada file yang bernama "Dear Sir atau Madam, saya menulis surat ini untuk memberi tahu Anda tentang yo.doc".

Bukan hanya spasi - panjang file juga diperhitungkan untuk sesuatu, dan IMHO, seharusnya tidak lebih dari, katakanlah, 30 karakter. Untuk nama file yang panjang dengan spasi di dalam juga merupakan berkah saat merekam CD, DVD dan semacamnya yang perlu dibaca di bawah OS lama, dan di antara plaform Win dan * nix.

5
Rook