1.기본 명령어
date : 현재의 날짜와 시간을 단말기 화면에 표시
who : 리눅스 시스템에 로그인 되어 있는 사용자들에 대한 정보를 화면에 표시
date;who;cat > sample.c : 한 줄에 두 개 이상의 명령어를 동시에 입력하고자 할 경우 명령어와 명령어 사이를 ; 으로 구분한다
cal 8 1998 : unix 시스템에 내장되어있는 달력을 화면에 출력
cat address.list : 파일의 내용을 화면에 출력한다
man date : 예약어나 명령어에 대한 온라인 매뉴얼
ls: 현재 위치한 디렉토리 아래에 있는 파일 및 서브디렉토리의 정보를 나열 <옵션>
-l: 파일의 모든 정보 출력
-c: 최근 변경한 시간 순서대로 출력
-d: 디렉토리 명만 출력
-F: 파일의 특성을 출력( /디렉토리 *실행화일)
-a: dot(.)으로 시작하는 파일의 이름을 포함한 모든 내용을 출력
alias dir ls -alF : 자주 쓰이는 명령어 ls를 다른 형태의 명령어 dir로 바꿀 때..
pwd : 현재 작업 디렉토리 출력 명령어
cd : 디렉토리 변경 명령어
2.디렉토리 관리 및 파일 관리 명령어
mkdir : 디렉토리 생성 명령어 (%mkdir [option] [directory name]
rmdir : 디렉토리 삭제 명령어
<옵션>
- r: rm -r test ; test의 하위디렉토리와 파일을 전부 삭제
- i: rm -i test ; 삭제 여부를 사용자에게 물어 본다
cat : 파일을 작성하거나 파일의 내용을 간단하게 출력
cat test1.c cat > test1.c
touch : 내용이 없는 빈 파일을 생성, 이미 생성된 파일의 수정 시간 갱신 touch [option] [시간] [파일명]
more [file name] : 한 번에 한 화면씩 파일의 내용을 표준 출력
-내용을 보지 않고 종료시 q 나 Q 키를 누른다
page [option] [file name] : 한 번에 한 화면씩 파일의 내용을 표준 출력(=== %pg)
nl [file name] : 지정한 파일의 내용을 츨력할 때 맨 앞에 행 번호를 붙쳐서 출력
file test.c : test.c라는 파일의 형태를 출력
cp :시스템내에 있는 특정 파일을 복사
- mkdir temp :temp라는 디렉토리 생성
- cp sample test temp :temp라는 디렉토리 밑에 sample 과 test 라는 파일을 복사
- mkdir example
- cp -r temp example --temp라는 디렉토리 아래에있는 모든 내용을 example디렉토리에 복사
mv [file name1] [file name2]: file name1을 file name2로 이름 변경
mv [file1] [file2] [directory1]: file1, file2를 directory1으로 이동
mv [directory1] [directory2]:directory1의 모든 내용을 directory2로 이동
-->명령어 cp, mv, rm에서 option -i는 사용자에게 여부를 묻는 옵션입니다
rm test1 test2 test3 : test1,test2,test3 파일을 삭제
rm -r quit : quit 디렉토리 및 모든 내용을 삭제
ln test1 test2 : test1과 test2라는 2개의 파일을 연결
(unlink ; 연결 해제)
find: 사용자가 지정한 특정 범위에 해당하는 모든 파일을 검색 - find / -name test1.c -print ; 최상위 루트 디렉토리부터 검색하여 검색된 파일을 한 행에 하나씩 표준 출력
find . -name test1.c -print ; 현재의 작업 디렉토리에서 검색 find / -size +1000 -print ; 최상위 루트에서 크기가 1000블록 이상인 파일 검색
find . -size -1000 -print : 현 디렉토리에서 크기가 1000블록 이하인 파일 검색
find . -mtime +10 -print : 10일 이전에 수정된 파일 검색
find . -mtime -10 exec rm {} \: ; 10일 이내에 수정한 파일을 검색하여 모두 지운다
chmod : 파일 및 디렉토리에 이미 정해진 접근 허가 모드를 변경
- 사용 형식: %chmod [ugoa] [+-=] [rwx] [file name]
u: 파일 소유자, g: 그룹, o: 기타 사용자, a: 모든 사용자
+: 사용허가부여, -: 사용허가박탈, =: 허가 취소
r: 읽기 허가, w:쓰기 허가, x: 실행 허가
특정 사용자를 지정하지 않으면 모든 사용자를 의미한다
chmod go+r test.c ; 소유자 그룹과 기타 사용자에게 읽기 허가
chmod ugo-w test.c ; 소유자,그룹,기타 사용자에게 읽기 허가 박탈
chmod +x test.c
chmod o -rwx test.c
r = 4, w = 2, x =1
chmod 744 test.c
-rwxr--r-- 1 edul user 235 Oct 15 13:23 test.c
chmod 724 test.c
-rwx-w-r-- 1 edul user 235 Oct 15 13:23 test.c
* : dot(.)을 제외한 모든 문자와 대응하며 모든 파일명을 대표하는
메타 문자 %ls *a* , %ls t*
? : " " " 임의의 한 문자만을 대신
3.입력과 출력에 관한 명령어
입력> 출력 >>
date > date.out : 이전 내용이 지워지고 새로운 내용이 저장
date >> date.out : 이전 내용과 함께 새로운 내용 첨가
file test.out : test 파일을 입력으로 받아서 file 명령을 실행하고
-cat test.out: test.out에 출력
test: Ascll text
2>>, 2> : 오류 출력 제지정
tty : 현재 사용하고 있는 단말 장치의 이름을 경로와 함께 표준 출력
lpstate : 프린터의 현제 상태 (활성화: enable, 비활성화: disable)
lp -c temp.c : 내용이 변경되어도 문제가 지속되지 않도록미리 출력될 파일을 복사
lp -n7 /etc/lp/temp : 7장 프린트
lp -m temp.c : 출력이 끝난후 사용자에게 전자우편을 보냄
lp -t"chon bing hee" : test.out ; chon bong hee라는 표제를 달아 줌
cancel [print name] : 프린터 취소
disable -c [print name] : 지정한 프린터에서 현제 출력중인 작업 취소
disable -w laser-3 : 모두 인쇄한 다음 프린터를 disable 상태로 만든다
disable -c -r "out of paper" laser-1 : 주석을 달아 놓는다
grep [option] 형태 [화일명] : 정규식을 이용 패턴 지정
-grep -i tom sample.c : sample.c 라는 파일에서 tom 이라는 문자열을 대소문자 구분 없 이 검색
-grep -n tom sample : 행 번호와 함께 출력
-grep -i "tom is" sample : 공백은 " "로 표기
-grep -v tom sample : tom이라는 형태를 포함하지 않는 행을 출력
fgrep helo test1 test2 : 복수개의 파일 지정,단순한 문자열 검색
egrep "mary {su | mj)" sample : sample 파일에서 mary su 와 mary mj를 포함하는 행 을 동시 검색 다양한 정규식 사용
cut -c10-17 sample : sample 파일에서 칼럼 단위10-17을 절단
-cat sample
computer science
computer graphics
-cut -c10-17 sample : sample 파일에서 칼럼 단위10-17을 절단 -cat sample : sample 출력결과 > science graphics
paste : 파일 합성 명령어 (-d: 구분자를 지정)
-cat aaa
qqq
www
-cat bbb
eee
rrr
paste -d; aaa bbb
qqq;eee
www;rrr : ; 으로 구분자를 지정
cmp test1 test2 : 서로 다른 두 파일을 비교
dircmp test test : 서로 다른 두 디렉토리 비교
4.백업 및 복사에 관한 명령어(rfd:디스켓, rct:카트리지테이프, rmt: 테이프)
하드 ----> 디스켓
tar -cvf /dev/rfd0c test1 (c: 저장되는 파일들이 디스크의 처음 부터 기록, v:기록되는 화일명 화면 출력)
tar -tvf /dev/rfd0c : 디스켓의 파일 목록 확인
디스켓 ----> 하드
tar -xvf /dev/rfd0c test1 : 지정한 파일 복원
동일한 하드에서 %tar -cvf test1.tar test1 compress test.c (파일 압축)
uncompress test.c.Z (압축 풀기)
test.c.Z (파일 생성)
zcat test.c.Z (파일 보기)
pack test.c (파일 압축)
unpack test.c.z :test.c.z (파일 생성)
pcat test.c.z (파일 보기)
Non-preemptive(비선점) : 커널 모드
kernel : 생성되는 프로세스마다 PCB 부여하고 관리
5.멀티 태스킹에 관련된 명령어
Multitask
foreground : 하나의 명령이 실행되어 결과를 출력할때까지 다른 명령을 수행 할 수 없다
background : 하나의 명령을 수행시킨후 그 수행의 종료 이전에 다른 명령을 수행 하는 것
---> 명령어 끝에 &로 표시 (cc -o test1 test1.c &)
ps -l : 프로세스에 관한 모든 상태 정보 출력
ps -e : 현제 실행중인 모든 프로세스에 관한 정보 출력
ps ps -t 00 : 지정된 터미널에서 실행중인 프로세스에 관한 정보 출력
nice [-정수값:1~39 , 20으로 설정] 명령어 -->우선 순위 변경 명령어
정수값이 높을수록 우선 순위가 낮다 (nice -10 cc -o test test1.c)
at : 수행 시간 지정 명령어 -->at 11:30 pm
cc test.c
<옵션>
-r: 이전에 지정된 작업 취소
-l : 지정된 작업 번호 출력
(sleep 20; cc -o sample sample.c)& -->백그라운드 실행, 20초 뒤 프로그램 컴파일 (sleep 10; ps -el) --> 10초후 모든 프로세서 상태 출력
time cc -o test test.c --수행 시간 출력 명령어
Running : 현제 백그라운드 수행중인 상태
Stopped : fg로 수행되다가 ^D로 잠시 중단된 상태
Terminated : Kill 명령을 사용해 강제로 종료된 상태
Done : 백그라운드 프로세서의 수행이 완전히 종료된 상태
Exit : 백그라운드 프로세서가 수행도중 오류 때문에 빠져 나온 상태
jobs : 백그라운드로 수행중인 모든 프로세서의 상태 출력
fg %1(작업 번호) : 백그라운드로 수행중인 작업을 포그라운드로 전환
bg %1( " ) : 포그라운드로 " " 백그라운드로 전환
wait [작업번호] : 백그라운드 실행 종료
kill [번호] : 프러세서 강제 종료 명령어
---> 강제 종료가 안될 경우 -9옵션을 사용 %kill -9 1239
nohup cc -o sample1 sample1.c & 1132[PID번호] ---> 백그라운드로 실행, 로그 아웃이나 중지 신호후에도 프로세서의 수행 계속
6.shell 관련 명령어
alias : UNIX 명령어 이름에 쉘이 인식할 수 있는 새로운 이름, 즉 별칭을 지정하는 것
- alias readmail cat /usr/mail/chonbh
- alias dir ls -al
-alias type cat
쉘 Bourne쉘 (sh), C 쉘 (csh) , K 쉘 (ksh)
setenv PS1 "bonghee>"
echo $PS1
bonghee> : 기본 프로프트 정의
ctrace ---c : 프로그램의 추적
cb [화일명.c] : c프로그램의 형식을 정돈
lint [option] [파일명] : compile error 검사
cc test.c
a.out ---> 생성
cc :c컴파일러
CC :c++ , x-windows
참조 : http://anuis.andong.ac.kr/%7Ekih/linux1.html
출처-쉽게 풀이된 LINUX 명령어 활용 사전 (PS:서점가면 팜)