Apa perbedaan antara `man` dan` man (#) `?

31

Baru saja melihat seseorang referensi man 7 regexdi Stackoverflow. Saya mencoba man regexdan mendapatkan hasil yang sangat mirip - tampaknya ada sedikit perbedaan.

Jadi, apa angka ajaib 7 ini? Pencarian man 7 unixdi Google memberi saya hasil yang lebih misterius seperti UNIX (7) ...

Aditya MP
sumber

Jawaban:

33

Tentang UNIX(7)

Untuk menjawab pertanyaan Anda tentang "UNIX (7)", ini adalah konvensi standar untuk mengatakan "Halaman manual untuk UNIX di bagian 7 (bermacam-macam)".

Untuk membuka halaman seperti init(8), Anda akan menggunakan perintah ini: man 8 init.


man regex vs. man 7 regex

Untuk menjawab pertanyaan Anda tentang 'perbedaan halus' antara man regexdan man 7 regex:

mansecara default membuka halaman dengan nomor bagian terendah . Dalam hal ini, ini adalah bagian 3 (Panggilan perpustakaan). Membuka halaman dari bagian 7 (Lain-lain) sangat berbeda.

Halaman di bagian yang berbeda membahas hal yang berbeda, meskipun dalam kasus ini mirip, pertimbangkan apt:

man -f apt:

apt (8)              - Advanced Package Tool
apt (1)              - annotation processing tool

Dalam contoh ini, aptdari bagian 8 (Perintah administrasi sistem) sama sekali tidak terkait dengan halaman dari bagian 1 (Program yang dapat dijalankan atau perintah shell).

Untuk referensi di masa mendatang, gunakan man -f PAGE_NAMEuntuk mencari semua halaman dengan nama itu di semua bagian. Anda kemudian dapat membuka halaman dari bagian yang Anda inginkan man SECTION PAGE_NAME.

Bagian halaman manual

Berbagai bagian halaman adalah sebagai berikut dan dapat ditemukan dari man man:

  1. Program yang dapat dieksekusi atau perintah shell
  2. Panggilan sistem (fungsi disediakan oleh kernel)
  3. Panggilan perpustakaan (fungsi dalam perpustakaan program)
  4. File khusus (biasanya ditemukan di /dev)
  5. Format dan konvensi file misalnya /etc/passwd
  6. Pertandingan
  7. Lain-lain (termasuk paket dan konvensi makro), misalnya man(7),groff(7)
  8. Perintah administrasi sistem (biasanya hanya untuk root)
  9. Kernel rutinitas [Non standar]
kiri
sumber
14

Nomor bagian

manakan menampilkan halaman manual dari bagian mana pun, man 7akan menampilkan halaman manual dari bagian 7. Jadi, di sini 7 merujuk ke bagian dari perintah khusus yang Anda cari halaman manual.

Bagian, jika disediakan, akan mengarahkan manusia untuk melihat hanya di bagian manual itu.


Bagian

Lihat tabel berikut untuk nomor bagian dari manual diikuti oleh jenis halaman yang dikandungnya.

1: Program yang dapat dijalankan atau perintah shell

2: Panggilan sistem (fungsi disediakan oleh kernel)

3: Panggilan perpustakaan (fungsi dalam perpustakaan program)

4: File khusus (biasanya ditemukan di / dev)

5: Format dan konvensi file misalnya / etc / passwd

6: Game

7: Lain-lain (termasuk paket dan konvensi makro), mis. Man (7), groff (7)

8: Perintah administrasi sistem (biasanya hanya untuk root). Tinjauan umum berbagai topik, konvensi dan protokol, standar karakter yang ditetapkan, dan hal-hal lainnya.

9: Kernel rutin [Non standar]


Perintah di lebih dari satu bagian

Dalam sebagian besar kasus, Anda ingin menggunakan manperintah tanpa tambahan n . Namun, dalam beberapa kasus perintah akan muncul di lebih dari satu bagian. Sebagai contoh jika Anda mengeluarkan perintah man open, Anda mendapatkan halaman manual untuk openvt dari bagian 1. Tetapi jika Anda perlu melihat halaman manual untuk terbuka sebagai perintah C (atau panggilan sistem, sesuai tabel di atas), Anda perlu mengeluarkan man 2 open.

Contoh yang sangat mirip adalah man printfdan man 3 printf. Silakan mengeluarkan perintah dan lihat sendiri perbedaan dalam output.


Masalah Anda dari man 7 unix(UNIX (7))

Jadi, itu UNIX (7) berarti bahwa itu milik bagian 7.


Bagian mana yang akan ditampilkan secara default jika saya tidak memberikan nomor bagian?

Tindakan default adalah mencari di semua bagian yang tersedia, mengikuti urutan yang ditentukan sebelumnya dan hanya menampilkan halaman pertama yang ditemukan, bahkan jika halaman ada di beberapa bagian.


Bagaimana saya tahu nomor bagian dari suatu perintah?

Jika Anda perlu mencari tahu bagian mana dari istilah / perintah yang ada man -k(setara dengan perintah apropos). Jadi, man -k printf akan mencari deskripsi pendek dan nama halaman manual untuk kata kunci printf sebagai ekspresi reguler. Cetak semua kecocokan. (Setara dengan apropos -r printf). Keluarkan perintah, lihat ton yang Anda dapatkan. Jika perlu menghindari kecocokan substring, (mis. Itu akan menunjukkan sprintf jika Anda menjalankan man -k printf), jadi Anda perlu menggunakan ^termuntuk membatasinya, seperti di bawah ini,

man -k '^printf'
Printf (3o)          - Formatted output functions.
printf (1)           - format and print data
printf (3)           - formatted output conversion

Perintah terkait

Perintah terkait aproposseperti ditunjukkan di atas, yang mencari nama halaman dan deskripsi. Jika Anda tidak yakin halaman manual mana yang Anda cari tetapi memiliki ide umum, gunakan perintah ini.

Masroor
sumber
Tetapi dokumentasi untuk regextidak memiliki 7 bagian ...
Aditya MP
@adityamenon Silakan lihat jawaban yang diperbarui, itu diposting sebelum selesai.
Masroor
Saya melihat - jadi 'Bagian' di sini berarti "klasifikasi program".
Aditya MP
@ Adityamenon Benar Anda, saya akan lebih nyaman dengan istilah yang Anda gunakan.
Masroor
Secara khusus, "bagian" di sini berarti "bagian dari Manual", seolah-olah semua halaman manual berada dalam satu manual cetakan (tebal)
Jonathan Callen