프로그래밍/예전글

페도라 리눅스 시작하기 (명령어 찾기)

Cat체셔 2010. 8. 13. 20:54


페도라 리눅스를 실행시키면,



윈도우즈에서는 명령프롬프트와 비슷한 터미널입니다.

bash: mycommand: command not found
터미널에서 나타나는 오류들입니다.
이것들은
ㅁ 사용자가 명령어 이름을 잘못 타이핑 했을 때,
ㅁ 명령어가 여러분이 위치한 경로에 있지 않을 때,
ㅁ 명령어 실행을 위해 root 사용자 권한이 필요할 때,
ㅁ 명령어가 사용자의 컴퓨터에 설치되지 않았을 때,
로 나뉘어 집니다.


그렇다면 명령어를 알아낼 수 있는 방법 없을까요?? 리눅스는 똘똘한 녀석이다보니 명령어를 찾는 명령어도 있습니다.

$ type mount
 - PATH 경로에서 첫 번째 mount 명령을 보여준다.

$ whereis mount
 - mount에 대한 binary, source, man 페이지를 보여준다.

$ locate bash.ps
 - 파일 시스템에서 back.ps가 어디 있는지 찾는다.

$ which umount
 - PATH 경로에 지정된 위치 또는 aliases에서 umount 명령을 찾아준다.

$ rpm -qal |grep umount
 - umount 명령어를 설치된 패키지에서 찾는다.

$ yum whatprovides bzfs
 - bzfs를 bzflag패키지에서 찾는다.




 ※ 기존의 리눅스와 UNIX 문서는 일반적으로 man페이지라고 하는 메뉴얼로 제작되고 있습니다. 약간의 더 세련된 문서 작업은 나중에 info 시스템과 함계 진행되었습니다. 그리고 각 명령어는 자체적으로 help메시지를 항상 보유하고 있습니다.

도움 메시지 사용(--help)

$ls --help | less
 - 뜻    : ls명령어를 위한 도움말을 표시
 - 출력 : Usage: ls [OPTION]...[FILE]...
            List information about the FILEs(the current directory by default).
            Sort entries alphabetically if none of -cftuSUX nor --sort.
            Mandatory arguments to long options are mandatory for short options.
              -a, --all                                  do not hide entries starting with.
              -A, --almost-all                       do not list implied. and...
                   --author                             with -l, print the author of each file
                                                 .
                                                 .
                                                 .
                                                 .

  바로 앞의 출력은 ls 커맨드라인이 어떻게 사용되고, 이용 가능한 옵션에는 무엇이 있는지 리스팅해 준다.

man 페이지의 사용

man페이지란?
- 명령어 도움말 페이지
- 서버 관리시 숙달되지 않은 명령어의 사용법이나 옵션들을 알고자 할 때 사용한다.


사용자가 어떤 단어와 관계가 있는 명령어를 man페이지에서 찾기를 원한다면 man페이지 데이터베이스를 찾아보는 apropos명령어를 사용하면 됩니다. 다음 명령어는 man페이지 NAME라인에서 crontab을 가지는 페이지를 보여줍니다.

$apropos crontab
...
/etc/anacrontab [anacrontab] (5) - configuration file for anacron
crontab                    (1)    - maintain crontab files for individual
                                      users (ISC Cron V4.1)
crontab                    (5)    - tables for driving cron ( ISC Cron V4.1)
crontabs                  (4) - configuration and scripts for running periodical jobs
...

 apropos 출력은 crontab을 포함하는 각 man 페이지 NAME라인을 보여준다. 숫자는 man 페이지에 나타나는 man 페이지 섹션을 보여줍니다.
 whatis명령어는 사용자가 입력한 단어를 포함하는 NAME라인만을 보여주는 방법입니다.

$whatis cat
cat                         (1)     - concatenate files and print on the standard output

 용어로 man페이지를 찾는 가장 쉬운 방법은 man 명령어 다음에 명령어 이름을 적는 것이다. 예를 들면, 다음과 같습니다.

$man find
FIND(1)                                        FIND(1)
NAME
            find - search for files in a directory hierarchy
SYNOPSIS
            find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...][expression]
...

이상과 같이 find 명령어와 관련된 첫 번째 man페이지를 표시합니다. 사용자가 이전의 예에서 보았던 것처럼, 일부 용어는 여러 가지의 man 페이지를 가집니다. 예를 들어, crontab으로 검색을 하게 되면 crontab 명령어와 crontab과 관련된 파일들에 대한 man페이지들이 나타납니다.

Man 페이지들은 여러가지 section별로 구성되어 있습니다.

 섹션
   1          - 일반 사용자 명령어
   2          - 시스템
   3          - 프로그래밍 루틴/라이브러리 함수
   4          - special 파일
   5          - configuration 파일과 파일 형식
   6          - 게임
   7          - 미분류 명령어들
   8          - 관리 명령어와 데몬들

  다음 코드들은 man 명령어에서 유용한 몇가지 옵션을 보여줍니다.
 $man mount -a               Show all man pages related to component
 $man 5 crontab               Show section 5 man page for component
 $man mount -P more       Use more, not less to page through
 $man --path                   List locations of man directories
/user/kerberos/man:/usr/local/share/man:/usr/share/man/en:
/usr/share/man:/usr/X11R6/man:/usr/local/man
 $man -f mount                 Same as the whatis command
 $man -k mount                Same as the apropos command

오랫동안, man 페이지를 표시하고 작동하는 방법들은 발전해 왔습니다. 예를 들면, man페이지를 man2html명령어를 사용하여 웹페이지(HTML)로 전환할 수도 있습니다. 예를 들면, 다음과 같습니다.

$where -m cat
cat: /usr/share/man/man1/cat.1.gz /usr/share/man/man1p/cat.1p.gz
$cd /tmp ; cp/usr/share/man/man1/cat.1.gz .
$gunzip cat.1.gz
$links cat.1.html

 첫 번째 명령은 cat man페이지를 찾습니다. 다음 명령은 그 man페이지를 /tmp 디렉터리에 복사하고 압축을 풉니다. 다음으로 man2html 명령어는 man페이지를 HTML(cat1.html파일)로 변환합니다. 그러고 나서 link(커맨드라인 기반의 웹브라우저)는 shell에서 웹 스타일의 man 페이지를 보여줍니다(link또는 elinks 텍스트 기반의 웹브라우저를 사용하기 위해서는 elinks패키지를 설치할 필요가 있다).




알아두기
$ reboot - 다시 시작
$ poweroff - 종료
입니다.