<출처 : 네이버 블로그 It's good day to L.O.V.E. | 블루>

halt
: halt는 아무런 경고없이 시스템을 즉시 종료시킨다.

문법 
# halt

설명
시스템이 halt되면 'System halted' 메시지가 나오고, 시스템은 정지한다. halt는 옵션을 가지지 않는다.
명령이 내려지면 일련의 마무리 작업을 수행한 후에 정지한다. 시스템 종료 기록도 /var/adm/wtmp 로그 파일에 추가된다.


head
: 파일의 처음 부분을 출력한다.

문법 
# head [ -행수 ] [ 파일이름(들) ]

옵션 
-행수: 출력될 행수를 지정한다.

설명
옵션으로 주는 행 숫자는 화면에 표시될 행의 개수를 의미한다. 만일 그것이 주어지지 않는다면 기본적으로 10개의 행을 출력한다.

사용예
■ $ cat letter
■ 원일이에게.
■ 안뇽? :-)
■ 자네가 돈을 빌려간지도 1년이 넘었네.
■ 난 포기 안하지.
■ 하루속히 갚기를 바라네.
■ 독촉해서 미안하군
■ 건강하길...
■ 1997년 모월 모일 친구가.
문서의 앞 머리 세 줄만 확인하기 위해서 다음과 같이 할 수 있다.

■ $ head -3 letter
■ 원일이에게.
■ 안뇽? :-)
■ 자네가 돈을 빌려간지도 1년이 넘었네.


hostname
: 현재 설정되어 있는 호스트의 이름을 표시하거나 변경한다.

문법 
■ hostname [ 호스트이름 ]

설명
이것은 인수없이 사용된다면 현재 설정되어 있는 호스트 이름을 보여준다. 리눅스는 기본적으로 프롬프트에서 호스트의 이름을 보여줄 것이다. 혹은 사용자가 프롬프트에 호스트 이름이 나타나도록 할 수도 있다. 인수로서 새로운 호스트 이름을 지정한다면 새로 지정된 이름으로 호스트 이름을 바꾼다. 하지만 이런 작업은 수퍼 유저만이 할 수 있다.

사용예 
■ $ hostname
■ Blade


id
: 시스템에 등록된 ID를 확인한다.

문법
■ id [ -gGnru ]

옵션
• -g: 그룹 ID만을 출력한다.
• -G: 추가 그룹들만을 출력한다.
• -n: ID 번호대신 이름으로 출력한다.
• -r: 실제 사용자나 그룹 ID를 출력한다. 다른 옵션과 함께 사용한다.
• -u: 사용자의 ID만을 출력한다.

사용예 
■ $ id -un


jobs
: 현 터미널에서 수행된 작업들을 간략하게 나열해준다.

문법
■ jobs [ -I ]

옵션
• -I: 프로세서 번호를 추가해서 보여준다.

설명
jobs 명령에 대한 것은 fg와 bg명령에 대한 설명과 함께 3장을 참고하라.
여기서는 프로세서 번호와 jobs 볼 수 있는 작업 번호에 대해 생각해 보자.

작업번호는 한 사용자의 작업에 대한 것으로, 1번부터 순서대로 부여되지만 다른 터미널의 다른 사용자도 같은 번호의 job을 가지는 것이다. 또한 이 작업 번호는 중지되었거나 백그라운드에 있는 것들만이 작업 번호가 주어진다는 점이다. 프로세서 번호는 시스템 중심적이고, 작업 번호는 사용자 중심적인 번호인 것이다.


join
: 두 개의 정렬된 파일을 하나로 수평 병합한다.

문법
# join [ -aejotv ] [파일명]1  [파일명]2

옵션 
-an : 첫 번째나 두 번째 파일로부터 일치하지 않는것도 처리, n은 1이나 2이다.
-e 문자열 : 비어 있는 필드는 문자열로 대체한다.
-j n m : 파일n의 m번째 필드를 두 파일에 병합한다.
-o 파일 : 명시된 파일의 형태에 따라서 출력을 만든다.
-t 문자 : 필드 구분 문자를 정한다. 기본적으로 공백, 탭, 기행 문자다.
-v 파일 : 파일1이나 파일2의 짝이 연결되지 않는 행을 지정된 파일로 출력한다.

설명
두 파일의 내용을 하나의 파일로 병합하는데, cat을 사용하는 것처럼 한 파일의 뒤에 다른 하나를 추가하는 것이 아니라 각 행끼리 붙이기를 한다.
이 명령을 사용하면 두 개의 다른 데이터를 가진 목록을 합칠 수 있다.


kill
: 현재 수행중인 프로세서에게 시그널을 보낸다. 보통 kill 명령은 프로세서를 죽이는 데에 사용된다. 그래서 이 유틸리티의 이름도 kill이 되었다.

문법 
# kill [-signalID] PID
# kill -l

옵션 
-signalID : 프로세서에게 보낼 시그널을 지정한다. 시그널은 번호로 지정될 수도 있고 시그널 이름으로 지정될 수도 있다.
-l : 시그널 종류를 나열한다. 시그널의 종류는 시그널 번호 순서대로 이름으로 나열한다.

설명
시그널의 종류를 지정하지 않으면 프로세서를 종료시키는 의미로 디폴트 시그널 ID 15번을 보내게 된다.

예를 들면 당신이 시스템을 사용을 마치고 로그아웃할 때는 시그널 ID 1번의 HUP(hang up) 시그널이 시스템으로 전달되며, 이 시그널은 당신의 셸 상태에서 실행중인 모든 프로세서를 종료시키고(앞에서 언급한 nohup에 의한 프로세서는 제외) 로그아웃하게 한다.

사용예 
#  kill -l
1) SIGHUP        2) SIGNT              3) SIGQUIT            4) SIGILL
5) SIGTRAP       6) SIGIOT              7) SIGBUS             8) SIGPPE
9) SIGKILL       10) SIGUSR1           11) SIGSEGV           12) SIGUSR2
13) SIGPIPE      14) SIGALRM          15) SIGTERM          17) SIGCHLD
18) SIGCONT    19) SIGSTOP           20) SIGTSTP           21) SIGTTIN
22) SIGTTOL    23) SIGURG            24) SIGXCPU           25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF           28) SIGWINCH         29) SIGIO
30) SIGPWR
# kill -9 16034
# kill -kill 16034 ,,두 명령은 같은 의미이다.
# kill -9 0

이것은 모든 프로세서를 종료시킨다.


less
: more와 유사하게 페이지 단위로 문서를 보여준다. 이것은 문서의 앞으로도 이동하는 것이 가능하다.

문법 
#  less [ -?acCeEinqQsx ] 파일명(들)

옵션 
-? : less에서 사용할 수 있는 명령들에 대한 도움말을 제공한다. 이 옵션이 사용되면 다른 인수는 무시되고, 도움말 화면을 보여준다.
-a : 마지막 라인이 화면에 출력되고 나서 탐색을 시작한다.
-c : 필요할 때 전체 화면은 다시 갱신한다.
-C : -c 옵션과 같지만 갱신할 때 화면 전체를 지우고 시작한다.
-e : 두 번째로  파일의 끝에 도달하면 자동적으로 종료한다.
-E : 파일의 끝에 도달하기만 하면 자동적으로 종료한다.
-i : 대소문자를 구분하여 탐색한다.
-n : 행번호를 추가한다.
-q : 특정 에러가 발생하지 않으면 아무 소리도 내지 않고 조용히 동작한다.
-Q : 결코 아무 소리도 내지 않는다.
-s : 연속되는 공백 라인은 하나의 행으로 처리한다.
-x 숫자 : 수치를 지정해서 탭 간격을 조정한다. 기본값은 8이다.

설명
less는 많은 옵션과 키 사용법이 있다. 온라인 레퍼런스를 참조하기 바란다.

사용예 
#  less lovemessage


ln
: 두 개의 파일 사이에 링크를 만들어, 하나의 파일을 두 개 이상의 이름으로 접근이 가능하도록 한다.

문법 
#  ln [ -s ] 파일명1 파일명2
# ln 파일명들 디렉토리

옵션 
-s : 하드 링크 대신 심볼릭 링크를 만든다.

설명
유닉스 파일 시스템의 링크 개념의 자세한 내용에 대해서는 다른 자료를 참고하라. 파일을 복사하는 대신 링크를 사용하면 디스크 공간을 매우 절약할 수 있다.

위에서 보면 첫 번째 형식에서 파일명2는 원하는 링크 파일의 경로와 이름이 된다. 이것은 일종의 alias(별명)라고 생각할 수 있다. 두 번째 형식에서 파일명들은 링크되기 원하는 파일들의 이름이고, 디렉토리는 링크된 파일이 지정되기 원하는 위치이다. 링크에 익숙해지면 ln명령은 cp 명령을 사용하는 것처럼 간단하게 사용할 수 있을 것이다.

사용예
# ln project theplan  ,,두 개의 이름은 같은 문서를 의미한다.


longname
: 이것은 현재 시스템에서 당신이 사용하는 로그온 이름을 보여준다.

문법
# longname

설명
longname은 옵션을 가지지 않는다. 이름은 /etc/utmp 파일을 알아낸다.

사용예 
#  longname


ls
: 파일 시스템 상의 파일을 목록을 보여준다.

문법 
#  ls [ -aCxdlstucriFR ][ 파일명(들) ]

옵션 
-a : 도트로 시작되는 이름을 가진 파일명도 전부 보여준다.
-C : 가로 순서로 나열하여 출력한다.
-x : 세로 순서로 나열하여 출력한다.
-d : 현재 디렉토리에 대한 정보를 출력한다.
-l : 각 파일들에 대한 소유자, 권한, 갱신일 등의 자세한 정보를 출력한다.
-s : 파일이 얼마나 많은 디스크 블록을 차지하고 있는가를 보여준다.
-t : 파일 갱신일 순서대로 정렬한다.
-u : 엑세스(access)한 날짜 순서대로 정렬한다.
-c : inode가 마지막 바뀐 시간 순서대로 정렬한다.
-r : 정렬된 순서의 역으로 출력한다.
-i : 파일의 inode 번호를 보여준다.
-F : 파일의 특성을 쉽게 알 수 있는 문자를 나타낸다. +는 실행 가능한 파일을, /는 디렉토리 이름을 의미한다. @는 심볼릭 링크를 나타내고, =는 소켓(socket)을 나타낸다. 하지만 여러분의 리눅스는 기본적으로 이러한 특성을 보여줄 것이다.
-R : 현 디렉토리의 내용은 물론이고 서브 디렉토리의 내용까지 전부 보여준다.

설명
-l 옵션을 사용하여 볼 수 있는 정보 중 권한(permission) 정보 앞에 있는 파일 형태에 대한 기호는 다음과 같다.
- 일반 파일
d 디렉토리
b 디스크의 같은 블록 형태의 장치
c 터미널과 같은 문자 형태의 장치
p 이름붙여진 파이프(pipe)
s 세마포어(semaphore)
m 공유메모리(Shared memory)

사용예 
#  ls -la /root


mail
: 전자 우편을 사용하기 위해 mail이라는 명령을 사용한다. System V 같은 계열의 유닉스에서는 mailx라고 하기도 한다. BSD에서는 mail이라고 하며, 당연히 BSD 계열인 리눅스에서도 그렇게 부른다.

문법 
#  mail [ -Hf ][ 사용자ID ]

옵션 
-f : 편지가 수신된 파일을 지정하며, -f 옵션 뒤에 파일 이름을 지정한다.

설명
사용자 ID를 명시되지 않고, 인수없이 mail을 실행하면 수신된 편지를 읽을 수 있다. 편지는 mail 디렉토례 사용자ID 이름으로 만들어진 파일에 저장된다.


man
: 사용하고자 하는 유닉스 유틸리티에 대한 매뉴얼(manual)을 검색해서 보여준다.

문법
# man [ 장 ] 단어
# man -k 키워드

옵션
-k : 인수로 주어진 단어를 키워드로 사용하여, 해당 키워드가 발견되는 모든 매뉴얼의 내용을 검색하여 보여준다.

설명
셸을 사용할 때 어떤 명령의 사용법이 기억나지 않는 경우가 있다. 혹은 매번 사용하던 명령이라도 특수한 옵션이 필요할 때 그 기호나 사용법을 정확히 확인해야 하는 경우가 많이 있다. 물론 참고 서적을 보면 되겠지만 터미널 상에서 필요한 도움말을 언제라도 제공받을 수 있다. 시스템에 내장된 매뉴얼은 빠르게 볼 수 있을 뿐만 아니라 그 내용도 완벽한 것이어서 옵션의 종류 같은 것은 빠진 것이 없다. 만일 온라인 레퍼런스를 모두 종이로 출력한다면 그 분량은 엄청날 것이 틀림없다.

위에서 보인 첫 번째 형식은 매뉴얼의 장 번호를 이름과 함께 명시해서 검색할 수도 있다. 하지만 보통은 그것을 생략하고, 검색하고자 하는 제목만을 인수로 전달해서 사용한다. 그러면 자세한 내용을 볼 수 있을 것이다. 출력된 내용은 화살표 키를 사용해 위아래로 자유로이 스크롤할 수 있다.

사용예
# man telnet


mcd
: MSDOS 시스템으로 현재 사용하는 디렉토리 장소를 이동한다.

문법 
mcd dos디렉토리

설명
dos 디렉토리는 슬래쉬나 백 슬래쉬 모두 사용할 수 있으며, MSDOS에서 사용되는 백 슬래쉬(\)나 와일드 카드를 사용하려면 따옴표를 사용하여 셸이 번역하는 것을 미리 막아야 한다.

사용예 
#  mcd a:/dos


mcopy
: MSDOS 파일 시스템으로 혹은 DOS 파일 시스템의 파일을 복사한다.

문법
# mcopy [ -tnvm ] 파일명1 파일명2

옵션 
-t : 텍스트 파일 복사시 CR/LF 문자를 \n 하나로 바꾼다.
-n : 파일을 덮어쓰게 되는 경우에도 경고하지 않는다.
-v : 자세히 안내문을 보여준다.
-m : 파일 갱신 시간을 보존한다.

사용예 
#  mcopy -t letter a:letter.txt


mdel
: MSDOS 파일 시스템에서 파일을 제거한다.

문법 
#  mdel [ -v ] 파일명

옵션
-v : 진행되는 상황을 자세히 보여준다.

사용예 
#  mdel a:/letter.txt


mdir
: MSDOS 디렉토리의 목록을 보여준다. MSDOS 프롬프트 상의 dir과 같은 동작을 한다.

문법 
#  mdir [ -w ][파일명]

옵션 
-w : 파일 크기나 생성 날짜는 제외하고 넓은 형식으로 보여준다.

사용예 
#  mdir a:/dos


mesg
: 다른 터미널의 사용자가 당신에게 write 명령 등으로 메시지를 보낼 수 있는가 아닌가를 결정한다.

문법 
#  mesg [ y or n ]

옵션
당신의 터미널이 다른 사용자의 메시지를 받기 원한다면 y, 그렇지 않다면 n을 선택한다. 옵션을 선택하지 않으면 mesg는 현재 터미널의 메시지 수신 가능 여부를 확인하여 알려준다. 보통 기본적으로 터미널은 메시지를 수신할 수 있다.

사용예 
#  mesg        ,,다른 이의 메시지를 수신할 수 있는지 알려준다.
#  mesg n      ,, 당신의 터미널이 메시지 수신을 거부하도록 한다.


mkdir
: 디렉토리를 새로 만들기 위해 mkdir 명령을 사용한다.

문법 
#  mkdir [ -m mode ][ -p ] directory

옵션 
-m : 디렉토리를 만들 때 같이 사용하여 사용자 권한을 줄 수 있다.
-p : 만들 디렉토리의 상위 디렉토리까지 한꺼번에 만든다.

사용예 
# mkdir blade.seoul

신고
Posted by genius3k

<출처 : 네이버 블로그 It's good day to L.O.V.E. | 블루>

passwd
: 자신의 패스워드를 관리한다.

문법 
■ passwd [ user ]

설명
passwd를 부르면서 사용자 이름을 지정하면 그 사용자의 암호를 관리할 수 있다. 물론 이것은 슈퍼 유저만이 할 수 있는 일이다. 암호는 암기하기는 쉬워야 하지만 타인이 추측하기는 어려워야 한다. 보통은 아무 인수없이 명령을 사용하며 암호를 바꿀 것인지 아닌지를 선택할 수 있다.

사용예
■ $ passwd


paste
: 하나 혹은 그 이상의 파일로부터 칼럼 형태의 출력을 만든다. 이것은 cut과 함께 사용되는 경우가 많다.

문법
■ paste [ -s ][ -d구분문자 ] 파일명(들)

옵션
• -s : 각 파일을 순회하면서 paste를 수행한다.
• -d구분문자 : 어떠한 문자로 칼럼을 구분하는지 지정한다. 기본값은 탭 문자이다.

설명
paste를 사용할 때 서로 붙여지는 파일명을 지정하는데, 이때 하이픈(-)으로 생략하면 표준 입력을 받아들이겠다는 뜻이 된다. 또한 paste의 출력은 항상 표준출력 장치로 나아간다.

사용예
■ $ paste -d' '  namelist.tmp  /home/data.tmp
두 개의 파일을 칼럼으로 합치고 그것을 화면으로 출력한다.


ps
: 유닉스는 동시에 여러 개의 프로세서가 동작되기 때문에 사용자가 그것들의 목록과 상태를 점검할 필요가 있다. ps라는 이름은 processor status를 의미한다. ps를 사용하여 프로세서들의 상태를 점검할 수 있다.

문법 
■ ps [ -lujsvmaxScewhm ]
■ ps [ -txx ]

옵션
• -l : 자세한 형태의 정보를 출력한다.
• -u : 각 프로세서의 사용자 이름과 시작 시간을 보여준다.
• -j : 작업 중심 형태로 출력한다.
• -s : 시그널 중심 형태로 출력한다.
• -v : 가상 메모리 중심 형태로 출력한다.
• -m : 메모리 정보를 출력한다.
• -a : 다른 사용자들의 프로세서도 보여준다.
• -x : 로그인 상태에 있는 동안 아직 완료되지 않은 프로세서들을 보여준다. 유닉스 시  스템은 사용자가 로그아웃하고 난 후에도 임의의 프로세서가 계속 동작하게 할 수 있다. 그러면 그 프로세서는 자신을 실행시킨 셸이 없이도 계속 자신의 일을 수행한다. 이러한 프로세서는 일반적인 ps 명령으로 확인할 수 없다. 이때 -x 옵션을 사용하면 자신의 터미널이 없는 프로세서들을 확인할 수 있다.
• -S : 차일드(child) CPU 시간과 메모리 페이지 결함(fault) 정보를 추가 한다.
• -c : 커널 task_structure로 부터 명령 이름을 보여준다.
• -e : 환경을 보여준다.
• -w : 긴(wide) 형태로 출력한다. 한 행 안에 출력이 잘리지 않는다.
• -h : 헤더를 출력하지 않는다.
• -r : 현재 실행중인 프로세서를 보여준다.
• -n : USER 와 WCHAN 을 위해 수치 출력을 지원한다.

설명
기본적으로 ps는 현재 명령이 내려지는 셸에서 만들어진 프로세서들의 목록만을 보여준다. ps는 자신이 실행되는 당시, 현재의 셸에 의해서 수행된 프로세서들을 검사하고 보고한다는 점을 생각하자. 그러면 ps의 출력결과 리스트에 ps 자신이 있는 이유를 쉽게 이해할 수 있을 것이다. 각 필드의 의미는 다음과 같다.

■ COMMAND : 명령어의 이름
■ PID : 프로세서 ID, 각 프로세서를 구분하기 위한 고유의 ID
■ RSS : 프로세서에 의해 사용되는 실제 메모리의 용량(K byte 단위)
■ USER : 프로세서를 실행시킨 소유자의 계정을 보여준다.
■ SZ : 프로세서의 자료와 스텍 크기의 (K byte 단위)
■ TIME : 현재까지 사용된 CPU의 시간(분,초)
■ TT : 프로세서의 제어 터미널(t3=/dev/tty3)
■ %CPU : 마지막 분동안 프로세서가 사용한 CPU시간의 백분율
■ START : 프로세서가 시작된 시간
■ STAT : 프로세서의 상태

이중 STAT 필드는 몇 가지의 부호를 사용해서 프로세서의 상태를 표시하고 있다. 그것들을 정리해 보면 다음과 같다.
■ P : 수행 가능/수행중
■ T : 일시 정지
■ D : 디스크 입출력 대기 같은 인터럽트할 수 없는 대기상태
■ S : 20초 미만의 짧게 잠듦(sleep)
■ I : 20초 이상의 길게 잠듦
■ Z : 좀비(zombi) 프로세서

좀비(zomb) 상태라는 것은 프로세서가 사라질 때 시그널 처리의 문제로 완전히 소멸되지 못한 상태를 말한다.

사용예 
$ ps


pwd
: 현재 작업하는 디렉토리를 알기 위해서 pwd 명령을 사용한다.

문법
# pwd

설명
현 디렉토리(current directory)가 무엇인지 보여준다.

사용예
# pwd
/home/blade


reboot
: 시스템을 리부팅한다.

문법
# reboot [ -q ]

옵션
-q : 현재의 프로세서들을 종료시키지 않고, 부팅 동작만을 수행한다. 이 옵션을 사용하면 더 빠르게 리부팅할 수 있다. 다시 부팅한 기록은 로그 파일인 /var/adm/wtmp에 기록된다.

설명
이것은 모든 사용자 프로세서를 종료시키고 디스크로부터 리눅스를 다시 부팅한다. 시스템을 리부팅하기 위해 shutdown 명령의 -r  옵션을 사용할 수도 있지만 그보다 reboot 명령을 사용하는 것이 더 편리해 보인다.

사용예
# reboot


rcp 
: 컴퓨터 사이에서 파일을 복사할 때 사용된다. “remote cp"에서 이름이 유래한다.

문법
# rcp [ -rpkx ] 파일명1 파일명2
# rcp [ -rpkx ] 파일명들 디렉토리

옵션
-r : 하위 디렉토리까지 재귀적으로 모두 복사한다.
-p : 파일의 시간과 모드를 보존한다.
-k : kerberos ticktets을 요구한다.
-x : 복사되는 모든 데이터에 암호화 과정을 거친다.

설명
원격 파일과 원격 호스트 이름은 콜론을 사용하여 구분한다. 마지막 인수가 디렉토리 이름이라면 지정된 모든 파일들은 그곳으로 복사된다.

사용예
# rcp victor.com:/root/* /home/victorfile
원격 호스트 victor.com의 /root에 있는 모든 파일들을 자신의 컴퓨터에 있는 디렉토리 /home/vitorfile로 복사한다.


rm
: 파일을 지우는 명령이다. 이것은 remove의 의미를 가진 이름임을 기억하라.

문법
# rm [ -firv ] 파일명

옵션
-f : 보통 지울 수 있는 권한이 없으면 안되지만, 이 옵션을 사용하면 성가신 작업을 하지 않고서도 강제로 파일을 지울 수 있다.
-i : 파일을 지울 것인가 다시 물어본다. 지우기를 원한다면 y를 누른다.
-r : 서브 디렉토리의 파일도 모두 재귀적으로 지운다.
-v : 파일을 지우기 전에 파일의 이름을 나타내준다.

설명
rm 명령의 동작은 정확히 말해서 ‘파일의 레이블을 삭제한다’라고 말할 수 있다. 단순히 파일을 지운다고 말하는 것은 틀릴 수도 있는 것이다. 왜냐하면 유닉스 상에서는 하나의 파일이 여러 다른 디렉토리에서 동시에 여러개의 이름을 가질 수 있기 때문이다. 만일 어떤 파일이 세 개의 레이블을 가지고 있다면 rm 명령으로 하나의 레이블을 지우는 것은 그 파일 자체를 지우지는 못한다. 다른 두 개의 파일 이름이 아직 유효하기 때문이다. 다시 두 번째 레이블을 지우더라도 파일은 하나의 파일 이름을 가지고 살아있으며, 마지막 하나의 파일 이름이 제거될 때에만 파일은 지워지는 것이다.

사용예
# rm blade.Z
# rm report.txt tempfile object.mainroutine hello.java
# rm -r blade ,, blade와 하위 디렉토리 파일 모두를 제거


rmdir
: 원하는 디렉토리를 제거한다.

문법
# rmdir [ -p ] 디렉토리

옵션
-p : mkdir의 -p 옵션의 반대 동작으로 하위 디렉토리와 그 상위 디렉토리 모두를 제거할 수 있다. 이때 모든 디렉토리는 비워져 있어야 한다. 수행 후 결과가 어떻게 되었는지를 보여준다.

설명
제거하기를 원하는 디렉토리는 미리 모든 파일들이 비워져 있어야 한다. 이러한 작업을 편리하게 하기 위해서는 파일을 지우는 명령인 rm 명령을 -r 옵션과 사용하면 된다.

사용예
# rmdir -p sisap/books  ,,디렉토리가 비워져 있다면 books를 제거한 후 sisap을 제거한다.


shutdown
: 시스템을 종료할 때 일반적으로 사용되는 명령이다.

문법
# shutdown [ -thnrfck ] 시간 [ 메시지 ]
# shutdown now

옵션
-t n : t 옵션 뒤에 n초를 명시해서, 경고 메시지를 보낸 후 n초 후에 kill 시그널을 보낸다.
-h : shutdown시 halt를 실행하게 한다.
-n : 디스크 동기화 동작의 수행을 금지한다. 이런 옵션은 보통 사용할 일이 없을 것이다.
-r : 시스템 종료를 완료하고 나서 다시 부팅 과정을 수행한다.
-f : 빠른 리부팅을 한다. 리부팅시 파일 시스템 검사를 하지 않는다.
-c : 이미 예약되어 있는 shutdown을 취소한다. 이 옵션을 준다면 시간 인수는 줄 수 없다. 하지만 메시지는 사용자들에게 줄 수 있다.
-k : 모든 동작을 제대로 수행하지만 시스템을 종료할 시간이 되면 아무 것도 하지 않는다. 보는 사람으로 하여금 ‘절로 누구 놀리나?’하는 말이 나오게 한다. k는 ‘just kidding'의 의미라고 한다.

설명
요즘은 컴퓨터를 끄기 전에 반드시 shutdown 절차를 거쳐서 시스템을 정리해야 한다는 것이 상식으로 통한다. 8비트 컴퓨터를 사용할 때는 그런 복잡한 것은 생각하지 않아도 문제 없었는데 말이다. 하드웨어와 스위치를 내리는 데에 소프트웨어의 허락을 받아야만 하는 것이다. shutdown 명령은 미리 사용자들에게 경고만을 보내고, 정해진 시간에 시스템을 종료한다. 시간은 24시간 단위의 표기법을 사용하며 종료 5분전에는 시스템에 로그인이 금지된다. 시스템 종료 시간이 가까워짐에 따라 각 사용자들에게 메시지를 주기적으로 출력하여 경고를 보낸다.

사용예
다음은 밤 11시 30분에 시스템을 종료하도록 예약하며 사용자들에게 그것을 알린다.
# shutdown 23:30 System will be down at 11:30 PM!!

시간을 명시할 때 now를 사용하면 곧바로 시스템을 종료한다. 리눅스 사용자들은 컴퓨터를 끄기 전에 이렇게 하면 간단하다. 혼자 사용하고 있을 때 번거로운 과정은 필요 없을 테니까 말이다.


sleep
: sleep이라는 명령은 이름 그대로 잠자는 일 외에는 하는 일이 없다.

문법
# sleep 시간

설명
시간은 초 단위의 정수 숫자이다. 전면(foreground)에서 수행된다면 사용자의 터미널은 정해진 시간만큼 잠을 잘 것이다. 물론 정해진 시간에 즉각 일어나니 안심해라. 원한다면 ^C로 흔들어 깨울 수도 있다. sleep을 사용하는 가장 좋은 예는 3장에서 본 것과 같이 다중 작업을 시행할 때이다.
다음과 같은 확인자를 사용한다면 다른 시간 단위를 사용할 수 있다.
S  초, m  분, h  시간, d  날짜


sort
: 파일내의 단어 순서를 행 단위로 정렬한다.

문법
# sort [ -cmuodfiMnrtb ] 파일이름(들)

옵션
-c : 파일이 정렬되었는지 검사한다. 그렇다면 아무런 출력도 하지 않는다.
-m : 특정한 파일을 병합한다. 파일은 이미 정렬되었다고 가정한다.
-u : 고유한 행만이 출력된다.
-o 파일명: 출력 파일 이름을 지정한다. 이름은 입력 파일 이름과 같을 수 있다.
-d : 사전(dictionary)과 같은 순서대로 정렬한다. 단어 정렬 순서에는 문자, 숫자, 공백 문자만이 사용된다.
-f : 대문자와 소문자를 구별하지 않는다.
-i : 정렬에 사용되는 문자 중 프린트될 수 없는 문자는 사용하지 않는다.
-M : 단어를 정렬할 때 달을 의미하는 문자를 취급한다. FEB는 JAN보다 뒤에 정렬된다.
-n : 숫자를 같은 문자가 아닌 정말로 숫자로 취급해서 수의 크기대로 정렬한다.
-r : 역순으로 정렬한다.
-t 문자 : 단어 등 필드를 구분하는 문자를 지정한다. 탭(tab)이나 공백 문자 이외의 문자를 구분 문자로 취급하도록 한다.
-b : 단어의 뒤에 오는 공백 문자는 정렬 키(key) 값으로 무시하도록 한다.

설명
sort명령의 정렬 방법에는 다음과 같은 기준이 있다.
- 일반적인 알파벳 순서로 정렬하되 소문자보다 대문자가 우선한다.
- 대소문자 보다 숫자가 우선한다. 숫자는 처음에 오는 숫자의 순서에 의한다. 즉 숫자들도 문자처럼 취급될 뿐이지, 실제 숫자의 대소는 생각하지 않는다.

사용예
$ cat sample
speaker
audio system
Hi-Fi video
1997
4th object?
good!
# sort sample ,, 문자를 정렬
# cat sample ,, 분류된 내용 확인
1997
4th object?
Hi-Fi video
audio system
good!
speaker


split
: 텍스트 파일을 작은 조각으로 나눈다. 너무 커서 다루기 불편한 텍스트 문서를 나눌 때 사용된다.

문법
# split -행 수 파일명 [ 태그명 ]

옵션
-행 수 : 몇 개의 행 단위로 조각을 나누는지 정한다.

설명
파일이 나누어지면 나누어진 파일들의 접미사는 순서대로 .xaa .xab .xac ...와 같이 붙여진다. 만일 태그 이름을 지정한다면 사용자가 지정한 태그 이름은 기본값 태그 이름의 x 문자를 대체하게 된다. 태그 이름을 block이 라고 준다면 나누어진 파일들은 .blockaa .blockab .blockac 등과 같은 접미사를 가질 것이다.

사용예
# split -400 project.a pro
project.a 파일을 400행 단위로 나눈다. 첫 조각의 접미사는 .proaa가 된다.


su
: 다른 사용자 계정으로 서브 셸을 생성한다. 잠시만 다른 사용자 계정으로 작업할 필요가 있을 때 사용한다.

문법
# su [ - ] [ 사용자ID ][인수]

옵션
- : 하이픈 (-)을 사용하면 새로운 셸로 로그인할 때 자신의 로그인 과정을 수행한다. 옵션이 주어지지 않으면 새로운 셸은 단지 셸 역할을 수행할 뿐이다.

설명
아무런 인수없이 su를 사용하면, 이것은 root 계정으로 로그인하기를 원하는 것으로 간주된다. 그래서 많은 사람들이 su가 ‘super user'를 의미하는 말로 생각하지만, 사실은 ’substitute user'를 의미하는 말이다. 물론 수퍼 유저의 패스워드를 알고 있어야만 한다.
su의 인수로 원하는 사용자의 ID를 주면 그 사용자의 패스워드를 물어오고, 입력한 패스워드가 일치한다면 새롭게 생성된 셸을 볼 수 있다. 그렇게 다른 사람으로 작업한 후에 exit등으로 셸을 종료하면 다시 이전에 작업하던 셸로 돌아갈 수 있다. 이 명령은 혼자서 시스템을 사용하는 리눅스 사용자들에게 매우 유용하다. 기본적으로 일반 사용자 계정으로 작업하다가 필요한 경우 수퍼 유저로 로그인하고서 필요한 일이 끝나면 다시 일반 계정 셸로 돌아갈 수 있기 때문이다.

사용예
# whoami
blade
# su sisap
Password:     ,,여기서 sisap의 패스워드를 입력
# whoami
sisap
# exit  ,,sisap의 셸을 종료
exit
# whoami
blade


sync
: 현재 시스템 디스크의 IO  버퍼에 있는 디스크 이미지를 하드 디스크로 기록한다.

문법
# sync

설명
시스템을 다운시키기 전에 버퍼에 있는 이미지를 반드시 디스크로 기록해야 한다. 그렇지 않으면 디스크는 기록된 정보의 이미지와 일치하지 않는 이미지를 가지게 될지도 모른다. 사실, 이것을 사용할 경우는 극히 드물다. 왜냐하면 shutdown등의 동작을 수행하면 그들이 자동적으로 sync를 호출하기 때문이다.

사용예
# sync               ,, 버퍼의 내용을 디스크로 기록한다.
신고

'Linux' 카테고리의 다른 글

리눅스 명령어 모음 (A~G)  (0) 2010.01.25
리눅스 명령어 모음 (H~N)  (0) 2010.01.25
리눅스 명령어 모음 (O~S)  (0) 2010.01.25
리눅스 명령어 모음 (T~Z)  (11) 2010.01.25
tar를 이용한 파일압축  (0) 2009.11.16
리눅스에서 환경변수 설정파일  (0) 2009.08.25
Posted by genius3k

<출처 : 네이버 블로그 It's good day to L.O.V.E. | 블루>


tail 
: 문서의 끝 부분을 화면에 출력한다.

문법 
# tail [ -행수 ] [파일이름들]

옵션 
- 행수 : 출력될 행수를 지정한다.

설명 
옵션으로 주는 행 숫자는 화면에 표시될 행의 개수를 의미한다. 만일 그것이 주어지지 않는다면 기본적으로 10개의 행을 출력한다.

사용예
head 명령을 설명하면서 사용한 문서 파일을 다시 사용해 보자.
#  tail -? letter
건강하길...
1997년 모월 모일 친구가


tar
: 마그네틱 테이프 기록 장치를 위한 명령이다. 파일을 테이프 기록장치로 기록하거나 읽어온다.

문법
# tar 동작 [ 옵션 ] 플래그인수 파일명(들)

설명
테이프와 같은 순차적 기록 장치는 디스크와는 특성이 다르다. tar명령과 마그네틱 테이프에 대한 내용은 다른 자료를 참고하기 바란다. 리눅스를 사용하는 사람들은 테이프 기록 장치를 사용하는 경우는 거의 없을 것이다.

사용예
# tar cvf /home/blade/data.tar /home/blade/data (압축)
# tar xvf /home/blade/data.tar (압축해제)


tcsh
: tcsh는 bash와 마찬가지로 리눅스에서 사용하는 c 셸 명령 번역기이다. bash 셸이 표준 Bourne 셸에 기능을 보강한 것처럼, 이것은 C 셸의 확장판으로 생각할 수 있다. 리눅스 사용자는 tcsh를 이용해서 C 셸을 사용할 수 있다.

문법
# tcsh [ -cefinstvxTVX ] [ 파일명 ]

옵션
-T : tenex라고 하는 특수한 기능을 수행하도록 한다.
-V : -v 옵션과 같지만 초기화 스크립트의 수행에도 영향을 미친다.
-X : -x 옵션과 같지만 초기화 스크립트의 수행에도 영향을 미친다.
나머지 옵션들은 bash셸과 같다. bash 셸의 옵션에 대해 설명한 부분을 참조하라.

설명
C 셸은 Bourne 셸 이후에 만들어진 셸로, 캘리포니아 버클리 대학에서 만들었다. 또한 리눅스에서 tcsh는 csh라는 이름의 링크 파일을 가지고 있다.
표준적인 C 셸의 이름이기 때문이다. 셸에 대한 내용과 bash에 대한 사용을 참조하라.


tee
: 파이프 연결 출력을 양방향으로 나눈다.

문법
# tee [ -ia ] 파일명(들)

옵션
-i : 인터럽트를 무시하도록 한다.
-a : 지정된 파일들로 출력이 덮어쓰지 않고, 뒤에 추가되도록 한다.

설명
이것은 파이프 연결 흐름을 두 개의 방향으로 갈라지도록 한다. 마치 파이프를 연결할 때 사용되는 T자 연결관과 같다.

사용예
# ls -l | tee list.output | more
파일 목록을 list.output이라는 파일에 기록함과 동시에 more를 사용하여 화면으로 ls 출력 내용을 볼 수 있다.


test
: 파일의 각종 상태를 검사하여 결과를 알려준다. 이것은 셸 스크립트 상에서 if 문이나 while 문 등과 함께 사용되는 것이 보통이다.

문법
# test 표현식
[ 표현식 ]

표현식
-r  파일명 : 파일이 읽기 권한이 있으면 참
-w 파일명 : 파일이 쓰기 권한이 있으면 참
-x 파일명 : 파일이 실행하기 권한이 있으면 참
-f 파일명 : 파일이 일반(regular) 파일이면 참
-d 파일명 : 파일이 디렉토리이면 참
-b 파일명 : 파일이 존재하고 블록 장치 파일이면 참
-c 파일명 : 파일이 문자 전용 파일(character special file)이면 참
-u 파일명 : 파일이 set-user-ID 플래그가 세트되어 있으면 참
-g 파일명 : 파일이 set-group-ID 플래그가 세트되어 있으면 참
-k 파일명 : 파일이 sticky 비트가 세트되어 있으면 참
-s 파일명 : 파일의 크기가 0보다 크면 참
-t 파일 디스크립터 : 파일 디스크립터에 해당하는 파일이 열려 있고, 터미널 장치로부터 사용되고 있으면 참, 기본 디스크립터 값은 1이다.
-z 문자열 : 문자열의 길이가 0이면 참
-n 문자열 : 문자열의 길이가 t 이상이면 참
문자열 1 = 문자열2 : 문자열1과 문자열2가 같으면 참
문자열 1 != 문자열2 : 문자열1과 문자열2가 다르면 참
문자열 : 문자열이 널(null)이 아니면 참, 널 문자열이면 거짓
정수1-eq정수2 : 두 개의 정수1과 정수2가 같으면 참
정수1-ne정수2 : 두 정수가 다르면 참
정수1-gt정수2 : 정수1이 정수2 보다 크면 참
정수1-ge정수2 : 정수1이 정수2 보다 크거나 같으면 참
이외에도 -lt(작으면) -le(작거나 같으면), !(논리부정), -a(AND), -o(OR) 등과 같은 표현을 사용할 수 있으며, 괄호를 사용할 수도 있다.

설명
표현 방식이 두 가지가 있는데, 첫 번째 형식은 test 명령을 사용하는 것이고 두 번째 표현 방식은 대괄호를 사용하여 표현식을 기술하는 것이다. 물론 두 번째 방식이 더욱 많이 사용된다. 스크리트 상에서 판독력이 훨씬 좋기 때문이다. test는 표현식을 주지 않으면 에러 메시지를 발생한다.

사용예
if [ -d blade.room ]
then
cd blade.room
echo "It's changed to the blade.room"
fi
셸 스크립트에 대한 부분을 참고하고, 자신이 직접 test 구문을 사용한 스크리트를 작성해 보라.


time
: 프로그램이 수행되는 시간을 측정한다.

문법
# time 명령

설명
time의 인수로 측정하고자 하는 명령을 준다. time은 세 가지 다른 형태의 시간 측정 결과를 보고한다. 실제로 얼마만큼의 시간이 걸렸는가 하는 real 커널이 사용한 시간을 제외하고 CPU에서 소비된 시간을 나타내는 user그리고 실제로 얼마만큼의 커널 시간을 할애했는가 하는 sys시간이 있다. sys+user 시간이 실제로 작업에 할애된 시간이며, real 값에서 sys+user 값을 뺀 결과값은 다른 프로세서 처리에 할당된 시간이다.

사용예
# time cc project.c
컴파일하는 데에 걸리는 시간을 측정한다.


touch
: 파일의 엑세스 시간이나 갱신 시간을 수정한다.

문법
# touch [ -amc ] MMDDhhmmYY 파일명(들)

옵션
-a : 파일의 엑세스 시간을 바꾼다.
-m : 파일의 갱신 시간을 바꾼다.
-c : 파일명이 존재하지 않는다면 새로운 파일을 만들지 않는다.
MM : 월,  DD : 날짜,   hh : 시간, mm : 분,  YY : 연도

설명
지정된 파일들의 시간을  바꾼다. 옵션을 지정하지 않으면 엑세스 시간과 갱신 시간 모두를 바꾼다. 즉 디폴트 옵션은 -am이다. 지정된 파일의 이름이 없다면 명시된 시간을 가지는 새로운 파일을 생성한다.

사용예
# touch -a 0615120097 bladenote
파일의 엑세스 시간을 97년 6월 15일 12시로 변경한다.


tr
: 특정한 문자들을 다른 문자로 변경한다. 대부분 리다이렉션과 함께 사용한다.

문법
# tr [ -cd ] 변경할 문자 변경문자

옵션
-c : 파일의 모든 내용을 보이지 않고 바꾸는 작업만 보여준다.
-d : 파일에서 변경할 문자를 제거한다.

설명
문자 표현시 백슬래쉬 문자 뒤에 8진법 숫자를 써서 문자 코드를 표현할 수 있다. 또한  [c1-c2]와 같은 하이픈 표현으로 문자의 범위를 지정할 수 있으며 [c*n]과 같은 방법으로 n 만큼의 문자 반복을 표현할 수도 있다. 변경할 문자의 변경 문자의 개수는 같아야 한다.

사용예
# tr -d "\015\032"  readme.txt  readable
readme.txt의 파일에서 캐리지 리턴 문자와 eof마크를 제거하고 readable파일로 리다이렉션한다.


true
: 셸 상에서 참의 의미를 가지는 0을 반환한다.

문법
# true

설명
셸 스크립트 상에서 무한 루프를 만들 때 등의 경우 사용될 수 있다. Bourne 셸 상에서는 콜론 문자(:)로 같은 효과를 얻을 수 있다.

사용예
다음의 스크립트는 무한정 문자를 출력한다.
while true
do
echo -e "over and over..."
done


tty
: 현재 로그온되어 있는 터미널의 장치 이름을 알려준다.

문법
# tty [ -s ]

옵션
-
s : 표준 입력이 터미널 장치인지 아닌지를 시험한다. 터미널이 표준이라면 0을 반환하며 아니라면 1을 반환한다.

설명
만일 -s 옵션을 사용하지 않고서 tty를 입력했을 때 표준 입력 장치가 터미널이 아니라면 'not a tty'라는 메시지를 출력한다.

사용예
# tty
/dev/tty1


umask
: 파일을 생성할 때 현재 사용되고 있는 권한(permission)값의 마스크가 무엇인지 알려주거나 그것을 새로 지정할 때 사용된다.

문법
# umask [ 마스크 ]

설명
아무런 인수없이 사용하면 파일 생성시 사용되고 있는 디폴트 마스크가 무엇인지 알려준다. 마스크를 지정하면 원하는 값을 지정할 수 있다.
마스크 값은 세 자리의 8진법 숫자로 구성된다. 이것을 마스크라고 부르는 이유는 마스크 값의 각 비트가 들어오는 값을 걸러내는 역할을 하기 때문이다. 즉 마스크 값이 0이면 권한 지정에 제한을 두지 않는다는 것이고 6이라면 읽기와 쓰기에 제한을 가한다는 의미가 되기 때문이다.

사용예
# umask 033
자신은 제한이 없지만 다른 사용자나 그룹은 쓰기와 실행을 할 수 없다.


umount
: 설정된 마운트 정보를 해제한다.

문법
# umount 장치명 or 마운트포인트
# umount -a
# umount -t 파일시스템 형태

옵션
-a :  모든 파일 시스템의 마운트 정보를 해제한다.
-t : 특정 형태의 파일 시스템만을 선택하여 해제된다. 옵션 뒤에는 어떤 파일 시스템을 해제할 것인지 지정한다.

설명
마운트되어 있는 장치와의 설정을 해제한다. /dev/hda3와 같은 이름이나 /dosc와 같은 포인트 이름을 사용한다. 파일 시스템 형태를 지정할 때는 msdos, minix, hpfs 등과 같은 이름을 사용한다. 마운트 해제시 사용중인 장치는 해제하지 못한다. 예를들어 /dosc 디렉토리에 위치한 상태에서 도스파일 시스템과의 마운트를 해제하지는 못한다.

사용예
# umount /dev/hda1


uname
: 시스템 이름과 다른 정보를 보여준다.

문법
# uname [ -snvma ]

옵션
-s : 시스템 이름을 알려준다.
-n : 시스템의 노드(node) 이름을 알려준다.
-r : 오퍼레이팅 시스템의 증명번호를 알려준다.
-v : 오퍼레이팅 시스템의 버전(version) 번호를 알려준다.
-m : 하드웨어의 이름을 알려준다.
-a : 모든 정보를 알려준다. -snrvm 과 같다.

설명
-s 옵션은 기본값으로 내장되어 있다. 옵션이 없다면 시스템 이름을 알려준다.

사용예
# uname -sm


uncompress
: compress로 압축되어 있는 파일의 압축을 푼다.

문법
# uncompress 파일명(들)

설명
사실상, compress의 -d 옵션을 사용하면 압축을 풀 수 있기 때문에 이 명령은 불필요하다. 하지만 옵션을 사용하는 것보다 의미있는 단어를 사용함으로 좀더 친숙하게 사용할 수 있다. uncompress는 자신이 압축 풀기 동작을 수행하는 것이 아니라 -d 옵션을 주어 compress를 호출한다. uncompress 자신의 파일 크기는 아주 적다.

사용예
# uncompress blade.Z


user
여러 명의 사용자가 동시에 유닉스 시스템에 로그인하여 사용하고 있을 때 어떤 사람들이 시스템에 접속해 있는지를 알아야 할 필요가 있다. 이때 간단히  사용자들의 id 이름만을 알고자 한다면 users 명령을 사용하면 된다.

문법
# users

설명
이 명령은 아무런 옵션이 없다. 시스템이 네트워크에 연결되어 있다면 이 명령은 모든 네트워크 상에서 작업하는 사용자들을 보여주지는 못한다. 단지 그 명령이 사용되는 지역 호스트 상의 사용자들을 보여줄 수 있다.

사용예
# users
sisap blade


uuencode
: uuencode는 USENET과 같이 ASC2 코드만을 다루는 미디어를 위해 바이너리 코드를 변환한다. uudecode는 그 반대의 동작을 수행한다.

문법
# uudecode [파일명]
# uuencode [파일명] 이름

설명
기본적으로 표준 입력으로 읽거나 쓴다. uuencode는 디코딩되었을 때 사용될 파일의 이름도 함께 명시한다. e-mail 이나 USENET 은 바이너리 코드를 사용하지 않기 때문에 이 작업으로 바이너리 파일을 보내고 받을 수 있다.
사용예
# uuencode canexe.Z canexe.Z > exemail.uu
canexe.Z 라는 파일을 인코딩 작업을 거친 후 exemail.uu라는 파일로 저장한다. 이 파일을 디코딩하면 canexe.Z라는 이름으로 파일이 만들어진다.


vi
: 거의 유닉스 표준이라고 말할 수 있는 풀 스크린 에디터이다. 이것은 유닉스 시스템의 일부라고 말할 수 있으므로 레퍼런스에 포함했다.

문법
# vi [ 파일명(들) ]

설명
이것은 매우 강력한 기능의 스크린 에디터이다. 메뉴 방식이 아니라 명령 입력 방식이기 때문에 처음 학습이 불편하다는 단점이 있지만 사용법을 알면 매우 빠르게 작업을 수행할 수 있다.

사용예
# vi manual.book             ;; vi를 실행 후 manual.book을 읽어들인다.


w
: 현재 시스템에 접속한 사용자들의 정보를 출력한다.

문법
# w [ 사용자 ]

설명
이것은 who 명령과 유사한 동작을 한다. 인수로 사용자 ID를 지정한다면 특정 사용자에 대한 정보를 얻을 수 있으며, 인수없이 사용된다면 현재 시스템에 접속한 모든 사용자들의 정보를 자세히 출력한다. 출력 내용의 첫줄에는 시스템 가동 현황을 보여준다.

사용예
# w
11: 32 am up 4 min, 2 users, load average : 0.00, 0.05, 0.02
User      tty    From           login@ idle     JCPU    PCPU  what
root      tty1                  11:28am                           w
blade     tty2                  11:31am                           -sh


wall
: 현재 시스템에 로그온되어 있는 모든 사용자들에게 메시지를 보낸다.

문법
# wall [ 파일명 ]

설명
메시지는 각 사용자의 터미널에 나타나게 된다. 인수로 파일 이름이 주어지지 않으면 표준 입력으로부터 데이터를 받아들이며, ^D로 입력을 종결하고 메시지를 발송한다. 이것을 사용하려면 슈퍼 유저로 로그인되어야 한다. 사용자가 자신의 터미널을 메시지 수신 거부 상태로 만들어 놓더라도 슈퍼 유저는 그것을 무시할 수 있다.

사용예
$ wall
30 minutes latter, this system will be halted!! ^D


wc
: 파일내의 단어 수 등의 정보를 출력한다.

문법
# wc [ -cwl ] 파일이름(들)

옵션
-c : 문자(character)의 개수만을 알고 싶을 때 사용한다.
-w : 단어(word)의 개수만을 알고 싶을 대 사용한다.
-I : 행(line)의 숫자를 알고 싶을 때 사용한다. 혹은 개행 문자의 개수를 알고자 할  때 사용될 수도 있다.

설명
wc라는 이름은 word counter를 의미하는 것이 아닌가 생각한다. 아무런 옵션을 주지 않고서 사용하면 행수, 단어수, 문자수를 모두 검사해서 보고한다. 텍스트 문서 속에서 단어란 공백(space)문자, 탭(tab)문자 그리고 개행(newline)문자에 의해 구분되는 문자들의 집합을 의미한다.

사용예
$ wc sample.txt
11    29    197 sample.txt


which
: 등록된 path를 통해서 특정 프로그램을 찾는다.

문법
# which 프로그램

설명
만일 사용자의 path가 매우 긴 경우에 유용하게 사용될 수 있다. find와 유사한 기능이지만 path안에 있는 프로그램을 찾을 때 간단하게 사용된다.

사용예
# which tetries
지정된 path 안에서 tetries 프로그램을 찾는다.


who
: 현재의 시스템에 접속한 사용자의 이름이나 로그온 정보를 보여준다.

문법
# who [ -uTHqs ] [로그온 정보파일 ]
# who am I

옵션
-u : 현재 시스템에 누가 로그온되어 있는지 보여준다.
-T : 사용자의 터미널이 메시지를 보낼 수 있는지를 알려준다. +기호는 메시지를 쓸 수 있고, -는 그렇지 않음을 보여준다.
-H : 헤더 라인을 프린트한다.
-q : 사용자 이름과 카운트가 구분된 목록을 보여줌, 다른 옵션은 무시된다.
-s : 호환을 위해 포함된 옵션으로 무시된다.

설명
아무런 인수없이 who 명령을 사용한다면 users명령처럼 지역 호스트상의 사용자 목록을 보여준다.

자신이 누구인지를 알려면 인수로 am I를 사용한다. 그러면 다음과 같은 바보같은 질문이 될 것이다.
# who am I

이런 명령도 가끔은 필요할 것이다. 가령 친구의 계정으로 로그인했는데 그것을 잊어버렸을 경우라든지 아무도 없는 학교 실습실에 켜진 채 놓여진 터미널을 발견했을 때 누가 사용하다가 자리를 비웠는지 알고 싶을 때 등이다.
사용자가 로그인하거나 로그아웃할 때마다 /var/adm/wtmp 파일에 기록된다. 이 파일을 보면 사용들이 들어오고 나간 것을 확인할 수 있다. 이 파일 이름을 who 명령의 인수로 주면 그것을 볼 수 있는 것이다.


write
: 사용자의 터미널 사이에 메시지를 전달한다.

문법
# write [ 사용자 ][ tty ]

설명
메시지를 전달하고자 하는 사용자의 이름을 지정한다. 만일 한 사용자의 이름으로 두 명 이상이 사용중이면 특정 터미널을 지정하여(tty) 메시지를 전달할 수 있다. write는 표준 입력 장치로 전달할 메시지를 입력받는다. 각행에서 리턴 키를 누를 때마다 메시지가 전달되며, ^D를 누르면 그만둔다.
메시지가 수신되면 ‘Message from 보낸사람 터미널’등의 정보를 보여주어서 누가 어느 터미널에서 메시지를 보내는지를 알 수 있도록 한다. 보내고자 하는 사람이 로그인되어 있지 않다면 ‘user is not logged on이라고’ 알려주며 만일 그 사람의 터미널이 메시지 수신을 거부하고 있는 상태라면 ‘permission denied 라는’ 말을 보여준다. 그는 아마도 mesg n 명령을 사용했을 것이다.

사용예
# write victor
Do you have the linux-CDROM ?
^d

신고
Posted by genius3k

티스토리 툴바