Halaman manual untuk Git Bash di Windows 7

19

Saya menggunakan Git bash pada Windows 7. Ini memberi saya cara untuk menggunakan sebagian besar perintah yang saya gunakan pada bash shell pada mesin Ubuntu saya. Tetapi perintah man dan info tidak berfungsi. Apakah ada cara untuk mendapatkan perintah dokumentasi (luar biasa) ini bekerja pada Git bash shell di windows?

Prasanth
sumber

Jawaban:

2

Anda dapat menggunakan dokumentasi online.

Halaman manual Linux secara online & Halaman Info GNU

Sathyajith Bhat
sumber
Adakah program yang akan terhubung ke halaman web ini dari baris perintah dan menampilkan hasilnya? sehingga saya masih bisa mengetik info grep di shell dan mendapatkan hasilnya di sana?
Prasanth
1
@Rasanth mungkin Anda bisa melakukan wget <URL> & lalu terima.
Sathyajith Bhat
atau dia bisa melakukan ini curl "http://man.he.net/?topic=<command_name>&section=all". ganti <command_name>dengan perintah yang Anda cari
mr5
7

Ini mungkin sedikit berlebihan, tapi Anda bisa men-download Cygwin yang akan mencakup bash, mandan pembaca info seperti pinfo.

Penginstal cygwin memungkinkan Anda mengkustomisasi penginstalan menjadi sebagian kecil dari cygwin.

Homolka yang kaya
sumber
2
Tidak berlebihan sedikit pun; tampaknya cukup umum bahwa seseorang akan menginginkan pengalaman Unixy di Windows dan menginstal Git Bash dengan keliru berpikir bahwa itulah cara untuk mendapatkannya. Sementara itu, Cygwin benar-benar menyediakannya, mungkin semaksimal mungkin atau hampir seperti itu.
Aaron Miller
6

Anda bisa membuat halaman manual bekerja di lingkungan bash Git, tetapi mungkin lebih nyaman untuk mempertimbangkan alternatif lain yang membutuhkan lebih sedikit pekerjaan.

Saya juga tidak punya banyak perwakilan di SuperUser, jadi saya sedih mengatakan saya tidak bisa benar-benar memberikan semua tautan yang saya butuhkan dalam tanggapan. Saya memposting ulang respons saya di Tumblr.

Singkatnya:

  • Pesta Git adalah bagian dari proyek msysGit.
  • msysGit adalah fork dari proyek MinGW dan MSYS
  • Anda membutuhkan msysGit atau MinGW untuk menginstal MinGW
  • Anda perlu MinGW-untuk menginstal Groff
  • Anda akan membutuhkan Groff untuk menjalankan skrip ini untuk memberi Anda perintah man dari dalam bash shell msys
  • Dengan skrip tersebut, Anda dapat membaca halaman manual. Anda hanya perlu mengunduhnya ke jalur yang Anda tunjukkan dalam skrip.

Semoga berhasil.

Dave
sumber
2
Anda dapat menginstal man with MinGW-get install msys-man. Man juga tersedia sebagai binary windows: sourceforge.net/projects/ezwinports/files (ditemukan melalui FAQ: mingw.org/wiki/FAQ#toc10 ). Halaman itu juga memiliki groff. Entah mungkin akan berjalan lebih cepat dari skrip-skrip itu.
Sam Hasler
@SamHasler msys-man sangat bagus. Terima kasih atas tipnya, saya tidak tahu bagaimana saya melewatkan itu.
Dave
4

Saya telah dijahit bersama beberapa jawaban lain untuk mendapatkan manperintah yang dapat Anda gunakan seperti yang Anda alami. Cukup masukkan yang berikut ini di terminal Anda .bashrc, dan salah satu dari sourceitu, atau buka kembali terminal Anda.

function man {
    local section=all
    if [[ "$1" =~ ^[0-9]+$ ]]; then section="$1"; shift; fi
    local doc="$(curl -v --silent --data-urlencode topic="$@" --data-urlencode section="$section" http://man.he.net/ 2>&1)"
    local ok=$?
    local pre="$(printf '%s' "$doc" | sed -ne "/<PRE>/,/<\/PRE>/ { /<PRE>/ { n; b; }; p }")"
    [[ $ok -eq 0 && -n "$pre" ]] && printf '%s' "$pre" | less || printf 'Got nothing.\n' >&2
    return $ok
}

Ini juga mendukung permintaan bagian manusia tertentu, misalnya man 3 printfuntuk panggilan sistem.

Kelemahan: Sumber (man.he.net) sebenarnya bukan RESTful API, dan mengembalikan 200 bahkan ketika tidak ada yang ditemukan, jadi sulit untuk memberikan pesan kesalahan yang akurat. Sebagai gantinya, ini hanya mencetak "Tidak punya apa-apa", tidak peduli apa masalahnya. Ini mungkin bisa diperbaiki. Juga, halaman yang dihasilkan berisi entitas html, seperti &lt;bukannya <, yang membuat beberapa string penggunaan jelek.

Pianosaurus
sumber
2

Selain jawaban Sathya , Anda juga bisa melakukan ini di bash untuk Windows:

curl -v --silent "http://man.he.net/?topic=<command_name>&section=all" 2>&1 | sed -n "/<PRE>/,/<\/PRE>/p"

Ganti saja <command_name>dengan perintah yang Anda cari.

Contoh output untuk perintah ls:

<PRE> SYNOPSIS ls [OPSI] ... [FILE] ...

DESKRIPSI Daftar informasi tentang FILE (direktori saat ini secara default). Urutkan entri secara alfabet jika tidak ada -cftuvSUX atau --sort ditentukan.

   Mandatory  arguments  to  long  options are mandatory for short options
   too.

   -a, --all
          do not ignore entries starting with .

   -A, --almost-all
          do not list implied . and ..

   --author
          with -l, print the author of each file

   -b, --escape
          print C-style escapes for nongraphic characters

   --block-size=SIZE
          scale   sizes   by   SIZE   before   printing    them.     E.g.,
          `--block-size=M'  prints sizes in units of 1,048,576 bytes.  See
          SIZE format below.

   -B, --ignore-backups
          do not list implied entries ending with ~

   -c     with -lt: sort by, and show, ctime (time of last modification of
          file  status  information)  with -l: show ctime and sort by name
          otherwise: sort by ctime, newest first

   -C     list entries by columns

   --color[=WHEN]
          colorize the output.   WHEN  defaults  to  `always'  or  can  be
          `never' or `auto'.  More info below

   -d, --directory
          list  directory entries instead of contents, and do not derefer-
          ence symbolic links

   -D, --dired
          generate output designed for Emacs' dired mode

   -f     do not sort, enable -aU, disable -ls --color

   -F, --classify
          append indicator (one of */=&gt;@|) to entries

   --group-directories-first
          group directories before files.

          augment  with  a  --sort option, but any use of --sort=none (-U)
          disables grouping

   -G, --no-group
          in a long listing, don't print group names

   -h, --human-readable
          with -l, print sizes in human readable format (e.g., 1K 234M 2G)

   --si   likewise, but use powers of 1000 not 1024

   -H, --dereference-command-line
          follow symbolic links listed on the command line

   --dereference-command-line-symlink-to-dir
          follow each command line symbolic link that points to  a  direc-
          tory

   --hide=PATTERN
          do  not  list implied entries matching shell PATTERN (overridden
          by -a or -A)

   --indicator-style=WORD
          append indicator with style WORD to entry names: none (default),
          slash (-p), file-type (--file-type), classify (-F)

   -i, --inode
          print the index number of each file

   -I, --ignore=PATTERN
          do not list implied entries matching shell PATTERN

   -k     like --block-size=1K

   -l     use a long listing format

   -L, --dereference
          when showing file information for a symbolic link, show informa-
          tion for the file the link references rather than for  the  link
          itself

   -m     fill width with a comma separated list of entries

   -n, --numeric-uid-gid
          like -l, but list numeric user and group IDs

   -N, --literal
          print  raw entry names (don't treat e.g. control characters spe-
          cially)

   -o     like -l, but do not list group information
          enclose entry names in double quotes

   --quoting-style=WORD
          use  quoting style WORD for entry names: literal, locale, shell,
          shell-always, c, escape

   -r, --reverse
          reverse order while sorting

   -R, --recursive
          list subdirectories recursively

   -s, --size
          print the allocated size of each file, in blocks

   -S     sort by file size

   --sort=WORD
          sort by WORD instead of name: none -U, extension  -X,  size  -S,
          time -t, version -v

   --time=WORD
          with  -l,  show time as WORD instead of modification time: atime
          -u, access -u, use -u, ctime -c, or  status  -c;  use  specified
          time as sort key if --sort=time

   --time-style=STYLE
          with  -l, show times using style STYLE: full-iso, long-iso, iso,
          locale, +FORMAT.  FORMAT is interpreted like `date';  if  FORMAT
          is  FORMAT1&lt;newline&gt;FORMAT2, FORMAT1 applies to non-recent files
          and FORMAT2 to recent files; if STYLE is prefixed with `posix-',
          STYLE takes effect only outside the POSIX locale

   -t     sort by modification time, newest first

   -T, --tabsize=COLS
          assume tab stops at each COLS instead of 8

   -u     with  -lt:  sort  by, and show, access time with -l: show access
          time and sort by name otherwise: sort by access time

   -U     do not sort; list entries in directory order

   -v     natural sort of (version) numbers within text

   -w, --width=COLS
          assume screen width instead of current value

   -x     list entries by lines instead of by columns

   -X     sort alphabetically by entry extension

   -Z, --context
          print any SELinux security context of each file

   Using color to distinguish file types is disabled both by  default  and
   with  --color=never.  With --color=auto, ls emits color codes only when
   standard output is connected to a terminal.  The LS_COLORS  environment
   variable can change the settings.  Use the dircolors command to set it.

Status keluar: 0 jika OK,

   1      if minor problems (e.g., cannot access subdirectory),

   2      if serious trouble (e.g., cannot access command-line argument).

PENULIS Ditulis oleh Richard M. Stallman dan David MacKenzie.

PELAPORAN BUGS Laporkan bug ke [email protected] beranda GNU coreutils: < http://www.gnu.org/software/coreutils/> ; Bantuan umum menggunakan perangkat lunak GNU: < http://www.gnu.org/gethelp/> ; Laporkan bug terjemahan ke < http://translationproject.org/team/> ;

HAK CIPTA Hak Cipta (C) 2011 Free Software Foundation, Inc. Lisensi GPLv3 +: GNU GPL versi 3 atau lebih baru < http://gnu.org/licenses/gpl.html> ;. Ini adalah perangkat lunak gratis: Anda bebas untuk mengubah dan mendistribusikannya kembali. TIDAK ADA GARANSI, sejauh diizinkan oleh hukum.

LIHAT JUGA Dokumentasi lengkap untuk ls dikelola sebagai manual Texinfo. Jika program info dan ls diinstal dengan benar di situs Anda, perintah

          info coreutils 'ls invocation'

   should give you access to the complete manual.

GNU coreutils 8.12.197-032bb September 2011
<STRONG> <A HREF="/man1/LS"> LS (1) </A> </STRONG> </PRE>

mr5
sumber
1

The jawaban , dari ini pertanyaan , mungkin bisa membantu:

Memberi Anda info untuk perintah tepat di jendela bash.

Perintah Git Referensi Cepat

git [command] -help

Membuka info online untuk perintah di browser Anda.

Perintah Git Halaman Manual

git help [command]
git [command] --help
Justin
sumber
Di masa mendatang, Anda akan mengutip dan mengutip informasi yang relevan saat Anda memberikan tautan. Anda juga harus mempelajari cara memformat jawaban Anda dengan benar.
Ramhound
Tampaknya ini hanya untuk perintah Git. Ini belum tentu sama dengan rekan non-git mereka. Misalnya git greptidak mendukung -Ropsi. git-scm.com/docs/git#_git_commands
Lorem Ipsum
0

Jika ada orang lain yang mencoba manbekerja di Windows dan menggunakan Msys2 , inilah yang saya temukan:

Saya menjadi sangat dekat dengan menggunakan jawaban di atas yang mengatakan untuk menginstal groff(tersedia melalui pacman) dan kemudian menggunakan skrip di sini , yang pada intinya adalah panggilan untuk groff -Tascii -mandoc -P-c.

Tapi saya tidak bisa membuatnya berfungsi pada halaman manual saya (ditemukan /usr/share/man) kecuali saya membuka file gz terlebih dahulu !

Ini bukan solusi yang dapat diterima, jadi saya melihat lebih jauh dan menemukan itu dengan berlari

pacman -Ss -man

bahwa ada tiga paket (saat ini) yang memiliki awalan "man-". ( lihat mereka di sini ).

Saya mencoba yang disebut man-db , ini berhasil, dan sekarang saya memiliki kemampuan untuk berlari mandalam mode yang diharapkan biasa.

TT--
sumber
Hari ini saya hanya bisa menjalankan pacman -S mandan menginstal hasil seperti yang diharapkan
Toby
0

Tambahkan ke akhir .bashrc

C:\Users\<Username>\.bashrc

function man() {
    VAR1="http://man.he.net/?topic="
    VAR2=$1
    VAR3="&section=all"
    VAR4="$VAR1$VAR2$VAR3"
    curl -v --silent "$VAR4" 2>&1 | sed -n "/<PRE>/,/<\/PRE>/p"
}

Tambahkan ke akhir .bash_profile

C:\Users\<Username>\.bash_profile

# Read .bashrc
source ~/.bashrc

Mulai ulang terminal.

man findakan mengembalikan halaman buku panduan untuk find.


Ini adalah versi untuk jawaban yang sangat singkat:

function man-short() {
    $1 --help
}
dfghjiuytr4567890
sumber