Linux에서 매뉴얼 페이지를 만드는 방법

0
766
Linux 랩톱의 터미널 창.
Fatmawati Achmad Zaenuri / Shutterstock

새로운 Linux 프로그램이 전문적으로 보이기를 원하십니까? 줘 man 페이지. 가장 쉽고 빠른 방법을 보여 드리겠습니다.

맨 페이지

오래된 유닉스 농담에는 진실의 핵심이 있습니다.“알아야 할 유일한 명령은 man.” 그만큼 man 페이지에는 풍부한 지식이 포함되어 있으며 명령에 대해 배우고 싶을 때 가장 먼저 넘겨야합니다.

제공 man 작성한 유틸리티 또는 명령에 대한 페이지는 유용한 코드에서 완전한 형식의 Linux 패키지로 향상시킵니다. 사람들은 man Linux 용으로 작성된 프로그램에 대해 제공되는 페이지입니다. 기본적으로 Linux를 지원하는 경우 man 프로그램을 진지하게 받아들이려면 페이지가 필수입니다.

역사적으로 man 페이지는 서식 매크로 집합을 사용하여 작성되었습니다. 당신이 부를 때 man 페이지를 열려면 groff 파일의 매크로에 따라 파일을 읽고 형식화 된 출력을 생성합니다. 출력은 다음으로 파이프됩니다. less, 표시됩니다.

당신이 창조하지 않는 한 man 페이지를 자주 작성하고 수동으로 매크로를 삽입하는 것은 어려운 작업입니다. 만드는 행위 man 올바르게 구문 분석되고 올바르게 보이는 페이지는 명령에 대한 간결하면서도 철저한 설명을 제공하려는 목표를 넘어 설 수 있습니다.

모호한 매크로 집합과 싸우지 말고 콘텐츠에 집중해야합니다.

관련 : Linux의 man 명령을 사용하는 방법 : 숨겨진 비밀과 기본

구조대에 pandoc

그만큼 pandoc 프로그램은 마크 다운 파일을 읽고 약 40 개의 다른 마크 업 언어 및 문서 형식으로 새 파일을 생성합니다. man 페이지. 그것은 완전히 변형 man 페이지 작성 과정을 통해 상형 문자와 씨름 할 필요가 없습니다.

시작하려면 다음을 설치할 수 있습니다. pandoc 이 명령을 사용하여 Ubuntu에서 :

sudo apt-get install pandoc

터미널 창에서 "sudo apt-get install pandoc"명령.

Fedora에서 필요한 명령은 다음과 같습니다.

sudo dnf install pandoc

sudo dnf는 터미널 창에 pandoc을 설치합니다.

Manjaro에서 다음을 입력합니다.

sudo pacman -Syu pandoc

sudo pacman -Syu pandoc in a terminal window.

관련 : pandoc을 사용하여 Linux 명령 줄에서 파일을 변환하는 방법

매뉴얼 페이지의 섹션

man 페이지에는 표준 명명 규칙을 따르는 섹션이 있습니다. 섹션 man 페이지 요구 사항은 설명하는 명령의 정교함에 의해 결정됩니다.

최소한 대부분의 매뉴얼 페이지에는 다음 섹션이 포함됩니다.

  • 이름: 명령의 이름과 그 기능을 설명하는 간결한 한 줄입니다.
  • 개요: 누군가가 프로그램을 시작하는 데 사용할 수있는 호출에 대한 간략한 설명입니다. 허용되는 명령 줄 매개 변수의 유형을 보여줍니다.
  • 기술: 명령 또는 기능에 대한 설명입니다.
  • 옵션: 명령 줄 옵션 및 그 기능의 목록입니다.
  • : 일반적인 사용의 몇 가지 예입니다.
  • 종료 값: 가능한 리턴 코드 및 의미.
  • 버그: 알려진 버그 및 단점 목록입니다. 때때로 이것은 프로젝트의 이슈 트래커에 대한 링크로 보완 (또는 대체)됩니다.
  • 저자: 명령을 작성한 사람입니다.
  • 저작권: 귀하의 저작권 메시지. 여기에는 일반적으로 프로그램이 출시되는 라이센스 유형도 포함됩니다.

좀 더 복잡한 것을 살펴보면 man 페이지에는 다른 많은 섹션도 있습니다. 예를 들어 man man. 하지만 모두 포함 할 필요는 없습니다. 정말로 필요한 것만 포함하면됩니다. man 페이지는 장황함을위한 곳이 아닙니다.

합리적으로 자주 볼 수있는 다른 섹션은 다음과 같습니다.

  • 또한보십시오: 주제와 관련된 다른 명령은 유용하거나 관련이 있다고 생각합니다.
  • 파일: 패키지에 포함 된 파일 목록입니다.
  • 주의 사항: 알아 두거나주의해야 할 기타 사항.
  • 역사: 명령에 대한 변경 내역.

매뉴얼 섹션

리눅스 매뉴얼은 man 다음과 같이 번호가 매겨진 섹션으로 나뉩니다.

  1. 실행 가능한 프로그램 : 또는 쉘 명령.
  2. 시스템 호출 : 커널에서 제공하는 기능.
  3. 도서관 호출 : 프로그램 라이브러리 내의 기능.
  4. 특수 파일.
  5. 파일 형식 및 규칙 : 예 :“/ etc / passwd”.
  6. 계략.
  7. 여러 가지 잡다한: 다음과 같은 매크로 패키지 및 규칙 groff.
  8. 시스템 관리 명령 : 일반적으로 루트 용으로 예약되어 있습니다.
  9. 커널 루틴 : 일반적으로 기본적으로 설치되지 않습니다.

마다 man 페이지는 자신이 속한 섹션을 나타내야하며 나중에 살펴 보 겠지만 해당 섹션의 적절한 위치에 저장되어야합니다. 그만큼 man 명령 및 유틸리티에 대한 페이지는 섹션 1에 속합니다.

매뉴얼 페이지의 형식

그만큼 groff 매크로 형식은 시각적으로 파싱하기가 쉽지 않습니다. 대조적으로, 마크 다운은 산들 바람입니다.

아래는 맨 페이지입니다. groff.

groff 형식의 맨 페이지 맨 위.

동일한 페이지가 아래 마크 다운에 표시됩니다.

마크 다운 형식의 맨 페이지 맨 위.

서문

처음 세 줄은 서문. 모두 백분율 기호 (%), 앞에 공백이없고 그 뒤에 하나가 표시됩니다.

  • 첫 번째 줄 : 명령 이름 뒤에 공백없이 괄호 안에 수동 섹션이 있습니다. 이름은 왼쪽 및 오른쪽 섹션이됩니다. man 페이지 헤더. 관례 적으로 명령 이름은 대문자이지만 그렇지 않은 것을 많이 찾을 수 있습니다. 명령 이름 및 수동 섹션 번호 뒤에 오는 모든 항목은 바닥 글의 왼쪽 섹션이됩니다. 소프트웨어 버전 번호로 사용하는 것이 편리합니다.
  • 두 번째 줄 : 저자의 이름. 이러한 내용은의 자동 생성 된 작성자 섹션에 표시됩니다. man 페이지. “저자”섹션을 추가 할 필요가 없습니다. 여기에 이름을 하나 이상 포함하면됩니다.
  • 세 번째 줄 : 바닥 글의 중앙 부분이되는 날짜입니다.

이름

섹션은 숫자 기호 (#)는 마크 다운의 헤더를 나타내는 마크 업입니다. 숫자 기호 (#) 줄의 첫 번째 문자와 그 뒤에 공백이 있어야합니다.

이름 섹션에는 명령 이름, 공백, 하이픈 (-), 공백, 그리고 명령이 수행하는 작업에 대한 매우 간단한 설명.

개요

시놉시스에는 명령 행이 취할 수있는 다양한 형식이 있습니다. 이 명령은 검색 패턴 또는 명령 줄 옵션을 허용 할 수 있습니다. 두 개의 별표 (**)는 명령 이름의 양쪽에 굵게 표시된다는 것을 의미합니다. man 페이지. 단일 별표 (*) 일부 텍스트의 양쪽에 man 페이지에 밑줄이 표시됩니다.

기본적으로 줄 바꿈 뒤에는 빈 줄이옵니다. 빈 줄없이 강제로 중단하려면 후행 백 슬래시 ().

기술

마크 다운에있는 매뉴얼 페이지의 설명 섹션.

설명은 명령 또는 프로그램이 수행하는 작업을 설명합니다. 중요한 세부 사항을 간결하게 다루어야합니다. 사용자 가이드를 작성하는 것이 아닙니다.

두 개의 숫자 기호 (##) 줄의 시작 부분에 수준 2 제목이 생성됩니다. 이를 사용하여 설명을 더 작은 덩어리로 나눌 수 있습니다.

옵션

마크 다운에있는 매뉴얼 페이지의 옵션 섹션.

옵션 섹션에는 명령과 함께 사용할 수있는 명령 줄 옵션에 대한 설명이 포함되어 있습니다. 규칙에 따라 굵게 표시되므로 별표 두 개 (**) 전후. 옵션에 대한 텍스트 설명을 다음 줄에 포함하고 콜론 (:) 뒤에 공백이 있습니다.

설명이 충분히 짧으면 man 명령 줄 옵션과 같은 줄에 표시됩니다. 너무 길면 명령 줄 옵션 아래 줄에서 시작하는 들여 쓰기 된 단락으로 표시됩니다.

마크 다운 메뉴얼 페이지의 예제 섹션.

예제 섹션에는 다양한 명령 줄 형식이 포함되어 있습니다. 설명 줄은 콜론 (:), 옵션 섹션에서했던 것처럼.

종료 값

마크 다운에있는 매뉴얼 페이지의 값 섹션을 종료합니다.

이 섹션에는 명령이 호출 프로세스로 다시 보내는 반환 값이 나열되어 있습니다. 이것은 명령 줄에서 호출 한 경우 셸일 수 있고 셸 스크립트에서 시작한 경우 스크립트 일 수 있습니다. 콜론 (:)도이 섹션에 있습니다.

버그

마크 다운 메뉴얼 페이지의 버그 섹션.

버그 섹션에는 사람들이 알아야 할 알려진 버그, 문제 또는 단점이 나열되어 있습니다. 오픈 소스 프로젝트의 경우 버그의 상태를 확인하거나 새로운 버그를보고하기 위해 여기에 프로젝트의 이슈 트래커 링크를 포함하는 것이 일반적입니다.

저작권

마크 다운에있는 매뉴얼 페이지의 저작권 섹션.

저작권 섹션에는 저작권 설명과 일반적으로 소프트웨어가 출시되는 라이센스 유형에 대한 설명이 포함되어 있습니다.

효율적인 워크 플로우

당신은 당신의 man 좋아하는 편집기의 페이지. 구문 강조를 지원하는 대부분은 마크 다운을 인식하고 제목을 강조하기 위해 텍스트에 색상을 지정하고 굵게 및 밑줄을 긋습니다. 그것이 진행되는 한 훌륭하지만 렌더링 된 man 페이지는 푸딩의 진짜 증거입니다.

마크 다운 파일이 포함 된 디렉토리에서 터미널 창을 엽니 다. 편집기에서 연 상태에서 주기적으로 파일을 하드 드라이브에 저장하십시오. 할 때마다 터미널 창에서 다음 명령을 실행할 수 있습니다.

pandoc ms.1.md -s -t man | /usr/bin/man -l -

pandoc ms.1.md -s -t man |  / usr / bin / man -l-터미널 창에서.

이 명령을 사용한 후에는 위쪽 화살표를 눌러 반복 한 다음 Enter 키를 누를 수 있습니다.

이 명령은 또한 다음을 호출합니다. pandoc 마크 다운 파일 (여기서는 “ms.1.md”라고 함) :

  • 그만큼 -s (독립 실행 형) 옵션은 위에서 아래로 완료를 생성합니다. man 페이지의 일부 텍스트가 아닌 man 체재.
  • 그만큼 -t (출력 유형) “man”연산자가있는 옵션은 pandoc 출력을 생성하려면 man 체재. 우리는 말하지 않았다 pandoc 출력을 파일로 보내려면 stdout.

우리는 또한 그 출력을 man 이랑 -l (로컬 파일) 옵션. 그것은 말한다 man 통해 검색하지 man 데이터베이스를 찾고 man 페이지. 대신 명명 된 파일을 열어야합니다. 파일 이름이 -, man 입력을 stdin.

결론은 편집기에서 저장하고 Q를 눌러 닫을 수 있다는 것입니다. man 터미널 창에서 실행중인 경우. 그런 다음 위쪽 화살표를 누른 다음 Enter 키를 눌러 렌더링 된 버전을 볼 수 있습니다. man 페이지, 바로 내부 man.

관련 : Linux에서 stdin, stdout 및 stderr은 무엇입니까?

매뉴얼 페이지 만들기

완료 한 후 man 페이지에서 최종 버전을 만든 다음 시스템에 설치해야합니다. 다음 명령은 pandoc 생성하기 위해 man “ms.1″페이지 :

pandoc ms.1.md -s -t man -o ms.1

pandoc ms.1.md -s -t man -o ms.1 터미널 창에서.

이것은 명명 규칙을 따릅니다. man 명령 다음에 페이지는 파일 확장자 인 것처럼 매뉴얼 섹션 번호를 설명하고 추가합니다.

이렇게하면 “ms.1″파일이 생성됩니다. man 페이지. 어디에 넣을까요? 이 명령은 man 검색 man 페이지 :

manpath

터미널 창에서 manpath.

결과는 다음 정보를 제공합니다.

  • / usr / share / man : 표준 라이브러리의 위치 man 페이지. 이 라이브러리에 페이지를 추가하지 않습니다.
  • / usr / local / share / man : 이 심볼릭 링크는 “/ usr / local / man”을 가리 킵니다.
  • / usr / local / man : 이것은 우리가 우리의 새로운 man 페이지.

다른 매뉴얼 섹션은 man1, man2, man3 등 자체 디렉토리에 포함되어 있습니다. 섹션에 대한 디렉토리가 존재하지 않는 경우이를 생성해야합니다.

이를 위해 다음을 입력합니다.

sudo mkdir /usr/local/man/man1

그런 다음 “ms.1″파일을 올바른 디렉토리에 복사합니다.

sudo cp ms.1 /usr/local/man/man1

man 기대 man 압축 할 페이지이므로 gzip 압축하려면 :

sudo gzip /usr/local/man/man1/ms.1

만들다 man 새 파일을 데이터베이스에 추가하고 다음을 입력하십시오.

sudo mandb

터미널 창에서 sudo mkdir / usr / local / man / man1.

그게 다야! 이제 우리는 새로운 man 다음을 입력하여 다른 페이지와 동일하게 페이지 :

man ms

터미널 창에서 man ms.

우리의 새로운 man 페이지를 찾아서 표시합니다.

새 매뉴얼 페이지의 상단 섹션.

다른 것과 똑같아요 man 페이지, 적절한 위치에 굵게, 밑줄 및 들여 쓰기 텍스트가 있습니다.

새 매뉴얼 페이지의 중간 섹션.

설명하는 옵션 옆에 맞는 설명 줄은 같은 줄에 나타납니다. 너무 긴 줄은 설명하는 옵션 아래에 표시됩니다.

새 매뉴얼 페이지의 하단 섹션.

또한 “저자”섹션이 자동으로 생성되었습니다. 바닥 글에는 서문에 정의 된대로 소프트웨어 버전 번호, 날짜 및 명령 이름도 포함됩니다.

원하는 경우. . .

한번 pandoc 당신의 man 페이지에서 파일을 직접 편집 할 수도 있습니다. groff 매크로 형식으로 이동하기 전에 man 페이지 디렉토리 및 gzip 그것.