Kadang-kadang masuk akal secara praktis untuk nama folder mengandung titik (.). Misalnya, Anda menyimpan data untuk percobaan yang dilakukan pada L = 0,5. Jadi folder tersebut mungkin dinamai:
experiment_L0.5
Masalah serupa mungkin muncul untuk nama file. Sebagai contoh:
file_L0.5.txt
Bekerja di Ubuntu, apakah ini praktik buruk? Bagaimana kalau berbagi direktori ini dengan pengguna Windows?
Terima kasih!
Jawaban:
Sejauh yang saya tahu tidak ada masalah dengan penamaan folder dan file dengan satu atau beberapa titik.
Ubuntu umumnya tidak menggunakan titik dan tiga karakter (seperti .txt) untuk mengidentifikasi jenis file. Jadi ini tidak memiliki arti khusus dalam konteks Ubuntu. Ini berguna saat berbagi file dengan Windows. Ubuntu menggunakan Angka Ajaib dalam beberapa byte pertama file untuk mengidentifikasi jenis file. Namun, Nautilus. mengabaikan angka ajaib jika ekstensi dot dan tiga karakter tersedia untuk mengidentifikasi jenis file. Pengaturan ini dapat diubah. Lihat Memaksa nautilus untuk mengabaikan ekstensi
Di Ubuntu, memulai nama file atau folder dengan titik, seperti
.experiment_L0.5
, membuat file atau folder disembunyikan. Anda dapat mengubah tampilan file tersembunyi dengan menekan Ctrl+ Hdi Nautilus. Di Windows nama file dimulai dengan a. tidak disembunyikan. Jadi jika Anda mentransfer file tersembunyi yang dinamai.experiment_L0.5
ke sistem Windows itu akan terlihat jelas.Di Ubuntu, nama file dapat diakhiri dengan sebuah titik karena tidak memiliki makna khusus di bagian akhir. Namun, di Windows titik memisahkan nama file dan ekstensi, dan nama file berakhir dengan titik tetapi tidak ada ekstensi yang tidak diizinkan. Ketika saya mencoba membuat file seperti itu di Windows, saya mendapatkan file hanya dengan nama, tanpa titik, tanpa ekstensi.
Referensi: Wiki pada Nama File
Semoga ini membantu.
sumber
:
char colon , ilegal di nama file windows, yang akan menimbulkan masalah ( dan itu memang ). Lihat juga di sini .fname.
) tidak diperbolehkan di Windows juga.test.
Windows. Saya akan memperbarui jawaban saya.Jawaban singkatnya
<>:"/\|?*
( sumber )dan dot
.
( sumber )grep
). Titik terkemuka membuat file disembunyikan oleh konvensi di Linux. Di Windows, titik digunakan dalam ekstensi file, yang digunakan untuk deteksi tipe file.CON
,PRN
,AUX
,CLOCK$
,NUL
COM1
,COM2
,COM3
,COM4
,COM5
,COM6
,COM7
,COM8
,COM9
LPT1
,LPT2
,LPT3
,LPT4
,LPT5
,LPT6
,LPT7
,LPT8
, danLPT9
. ( sumber )/
dan null (byte nol,\0
).Jawaban panjangnya
Latar belakang teknis: Sistem File
Ubuntu memanfaatkan
ext4
sistem file. Sistem file melacak di mana file disimpan pada penyimpanan yang mendasarinya (disk atau SSD atau apa pun), izin dalam bentuk pemilik / grup / lainnya dapat membaca / menulis / mengeksekusi, cap waktu, nama.Sistem file menyusun penyimpanan yang tersedia. Blok pertama disebut "superblock". Blok ini digunakan untuk me-mount sistem file. Sejauh yang saya tahu, setiap sistem file modern membagi ruang dalam blok. Saya pikir (dan saya tidak terlalu yakin tentang itu) bahwa sebagian besar sistem file juga memiliki ukuran blok tetap, meskipun ukuran blok dapat dikonfigurasikan ketika sistem file dibuat. ext4 (dan juga ext2 dan ext3) memanfaatkan apa yang disebut "inode" untuk file dan direktori. Inode tersebut berisi pointer ke blok lain (yang mungkin juga berupa inode atau menjadi "blok data"). Dan inode "pertama" dari suatu file berisi semua informasi yang saya sebutkan di atas.
Satu informasi lain adalah "tipe" dari file tersebut. "Jenis" dapat:
Bahkan, Anda juga dapat membuka direktori dengan editor:
Karena direktori tidak mengandung path lengkap, tetapi hanya nama-nama konten, saya tidak melihat alasan mengapa file tidak dapat berisi a
/
. Saya kira itu mungkin kenyamanan. (Adakah yang tahu mengapa/
tidak diizinkan?)Namun, masalahnya berbeda untuk sistem file lain. FAT16 dan FAT32 menggunakan apa yang disebut "tabel alokasi file". Ini berarti ada tabel yang berisi semua file yang disimpan di file Anda, di mana "cluster" mereka mulai dan di mana cluster mereka berakhir sebagai daftar yang terhubung secara tunggal.
Hal penting yang ingin saya sampaikan adalah bahwa karakter yang tidak diizinkan mungkin juga tergantung pada sistem file.
Latar belakang teknis: Jenis File
.txt
atau.html
(keduanya adalah file teks).Terkait
sumber
.txt
dan.html
file memang memiliki "nilai ajaib" yang berbeda - coba ganti nama file html ketest.txt
dan jalankanfile test.txt
. Itu tidak memiliki banyak relevansi dengan pertanyaan awal, tapi masih :)file
:file
tidak hanya menggunakan nilai-nilai ajaib untuk menentukan jenis file. Setiap file HTML yang valid adalah file teks (dalam arti bahwa itu berisi karakter yang dapat dibaca), tetapi tidak setiap file teks yang valid adalah file HTML yang valid (dalam arti bahwa itu divalidasi terhadap validator W3C). Jadi cukup banyak jenis file (html, xml, csv, js, php, c, h, cpp, ...) sebenarnya adalah file teks. Hanya file biner yang memiliki byte ajaib yang berada pada posisi yang ditentukan dengan baik. Semua file yang saya sebutkan di atas dapat memiliki spasi kosong sebelum konten.Demi kelengkapan, nama-nama yang hanya terdiri dari satu titik
.
atau dua titik..
adalah spesial:.
merujuk ke direktori saat ini..
merujuk ke direktori indukEntri-entri itu ditambahkan secara otomatis dan selalu ada, sehingga Anda tidak dapat memiliki file dengan nama
.
atau..
.sumber
Ini tidak masalah, tidak di linux atau di windows.
Ini adalah praktik umum untuk memiliki folder bernama "program.d" - untuk menyimpan konfigurasi dan hal-hal untuk suatu program (lihat di direktori / etc)
sumber
Penamaan file sangat fleksibel di Unix, sistem file Linux. Satu-satunya nama file yang tidak dapat Anda miliki adalah karakter nol atau yang berisi
/
nama. Tetapi tentu akan menjadi praktik yang baik untuk menghindari penggunaan karakter yang dilarang / dicadangkan di sistem lain dari sudut pandang nama-portabilitas; seperti Anda tidak boleh menggunakan" * : < > ? \ / |
karakter apa pun (dibatasi oleh NTFS) dalam nama file Anda jika Anda ingin mengakses file di sistem Windows.Dan tentang menggunakan
.
(periode) dalam nama-file , saya pikir itu harus baik-baik saja karena tampaknya tidak menjadi karakter "dicadangkan" di salah satu sistem (kecuali untuk OpenVMS, MS-DOS dan Windows di mana penggunaannya dalam nama file / direktori diperbolehkan tetapi kejadian terakhir akan ditafsirkan sebagai pemisah ekstensi dalam VMS, MS-DOS dan Windows) sebagaimana disebutkan dalam tautan Wikipedia yang berikut:Dalam sistem lain, biasanya dianggap sebagai bagian dari nama file, dan lebih dari satu periode dapat diizinkan. Di Unix, periode terkemuka berarti file atau folder biasanya disembunyikan.
sumber