Chữ thường trong tên tệp Linux


11

Vì tôi thấy rằng UpperCase thực sự có thể đọc được để phân tách từ chữ cái đầu tiên trong các tên phức tạp dài, tôi có xu hướng đặt một số tên tệp Linux của mình với một số UpperCase. Chủ yếu là thực thi, một số thư mục quá.

Nhưng đã được vài tuần tôi nhận xét rằng phần lớn tất cả các tên tệp trong bản phân phối linux của tôi là chữ thường ...

Vì vậy, tôi đã thực hiện một số điều trước đây và tôi đã tìm thấy bài viết này: Tên tệp Linux , nói rằng người ta phải luôn luôn sử dụng chữ thường trong thế giới unix,

... Tốt nhất là luôn luôn sử dụng chữ thường trong Linux trừ khi bạn có thể nghĩ ra một lý do chính đáng để sử dụng chữ hoa hoặc chữ thường. Hầu hết người Unix sử dụng chữ thường hầu như độc quyền, nhưng ngoài điểm "văn hóa" này, còn có một lý do chính đáng khác để sử dụng chữ thường. Nếu bạn đang chia sẻ hoặc truy cập hệ thống tệp DOS với Linux, DOS sẽ không thể thấy các tệp có tên tệp chữ hoa hoặc chữ thường ...

Đó thực sự là trường hợp?


2
Vâng, đó thực sự là trường hợp. người unix dường như không thể tìm thấy phím shift. nhưng thực sự không có gì chính đáng để hỗ trợ các quy tắc chống lại trường hợp hỗn hợp. nó chỉ là một lời nói
Ross Patterson

Câu trả lời:


20

Các lập trình viên ghê tởm việc sử dụng phím shift (và khóa mũ là điều mà nhiều người cố gắng bỏ qua ). Tiếp tục từ vị trí "luôn luôn sử dụng chữ thường" ...

Tốt nhất là luôn luôn sử dụng chữ thường trong Linux trừ khi bạn có thể nghĩ ra một lý do chính đáng để sử dụng chữ hoa hoặc chữ thường. Hầu hết người Unix sử dụng chữ thường hầu như độc quyền, nhưng ngoài điểm "văn hóa" này , còn có một lý do chính đáng khác để sử dụng chữ thường. Nếu bạn đang chia sẻ hoặc truy cập hệ thống tệp DOS với Linux, DOS sẽ không thể thấy các tệp có tên tệp chữ hoa hoặc chữ thường.

Lý do chính cho điều này là nếu bạn đang chuyển hai tệp được phân tách bằng trường hợp duy nhất sang hệ thống không phân biệt chữ hoa chữ thường, những điều khó hiểu có thể xảy ra trên máy không nhạy cảm.

Các tập tin trên máy linux của bạn là của bạn. Làm với họ như bạn muốn theo cách có ý nghĩa với bạn.

Tôi đã tìm thấy rằng một hội nghị của việc sử dụng chữ hoa cho chữ hàng đầu của một thư mục làm cho nó dễ dàng hơn cho tôi để di chuyển chúng. Thực hiện một 'ls' trong thư mục sẽ tự động đặt tất cả các thư mục lên đầu danh sách và tách các thư mục khỏi các tệp giúp cả hai dễ nhìn và điều hướng hơn. Nhưng một lần nữa đó là cho tôi - làm những gì làm việc cho bạn .


1
DOS? Có thật không? Điều đó không còn phù hợp nữa.
Maximus Minimus

3
@ mh01 Tôi đã từng xem xét EBCDIC không liên quan cho đến năm ngoái tôi đã phải đối phó với một hệ thống đã gửi bộ ký tự đó thay vì ascii. Tôi đã thấy các hệ thống OpenVMS xung quanh (bản phát hành gần đây nhất chỉ mới 2 năm trước, không tệ cho thứ đã phát hành lần đầu cách đây 35 năm) ... và hệ thống tệp của nó vẫn không phân biệt chữ hoa chữ thường. Rõ ràng máy Mac có cả phân biệt chữ hoa chữ thường và chữ hoa chữ thường (và hơi nước và photoshop không giống như các hệ thống tệp phân biệt chữ hoa chữ thường trên máy mac ). Trường hợp không nhạy cảm là còn sống.

3
Chưa kể phần lớn các máy tính để bàn chạy các hệ thống tệp Windows không phân biệt chữ hoa chữ thường.
Kilian Foth

Điểm hay về phân biệt chữ hoa chữ thường so với bảo quản chữ hoa chữ thường, nhưng nếu bạn có các tệp khác nhau chỉ khác nhau trong vỏ của tên tệp, tôi nghĩ rằng có những vấn đề khác ngoài việc chuyển sang hệ thống tệp không phân biệt chữ hoa chữ thường có thể gây nhầm lẫn. ..
một CVn

9

"Hướng đến người tiêu dùng" (bất cứ điều gì có thể có nghĩa) các cách sử dụng có xu hướng sử dụng Title Case, ngay cả trong thế giới Unix. Đây thường là trường hợp khi tổ chức trong câu hỏi có những người có toàn bộ công việc là suy nghĩ về trải nghiệm người dùng.

Ví dụ, máy tính để bàn Ubuntu của tôi có thư mục trong thư mục home gọi Downloads, Pictures, Documentsvv Cùng đi cho máy tính xách tay OSX của tôi (vâng, nó đếm; nó BSD). Mặc dù đáng để chỉ ra rằng Apple đã đi xa đến mức đặt tên cho các thư mục hệ thống của riêng mình bằng Titlecase (ví dụ /Library/Audio/Apple Loops/), trong khi vẫn giữ hệ thống tệp cơ sở "cổ điển" tất cả chữ thường (ví dụ /usr/libexec/dtrace/). Nhưng không có bản phân phối Linux nào tôi biết sử dụng Titlecase ở bất cứ đâu ngoài thư mục chính của người dùng.

Có lẽ sự khác biệt là các thư mục mà bạn mong đợi mọi người thực sự nhìn vào là Titlecase, trong khi những nơi bạn mong đợi mọi người không đi khám phá đều là chữ thường. Một sự khác biệt tương tự dường như là chơi với Ubuntu; chỉ các thư mục được dự kiến ​​hiển thị dưới dạng danh sách các thư mục trong cửa sổ Nautilus là Titlecase, trong khi các tên thư mục dự kiến ​​sẽ được nhập (không được duyệt) đều thấp hơn.

Và đó là mấu chốt của nó; Titlecase hoặc chữ hoa là khó khăn hơn để gõ. Nhưng Titlecase trông tốt hơn trong một danh sách hoặc tập hợp các thư mục lát gạch. Vì vậy, lựa chọn cho phù hợp. Người Linux thường xuyên xử lý dòng lệnh ngay cả đối với các tác vụ trần tục, vì vậy chữ thường có ý nghĩa hơn.


điểm tốt nhưng tôi sẽ thêm rằng khoảng trắng hoặc dấu gạch dưới dễ đọc hơn lạc đà hoặc trường hợp Pascal
jk.

4

Về đối số DOS: Các hệ thống tệp DOS / Windows sẽ xem các tệp của bạn bất kể trường hợp nào và chúng có thể xử lý chúng tốt. Các hệ thống tập tin DOS rất cũ không hỗ trợ bất cứ thứ gì ngoài tên tệp 8.3, nhưng ngay cả FAT32 cũng có thể xử lý tên tệp dài. Vấn đề duy nhất là trong khi các trường hợp bảo quản hệ thống tập tin DOS / Windows (trong hầu hết các trường hợp; một số trường hợp loại bỏ mùi vị cho tên tệp phù hợp với định dạng 8.3), chúng không phân biệt chữ hoa chữ thường khi so sánh tên tệp; Windows coi "foobar", "Foobar", "FOOebar" và "fOObAr" là cùng một tên tệp.

Điều đó nói rằng, nó chủ yếu là một điều văn hóa, nhưng có một số nền tảng cho nó. Lý do tại sao quy ước đặc biệt này bị mắc kẹt trong thế giới UNIX là khả năng sử dụng . Có hai đối số chính ở đây:

  • Tách các từ bằng cách sử dụng các ký tự không phải chữ cái sẽ tốt hơn cho việc đọc thoải mái hơn là sử dụng vỏ để đánh dấu ranh giới từ. IfYouDonTBelieveMe, So sánh ThisSentenceWithThePreinglyOneAndTellMeWhichIsEasierToRead. (Và tất nhiên, novisualseparationatallistheworst).
  • Chữ in thường có hình dạng đa dạng hơn chữ in hoa, từ đó dẫn đến hình dạng từ đa dạng hơn. ĐIỀU NÀY KIẾM BÀI VIẾT VĂN BẢN TRONG LOWERCASE DỄ DÀNG ĐỂ ĐỌC BÀI VIẾT VĂN BẢN TRONG NỀN TẢNG.

Những quan sát này rất dễ xác minh, và chúng thậm chí đã được xác nhận bởi nghiên cứu khoa học.

Ngoài ra, văn hóa UNIX thích các quy ước không chỉ dễ đọc mà còn dễ viết; Tin tặc UNIX thường là những người dành nhiều thời gian sử dụng bàn phím của họ và nhiều người sử dụng hệ thống gõ cảm ứng chính thức hoặc một số dẫn xuất cá nhân được điều chỉnh để lập trình. Khái niệm ở trên hàng nhà cũng quan trọng, vì vậy mọi người muốn tránh sử dụng các phím không thể lấy được từ hàng chủ, đặc biệt là các phím shift.

Nếu bạn kết hợp ba ràng buộc này, thực sự chỉ có một quy ước hợp lý all-lowercase-with-dashes.


3
@StephaneRolland: theo đuổi việc đặt tên nhất quán trên các thứ khác nhau như định danh trong các ngôn ngữ lập trình và tên tệp khác nhau là không khôn ngoan. Hãy nhất quán trong mỗi lĩnh vực và tuân thủ các quy ước đã được thiết lập, nhưng đừng cố tìm một quy ước để thống trị tất cả. Các biến Java không phải là tên bảng SQL và chúng cũng không phải là tên tệp.
tdammers

@StephaneRolland - Tôi tin rằng từ bạn muốn là Snake_case .
cchamberlain
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.