Tại sao trang man không có ví dụ?


52

Có một lý do tại sao hầu hết các trang người đàn ông không bao gồm một vài ví dụ phổ biến? Họ thường giải thích tất cả các tùy chọn có thể, nhưng điều đó khiến người mới bắt đầu khó hiểu hơn về cách sử dụng "thường".


1
Tôi đoán là họ muốn tiết kiệm dung lượng đĩa có giá trị, giống như loại bỏ CR. Cf. Beckett, Watt , tr.8: "Nhiều không gian quý giá đã được lưu lại [...] bằng cách tránh các đại từ phản xạ plethoric sau khi nói ."
Peter - Phục hồi Monica

3
Một cách giải quyết đã cố gắng cho vấn đề này là tldr-pages.github.io , mặc dù tôi không hiểu tại sao họ dễ dàng tải xuống mọi thứ trước để truy cập ngoại tuyến.
Nathan Long

man jqcó hơn 1000 dòng ví dụ (trên Ubuntu 16.04)
Motte001

Câu trả lời:


49

Điều đó phụ thuộc vào các trang man ... Theo truyền thống, họ đã bao gồm một phần với các ví dụ - nhưng vì một số lý do thường bị thiếu trong các trang man trong Linux (và tôi giả sử khác sử dụng các lệnh GNU - hầu hết là những ngày này). Mặt khác, trên Solaris, hầu hết mọi trang nam đều có phần Ví dụ, thường có một vài ví dụ.

Nếu tôi đoán, từ lâu, FSF / GNU đã không khuyến khích sử dụng các mantrang và thích người dùng sử dụng thông tin cho tài liệu thay thế. infotrang có xu hướng toàn diện hơn các trang người đàn ông, và thường làm bao gồm các ví dụ. infocác trang cũng "chuyên đề" hơn - tức là các lệnh liên quan (ví dụ: các lệnh tìm tệp) thường có thể được tìm thấy cùng nhau.

Một lý do khác có thể là GNU và các mantrang của nó được sử dụng trên nhiều hệ điều hành khác nhau có thể khác nhau (có rất nhiều sự khác biệt giữa các bản phân phối Linux khác nhau). Ý định có thể là nhà xuất bản đã thêm các ví dụ liên quan đến HĐH / distro cụ thể - điều này rõ ràng hiếm khi được thực hiện.

Tôi cũng sẽ thêm rằng mancác trang không bao giờ có ý định "dạy người mới bắt đầu". UNIX được phát triển bởi các chuyên gia máy tính (thuật ngữ cũ "tin tặc") và dự định sẽ được sử dụng bởi các chuyên gia máy tính. Do đó, các trang man không được tạo ra để dạy một người mới, nhưng để nhanh chóng hỗ trợ một chuyên gia máy tính cần một lời nhắc cho một số tùy chọn tối nghĩa hoặc định dạng tệp lạ - và điều này được phản ánh trong cách phân chia trang nam.

manDo đó, các trang được dự định là

  • Một tài liệu tham khảo nhanh để làm mới bộ nhớ của bạn; chỉ cho bạn cách gọi lệnh và liệt kê các tùy chọn có sẵn.
  • Một mô tả sâu sắc và kỹ lưỡng - và thường rất kỹ thuật - về tất cả các khía cạnh của lệnh. Nó được viết bởi các chuyên gia máy tính, cho các chuyên gia máy tính đồng nghiệp.
  • Danh sách các biến môi trường và tệp (tức là tệp cấu hình) được sử dụng bởi lệnh.
  • Tham khảo tài liệu khác (ví dụ: sách) và các mantrang khác - ví dụ: cho định dạng của tập tin cấu hình và các lệnh liên quan / tương tự.

Điều đó nói rằng, tôi rất đồng ý với bạn rằng mancác trang nên có ví dụ, vì chúng có thể giải thích việc sử dụng tốt hơn là lội qua chính trang của người đàn ông. Các ví dụ quá tệ thường không có sẵn trên mancác trang Linux ...

Ví dụ về phần Ví dụ của trang người Solaris - zfs (1M):

(...)
VÍ DỤ
     Ví dụ 1 Tạo phân cấp hệ thống tệp ZFS

     Các lệnh sau tạo một hệ thống tập tin có tên pool / home
     và một hệ thống tập tin có tên pool / home / bob. Điểm gắn kết
     / export / home được đặt cho hệ thống tập tin mẹ và
     tự động kế thừa bởi hệ thống tập tin con.

       # zfs tạo hồ bơi / nhà
       # zfs đặt mountpoint = / export / home pool / home
       # zfs tạo hồ bơi / nhà / bob

     Ví dụ 2 Tạo Ảnh chụp nhanh ZFS

     Lệnh sau tạo một ảnh chụp nhanh có tên ngày hôm qua.
     Ảnh chụp nhanh này được gắn theo yêu cầu trong .zfs / ảnh chụp nhanh
     thư mục gốc của hệ thống tập tin pool / home / bob.

       # zfs snapshot pool / home / bob @ ngày hôm qua

     Ví dụ 3 Tạo và hủy nhiều ảnh chụp nhanh

     Lệnh sau tạo ảnh chụp nhanh có tên ngày hôm qua của
     pool / home và tất cả các hệ thống tập tin con cháu của nó. Mỗi
     ảnh chụp nhanh được gắn theo yêu cầu trong thư mục .zfs / snapshot
     tại thư mục gốc của hệ thống tập tin Lệnh thứ hai phá hủy
     ảnh chụp nhanh mới được tạo.

       # zfs snapshot -r pool / home @ ngày hôm qua
       # zfs phá hủy -r pool / home @ ngày hôm qua

SunOS 5.11 Thay đổi cuối cùng: 23 tháng 7 năm 2012 51

Các lệnh quản trị hệ thống zfs (1M)

     Ví dụ 4 Vô hiệu hóa và kích hoạt nén hệ thống tệp

     Lệnh sau vô hiệu hóa thuộc tính nén cho
(...)

Trang người đàn ông đặc biệt này đi kèm với 16 (!) Ví dụ như ... Kudos to Solaris!
(Và tôi sẽ thừa nhận bản thân tôi hầu hết đã làm theo các ví dụ này, thay vì đọc toàn bộ trang man cho lệnh này ...)


2
Câu cuối cùng nêu bật một vấn đề với việc có các ví dụ trong hướng dẫn sử dụng. Người ta lấy các ví dụ phù hợp nhất với nhu cầu của một người mà không hiểu đầy đủ ý nghĩa của ứng dụng cụ thể của công cụ. Và sau đó, người ta chỉ có thể nói "Tôi đã làm như thế này", nhưng không thực sự tại sao hoặc ý nghĩa của nó.
Kusalananda

6
@Kusalananda Để bảo vệ, tôi đã đọc về các tùy chọn khác nhau và về các lệnh phụ tôi thực sự cần - chỉ là không phải toàn bộ (chưa). Nó đơn giản là không phù hợp với mục đích sử dụng của tôi ... Mặc dù có nguy cơ sử dụng sai, các ví dụ thực sự phục vụ mục đích - và nếu tất cả những gì bạn cần chỉ là cách sử dụng cơ bản nhất của lệnh, thì việc đọc tất cả chuông và còi hầu như không cần thiết.
Baard Kopperud

@Kusalananda Nó cũng có thể phụ thuộc vào các lệnh. Hầu hết các tiện ích Unix và GNU mà tôi biết đều được ghi chép tốt, nhưng bạn cần tài liệu để làm bất cứ điều gì hợp lý. Các lệnh Solaris mới hơn (đặc biệt zfs) được thiết kế khá tự nhiên. Ví dụ, zfs destroy pool/filesystemlà sử dụng cơ bản và phạt cho 90% trường hợp sử dụng. Tùy chọn ngắn như -rcho recursivelà đặc biệt hơn nữa và cần tham khảo ý kiến trước khi sử dụng, bởi vì họ có thể có ngoài ý muốn tác dụng phụ.
121391

26

Tôi không nghĩ rằng có một câu trả lời tốt cho điều này. Đó là một điều văn hóa. Một số trang người đàn ông có ví dụ sử dụng. Ví dụ man rsync. Bạn có thể cố gắng thay đổi văn hóa bằng cách viết cho tác giả trang nam và yêu cầu anh ấy hoặc cô ấy thêm một số cách sử dụng mẫu hoặc (tốt hơn nhiều) tự cung cấp một số ví dụ sử dụng mẫu. Nếu bạn cung cấp cho tác giả phần mềm miễn phí một bản vá, đặc biệt là bản vá tài liệu, khả năng đạt được kết quả mong muốn cao hơn khoảng mười nghìn lần so với yêu cầu đơn giản.


7

Nó phụ thuộc:

  • hầu hết các chương trình mà bạn thấy thú vị được phát triển trong một khoảng thời gian, ban đầu để giải quyết vấn đề và sau đó để cải thiện giải pháp. Các nhà phát triển chương trình giải thích những gì họ nghĩ là quan trọng cần biết (và tài liệu không phải là vấn đề họ đang giải quyết).
  • đối với một số chương trình, nhà phát triển muốn cung cấp các chương trình hoặc tập lệnh mẫu cho biết cách sử dụng một chương trình (hoặc thư viện) nhất định. Một lần nữa, điều này được thực hiện để giải quyết một vấn đề: làm cho chương trình dễ kiểm tra hơn.

    Một số ví dụ có thể dựa trên các báo cáo lỗi từ người dùng và khi ngắn tìm thấy một vị trí trong hướng dẫn. Các ví dụ dài hiếm khi được cung cấp trong sách hướng dẫn và các ví dụ ngắn có vấn đề là chúng có xu hướng tầm thường, lặp đi lặp lại và không thực sự cung cấp cho người dùng nhiều thông tin chi tiết như cách mô tả về cách thức hoạt động của chương trình.

  • trong một số trường hợp, bạn sẽ tìm thấy tài liệu được cung cấp bởi những người khác không liên quan đến quá trình phát triển. Đó là, các nhà phát triển đã không tham gia trừ khi xem xét tài liệu. Đó là loại nỗ lực có thể được coi thường.

5
"Loại nỗ lực đó có thể bị coi thường." Tôi không chắc điều này có nghĩa là gì.
Faheem Mitha

Tài liệu này không đóng góp bất cứ điều gì hữu ích khi nó không dựa trên kinh nghiệm.
Thomas Dickey

Trong thực tế, tài liệu không dựa trên kinh nghiệm có thể đóng góp tiêu cực - tức là nó hoàn toàn sai.
alephzero

Chắc chắn - tôi đã đề cập đến nó bởi vì một số ví dụ mà OP chắc chắn có trong tâm trí rơi vào danh mục này (tôi sẽ không cung cấp danh sách trên diễn đàn này).
Thomas Dickey

2
@ThomasDickey. Tôi hoàn toàn không đồng ý với đánh giá này. Khả năng viết một tiện ích không nhất thiết phải đi kèm với khả năng giải thích API cho người dùng cuối. T
chiggsy

6

Nếu bạn đang tìm kiếm một thay thế cho các trang man, bạn luôn có thể thử các trang bro , chỉ hiển thị các ví dụ khác nhau cho một lệnh, sau đó bạn có thể bỏ phiếu trong danh sách các ví dụ do cộng đồng gửi. Ví dụ: lệnh bro tarsẽ cung cấp cho bạn:nhập mô tả hình ảnh ở đây

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.