Tên tập tin có thể là bao lâu?


17

Bao lâu có thể là tên tệp và tên thư mục trong Ubuntu Linux và những ký tự nào được phép trong tên tệp và tên thư mục trong Ubuntu Linux?

Câu trả lời:


21

Tên tệp trong Linux dài 14 byte trong phiên bản Unix trước đó. Nhưng hệ thống Linux hiện đại có 255 byte cho tên tệp.

Là một ký tự cần 1 byte, Độ dài trở thành 255 ký tự. Ngoài ra các thư mục được coi là tập tin trong hệ thống Linux

Xem liên kết này để biết thêm thông tin


2
Tên tệp là utf-8, vì vậy độ dài thay đổi: một byte cho bất kỳ ký tự ascii nào. 2 hoặc nhiều hơn cho bất kỳ nhân vật nào khác, ví dụ: £, ★, ≠, ☺,, ¿, á,
Hoài

1
Nếu tên tệp là mã hóa UTF, số lượng ký tự sẽ giảm với số lượng mã hóa UTF cao hơn. Xem serverfault.com/a/542452/363611 và bình luận bên dưới câu trả lời đó
Sergiy Kolodyazhnyy

4

Tôi không chắc chiều dài tên tệp tối đa có thể là bao nhiêu (đối với ext4), nhưng nó phụ thuộc nhiều vào hệ thống tệp hơn là chính Linux. Trên FAT32, tôi nghĩ rằng nó là 255 ký tự. Bạn có thể không bao giờ thực sự cần một tên tập tin dài như vậy.

Đối với các ký tự được phép, mọi giá trị byte đều được phép trên hệ thống tệp ext4, ngoại trừ byte NULL (và /, vì đó là dấu phân cách thư mục 1 ). Tuy nhiên, bạn nên giới hạn tên tệp của mình trong bộ ký tự UTF-8, để có phạm vi tương thích rộng nhất trên các ứng dụng và thiết bị.

1. Như đã nêu trong hướng dẫn sử dụng glibc , "bất kỳ ký tự nào ngoại trừ ký tự null đều được phép trong chuỗi tên tệp", nhưng /trong chuỗi tên tệp sẽ phân tách tên của một tệp hoặc thư mục với tên của tệp đó.


Tôi muốn nói giới hạn cho az, AZ và số. Thêm số không phải là số đang cầu xin để tìm lỗi phân tích cú pháp url
RobotHumans

@ aking1012 Tôi muốn sử dụng '.' và '@' là không nên.
Gaurav Agarwal

'.' tất nhiên là tốt Tôi chưa từng thấy @ đi len lỏi, nhưng tôi đoán nó có thể trong một số trường hợp góc. Những thứ mà trình phân tích cú pháp sử dụng làm dấu phân cách và không thoát đúng cách là những gì tôi đã đề cập đến - ví dụ: không gian, /, ", ', v.v.
RobotHumans

1
Thời kỳ .này được sử dụng rộng rãi trong chính hệ thống, vì vậy nó không phải là vấn đề. Cũng @nên ổn, tôi thấy các máy chủ email (ví dụ exim) với một thư mục cho mỗi tài khoản có chứa @và không có vấn đề gì.
Marios Zindilis

1
sử dụng một @ là tốt. 2 nhận xét: NẾU bạn sử dụng một cái gì đó đặc biệt, bạn luôn có thể thoát khỏi char. Cũng nhận ra rằng đôi khi một char được sử dụng như một bộ chia: ví dụ ssh sử dụng nó để phân tách người dùng và hệ thống: ví dụ này: user@system:/dir/dir@dir/có thể là iffy và không hiểu).
Rinzwind
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.