==============================================================================
기타명령어
==============================================================================
addbib - 도서목록 형식의 데이터베이스를 만들거나, 확장
apropos - 사용설명서의 키워드 검색
ar - 라이브러리 만들기, 관리
at, batch - 원하는 시간에 원하는 명령을 실해하게 하는 명령
awk - 패턴 검색과 언어 처리
banner - 큰 글자(배너) 만들기
basename - 경로 이름에서 마지막에 있는 이름만 출력
biff - 자신에게 편지가 배달되면 알려주는 명령
bin-mail, binmail - 예전에 사용한 전자우편 프로그램
cal - 달력보기
calendar - 간단한 일정표
cat - 파일 병합과 내용 보기
cb - 간단한 C 프로그램 beautifier(?)
cc - C 컴파일러
cd - 작업 디렉토리 바꾸기
checknr - nroff 또는 troff 입력 파일 검사; 오류를 보여준다
clear - 터미날 화면 깨끗이 하기
cmp - 두 파일을 바이트 단위로 비교
colcrt - troff 파일의 밑줄 속성 문자 처리
comm - 지정 두파일의 줄 단위 비교와 그 처리
compress, uncompress, zcat - 파일 압축관련 유틸리티들
cpio - copy file archives in and out
cpp - C 언어 전처리기
csh - C 문법과 비슷한 쉘 스크립트 문법과 기타 여러 기능이 내장된 쉘
ctags - ex 나 vi 편집기에서 사용될 tag 파일을 만드는 명령
dbx - 소스 수준의 디버거
deroff - nroff, troff, tbl, eqn 관련 내용 지움
diff - 두 파일의 차이점 비교
echo - 인자를 표준 출력으로 출력
ed, red - 기본 줄 편집기
eqn, neqn, checkeq - 수식 표현 포멧 도구
error - 컴파일러 오류 메시지 목록
ex, edit, e - 줄 편집기
expand, unexpand - TAB 문자를 공백문자로 바꿈, 또는 그 반대로
expr - 인자를 수식으로 처리
file - 파일 형식 알아보기
finger - 사용자 정보 알아보기
fmt, fmt_mail - 간단한 문서나, 편지 포멧 도구
fold - 긴 줄 출력 방법 지정
gcore - 실행 중인 프로세스의 core 이미지를 구한다.
gprof - call-graph profile data(?)를 보여줌
grep - 문자열 찾기
groups - 사용자의 그룹을 보여줌
history - 이전 명령 보기
hostname - 현재 시스템 이름을 보여줌
imake - makefile 만드는 프로그램
indent - C 프로그램 소스 파일을 들여쓰기 하는 포멧 도구
install - 파일 설치
join - 관계형 데이터베이스 연산자
ld, ld.so - 링크 편집기, 동적 링크 편집기
leave - 자신의 접속 종료 시간을 알려줌
less - more 명령의 확장
lex - 어휘 분석 프로그램 생성기
lint - C 프로그램 verifier
ln - 파일의 하드, 심벌릭 링크 명령
login - 시스템 접속 명령
look - 시스템 디렉토리나, 정열된 목록에서 단어 찾기
lookbib - 도서목록형 데이타베이스에서 찾기
lorder - 오브젝트 라이브러리의 관계 찾기
lp, cancel - 인쇄 시작, 취소 lpq - 인쇄 작업 상황 보기
lpr - 인쇄
lprm - 인쇄 작업 지우기
mail, Mail - 전자 우편 프로그램
mail
: 전자 우편을 사용하기 위해 mail이라는 명령을 사용한다. System V 같은 계열의 유닉스에서는 mailx라고 하기도 한다. BSD에서는 mail이라고 하며, 당연히 BSD 계열인 리눅스에서도 그렇게 부른다.
문법
- mail [ -Hf ][ 사용자ID ]
옵션
-f : 편지가 수신된 파일을 지정하며, -f 옵션 뒤에 파일 이름을 지정한다.
설명
사용자 ID를 명시되지 않고, 인수없이 mail을 실행하면 수신된 편지를 읽을 수 있다. 편지는 mail 디렉토례 사용자ID 이름으로 만들어진 파일에 저장된다.
man
- 온라인 사용자 설명서를 보는 명령
사용예
- $ man telnet
man
: 사용하고자 하는 유닉스 유틸리티에 대한 매뉴얼(manual)을 검색해서 보여준다.
문법
- man [ 장 ] 단어
- man -k 키워드
옵션
-k : 인수로 주어진 단어를 키워드로 사용하여, 해당 키워드가 발견되는 모든 매뉴얼의 내용을 검색하여 보여준다.
설명
셸을 사용할 때 어떤 명령의 사용법이 기억나지 않는 경우가 있다. 혹은 매번 사용하던 명령이라도 특수한 옵션이 필요할 때 그 기호나 사용법을 정확히 확인해야 하는 경우가 많이 있다. 물론 참고 서적을 보면 되겠지만 터미널 상에서 필요한 도움말을 언제라도 제공받을 수 있다. 시스템에 내장된 매뉴얼은 빠르게 볼 수 있을 뿐만 아니라 그 내용도 완벽한 것이어서 옵션의 종류 같은 것은 빠진 것이 없다. 만일 온라인 레퍼런스를 모두 종이로 출력한다면 그 분량은 엄청날 것이 틀림없다.
위에서 보인 첫 번째 형식은 매뉴얼의 장 번호를 이름과 함께 명시해서 검색할 수도 있다. 하지만 보통은 그것을 생략하고, 검색하고자 하는 제목만을 인수로 전달해서 사용한다. 그러면 자세한 내용을 볼 수 있을 것이다. 출력된 내용은 화살표 키를 사용해 위아래로 자유로이 스크롤할 수 있다.
mcd
: MSDOS 시스템으로 현재 사용하는 디렉토리 장소를 이동한다.
문법
- mcd dos디렉토리
설명
dos 디렉토리는 슬래쉬나 백 슬래쉬 모두 사용할 수 있으며, MSDOS에서 사용되는 백 슬래쉬(\)나 와일드 카드를 사용하려면 따옴표를 사용하여 셸이 번역하는 것을 미리 막아야 한다.
사용예
- $ mcd a:/dos
mdel
: MSDOS 파일 시스템에서 파일을 제거한다.
문법
- mdel [ -v ] 파일명
옵션
-v : 진행되는 상황을 자세히 보여준다.
사용예
- $ mdel a:/letter.txt
wc
파일내의 단어 수 등의 정보를 출력한다.
문법
- wc [ -cwl ] 파일이름(들)
옵션
-c : 문자(character)의 개수만을 알고 싶을 때 사용한다.
-w : 단어(word)의 개수만을 알고 싶을 대 사용한다.
-I : 행(line)의 숫자를 알고 싶을 때 사용한다. 혹은 개행 문자의 개수를 알고자 할 때 사용될 수도 있다.
설명
wc라는 이름은 word counter를 의미하는 것이 아닌가 생각한다. 아무런 옵션을 주지 않고서 사용하면 행수, 단어수, 문자수를 모두 검사해서 보고한다. 텍스트 문서 속에서 단어란 공백(space)문자, 탭(tab)문자 그리고 개행(newline)문자에 의해 구분되는 문자들의 집합을 의미한다.
사용예
$ wc sample.txt
11 29 197 sample.txt
wait - 프로세스가 마치기를 기다림
wc - 단어, 줄, 바이트 계산
what - 파일에서 SCCS 버전 정보 알아냄
whatis - 명령의 간단한 설명 보여줌
write - 다른 사용자의 화면에 특정 내용을 알림
xargs - 명령행 인자 처리 명령
xstr - extract strings from C programs to implement shared strings
yacc - yet another compiler-compiler: 파싱(형태소분석) 프로그램 생성기
yes - 항상 yes만 응답하는 명령
zcat - 압축 파일 내용보기
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 ,,현재 디렉토리의 하위 디렉토리 작성
- $ cd blade.seoul
- $ mkdir -p blade/books
이것은 현재 디렉토리에서 하위 디렉토리 blade를 먼저 만든 후에 다시 그 하위 디렉토리로 books를 만든다.
mount
: 다른 파티션의 디스크나 물리적으로 다른 기억 장치를 파일 시스템으로 연결한다.
문법
- mount [ -vwrnta ] 장치명 디렉토리
옵션
-v : 마운트 작업을 수행하면서 자세한 정보를 출력한다.
-w : 마운트되는 파일 시스템을 읽기와 쓰기가 가능하도록 한다.
-r : 마운트되는 파일 시스템이 읽기 동작만 가능하도록 한다.
-n : 마운트 정보가 기록되는 /etc/rntab 파일에 정보를 기록하지 않는다.
-a : /etc/fstab 파일에 있는 모든 파일 시스템을 마운트하도록 한다.
-t 형태 : 마운트되는 파일 시스템의 형태를 지정한다.
설명
마운트 개념은 다른 PC용 오퍼레이팅 시스템에 비해 매우 우수한 개념이라 할 수 있다. 사용자는 다른 오퍼레이팅 시스템도 마운트하여 접근할 수 있다. -t 옵션을 사용하여 그 형식을 지정하면 대부분이 형식이 가능하다. -t 옵션으로 지정할 수 있는 형태는 msdos, hpfs, minix, ext, ext2, proc, nfs, umsdos, sysv 등으로 사용자가 원하는 모든 파일 시스템이 접근할 수 있을 것이다. 현재 시스템에 마운트된 장치의 정보는 /etc/mtab 파일에 저장되어 있다.
사용예
다음의 사용예는 다른 파티션 영역을 차지하고 있는 DOS 파일 시스템을 마운트하는 것이다. 사실, 이것은 필자가 리눅스를 설치하고 나서 실제로 했던 작업을 그대로 적어놓은 것이다. /dev/hda1 이 의미하는 바에 대해서는 본문을 참조하라(물론 이것은 독자가 설치한 방식에 따라서 다를 것이다.) 하드 디스크의 이 영역에는 Windows 95가 설치되어 있는데, 이것도 DOS 파일 시스템 형식으로 접근이 가능하며 파일의 읽기와 쓰기가 자유롭다.
- $ mount -t msdos /dev/hda1 /mswin
mv
: 파일의 위치를 이동하거나 파일의 이름을 바꾸어준다.
문법
- mv [ -fi ] 파일명1 파일명2
- mv [ -fi ] 파일명(들) 디렉토리명
옵션
-f : 같은 이름의 파일이 존재하고 쓰기 권한이 금지되어 있더라도 물어보지 않고 덮어쓰기를 해버린다. 이런 경우 이 옵션을 사용하지 않으면 사용자에게 다시 확인을 할 것이다.
-i : 파일을 덮어쓰기 전에 사용자에게 확인한다.
설명
기존에 있던 파일을 원치않게 잃어버리는 수가 있기 때문에 확실하지 않다면 -i 옵션을 사용하는 것을 권한다.
사용예
- $ mv sisap.hong victor.dongki readme.txt ../friend
- $ mv blade.Z ../kimtaihan.Z
- $ mv /home/blade /home/friend
만일 어떤 파일을 현재의 위치에서 다시 현재의 위치로 이동한다면 어떤일이 일어날까 고민할 것 없다. 답은 당연히 ‘아무 일도 일어나지 않는다’ 이다. 이것은 어떤 의미를 가지지 못한다. 하지만 파일 이름을 바꾸면서 현재의 위치로 ‘이동’한다면, 그것은 파일의 ‘이름을 변경’ 하는 것과 같은 효과를 거둘 것이다.
- $ mv sisap.doc LeeKiHong.doc
newgrp
: 현재 그룹 ID를 변경한다.
문법
- newgrp 그룹명
설명
이 명령을 사용하여 다른 특성 그룹들의 파일을 다룰 수 있다. 그룹을 바꾸면 패스워드를 물어오는 프롬프트가 나타난다. 그러면 그에 해당하는 그룹 패스워드를 입력해야 한다.
- No such group : No such file or directory
이것은 당신이 바꾸고자 하는 그룹 이름이 존재하지 않는다는 것이다. 그룹 이름을 잘못 지정하면 이러한 메시지를 볼 수 있을 것이다.
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
파일내의 단어 순서를 행
adduser 또는 useradd---사용자 추가
# adduser thkim
thkim란 아이디를 만든다.
# adduser -p world -g class -s '/bin/bash' -d '/home/thkim' thkim
비밀번호가 world이고 그룹은 class 쉘은 bash 홈디렉토리는 /home/thkim 인 thkim란 아이디를 만든다.
userdel ---사용자 삭제
# userdel thkim
thkim란 아이디를 삭제한다.
# userdel -r thkim
thkim란 사용자의 홈 디렉토리까지 삭제한다.
passwd ---비밀번호 지정
# passwd thkim
thkim란 아이디에 패스워드를 부여한다.
ls ---파일과 디레토리에 대한 정보를 출력한다.
# ls -al
-l: 파일의 모든 정보 출력
-c: 최근 변경한 시간 순서데로 출력
-d: 디렉토리 명만 출력
-F: 파일의 특성을 출력( /디렉토리 *실행화일)
-a: dot(.)으로 시작하는 파일의 이름을 포함한 모든 내용을 출력
현재 디렉토리의 모든 파일을 상세히 본다.
cd ---디렉토리 사이를 이동한다.[현재 디렉토리 변경]
# cd -
방금 전의 디렉토리로 이동한다
# cd ~
홈 디렉토리로 이동한다
# cd ..
한 단계 위의 디렉토리로 이동한다
# cd /
최상위 디렉토리로 이동한다
# pushd .
현재 디렉토리를 기억한다
# popd
기억된 디렉토리로 이동한다[한 번만 가능]
cp ---파일을 다른 디렉토리로 복사하거나 다른 이름으로 복사한다.
# cp thkim /root
thkim란 파일을 /root 로 복사한다.
mv ---파일을 다른 디렉토리로 이동하거나 파일명을 변경한다.
# mv thkim hoho
thkim란 파일을 hoho로 바꾼다.
# mv thkim /work
thkim란 파일을 /work/로 이동 시킨다.
rm ---파일을 삭제한다.
# rm /root
/root 디렉토리를 지운다 :)
mkdir ---디렉토리를 생성한다.
# mkdir thkim
thkim란 디렉토리를 만든다.
rmdir ---디렉토리를 삭제한다.
# rmdir thkim
thkim란 디렉토리를 지운다
# rm -r tmp
tmp 디렉토리와 모든 내용을 지운다.
man ---지정한 명령어에 대한 설명 또는 도움말을 출력한다.
# man ls
ls에 대한 설명을 본다.
info ---man명령어 보다 자세히 나와 있음
# info ls
ls에 대한 설명을 본다.
more ---지정한 파일의 내용을 한 화면에 출력하면서 잠시 멈춘다.
# more thkim
thkim 파일을 본다
종료는 q
cat ---지정한 파일의 내용을 출력한다.
# cat thkim|more
thkim 파일을 한 화면씩 본다.
grep ---특정 파일내의 지정한 패터[문자열]과 일치하는 행을 출력한다.
# cat thkim|grep thkim
thkim란 파일에 thkim라는 문자열을 찾는다.
chmod ---파일의 접근권한[도스에서의 속성]을 변경한다.
# chmod go-rwx /root or chmod 700 /root
/root 디렉토리에 그룹과 기타 사용자의 읽기 쓰기 실행 권한을 없앤다.
u: 파일 소유자, g: 그룹, o: 기타 사용자, a: 모든 사용자
+: 사용허가부여, -: 사용허가박탈, =: 허가 취소
r: 읽기 허가, w:쓰기 허가, x: 실행 허가
r = 4, w = 2, x = 1
chown ---파일의 소유자를 변경한다.
# chown thkim file
file의 소유권을 thkim로 바꾼다.
df ---사용가능한 디스크의 용량을 출력한다.
# df
사용 가능한 디스크 용량을 출력한다.
du ---지정해준 디렉토리내의 파일이 차지하는 용량을 알아내는 명령어
# du -b /home
/home 디렉토리 밑의 용량을 바이트로 표시한다.
# du -sh /usr
/usr 디렉토리 밑의 용량을 메가바이트 단위로 보여준다.
cfdisk --- 디스크 정보를 출력한다.
# cfdisk
hdparm ---하드 디스크 인터페이스
# hdparm -c3 -d1 /dev/hda
hda드라이브 32bit전송 dma모드를 On 시킨다.
find ---주어진 파일명과 동일한 파일을 찾고, 그 경로를 출력한다.
# find / -name thkim -print
최상위 루트 디렉토리부터 검색하여 검색된 파일을 한 행에 하나씩 표준 출력
# find . -name thkim -print
현제의 작업 디렉토리에서 검색
# find / -size +1000 -print
최상위 루트에서 크기가 1000블록 이상인 파일 검색
# find . -size -1000 -print
현 디렉토리에서 크기가 1000블록 이하인 파일 검색
# find . -mtime +10 -print
10일 이전에 수정된 파일 검색
# find . -mtime -10 exec rm {} \:
10일 이내에 수정한 파일을 검색하여 모두 지운다
# find / -cmin 5 -print
5일 이내에 생성한 파일을 검색 |