맨 페이지를 사용하여 명령 사용법을 배우려면 어떻게합니까?


92

다른 문제를 연구하면서 나는 명령을 받았습니다 .

locate something | xargs -I {} bash -c "if [ -d "{}" ]; then echo {}; fi"

더 자세히 알고 싶었습니다. 그래서 나는 man xargs다음과 같은 결과를 얻었습니다.

XARGS(1)                    General Commands Manual                   XARGS(1)

NAME
       xargs - build and execute command lines from standard input

SYNOPSIS
       xargs  [-0prtx]  [-E  eof-str] [-e[eof-str]] [--eof[=eof-str]] [--null]
       [-d delimiter] [--delimiter delimiter]  [-I  replace-str]  [-i[replace-
       str]]    [--replace[=replace-str]]   [-l[max-lines]]   [-L   max-lines]
       [--max-lines[=max-lines]] [-n max-args] [--max-args=max-args] [-s  max-
       chars]  [--max-chars=max-chars]  [-P max-procs] [--max-procs=max-procs]
       [--interactive]      [--verbose]      [--exit]      [--no-run-if-empty]
       [--arg-file=file]   [--show-limits]   [--version]   [--help]   [command
       [initial-arguments]]

DESCRIPTION
       This manual page documents the GNU version of xargs...

Linux 프로그램에 대해 배우기 위해 문서를 사용하는 데 더 많은 노력을 기울이고 있지만 "Synopsis"섹션은 새로운 사용자에게 위협이됩니다. 말 그대로 man locate또는에 비해 횡설수설처럼 보입니다 man free.

지금까지 대괄호는 선택 사항이며 중첩 된 대괄호는 옵션의 옵션을 의미합니다. 그러나 어떻게 유효한 명령을 유도해야합니까?

xargs에 대한 도움을 요청하지 않습니다. 복잡한 명령을 이해하기 위해 매뉴얼 페이지를 해석하는 데 도움이 필요합니다. Linux 명령을 배우는 첫 번째 방법 인 Google 색인 웹 블로그와 다른 사람들의 개인적인 도움을 중단하고 싶습니다.


17
매뉴얼 페이지를 계속 읽으십시오. "OPTIONS"섹션은 "SYNOPSIS"섹션에서 사용 가능한 모든 옵션을 설명합니다.
John

7
시작man man
mikeserv

14
종종 맨 아래로 직접 이동하여 예제 섹션을 찾으십시오.
teppic

9
맨 페이지에서 키워드 만 검색하지 마십시오. 정말 읽어보세요! 이상한 행동이 종종 잘 설명되어 있다고 가정합니다.
FloHimself

6
man man읽은 후 man intro.
mikeserv

답변:


102

글쎄, 이것은 맨 페이지를 읽는 매우 개인적인 방법입니다.

맨 페이지

man명령을 사용하여 맨 페이지를 열면 less또는 more명령 또는 호출기 (manpager)로 설정 될 다른 명령에 의해 출력이 표시 / 렌더링됩니다 .

Linux를 사용하는 경우 아마도 /usr/bin/less -is(최소 배포판을 설치하지 않은 경우) 을 사용하도록 이미 구성된 man 인프라와 함께 제공되는 경우 man(1)옵션 섹션에 설명하십시오.

-P pager
Specify which pager to use. This option overrides the MANPAGER environment variable, 
which in turn overrides the PAGER variable. By default, man uses /usr/bin/less -is.

FreeBSD와 OpenBSD에서는 MANPAGER환경 변수 를 편집하기 만하면 됩니다. 대부분 환경 변수를 사용하기 때문에 more검색 및 텍스트 강조 표시와 같은 일부 기능이 누락되었을 수 있습니다.

이 무슨 차이의 질문에 좋은 답변입니다 more, less그리고 most여기 (사용되지 않는다 most). 맨 페이지를 탐색 할 때는 또는 Space로 줄 바꿈 ( 및 바인딩 사용 )을 사용하여 뒤로 또는 뒤로 페이지를 스크롤하는 기능 이 필수적입니다. 사용 하는 동안을 누르면 사용 가능한 명령 요약이 표시됩니다.vijkhless

그렇기 때문에 less맨 페이저 로 사용하는 것이 좋습니다 . less이 답변 중에 사용할 몇 가지 필수 기능이 있습니다.

명령은 어떻게 형식화됩니까?

유틸리티 규약 : Open Group Base 사양 Issue 7-IEEE Std 1003.1, 2013 Edition. 맨 페이지를 이해하기 전에 해당 링크를 방문해야합니다. 이 온라인 참조는 표준 유틸리티의 인수 구문을 설명하고 유틸리티가 처리하는 인수를 설명하기 위해 POSIX.1-2017 전체에서 사용되는 용어를 소개합니다. 이것은 또한 매개 변수, 인수, 인수 옵션과 같은 단어의 실제 의미에 대해 간접적으로 업데이트합니다.

유틸리티 규약의 표기법을 이해 한 후 맨 페이지의 헤드는 덜 까다로워 보일 것입니다.

utility_name[-a][-b][-c option_argument]
    [-d|-e][-f[option_argument]][operand...]

하고 싶은 일을 명심하십시오.

당신에 대한 조사를 xargs할 때 당신은 그것을 목적으로 했어요? 표준 출력을 읽고 해당 출력을 기반으로 명령을 실행해야하는 특정 요구가있었습니다.

그러나 내가 원하는 명령을 모를 때?

사용 man -k또는 apropos(그들은 동일). 파일을 찾는 방법을 모른다면 : man -k file | grep search. 설명을 읽고 귀하의 요구에 더 잘 맞는 것을 찾으십시오. 예:

apropos -r '^report'
bashbug (1)          - report a bug in bash
df (1)               - report file system disk space usage
e2freefrag (8)       - report free space fragmentation information
filefrag (8)         - report on file fragmentation
iwgetid (8)          - Report ESSID, NWID or AP/Cell Address of wireless network
kbd_mode (1)         - report or set the keyboard mode
lastlog (8)          - reports the most recent login of all users or of a given user
pmap (1)             - report memory map of a process
ps (1)               - report a snapshot of the current processes.
pwdx (1)             - report current working directory of a process
uniq (1)             - report or omit repeated lines
vmstat (8)           - Report virtual memory statistics

Apropos는 기본적으로 정규 표현식으로 작동하고 ( man apropos, 설명을 읽고 그 내용을 찾습니다 -r)이 예제에서는 설명이 "report"로 시작하는 모든 맨 페이지를 찾고 있습니다.

표준 입출력 처리를 읽고 xargs가능한 옵션으로 도달하는 것과 관련된 정보를 찾으려면 다음을 수행하십시오 .

man -k command| grep input
xargs (1)            - build and execute command lines from standard input

DESCRIPTION시작하기 전에 항상

시간을내어 설명을 읽으십시오. xargs명령에 대한 설명을 읽음으로써 우리는 그것을 배울 것입니다

  • xargsSTDIN에서 읽고 필요한 명령을 실행합니다. 또한 표준 입력의 작동 방식과 파이프를 통해 명령을 연결하는 방법에 대한 지식이 필요합니다.
  • 기본 동작은 다음과 같습니다 /bin/echo. 이것은 하나 이상의 체인을 연결 xargs해야하는 경우 에코를 사용하여 인쇄 할 필요가 없다는 팁을 제공합니다 .
  • 또한 유닉스 파일 이름에는 공백과 개행 문자가 포함될 수 있으며 이는 문제가 될 수 있으며 인수 -0는 null 문자 구분 기호를 사용하여 폭발을 방지하는 방법 이라는 것을 배웠습니다 . 설명은 입력으로 사용되는 명령이이 기능도 find지원해야 하며 GNU가이를 지원함을 경고 합니다. 큰. 우리는로 찾기를 많이 사용합니다 xargs.
  • xargs 종료 상태 255에 도달하면 중지됩니다.

일부 설명은 매우 짧으며 일반적으로 소프트웨어가 매우 간단한 방식으로 작동하기 때문입니다. 맨 페이지 의이 부분을 건너 뛸 생각조차하지 마십시오 .)

주의 할 사항

를 사용하여 파일을 검색 할 수 있다는 것을 알고 있습니다 find. 많은 옵션이 있으며를 보시면 SYNOPSIS압도 당할 것입니다. 빙산의 일각에 불과합니다. 제외 NAME, SYNOPSIS그리고 DESCRIPTION다음과 같은 부분이있을 것이다 :

  • AUTHORS: 명령 생성을 돕거나 도와 준 사람들.

  • BUGS: 알려진 결함을 나열합니다. 구현 제한 사항 일 수 있습니다.

  • ENVIRONMENT: 명령에 의해 영향을받을 수있는 쉘의 측면 또는 사용될 변수.

  • EXAMPLES또는 NOTES: 자기 설명.

  • REPORTING BUGS:이 도구 나 설명서에서 버그를 발견하면 연락해야 할 사람입니다.

  • COPYRIGHT: 소프트웨어를 생성하고 면책하는 사람. 모든 소프트웨어 자체의 라이센스와 관련이 있습니다.

  • SEE ALSO:이 명령과 관련되어 있고 다른 섹션에는 맞지 않는 다른 명령, 도구 또는 작업 측면.

예제 / 노트 섹션에서 도구의 원하는 측면에 대한 흥미로운 정보를 찾을 수 있습니다.

다음 단계 find에서는 개념 xargs을 설명하는 것보다 "단순"하기 때문에 개념 으로 설명합니다 (한 명령은 파일을 찾고 다른 명령은 다른 명령 출력의 stdin 및 파이프 라인 실행을 처리합니다). 우리 가이 명령에 대해 전혀 아는 것이 없다고 가정 해 봅시다 .

특정 문제가 있습니다 : .jpgftp 서버 폴더 내에서 확장자가 500KiB (KiB = 1024 바이트, 일반적으로 kibibyte) 이상인 모든 파일을 찾아야 합니다.

먼저 매뉴얼을 엽니 다 : man find. 는 SYNOPSIS슬림입니다. 매뉴얼에서 내용을 검색해 봅시다 : 유형 /과 원하는 단어 ( size). -size특정 크기를 계산 하는 많은 항목 을 색인화 합니다. 붙어있어. 주어진 크기보다 "보다"또는 "보다 작은"으로 검색하는 방법을 모르면 그 사람은 나에게 그것을 보여주지 않습니다.

시도해보고를 쳐서 다음 항목을 찾으십시오 n. 승인. 흥미로운 것을 발견했습니다 : find \( -size +100M -fprintf /root/big.txt %-10s %p\n \). 이 예제는 -size +100M100MB 이상의 파일을 찾을 수 있음을 보여줍니다 . 어떻게 확인할 수 있습니까? 맨 페이지로 이동하여 다른 단어를 검색하십시오.

다시 말씀드립니다 greater. 를 누르면 g맨 페이지 헤드로 연결됩니다. /greater첫 번째 항목은 다음과 같습니다.

 Numeric arguments can be specified as

    +n     for **greater** than n,

    -n     for less than n,

     n      for exactly n.

잘 들린다. 이 매뉴얼 블록은 우리가 의심 한 것을 확인한 것으로 보입니다. 그러나 이것은 파일 크기에만 적용되는 것은 아닙니다. n이 맨 페이지에서 찾을 수있는 모든 항목에 적용됩니다 ( "숫자 인수는 다음과 같이 지정할 수 있습니다"라는 구절 참조).

좋은. 이름으로 필터링하는 방법을 찾으십시오 g /insensitive. 왜? 둔감? 이런 씨발? 우리는 가상의 ftp 서버를 가지고 있는데, 여기에서 "다른 OS"사람들은 확장자가 .jpg,, .JPG이고 파일 이름을 지정할 수 .JpG있습니다. 이것은 우리를 이끌 것입니다 :

-ilname pattern
              Like  -lname,  but  the  match  is  case insensitive.  If the -L
              option or the -follow option is in  effect,  this  test  returns
              false unless the symbolic link is broken.

그러나 검색 한 후에 lname는 심볼릭 링크 만 검색한다는 것을 알 수 있습니다. 우리는 실제 파일을 원합니다. 다음 항목 :

   -iname pattern
          Like -name, but the match is case insensitive.  For example, the
          patterns `fo*' and `F??' match  the  file  names  `Foo',  `FOO',
          `foo',  `fOo',  etc.   In these patterns, unlike filename expan‐
          sion by the shell, an initial '.' can be matched by  `*'.   That
          is, find -name *bar will match the file `.foobar'.   Please note
          that you should quote patterns as a matter of course,  otherwise
          the shell will expand any wildcard characters in them.

큰. 나는 이 인수의 대소 문자를 구분하지 않는 버전인지 -name확인 하기 위해 읽을 필요조차 없습니다 -iname. 명령을 어셈블 할 수 있습니다.

명령: find /ftp/dir/ -size +500k -iname "*.jpg"

암시 적 의미 : 와일드 카드 ?는 "단일 위치 *의 모든 문자"를 나타내고 "0 이상의 모든 문자"를 나타냅니다. -name매개 변수는 당신이 지식의 요약을 제공 할 것입니다.

모든 명령에 적용되는 팁

일부 옵션, 니모닉 및 "구문 스타일"은 맨 페이지를 전혀 열지 않아도 시간을 벌 수있는 모든 명령을 통해 이동합니다. 그것들은 연습으로 배우고 가장 일반적인 것은 다음과 같습니다.

  • 일반적으로 -v자세한 정보를 의미합니다. -vvv일부 소프트웨어에서 "매우 상세"변형입니다.
  • POSIX 표준에 따라 일반적으로 하나의 대시 인수를 쌓을 수 있습니다. 예 : tar -xzvf, cp -Rv.
  • 일반적으로 -R및 / 또는 -r재귀를 의미합니다.
  • 거의 모든 명령에는 --help옵션에 대한 간단한 도움말이 있습니다.
  • --version 소프트웨어 버전을 보여줍니다.
  • -p복사 또는 이동 유틸리티에서 "권한 유지"를 의미합니다.
  • -y YES 또는 대부분의 경우 "확인없이 진행"을 의미합니다.

위의 내용이 항상 사실은 아닙니다. 예를 들어 -r스위치는 소프트웨어마다 매우 다른 것을 의미 할 수 있습니다 . 명령이 위험 할 수있는시기를 확인하고 확인하는 것이 좋습니다. 그러나 이것이 일반적인 기본값입니다.

명령의 기본값.

이 답변의 호출기 덩어리에서, 우리는 그 본 less -is의 호출기입니다 man. 명령의 기본 동작이 맨 페이지의 분리 된 섹션이나 가장 높은 섹션에 항상 표시되는 것은 아닙니다.

기본값을 찾으려면 옵션을 읽어야합니다. 운이 좋으면 입력 /pager하면 해당 정보로 연결됩니다. 또한 페이저 (맨 페이지를 스크롤하는 소프트웨어)의 개념을 알아야하며 많은 맨 페이지를 읽은 후에 만 ​​얻을 수있는 것입니다.

왜 중요한가요? 예를 들어 man(1)Linux ( less -ispager) 또는 FreeBSD man(1)에서 읽는 동안 스크롤 및 색상 동작에 차이가있는 경우 인식이 열립니다 .

그리고 SYNOPSIS구문은 어떻습니까?

명령을 실행하는 데 필요한 모든 정보를 얻은 후 옵션, 옵션 인수 및 피연산자를 인라인으로 결합하여 작업을 수행 할 수 있습니다. 개념 개요 :

  • 옵션은 명령 동작을 지시하는 스위치입니다. "이 작업을 수행하십시오 " "이 작업을 수행하지 마십시오 "또는 " 이 방법으로 행동하십시오 ". 스위치라고도합니다.
  • 옵션 인수는 옵션이 -t마운트시 와 같이 이진 (켜기 / 끄기) 이 아닌 경우 파일 시스템 ( -t iso9660, -t ext2) 의 유형을 지정하는 대부분의 경우에 사용됩니다 . " 눈을 감고 "또는 " 동물에게 먹이를 주지만 사자 만 먹이십시오 ". 인수라고도합니다.
  • 피연산자는 해당 명령이 수행되기를 원하는 것입니다. 를 사용하는 경우 cat file.txt피연산자는 현재 디렉토리 내의 파일이며 해당 내용은에 표시됩니다 STDOUT. ls피연산자가 선택적인 명령입니다. 피연산자 뒤의 세 점 cat은 여러 피연산자 (파일)에 동시에 작동 할 수 있음을 암시 적 으로 나타냅니다. 일부 명령이 사용할 피연산자 유형을 설정 한 것을 알 수 있습니다. 예:cat [OPTION] [FILE]...

관련 시놉시스 물건 :

이 방법은 언제 작동하지 않습니까?

  • 예제가없는 맨 페이지
  • 옵션에 대한 간단한 설명이있는 맨 페이지
  • 맨 페이지 and에서 to, 같은 일반 키워드를 사용하는 경우for
  • 설치되지 않은 맨 페이지. 명백한 것처럼 보이지만 lftp(및 해당 맨 페이지)가 설치되어 있지 않은 경우 다음 을 실행하여보다 정교한 ftp 클라이언트로 적합한 옵션인지 알 수 없습니다man -k ftp

어떤 경우에는 예제가 매우 간단하며 테스트를 수행하거나 최악의 경우 Google 명령을 실행해야합니다.

기타 : 프로그래밍 언어 및 모듈 :

프로그래밍하거나 스크립트를 작성하는 경우 일부 언어에는 perl( perldocs), python ( pydocs) 등과 같은 고유 한 맨 페이지 시스템이 있으며 메소드 / 기능, 변수, 동작 및 모듈에 대한 기타 중요한 정보에 대한 특정 정보를 보유합니다. 당신은 사용하고 배우려고 노력하고 있습니다. 이것은 perl Mail::IMAPClient모듈을 사용하여 읽지 않은 IMAP 이메일을 다운로드하는 스크립트를 만들 때 유용했습니다 .

man -k온라인 을 사용 하거나 검색 하여 특정 맨 페이지를 찾아야 합니다. 예 :

[root@host ~]# man -k doc | grep perl
perldoc              (1)  - Look up Perl documentation in Pod format


[root@host ~]# perldoc Mail::IMAPClient
IMAPCLIENT(1)         User Contributed Perl Documentation        IMAPCLIENT(1)

NAME
       Mail::IMAPClient - An IMAP Client API

SYNOPSIS
         use Mail::IMAPClient;

         my $imap = Mail::IMAPClient->new(
           Server   => ’localhost’,
           User     => ’username’,
           Password => ’password’,
           Ssl      => 1,
           Uid      => 1,
         );

... 정규 맨 페이지와 같은 섹션이있는 여기에 다른 것들 ...

파이썬으로 :

[root@host ~]# pydoc sys
Help on built-in module sys:

NAME
    sys

FILE
    (built-in)

MODULE DOCS
    http://www.python.org/doc/current/lib/module-sys.html

DESCRIPTION
    This module provides access to some objects used or maintained by the
    interpreter and to functions that interact strongly with the interpreter.
...again, another full-featured manpage with interesting info...

또는 help()일부 객체에 대한 자세한 내용을 읽으려면 Python 셸 내부 의 기능을 참조하십시오.

nwildner@host:~$ python3.6
Python 3.6.7 (default, Oct 21 2018, 08:08:16)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> help(round)

Help on built-in function round in module builtins:

round(...)
    round(number[, ndigits]) -> number

    Round a number to a given precision in decimal digits (default 0 digits).
    This returns an int when called with one argument, otherwise the
    same type as the number. ndigits may be negative.

보너스 :wtf명령은 whatis약어를 사용하여 데이터베이스에 대한 약어가없는 것처럼 작동 하지만 사용자가 검색하는 것은 man 데이터베이스의 일부입니다. 데비안에서이 명령은 bsdgames패키지의 일부입니다 . 예 :

nwildner@host:~$ wtf rtfm
RTFM: read the fine/fucking manual
nwildner@host:~$ wtf afaik
AFAIK: as far as I know
nwildner@host:~$ wtf afak
Gee...  I don't know what afak means...
nwildner@host:~$ wtf tcp
tcp: tcp (7)              - TCP protocol.
nwildner@host:~$ wtf systemd
systemd: systemd (1)          - systemd system and service manager

당신은 또한 할 수 있습니다 man find | grep .... 좋아합니다man command | sed -n '/^[[:space:]]*-/,/^$/p'
mikeserv

6
예. 할 수 있습니다. 운영자가 "noob"이라고 가정하고 맨 페이지를 시작하려고했습니다. :)

3
이 답변은 "어떻게 효과적으로 사용 man합니까?"에 대한 최고 결과가되어야합니다. 감사합니다.
user1717828

8
@ nwildner, 당신은 그런 거대하고 형식이 좋은 대답 후에 사탕을받을 자격이 있습니다. 잘 했어!
Willian Paixao

6
나는 이것이 리눅스에 추가되어야한다고 생각한다. A와 man과정의 페이지입니다.
myaut

38

이것은 꽤 잘 설명되어 있습니다 man man:

   The following conventions apply to the SYNOPSIS section and can be used
   as a guide in other sections.

   bold text          type exactly as shown.
   italic text        replace with appropriate argument.
   [-abc]             any or all arguments within [ ] are optional.
   -a|-b              options delimited by | cannot be used together.

   argument ...       argument is repeatable.
   [expression] ...   entire expression within [ ] is repeatable.

그로부터 유효한 명령을 작성하는 방법에 관해서는 그렇지 않습니다. 시놉시스는 명령의 작동 방식을 알고 있으면 유용합니다. 기억을 상쾌하게하는 데 도움이됩니다. 명령의 작동 방식을 이해하려면 매뉴얼 페이지를 읽어야합니다. 특히 옵션과 예제 섹션에 대한 설명.

때로는 시놉시스로 충분합니다. 예를 들면 다음과 man ls같습니다.

SYNOPSIS
       ls [OPTION]... [FILE]...

다른 경우에는 문제의 명령을 사용하는 방법을 이미 알고 있지 않으면 쓸모가 없습니다. 예를 들면 다음과 man dd같습니다.

   dd [OPERAND]...
   dd OPTION

결론적으로 시놉시스를 얻지 않아도 걱정하지 마십시오. 정상입니다. 매뉴얼 페이지 자체를 읽으십시오.


조언, 특히 "어떻게 ..."문단에 감사드립니다.
user1717828

21

시놉시스를 이해하기위한 몇 가지 기본 사항

  • 각각 [foo]은 선택적 인수 또는 매개 변수를 나타냅니다.
  • [foo [ bar ] ]구문을 사용, 당신은 foo는 사용할 수 있습니다, 당신은 줄을 추가 할 수 있습니다.
  • 필수 옵션 매개 변수는이 방법으로 사용 [ -S size ]되므로 -S 인수가 필수 크기를 기다리고 있음을 나타냅니다.

예를 들면 : foo [-S size ] filename ...

방법

  • 명령은 foo
  • 선택적 매개 변수를 -S사용할 수 있습니다. size(이름 힌트 제공)
  • 필수 주장은 filename(이것은 힌트도 제공합니다. man mkdir)
  • 줄임표 ...는 여러 파일을 사용할 수 있다고 말합니다.

옵션을 이해하려면 여전히 매뉴얼 페이지 깊이로 가야합니다 (위의 샘플 사례 -S size에서는 약).


14

man페이지는 일반적으로 less요즘 표시됩니다 . 이를 통해 검색 할 수 있습니다. 나는 시놉시스를 귀찮게하지 않을 것입니다. 특히 이해하려는 특정 명령 줄이 있기 때문에 아닙니다.

히트 /하고 입력을 시작 -I다음과 Enter. 첫 번째 히트는 시놉시스에 있고, 두 번째 ( n다음에 사용 )는에 대한 자세한 설명을 제공 -I합니다.


11

기억해야 할 한 가지 중요한 사항은 다른 명령을 실행하는 명령의 경우 하나의 명령에 대한 매뉴얼 만 볼 수 없다는 것입니다.

예제 명령

locate something | xargs -I {} bash -c "if [ -d "{}" ]; then echo {}; fi"

당신은 단지에 대한 정보를 필요로 xargs하지만 bash[(이것은에있을 수 있습니다 test맨). 명령에 복잡한 인용 문자열이 포함되어 있으므로 인용 규칙에 대해 쉘 (아마도 bash)에 대한 정보가 필요할 수도 있습니다. 인용 된 인수가 잘못되었다는 것을 이미 알 수 있습니다 (이름에 공백이있는 파일을 만났을 때만 표시되는 방식으로 잘못되었습니다). 내부 "{}"는 아마 있어야합니다 '{}'.

따라서 먼저 xargs 맨 페이지를 참조 [-I replace-str]하여 -I {}의미 [command [initial-arguments]]가 무엇인지 bash, 그 이후의 의미와 의미를 확인하십시오. 그런 다음 bash맨 페이지를 참조하십시오 -c.


6

이미 주어진 위대한 답변에 추가 :

1) gnu 유틸리티, 특히 sedand과 같은 유틸리티에 관심이있는 grep경우 info명령을 사용 하면 명령 정보를 크게 확장 할 수 있습니다. sed예를 들어, 정규 표현식을 작성하는 방법에 대한 자세한 섹션과 매우 복잡한 사용법 예제가있는 다른 섹션이 있습니다.

2) "수동"입니다. 매뉴얼은 기본적으로 이미 이해하고있는 세부 사항을 기억하는 데 도움이되도록 설계되었습니다. 필요한 세부 정보를 신속하게 얻을 수 있도록 설계되었습니다. (그리고 너무 많은 사람들이 사용 예제가 없거나 사소한 것만 있습니다.)

나는 새로운 것을 나에게 분명하지 않다 명령의도 작은 기능을 학습 할 필요가있을 때, 나는 웹에 가서 내가 (예를 생각할 수있는 최선의 키워드를 사용하여 검색 Linux xargs) 단어를 추가 howto, examples또는 tutorial. 이것은 종종 매우 생산적입니다.

나는 일반적으로 내 개인 정보를 유지하기 때문에 duckduckgo를 사용하지만 검색을 더 많이 제어 해야하는 경우 한 웹 사이트 내에서 검색하거나 작년의 결과 만 반환하도록 Google에 알릴 수 있습니다. (다른 고급 검색 옵션도 많이 있습니다. Google을 사용할 수 있습니다.;))

다른 팁 :

자주 참조하는 명령의 경우 맨 페이지를 텍스트 파일로 저장합니다.

man bash > bashman.txt

텍스트 편집기의 다른 창에 해당 파일을로드하여 앞뒤로 뒤집거나 복사하여 붙여 넣을 수 있습니다. 일반적으로 파일을 읽기 전용으로 만들므로 실수로 파일을 맨손으로 끝내지 않지만 내 파일이기 때문에 개인 사본, 원하는 방식으로 편집하고 태그를 추가하여 섹션을 더 쉽게 찾거나 내 노트 나 예제를 추가 할 수 있습니다.

이것의 유일한 단점은 원본 매뉴얼 페이지가 업데이트되고 내 사본이 정적이라는 것입니다.


4

특정 명령에 대한 빠른 도움말을 얻으려면 Explain Shell을 사용할 수 있습니다 . 예를 들어 명령 . 이것이 어떻게 작동하는지에 대한 높은 수준의 이해를 얻은 후에는 다른 답변에서 권장하는 맨 ​​페이지를 진행해야합니다.


2

리눅스 명령에 대해 더 배울 수있는 유용한 도구가 있습니다 :

  1. cheat명령 행에 자주 사용되는 옵션이 표시됩니다. 또한 특정 명령 command + optioncheat위해 자신 을 표시 할 수 있습니다 .
  2. bropages도구는 명령 행에 대한 몇 가지 예를 제공합니다 bro thanks. 검증 코드를 얻은 후 자신의 예를 추가하거나 주어진 예를 공표 / 공감할 수 있습니다. 투표해야하는 명령이 bro페이지 상단에 나타납니다 .

1

tldr포괄적 인 사람과 비슷한 도구를 제안 합니다. 단순화되고 커뮤니티 중심의 매뉴얼 페이지. 우분투에서는 스냅을 통해 설치할 수 있지만 다른 배포판 버전도 있습니다. 또한 몇 가지 일반적인 사용 예를 제공합니다. 100 % 권장.


0

> 복잡한 명령을 이해하기 위해 매뉴얼 페이지를 해석하는 데 도움이 필요합니다.

나는 이것이 오해라고 생각합니다. Linux / UNIX를 매우 강력하게 만드는 것은 파이프 ( )를 통해 한 명령의 stdout (여기서는 locate)을 다른 명령 (여기서는 )의 stdin으로 리디렉션하여 매우 길고 효과적인 명령을 구성 할 수 있다는 것 입니다. 따라서 Random832가 올바르게 말했듯이 예제 명령의 기능을 설명하는 단일 맨 페이지를 찾을 수 없습니다.xargs|

Linux 쉘 스크립팅 안내서를 읽는 것이 좋습니다. 고급 Bash 스크립팅 가이드는 훌륭한 문서입니다. 그것에 겁 먹지 마십시오. 리눅스를 마스터하는 데는 몇 년이 걸리고 끝없는 과정이지만, 합리적인 시간 안에 기본 사항을 배울 수 있습니다.

그런 다음 특정 명령의 세부 사항을 알아야 할 경우 맨 페이지를 참조하십시오.

일단 당신이 그것의 요지를 얻었 으면 CommandlinefuBash One-Liners 는 좋은 예를 얻기 위해 읽을 가치가 있습니다.


-1

매뉴얼 페이지에서 특정 명령을 검색하려면 다음을 사용하십시오.

man echo | grep output.

그러나 스위치를 검색하려면 (예 -n:) 다음과 같이 사용해야합니다.

man echo | grep -- -n
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.