Làm thế nào để nhảy đến một cờ cụ thể trong trang web Unix?


23

Khi đọc một trang web Unix trong thiết bị đầu cuối, làm thế nào tôi có thể dễ dàng chuyển đến mô tả của một cờ cụ thể?

Ví dụ, tôi cần biết ý nghĩa của -ocờ cho mount. Tôi chạy man mountvà muốn nhảy đến nơi -ođược mô tả. Hiện tại, tôi tìm kiếm /-otuy nhiên tùy chọn đó được đề cập ở một số nơi trước khi phần thực sự mô tả nó, vì vậy tôi phải nhảy xung quanh khá nhiều.

Cảm ơn.

Câu trả lời:


27

Những gì tôi làm là đặt một vài khoảng trống trước cờ như vậy:

/     -o

Điều đó không đáng tin cậy 100% nhưng bạn nhảy qua một vòng ít hơn nhiều. Nếu bạn muốn tỷ lệ thành công thậm chí tốt hơn, hãy thử "/^ +-o". Điều đó sẽ tìm thấy các dòng bắt đầu với khoảng trống và theo sau là -o. Tôi không muốn gõ chuỗi kỳ lạ đó thường xuyên.


11

Tôi đã xác định chức năng này trong .bashrc

function manswitch () { man $1 | less -p "^ +$2"; }

mà bạn có thể sử dụng như sau

manswitch grep -r

Tôi đã nhận nó từ dòng lệnh này .

Lưu ý: đối số của -pcông tắc lesslà một biểu thức chính quy ít tìm kiếm một dòng bắt đầu bằng ( ^) một hoặc nhiều khoảng trắng ( +) theo sau là công tắc (đối số thứ hai. $2), Vì vậy nó có lợi thế là làm việc với các định dạng khác nhau.


5

Ngoài ra, bạn có thể mở trang man trên vị trí cụ thể từ dòng lệnh với

man -P 'less -p "     -o"' mount

Được khuyến khích để có thể, nhưng đó là khá nhiều để gõ hơn là tìm kiếm từ bên trong con người. Cảm ơn, mặc dù!
dotancohen

Điều đó khá hữu ích để gửi ai đó đến vị trí chính xác trong trang người đàn ông :)
vội vàng

Vâng, tôi chỉ nghĩ rằng nếu tôi phải mở một trang người đàn ông trong một kịch bản vì một số lý do thì nó cũng hữu ích. Cảm ơn bạn!
dotancohen

3

Câu trả lời của @ piccobello là tuyệt vời, nhưng nó đã ăn màu trong trang người đàn ông của tôi. Thay vì đường ống đến less(vì thường manđược sử dụng lesstheo mặc định), tôi chỉ cần chuyển lesslệnh đã sửa đổi sang man:

function manswitch() { man -P "less -p \"^ +$2\"" $1 }

Điều này giữ lại chức năng @piccobello có trong chức năng của mình, nhưng vẫn giữ được màu sắc.


1

Các giải pháp khác khá tốt, nhưng cũng nên nhớ rằng các trang man chỉ là dữ liệu và bạn có thể dễ dàng thực hiện hầu hết mọi thứ với chúng trong Linux.

man some-lệnh> file.txt

chuyển đổi trang thành một tệp văn bản đơn giản mà bạn có thể thao tác. Tôi giữ một bản sao của hướng dẫn bash dưới dạng văn bản trong thư mục bin của mình để tôi có thể tải nó vào trình soạn thảo văn bản của mình để tìm kiếm mọi thứ và sao chép và dán trong khi tôi đang chỉnh sửa tập lệnh.

Hoặc bạn có thể đặt nó vào các bộ lọc như

người đàn ông nào đó chỉ huy | grep -Một dòng-sau "một số mẫu"

Mặc dù nó không hoạt động cho bạn trong một thiết bị đầu cuối, tôi (với sự giúp đỡ của một người bạn) thậm chí đã viết một tập lệnh lấy trang con người và hiển thị nó trong trình duyệt web để tôi có thể sử dụng các tính năng điều hướng / tìm kiếm của nó tốt hơn ít hơn Đó là một chút phụ thuộc kde, nhưng dễ dàng để sửa đổi.

http://dl.dropbox.com/u/54584985/kman


3
Bạn có thể muốn thử man://trong Konqueror. KDE có một trang web KIOSLAVE!
dotancohen

@dotancohen - Tuyệt vời. Không biết về điều đó.
Joe

@dotancohen -Tôi chỉ thử nó trong cá heo và nó cũng hoạt động, nhưng hiển thị các trang man dưới dạng thư mục và tệp và khởi chạy trình duyệt mặc định của bạn khi bạn nhấp vào tệp. Tôi không hiểu phần về KIOSLAVE. Tôi đã thử man: // kioslave và nó cũng giống như man: //.
Joe

@dotancohen - Đừng bận tâm - Tôi đã tra cứu kioslaves trên wikipedia. vi.wikipedia.org/wiki/KIO
Joe

Vâng, KDE có tất cả mọi thứ. Thưởng thức!
dotancohen

1

Tôi đã viết một công cụ thực hiện điều này, được gọi là flagman . Vẫn đang trong quá trình phát triển nhưng đã có thể sử dụng được. Ví dụ:

$ ./flagman mount -o
       -o, --options opts
              Use the specified mount options.  The opts argument is a comma-separated list.  For example:

                     mount LABEL=mydisk -o noatime,nodev,nosuid


              For more details, see the FILESYSTEM-INDEPENDENT MOUNT OPTIONS and FILESYSTEM-SPECIFIC MOUNT OPTIONS sections.
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.