Man sayfasında belirtilen bağlantıları takip etmenin bir yolu var mı? Örneğin, işte man sayfası ps
; kırmızı ile işaretlenmiş bağlantıya nasıl erişirim?
Man sayfasında belirtilen bağlantıları takip etmenin bir yolu var mı? Örneğin, işte man sayfası ps
; kırmızı ile işaretlenmiş bağlantıya nasıl erişirim?
Yanıtlar:
Man sayfaları, Unix First Edition'a kadar uzanıyor . Hipermetin icat edilmiş olmasına rağmen, hala bebeklik döneminde; web yirmi yıl uzaktaydı ve bu kitapçık basılan bir kitaptı, eğer uygunsa sık sık sayfa başına bir komut veriyordu (bu yüzden sayfalar deniyorlardı).
Manuel sayfalar için kullanılan biçim o zamandan beri biraz gelişti, ancak çoğu sayfa köprü metni için gerçekten tasarlanmadı ve varsayılan man
program bunu desteklemiyor (yalnızca basit bir metin görüntüleyici, bazı temel biçimlendirmeleri destekleyen bilgisayar destekli). Bazı köprüler yeniden adam sayfa görüntüleme programları, geleneksel olarak formda yazılır Diğer adam sayfalarına ağırlıklı bağlantılar Vardır ancak adam sayfanın adıdır ve bir bölüm numarası :man(1)
man
1
man2html
Çevrimiçi olarak bazı sitelerde HTML'ye veya benzer araçlarla HTML'ye dönüştürülen çeşitli işletim sistemlerinin el ile sayfalarına göz atabilirsiniz, örneğin:
Man sayfalarının unix'te oluşturulan dokümantasyon formatı haline gelmesinden bir süre sonra ve web keşfedilmeden bir süre önce, GNU projesi metin terminalleri için tasarlanan basit işaretlemeye sadık kalarak, insandan daha gelişmiş bilgi dokümantasyon formatını sundu . Bilgiye kıyasla insandaki en büyük yenilik, diğer sayfalara köprüler içeren çok sayfalı belgelere sahip olmaktı. Bilgi hala GNU projeleri için tercih edilen dokümantasyon formatıdır, ancak çoğu Bilgi sayfası da HTML oluşturabilen bir Texinfo kaynağından (veya bazen başka formatlardan) oluşturulmuştur. Bir programın bilgi dokümantasyonu mevcut olduğunda, çoğu zaman ana kılavuz olur, man sayfaları sadece komut satırı argümanları hakkında temel bilgiler içerir.
M-x man
(ve C-h v mode-name
olduğu Man
): en az bir yönüyle, bu daha üstündür WoMan
o tablolar (görüntülediğinden ekran görüntüsü ). Tabii ki, aynı zamanda köprü.
b
bu arada. Hangi arayüz paradigmasını kullanan bir kullanıcı için bu sezgisel olabilir?
page(N)
köprüler içine bağlantıları. Gilles'un cevabında bu kalitede söz edilmemiş olması oldukça şaşırdı.
Her şeyden önce, bu bir bağlantı değil. Bu sadece bir alt çizgi. Kılavuz sayfaları, bir terminalin işleyebileceği, biraz basit biçimlendirmeye sahip metin belgeleridir. Alt çizgi sadece bir vurgudur, konuyla ilgili bir "bağlantı" yoktur.
Normal man
komut sadece bir metin formatlayıcıdır. Aslında man
komut metni bile görüntülemiyor, man
sadece man sayfa dosyasında [1] kayıtlı bilgileri formatlıyor less
ve formatlanmış çıktıyı, ekrana formatlanmış çıktıyı gösteren başka bir programa (genellikle ) gönderiyor . Bu ekran programlarında bağlantı kavramı yoktur.
Bu şekilde biçimlendirmeye bakabilecek ve böyle bir vurgunun, çekilip bağlantı oluşturabilecek ilgili bir sayfa olduğunu gösterebileceği konusunda eğitimli bir tahminde bulunabilecek bazı özel dokümantasyon okuyucuları var, ama bilmiyorum hangileri yapar. Belki de pinfo
?
Web’i köprülerle biçimlendirmek gibi isterseniz, bağlantıların eklendiği neredeyse tüm UNIX kullanıcı sayfalarını çevrimiçi olarak bulabilirsiniz. man [anything]
Google’a yazmayı deneyin ve ilk birkaç vuruşta neredeyse bir tane alacaksınız.
Örneğinizde, görsel vurgulama, kolayca açabileceğiniz kendi sayfa sayfasına sahip olan başka bir program adı olduğuna dair bir ipucudur. Dene man 1 top
. 1, bakılacak sayfaların bölümünü gösterir. Bölümlerin açıklaması için bu soruya bakın: Bir sayfadaki sayılar ne anlama geliyor?
[1] açarsanız man
bir metin editörü sayfa dosyası, ham göreceksiniz man
kolay okunması için biçimlendirilmemiş sayfa. Ham man
sayfa denilen bir biçimlendirme dilinde yazılmıştır troff
. troff
Bir man
sayfanın nasıl yazılacağı ve nasıl yazılacağı hakkında daha fazla bilgi için : https://liw.fi/manpages/ .
man 1 top
? Bunun gibi bir şey olmalı ps 1 top
çünkü bağlantıyı man sayfasında buldum ps
. "erkek 1 top" bana mantıklı gelmiyor. Lütfen açıkla.
top(1)
"link" takip etmek istiyorsanız , top
manüel sayfayı 1. bölümden açmalısınız . Bölümler hakkında daha fazla bilgi için, bakınız erkek (1). ps 1 top
Bir anlam ifade etmiyor, çünkü sadece ps
onun için garip olan bazı komutları çalıştıracaksınız .
readlink
1. bölüm ve bölüm 2'nin ve görünen printf
bölümler 1 ve 3 sadece yazarsanız içinde man command
, adam sayısal sırayla bölümleri trys ve bulduğu veya birlikte spesifik olabilir ilk görüntüler man # command
size belgeleri almak için yapmak zorunda olan readlink
sistem çağrısı için
Bu çok geç cevaptır, ancak w3mman kullanın. w3mman, sistemin manuel çağrı cihazıdır, w3m'dir.
https://linux.die.net/man/1/w3mman
W3m paketini kurarak deneyebilirsiniz. Bu paketin çoğu Linux / UNIX dağıtımının ve Cygwin'in yazılım depolarında kayıtlı olduğuna inanıyorum.
w3mman
ayrıca varsayılan Macports w3m
kurulumu ile sağlanır. Harika :) Teşekkürler!
Sorunuzu, iş akışınızı takip etmeye çalıştığım anlamda biraz daha yorumlamaya çalışmama izin verin. Muhtemelen sahip olmak man
istediğiniz, sizi doğrudan okuduğunuz altı çizili komutlara yönlendiren bir sayfadaki anahtar kombinasyondur . Yani, başka bir şey kurmak zorunda kalmamak, başka bir konsolu açmak ve örneğin sözdizimini tam olarak unutmamak.
Bu en basit çözüm ünlem işaretidir ( less
adam sayfalarını görüntülemek için kullanıyorsanız ) ve altı çizili çizgiye gitmek istiyorsanız top
:
!man top
Veya
!man 1 top
Hepsini q
birden çok kez basarak kapatmak zorunda kalacaksınız . Bunun güvenli modda LESSSECURE=1
çalışmasını less
sağlayacak ve kullanmanıza izin vermeyecek çevresel değişken olarak ayarlanması durumunda bunun işe yaramayacağını da unutmayın !
. Size "Komut mevcut değil" gibi bir şey söyleyecektir.
W3mman linkleri takip etmek için bir çözüm olmakla birlikte , tüm ekranı kullanmaz (en azından ubuntu 12.10'da)
Kullanmayı tercih ederim:
$ sudo su -
# apt-get install w3m man2html
# exit
$ alias man=' hman -P w3m'
her oturuma ulaşmak için ~ / .bash_aliases veya benzeri bir başlangıç betiğine en son komutu ekleyin .
-P w3m HMAN ilk tarayıcı çünkü vaşak veya mantıklı tarayıcı ama tercih w3m
hman , html2man'da paketlenmiş bir araçtır. Bkz bu
Beni kullanmaktır olarak ise onayı ile exit size can sıkıcı bu
Özellikle Ubuntu için Yelp var. Varsayılan olarak yüklenir ve varsayılan olarak manuel sayfaları görüntüleyebilir, buna rağmen çalıştırma komutunkiyle aynı değildir man
; bir takma ad veya bir kabuk işlevi, ikinci noktanın etrafında çalışabilir (kabuğunuza bağlıdır).
yelp 'man:exit'
Bir bölüme bilmediğim bir şekilde varsayılan olacaktır. Hatırlatma: Manuel bir konu için bölümler listesini almak için whatis
, içinde olduğu gibi kullanın whatis exit
.
Yelp'in belirli bir bölümden el ile bir sayfa görüntülemesini istemek için, örneğin 2:
yelp 'man:exit(2)'
Sorunlar: yelp'in hataları var ve komut satırından çağırırken çıktıyı almak için hazır olun. Ayrıca, bir takma ad veya özel bir kabuk işlevi, tüm hataların yönlendirilmesine yardımcı olabilir./dev/null
Dedikleri gibi, bunun için tasarlanmadı.
Kullanabilir info man
ve daha sonra enter tuşuna basıp , ürününüzde SEE ALSO bölümüne girilir .
info - Bilgi belgelerini okuyun
Ben bir kaç tane hack var.
Bunu ~ / .bashrc veya ~ / .zshrc'nize koyun.
function man(){
for arg in "$@"; do
vim -c 'execute "normal! :let no_man_maps = 1\<cr>:runtime ftplugin/man.vim\<cr>:Man '"${arg}"'\<cr>:wincmd o\<cr>"'
done
}
Ekran Görüntüsü ..
Asciinema ..
https://asciinema.org/a/130131
Şimdi ..
yazarken man vim
, örneğin, bu adam sayfa açılacaktır vim
man man vim
, örneğin, ilk açılacak man
'ın manuel ve vim çıkmak sonra, açılacak vim
' ın kitabınıK(başkentte k
) tuşuna bastığınızda , altta başka bir adam sayfasındayken (ayrıca bkz. bölüm), bu kılavuza atlayacaksınız (maalesef daha az çağrı cihazının içinde - bunun nedeni biz let no_man_maps = 1
; Bunu yapın, sonra vim q
olmaya zorlar :q
ve bir makroyu kolayca kaydedemezsiniz ve vim başka şekillerde sinsice davranır).
ftplugin / man.vim yüklediğiniz ve ft (otomatik olarak) ayarlandığı için çok güzel sözdizimi vurgulama elde edersiniz man
.
kopyalayıp yapıştırabilir, kolayca vim içinde gezinebilir ve hatta arabelleği değiştirebilir ve hatta değiştirebilirsiniz :w ~/usefulfile
. Kayıt makroları, yank - panoya "+y
(varsa +clipboard
), vb. Dahil olmak üzere normalde yapacağınız her şeyi yapabilirsiniz .
Daha az çok daha güzel buluyorum .
Bulduğum tek küçük gerileme (çağrı cihazınız kadar az kullanıyorsanız hala var olan) bir vim oturumunda birden fazla el kitabının açık olmasını istiyorsanız. Bunu yapmanın bir yolunu görmüyorum.
Birkaç not:
tamponu kaydetmeye çalışırsanız, E382: Cannot write, 'buftype' option is set
yine de kurtarabilirsin :w /tmp/man.man
.man
uzantıyla kaydederseniz, man
açmanız filetipi sizin için ayarlayacaktır..man
uzantıyla kaydetmezseniz , ft komutunu man
çalıştırarak ayarlayabilirsiniz.:set ft=man
autocmd VimEnter *.~ echom 'hooray, we are using vim for man pages!'
Örneğin, man sayfalarını açarken bir şeyler yapmanız gerekiyorsa , örneğin kullanabilirsiniz .
Vimrc'de aşağıdakileri koydum, böylece Kel kitabını açmayı denemek için ve sonra Gönceki el kitabına geri dönmek için düğmesine basın :
augroup man
autocmd!
autocmd VimEnter *.~ nnoremap B :execute "normal! `Z"<cr>
autocmd VimEnter *.~ nnoremap <buffer> K :execute "normal! mZyiw:Man \<lt>c-r>\"\<lt>cr>"<cr>
augroup END
Bunu ~ / .bashrc veya ~ / .zshrc dizinine koyun.
function man(){
declare -a args
for arg in "$@"; do
command man "$arg" > "/tmp/${arg}.man"
args+=("/tmp/${arg}.man")
done
vim "${args[@]}"
}
Ekran Görüntüsü ..
Asciinema ..
https://asciinema.org/a/9Q6Si90Pi46cDVUknxFxfIwsv
Bu, 1 ve daha az yüzü kesen bir sorunu çözer (şimdi birden fazla kılavuzu bir tamponda görüntüleyebilirsiniz), ancak daha az zarif.
Notlar:
ÖNEMLİ hack2'nin çalışmasını istiyorsanız , o zaman kendi anahtarınızı koymak :let no_man_maps = 1
zorundasınız ~/.vimrc
. Bunun nedeni, vim'in kaynak yapması .../vim80/man.vim
ve q
zorla yeniden ele geçirilmesidir :q
.
Daha fazla temizlik işi var (artık her el kitabını /tmp/*.man dizininde saklıyorsunuz )
Bununla birlikte, şimdi, yukarıda belirtildiği gibi, bir oturumda birden fazla man sayfasını görüntüleyebilirsiniz.
Eğer basarsanız K, yine de yeni bir vim oturumu açacaksınız.
autocmd VimEnter man.~ nnoremap <buffer> K :execute "normal! Byt(:silent !man \<c-r>\" > /tmp/\<c-r>\".man\<cr>:edit /tmp/\<c-r>\".man\<cr>"
veya benzeri olmayan) bir şey yapmak için bir otomatik cmd'yi (yukarıdaki gibi bir autocmd kullanarak) bağlayabilirsiniz ( denenmemiş )--html
Argümanı man
$ BROWSER ortam değişkeni tarafından tanımlanan tarayıcıda açmak için kullanabildim , bu yüzden:
BROWSER=google-chrome man ps --help
Fedora kullanıyorum. Bunun sizin dağıtımınız için uygun olup olmadığından emin değilsiniz, lütfen yorumlarınızı test edin ve bildirin.
groff
yüklenmesi gerekiyor. groff
Aynı adı taşıyan paket değilken komut olabilir (komut ile geliyor groff-base
değil tam, groff
paketin). Yaparım man --html="surf file%c//%s" <command>
ve sorun değil. Çok hyper çok sınırlı köprü var olsa da: -.
man is an interface to the on-line reference manuals
(yanlış değilsem) internetteki tüm bilgileri web sitesindeki tüm bilgileri çekmek gerektiği anlamına geldiğini görüyorum , değil mi? Öyleyse, http: // bağlantısının ne olduğuna dair bir ipucu olan var mı?