나는 man
이것이 어떻게 작동하는지 이해하려고 노력하고 있습니다. 안타깝게도 man man
다음 질문에 대해서는 답변이 제공되지 않았습니다.
- 명령 페이지가 함께 설치되어 있습니까, 아니면
man
원격 데이터베이스에서 얻습니까? - 웹에서 가져온 것이라면 얼마나 안전할까요? TLS를 통해 수행됩니까?
man
페이지를 로컬로 캐싱하시겠습니까 ? 그렇다면 정기적으로 청소해야 할까요?
답변1
현대 유닉스 계열 시스템에서파일 시스템 계층 표준, 매뉴얼 페이지는 일반적으로 에 있는 디렉토리 트리에 저장됩니다 /usr/share/man
. 이전 UNIX 계열 시스템에서는 이 /usr/man
.
일반적으로 man
네트워크는 전혀 사용되지 않지만 누군가 어딘가에 네트워크 기반 구현을 구현했을 수도 있습니다.
roff
일반적으로 매뉴얼 페이지는 원래 (GNU 구현 이름이 지정됨)이라는 오래된 문서 형식 지정 시스템을 사용하여 작성됩니다 groff
. 매뉴얼 페이지를 볼 때 이 man
명령은 현재 사용 중인 창의 너비에 적합한 출력을 생성하는 포맷터를 통해 매뉴얼 페이지 소스 코드를 실행합니다. 포맷터는 동일한 소스 코드에서 PostScript, PDF 및 HTML 버전의 매뉴얼 페이지도 생성할 수 있으며 이는 터미널 스타일의 고정 폭 텍스트에 국한되지 않습니다.
이 명령은 일반적으로 (FHS) 또는 매뉴얼 페이지 디렉토리 계층 구조(이전 시스템)의 별도 하위 디렉토리에서 빠르게 다시 볼 수 있도록 man
매뉴얼 페이지의 형식화된 텍스트 버전을 페이지로 캐시합니다 . 시스템에 이 캐시를 자동으로 정리하는 기본(보통 매주) 크론 작업이 이미 포함되어 있을 수 있습니다.cat
/var/cache/man
CUPS 인쇄 시스템에서 PDF로 인쇄가 활성화된 경우 man -t ls | lp -d <name of your PDF virtual printer>
PDF 뷰어로 실행하고 결과 출력을 확인하세요. 아니면 man -Thtml ls > ls_man_page.html
HTML 버전을 구하세요. (이것은 Debian 10의 명령 man-db
구현 입니다 man
. 형식 옵션은 다른 구현에서 다를 수 있습니다.)
답변2
명령 페이지가 함께 설치되는지 여부
예, 일반적으로 그렇습니다. 그러나 물론 로컬 패키지 관리 시스템을 사용하지 않고도 언제든지 시스템에 새로운 사용자 정의 맨페이지를 추가할 수 있습니다. 시스템 패키지 관리자를 사용하여 해당 맨페이지 com이 어느 패키지에서 왔는지 알아낼 수 있습니다. Linux 기반 시스템의 맨페이지 중 상당 부분은 다음에서 제공됩니다.Linux 매뉴얼 페이지 프로젝트.
웹에서 가져온 것이라면 얼마나 안전할까요?
그렇지는 않지만 다른 사람들이 말했듯이 누군가가 자신의 구현을 작성했을 수도 있습니다. 첫 번째 줄에서 혼란이 올 수 있다고 생각합니다 man man
.
man - an interface to the on-line reference manuals
또는 BSD 버전에서는:
man — display online manual documentation pages
바라보다이 LQ 질문 설명을 위해.
재미로도 보세요https://explainshell.com. 이것은 주어진 명령의 옵션이 무엇을 의미하는지 빠르게 설명하는 좋은 사이트입니다. https://explainshell.com/explain?cmd=ls+-Alhtr그러나 주어진 명령의 로컬 구현은 다를 수 있거나 모든 옵션을 지원하지 않을 수 있다는 점을 명심하십시오(특히 소규모 Busybox와 같은 시스템을 사용하는 경우).
원격 디렉토리를 로컬로 마운트하고 거기에서 매뉴얼 페이지를 찾도록 man
지시할 수 있다는 점에서 확실히 네트워크를 통해 작동합니다. 예를 들어 원격 FreeBSD 시스템에서 다음과 같이 매뉴얼 페이지를 읽을 수 있습니다.man
$ sshfs freebsd:/usr/share/man /mnt/bsd-manpages
$ MANPATH=/mnt/bsd-manpages man man
$ MAN(1)
BSD General Commands Manual MAN(1)
NAME
man — display online manual documentation pages
man은 페이지를 로컬로 캐시합니까? 그렇다면 정기적으로 청소해야 할까요?
이미 아주 잘 설명했어요텔레콤의 답변.