Berapa lama nama file bisa?

17

Berapa lama nama file dan nama folder di Ubuntu Linux dan karakter apa yang diizinkan dalam nama file dan nama folder di Ubuntu Linux?

Gaurav Agarwal
sumber

Jawaban:

21

Nama file di Linux panjangnya 14 byte di versi Unix sebelumnya. Tetapi sistem Linux modern memiliki 255 byte untuk nama file.

Karena satu karakter membutuhkan 1 byte, Panjangnya menjadi 255 karakter. Juga folder diperlakukan sebagai file dalam sistem Linux

Lihat tautan ini untuk informasi lebih lanjut

Anwar
sumber
2
Nama file utf-8, jadi panjang variabel: satu byte untuk karakter ascii apa pun. 2 atau lebih untuk karakter lain misalnya £, ★, ≠, ☺, ¡, ¿, á,…, dll
ctrl-alt-delor
1
Jika nama file dalam pengkodean UTF, jumlah karakter berkurang dengan jumlah pengkodean UTF yang lebih tinggi. Lihat serverfault.com/a/542452/363611 dan komentar di bawah jawaban itu
Sergiy Kolodyazhnyy
4

Saya tidak yakin berapa panjang nama file maksimum (untuk ext4), tetapi lebih bergantung pada sistem file, daripada Linux itu sendiri. Pada FAT32, saya pikir itu adalah 255 karakter. Anda mungkin tidak pernah benar-benar membutuhkan nama file selama itu.

Adapun karakter diperbolehkan, nilai byte apa pun diperbolehkan pada sistem file ext4, kecuali untuk byte NULL (dan /, karena itu adalah pemisah direktori 1 ). Namun, Anda harus membatasi nama file Anda ke set karakter UTF-8, untuk rentang kompatibilitas terluas di seluruh aplikasi, dan perangkat.

1. Seperti yang dinyatakan dalam manual glibc , "setiap karakter kecuali karakter nol diizinkan dalam string nama file," tetapi /dalam string nama file memisahkan nama satu file atau folder dari yang dari induknya.

dobey
sumber
Saya akan mengatakan batas untuk az, AZ, dan angka. Menambahkan non-alpha-numerics memohon untuk menemukan bug url parsing
RobotHumans
@ aking1012 Saya ingin menggunakan '.' dan '@' apakah itu tidak disarankan.
Gaurav Agarwal
'.' tentu saja baik-baik saja. Saya belum pernah melihat @ go wooly, tapi saya kira bisa dalam beberapa kasus sudut. Hal-hal yang digunakan parser sebagai pembatas dan tidak melarikan diri dengan benar adalah lebih dari yang saya maksudkan - contoh: space, /, ", ', dll
RobotHumans
1
Periode .ini banyak digunakan dalam sistem itu sendiri, jadi itu bukan masalah. The @juga harus baik-baik, saya melihat server email (misalnya exim) dengan satu direktori per account yang mengandung @dan tidak memiliki masalah apapun.
Marios Zindilis
1
menggunakan @ tidak masalah. 2 komentar: JIKA Anda menggunakan sesuatu yang istimewa, Anda selalu dapat melarikan diri dari char. Sadari juga bahwa terkadang char digunakan sebagai pembagi: misalnya ssh menggunakannya untuk memisahkan pengguna dan sistem: contoh ini: user@system:/dir/dir@dir/mungkin rapuh dan tidak dipahami).
Rinzwind