LINUX
- 파일 관리 명령어(which, whereis)
-
-
4. which
(1) 설명 : 명령어의 위치나 alias를 보여준다. 이것은 사용자가 현재 위치에서 명령을 실행 시켰을
때 어떤 명령이 실행되는지를 알고 싶을때 사용할 수 있다. $PATH가 설정되어 있는 경로
에서만 찾는다.
(2) 사용법
which command
=> 실행되는 파일의 경로명을 보여준다.
(3) 사용예
[posein@www share]$ which mv
alias mv='mv -i'
/bin/mv
(4) 참고 : alias에 대하여
1) 설명: alias란 별명이라는 뜻으로 어떠한 명령을 지정해 놓으면 사용자가 그 명령을 실행 시켰
을 때 alias로 지정해 놓은 명령이 대신 실행되게 된다. 이 기능은 대부분의 shell에서
지원한다.
2) alias의 이용
ㄱ. 특정명령어 실행시에 기본으로 옵션을 사용하게 할 경우
ㄴ. 나만의 새로운 명령어를 만드는 경우
3) alias의 지정과 해제
ㄱ. alias의 지정
alias 명령어='새로운 명령'
ㄴ. alias의 해제
unalias 지정한_명령어
4) 사용예
ㄱ. alias ls='ls -alF'
=> ls명령만 실행시켜도 기본으로 -alF 옵션이 지정된다.
ㄴ. alias lo='ls -alF'
=> lo라는 명령은 기본적으로는 존재하지 않는다. 사용자 특유의 명령어인 lo라는 명령을
생성하게 된다. 이 경우에 'which lo' 하게 되면 나타난다.
ㄷ. unalias lo
=> 위에서 지정한 lo라는 alias설정을 해제한다.
(5) 참고: $PATH에 대하여
1) 설명: PATH는 사용자들이 실행파일을 입력했을 때 찾는 디렉토리의 목록을 저장하고 있는 환경
변수이다. 쉽게 설명하면 posein이라는 사용자가 쉘 프롬프트에서 'ls'라는 명령을 입력
하면 PATH라는 변수에 저장되어 있는 경로에서 찾아 그 경로에 ls라는 명령이 존재하면
실행하게 되고 존재하지 않으면 'command not found'라는 에러메시지를 나타나게 된다.
2) 변수값 확인
ㄱ. 일반사용자인 경우
[posein@www posein]$ echo $PATH
/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/posein/bin
ㄴ. root사용자인 경우
[root@www root]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:-생략-
=> 일반사용자보다 시스템관리명령어들이 위치하는 /sbin 디렉토리가 더 존재함을 알 수
있다.
3) 참고
ㄱ. 설명: 몇몇 명령어는 실행권한이 없다기 보다는 이 PATH로 등록되지 않아서 실행안되는 경우
가 있다.
ㄴ. 사용예
a. [posein@www posein]$ ifconfig
-bash: ifconfig: command not found
=> ifconfig라는 명령어만 내리면 실행되지 않는다.
b. [posein@www posein]$ /sbin/ifconfig
eth0 Link encap:Ethernet HWaddr 00:C1:58:23:35:19
inet addr:192.168.0.120 Bcast:203.247.40.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:92128289 errors:312 dropped:0 overruns:0 frame:0
TX packets:3385289 errors:0 dropped:0 overruns:0 carrier:0
collisions:1604382 txqueuelen:100
RX bytes:3334187353 (3179.7 Mb) TX bytes:3091351999 (2948.1 Mb)
Interrupt:5 Base address:0xf000
=> 절대경로와 함께 입력하면 실행결과가 나옴을 알 수 있다.
5. whereis
(1) 설명 : 찾고자 하는 명령을 $PATH로 지정된 경로에서 찾아서 소스, 실행 파일, 매뉴얼 페이지
등이 어느 위치에 있는지를 알려준다.
(2) 사용법
whereis [option] filename
(3) option
-b : (실행) 파일만 찾는다.
-m : 매뉴얼 페이지만 찾는다.
-s : 소스만 찾는다.
(4) 사용예
[posein@www share]$ whereis mv
mv: /bin/mv /usr/share/man/man1/mv.1.gz
=> 특별한 옵션이 없으면 소스, 실행파일, 매뉴얼 페이지 순으로 나타난다.