Jawaban singkatnya
- Windows tidak mengizinkan karakter berikut:
<>:"/\|?*
( sumber )
- Lebih banyak karakter yang berkecil hati adalah: space
dan dot .
( sumber )
- Alat baris perintah lebih sulit digunakan ketika Anda memiliki spasi dalam nama (lebih sulit, bukan tidak mungkin)
- Dots digunakan dalam RegEx (mis. Ketika Anda ingin menggunakan
grep
). Titik terkemuka membuat file disembunyikan oleh konvensi di Linux. Di Windows, titik digunakan dalam ekstensi file, yang digunakan untuk deteksi tipe file.
- Jendela juga tidak akan mengizinkan nama file
CON
, PRN
, AUX
, CLOCK$
, NUL
COM1
, COM2
, COM3
, COM4
, COM5
, COM6
, COM7
, COM8
, COM9
LPT1
, LPT2
, LPT3
, LPT4
, LPT5
, LPT6
, LPT7
, LPT8
, dan LPT9
. ( sumber )
- Satu-satunya karakter yang tidak diizinkan dalam sistem file Unix yang saya tahu adalah
/
dan null (byte nol, \0
).
- Lihat juga: Batas sistem file (Saya tidak tahu Windows mana yang Anda inginkan agar kompatibel).
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:
- file biasa
- direktori
- file perangkat (perangkat blok atau karakter)
- ...
Bahkan, Anda juga dapat membuka direktori dengan editor:
vim /home
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
- Windows menggunakan ekstensi file untuk mendeteksi tipe file
- Linux menggunakan "Magic Bytes" untuk mendeteksi tipe file. Magic Bytes adalah bagian dari konten file dan karenanya sepenuhnya independen dari namanya. Bytes ini adalah bagian dari spesifikasi tipe file (lihat spesifikasi png sebagai contoh). Itu juga menggunakan ekstensi nama file untuk file dengan byte ajaib yang sama seperti
.txt
atau .html
(keduanya adalah file teks).
Terkait