명령어와 관련된 명령어들

명령어 그 자체와 관련된 명령어들이다.

명령어 설명
alias 단축 명령을 만드는 명령어
type 특정 명령을 어떻게 해석하는지 출력
which 실행 프로그램을 알아내는 명령어
whereis 명령의 실행 프로그램이 어디에 있는지 찾음
man 명령어에 대한 매뉴얼 페이지 출력

(1) alias - 단축 명령 만들기

단축 명령어를 만드는 명령어. 예를 들어 여러 옵션을 적용한 명령어를 단축 명령어로 만드는 등의 사용 방법이 있다.

1
2
alias la='ls -A'   # 숨김파일까지 출력
alias rm='rm -i'   # 삭제 여부에 대해 interaction(대화식 재확인)

계속 유지하기 위해서는 셸의 환경 설정 파일에 기록해 두어야 한다.

1
2
3
4
5
cat ~/.bashrc
>> ...
>> alias rm='rm -i'
>> alias cp='cp -i'
>> alias mv='mv -i'

(2) type - 명령의 해석방법 알기

특정 명령을 어떻게 해석하는지 알려 주는 명령. 일반 명령의 경우 실행 파일의 위치를 보여준다. 명령이 어떤 alias 인지, 어떤 경로의 실행파일인지.. 등을 출력하는 명령어이다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# type
type cd
>> cd is a shell builtin

type case
>> case is a shell keyword

type rm
>> rm is /usr/bin/rm

# type -a 옵션 : 모든 경로를 출력한다.
type -a ls
>> ls is aliased to 'ls --color=auto'
>> ls is /usr/bin/ls

type -a cd
>> cd is a shell builtin
>> cd is /usr/bin/cd

(3) which - 실행 프로그램 찾기

-셸 명령에 대한 실행 프로그램을 알아내기 위한 명령.
-즉, PATH 환경변수를 기초로 상응하는 실행 프로그램이 어느 디렉터리에 존재하는지
-절대경로 방식으로 출력한다.

1
2
3
4
5
6
7
8
9
10
which rm
>> alias rm='rm -i'
>>         /usr/bin/rm

which cp
>> alias cp='cp -i'
>>         /usr/bin/cp

which docker
>> /usr/bin/docker

whereis - 실행 프로그램 확인

-명령의 실행 프로그램의 위치를 알려준다.
-which 명령과 유사하나
-소스와 매뉴얼 페이지가 존재하는 경우, 해당 파일도 찾아 출력한다.

1
2
3
4
5
6
7
8
whereis which
>> which: /usr/bin/which /usr/share/man/man1/which.1.gz /usr/share/info/which.info.gz
whereis rm
>> rm: /usr/bin/rm /usr/share/man/man1/rm.1.gz
whereis cp
>> cp: /usr/bin/cp /usr/share/man/man1/cp.1.gz
whereis docker
>> docker: /usr/bin/docker /etc/docker /usr/libexec/docker /usr/share/man/man1/docker.1.gz

(4) man - 온라인 매뉴얼 페이지 보기

-각종 프로그램의 사용법을 확인할 수 있는 매뉴얼 페이지를 출력
-man command 와 같이 사용한다.
-종료하려면 q를 입력하면 된다.

1
man rm

(5) 매뉴얼 페이지 섹션 분류

매뉴얼 페이지는 섹션이라는 게 있다.

섹션 내용
1 사용자 명령
2 커널의 시스템 호출
3 C 라이브러리 함수
4 디바이스 드라이버 정보
5 시스템의 설정 파일
6 게임
7 파일 포맷, 인코딩 등
8 시스템 관리 명령

명령어에 대한 특정 섹션의 매뉴얼 페이지를 보기 위해서는 man <섹션번호> <명령어>와 같이 사용하면 된다. 이러한 섹션이 구분되는 이유는 동일 이름의 실행프로그램이나 설정 파일이 존재할 수 있기 때문이다. 만약 해당 섹션의 매뉴얼 페이지가 없는 경우, 없다는 출력이 반환된다.

1
2
man 5 rm
>> No manual entry for rm in section 5

Reference

UNIX시스템 - 김희천,김진욱 저