LINUX SYSTEM 시작과 종료

1. Linux 종료

1-1. GUI에서의 종료

[Desktop] ⇨ [Logout] ⇨ [컴퓨터 끄기]

1-2. Terminal에서의 종료

"shutdown -h now"(-h는 "halt"를 의미)또는 "halt" 또는 "init 0"명령을 입력한다.

[실습]

[root@CentOS ~]# shutdown -h now □

[root@CentOS ~]# halt □

[root@CentOS ~]# init 0 □

shutdown명령어의 option중에서 "now"부분에 시간을 지정하면, 지정한 시간에 시스템을 종료한다.

# shutdown -h +10 □

: 10분 후에 시스템 종료)

# shutdown -r 22:00 □

: 오후 10시에 재부팅(r : reboot)

# shutdown -c □

: 진행 중인 shutdown을 취소(c : cancel)

# shutdown -k now □

: 현재 접속된 사용자에게 종료된다는 메시지만 보내고, 실제로 종료하지는 않음

# shutdown +3 "system is going " □

: 현재 접속된 사용자들에게 "system is going down"이라는 메시지를 뿌려주면서 3분후에 시스템이 종료되게 함

# shutdown -f □

: 다음 부팅 시 파일 시스템을 검사하지 않는다.

# halt -w □

: 실제로 종료하지는 않지만 /var/log/wtmp파일에 기록을 남긴다.

# halt -d □

: wtmp파일에 기록을 남기지 않는다.

2. Linux 재시작

2-1. GUI에서의 재시작

[Desktop] ⇨ [Logout] ⇨ [컴퓨터 다시 시작]

2-2. Terminal에서의 재시작

"shutdown -r now"(-r은 "reboot"를 의미)또는 "reboot" 또는 "init 6"명령을 입력한다.

[사용 예]

# shutdown -r now

# reboot

# init 6

# reboot -w □

: 실제로 재부팅은 하지 않지만 /var/log/wtmp파일에 기록을 남긴다.

# reboot -d □

: wtmp파일에 기록을 남기지 않는다.

3. Linux 로그아웃

시스템을 종료하지 않고, 현재 사용자의 접속을 단순히 끊겠다는 의미로서, Linux는 다중 사용자(Multi-User)시스템 이므로 로그아웃이 반드시 필요하다.

3-1. GUI에서의 로그아웃

[Desktop] ⇨ [Logout]

3-2. Terminal에서의 로그아웃

텍스트 모드에서는 logout, exit명령어를 사용하면 된다.(하지만 GUI Terminal창에서는 logout이 먹히지 않는다.)

4. 리눅스 각 디렉터리(Directory)의 역할

/dev: 주변 장치들의 파일들이 저장되는 디렉터리

/etc: 시스템 환경 설정파일이 저장되는 디렉터리로서 사용자 정보를 가지는 passwd파일, 그룹에 관한 정보를 가지는

group 파일, 패스워드와 관련된 파일인 shadow파일, 프린터 목록 파일인 printcap, 자동으로 마운트 되는 파일

시스템을 등록하는 fstab파일, 런 레벨에 관련된 inittab파일, Grub설정 파일인 grub.conf파일 그리고 각종

네트워크에 관련된 파일등이 들어있다.

/bin: 사용자 환경설정 파일 및 파일 처리명령, 텍스트 처리 명령, 네트워크 명령 등 여러 가지 명령어들이 실행파일

형태로 저장되어 있는 디렉터리

/lib: 시스템과 응용 프로그램들이 실행에 필요한 코드들이 사용하는 대부분의 라이브러리가 들어있는 디렉터리

/home: 각 사용자들의 기본 홈 디렉터리, 일반적인 사용자들이 개인용 파일이나 서브 디렉터리를 둘 수 있다.

/root: root사용자의 특별한 홈 디렉터리

/proc: 리눅스 시스템 정보를 실시간으로 확인할 수 있는 특별한 내용이 저장되는 디렉터리로서 cpu정보를 담고 있는

cpuinfo파일, 사용 중인 interrupt목록과 interrupt발생횟수를 보여주는 interrupts파일, 사용 중인 I/O

주소 목록을 담고 있는 ioports파일 PCI BIOS정보를 담고 있는 pci파일 시스템 통계량을 보여주는 stat파일

등이 있다.

/sbin: 파일 시스템 처리 명령, 네트워크 설정 명령, 시스템 초기화 명령, 커널 모듈의 관리 명령 등 시스템의 전반적인

관리 명령어 들이 들어있는 디렉터리로서 root에게만 허가된다.

/tmp: 어떠한 작업을 위해 임시로 파일을 생성하는 디렉터리

/var: 시스템이 가동하면서 생기는 각종 임시파일을 저장하는 디렉터리로서 각종 server들의 전송상황, 에러 상황을

기록해 주는 파일을 위한 /var/log 디렉터리, 메일이나 프린터같이 Spooling이 필요한 /var/spool

디렉터리 등이 있다.

/usr: 시스템, 응용프로그램에서 필요한 파일들이 저장되어 있는 디렉터리 리눅스 설치 시 가장 많은 용량이 필요한

디렉터리 이다.

LINUX VI Editor(파일 생성 편집기 프로그램)

VI Editor는 UNIX 기종에서의 대표적인 파일 생성, 편집 프로그램이다.

1. vi Command Mode 3가지

① ESC 모드 또는 콜론 모드(w(Write) : 저장, q(quit) : 종료, ! : 강제 종료)

ESC Key를 누른 후 ":q" 는 그대로 종료, ":q!" 는 변경된 내용을 무시하고 종료, ":wq" 는 변경된 내용을 저장하고 종료 ":w 파일이름"은 새 이름으로 파일 저장하기, ":숫자" 해당 라인의 첫줄로 바로 이동

② 명령 모드

vi Editor 처음 실행 후 i 또는 a 키를 누를 수 있는 상태, 입력모드에서 ESC키를 눌러서 명령모드로 돌아올 수 있다.

③ 입력 모드 (라인 편집모드)

실제로 사용자가 각종 데이터를 입력하거나 편집할 수 있는 모드

2. vi Editor의 주요 명령어 (주로 쓰이는 명령어)

2-1. 텍스트 입력 명령어

i - 현재 커서 앞에서부터 입력, 입력 모드로 전환됨(현재 커서가 고정된 상태에서 입력모드로 전환)

I - 커서가 있는 줄의 맨 앞에서부터 입력하기

a - 현재 커서에서부터 입력, 입력 모드로 전환됨(현재의 커서가 뒤로 이동하면서 입력모드로 전환)

A - 현재 커서가 있는 줄의 끝부터 입력하기

o - 커서 바로 아래에 줄을 만들고 입력하기(open line)

O - 커서 바로 위에 줄을 만들고 입력하기(Open line)

s - 커서가 있는 글자를 지우고 입력하기

S - 커서가 있는 라인을 삭제하고 입력하기(라인 삭제 후 입력 모드 전환)

2-2. 커서 이동 명령어

h - 커서를 왼쪽으로 한 칸 이동(←)

l - 커서를 오른쪽으로 한 칸 이동(→)

j - 커서를 아래로 한 칸 이동(↓)

k - 커서를 위로 한 칸 이동(↑)

<단어별 이동>

w - 다음 단어의 첫 글자로 이동하기

b - 이전 단어의 첫 글자로 이동하기

e - 커서가 있는 단어의 마지막 글자로 이동하기, 단어의 마지막으로 이동하기

<행 단위 이동>

G - 파일의 가장 마지막 줄로 이동

1G - 파일의 가장 첫 번째 줄로 이동

: 숫자 - 숫자로 지정된 행으로 이동

^(□ + □) - 커서가 있는 라인의 첫 글자로 이동하기

$(□ + □) - 커서가 있는 라인의 마지막 글자로 이동하기

□ - 다음 줄의 첫 글자로 이동하기

숫자□ - 숫자만큼 행을 건너뛰고 첫 글자로 이동하기

+ - 다음 줄의 첫 글자로 이동

- - 윗 라인의 첫 글자로 이동

Ctrl + F : 다음 화면으로 이동

Ctrl + B : 전 화면으로 이동

2-3 텍스트 삭제 키

x - 커서가 있는 문자 삭제(Delete Key)

X - 커서가 있는 문자의 앞 문자 삭제(Back Space Key)

dw - 커서가 있는 문자부터 그 단어의 끝까지 삭제

dd - 현재 커서의 행 전체를 삭제

숫자 + dd - 현재 커서부터 숫자만큼의 행 삭제 ("d"누른 다음 "숫자" 누른 다음 "d"를 누른 것과 같다.)

d0 - 커서 위치부터 줄의 처음까지 삭제

D - 커서 위치부터 줄의 끝까지 삭제

:%d - 전체 내용 삭제

2-4. 텍스트 수정키

r - 커서 위치의 한 글자 수정하기

R - 커서 위치부터 □키를 누를 때 까지 다른 글자로 수정하기(같은 라인에서만 가능하다.)

cw - 커서가 있는 위치부터 한 단어를 수정하기

c0 - 커서 위치부터 줄의 처음까지 수정하기

C - 커서 위치부터 줄의 끝까지 수정하기

cc - 커서가 있는 라인 전체를 수정하기

2-5. 텍스트 복사키와 텍스트 붙여넣기 키

yy - 현재 커서가 있는 라인을 복사

숫자 + yy - 현재 커서부터 숫자만큼의 행을 복사

yw - 커서위치부터 단어의 끝까지 복사하기

y0 - 커서의 앞 글자부터 줄의 처음까지 복사

y$ - 커서위치부터 줄의 끝까지 복사

:%y - 전체 내용 복사

p - 복사한 내용을 현재 라인 이후에 붙여 넣기

P - 복사한 내용을 현재 라인 이전에 붙여 넣기

2-6. 작업 취소하기

u - 작업 취소하기

U - 그 라인에 대한 모든 작업 취소하기

. - 조금 전에 했던 명령 반복하기

2-7. 텍스트 검색

/텍스트 - "텍스트" 내용을 검색(전방검색)

?텍스트 - "텍스트" 내용을 검색(후방검색)

n - 다음 찾은 곳으로 커서 이동

:set number - 행 번호 표시

LINUX 기본 명령어 요약정리

와일드 문자

＊: 모든 것을 의미, 앞에 문자가 있으면 그 문자에 해당되는 모든 것을 말함.

? : 하나의 문자에 대해서 상징할 때 사용

1. ls : 도스의 "dir"과 같은 역할로 해당 Directory에 있는 File의 목록을 나열

[사용법]

ls <option>

[Option]

-a, --all: Directory내의 모든 File 출력

-l, --format=long: File 정보(File 종류, permission, size)를 표시

-s, --size: 1K Block 단위로 File 크기 표시

-t, --sort=time: 최근의 File 부터 출력

-c, --time: File 최근 변경 시간에 따라 정렬해서 출력

--color: File 종류에 따라 색상 표시

-R: 현재 작업 directory와 하위 directory 모두 출력

-k: 파일의 크기를 KByte단위로 표시

-S: 파일의 크기가 가장 큰 것부터 정렬하여 출력

--help: 도움말

[사용 예]

ls 와 cd 를 이용하여 다양한 directory에 접근하여 내용을 확인

# ls -a □

: 현재 Directory의 목록(숨김 파일 포함)

# ls -l □

: 현재 Directory의 목록을 자세히 보여줌

# ls *.txt □

: 확장자가 txt인 목록을 보여줌

# ls -l usr/bin/a* □

: usr/bin/ Directory에 있는 목록 중 앞 글자가 [a]인 것의 목록을 자세히 보여줌

[실습]

[root@CentOS ~]# ls □

[root@CentOS ~]# ls -l □

[root@CentOS ~]# cd /usr/bin □

[root@CentOS bin]# cd .. □

[root@CentOS usr]# cd □ (사용자 Home Directory로 바로 이동)

[root@CentOS ~]#

2. cd : 디렉터리 이동

[사용법]

cd <이동할 디렉터리의 상대경로 | 절대경로>

[상대경로]

이동할 디렉터리의 경로를 약식으로 표현하여 디렉터리를 이동하는 방법

# cd □ : 현재 사용자 Directory로 이동

# cd ~root □ : root 사용자의 홈 directory로 이동

# cd .. □ : 바로 상위 directory로 이동

[절대경로]

이동할 디렉터리의 경로를 /(루트) 디렉터리부터 전체 디렉터리의 경로를 적어서 이동하는 방식

# cd /usr/bin □ : /usr/bin directory로 이동

3. pwd : 현재 Directory의 전체 경로 출력(print working directory)

[사용법]

# pwd

4. mkdir (Make Directory의 약어) : 새로운 디렉터리 생성

[사용법]

# mkdir <option> [생성 디렉터리] (복수 지정 가능)

# mkdir <option> [/생성 디렉터리]

[Option]

-p : 지정한 하위 디렉터리까지 한 번에 생성

-m <퍼미션>: 디렉터리의 권한을 지정 기본 값은 775이다.

[실습]

[root@CentOS ~]# mkdir aaa bbb ccc □ (root내의 하위 directory로 생성)

[root@CentOS ~]# ls -l □

[root@CentOS ~]# mkdir /aaa /bbb /ccc □ (개별적인 상위 directory 생성)

[root@CentOS ~]# cd .. □

[root@CentOS /]# ls -l

[root@CentOS /]# cd □

[root@CentOS ~]# mkdir -p fff/ggg/hhh □ (root/fff/hhh/ggg directory 생성)

[root@CentOS ~]# ls -l □

[root@CentOS ~]# cd fff □

[root@CentOS fff]# ls -l □

[root@CentOS fff]# cd ggg □

[root@CentOS ggg# ls -l □

[root@CentOS ggg]# cd hhh □

[root@CentOS hhh]# ls -l □

5. rmdir : Directory 삭제

해당 Directory의 삭제 권한이 있어야 하며, 해당 Directory는 비어 있어야 함

[사용법]

# rmdir <삭제 할 디렉터리 명>

[Option]

-p : 지정한 하위 Directory까지 한 번에 삭제

[실습]

[root@CentOS ~]# mkdir zzz □

[root@CentOS ~]# rmdir zzz □

[root@CentOS ~]# mkdir zzz □

[root@CentOS ~]# cd zzz □

[root@CentOS /zzz]# vi fedora.zzz □

i ⇨ 아무 문장 입력 ⇨ : ⇨ wq or wq! □

[root@CentOS /zzz]# ls -l □ (파일 생성 확인) ⇨ 중요

[root@CentOS /zzz]# cd .. □

[root@CentOS ~]# rmdir /zzz □ (에러 표시 확인)

▷ rmdir 과 rm 과의 차이점 : rmdir 은 빈 directory만 삭제 가능

[root@CentOS ~]# mkdir -p /mydir/mysubdir □

[root@CentOS ~]# cd / □

[root@CentOS /]# rmdir mydir □

▷ rmdir : 디렉터리가 비어있지 않음

[root@CentOS /]# rmdir -p mydir/mysubdir/ □

▷ -p 옵션은 하위 Directory까지 같이 지울 수 있다.(단 모든 Directory가 비어 있어야함)

6. rm : File이나, directory삭제

[사용법]

# rm <option> [파일명 | 디렉터리 명]

[Option]

-i: 삭제 시 일일이 삭제할 것인지 묻는다.

-r: 하위 directory를 포함한 File들을 모두 삭제

-rf: 해당 directory와 그 하위 directory와 File들을 강제로 전부 삭제

-v: 삭제되는 파일의 정보를 보여줌

[실습]

[root@CentOS ~]# vi fedora.111 □

i ⇨ 아무 문장 입력 ⇨ : ⇨ wq or wq! □

[root@CentOS ~]# ls -l □ (파일 생성 확인)

[root@CentOS ~]# rm fedora.111 □ (rm -i option으로 동작)

[root@CentOS ~]# cd fff □ (4번의 mkdir 과정 먼저 선행 되어야 함)

[root@CentOS fff]# rm -r ggg □

[root@CentOS ~]# mkdir /test123 □

[root@CentOS ~]# cd .. □

[root@CentOS /]# rm -r /test123 □ (directory 삭제)

[root@CentOS /]# cd /test123 □

[root@CentOS ~]# mkdir -p /test123/test456/test789 □

[root@CentOS ~]# rm -rf test123 □ (test123 및 하위 directory를 강제로 삭제)

7. cp : 파일이나 디렉터리복사

[사용법]

# cp <option> [원본 파일명] [대상 파일명]

# cp <option> [원본 디렉터리 명] [대상 디렉터리 명]

[Option]

-a --archive: 원본 파일의 속성, 링크 정보들을 그대로 유지하면서 복사(숨김이면 숨김 속성 그대로 복사)

원본이 디렉터리이면 그 안에 포함된 모든 하위 경로와 파일들을 모두 복사한다.

-b --backup: 복사한 대상을 덮어쓰거나 지울 때를 대비하여 백업 File 만든다.(파일명 뒤에 "~" 붙는다.)

-d --no-dereference: 심볼릭 파일자체를 심볼릭 정보와 함께 복사할 때 사용

-f --force: 복사할 파일이 존재할 때 삭제하고 복사(덮어쓰기)

-i --interactive : 복사할 파일이 존재하는 경우 복사할 것인지 물음(기본적으로 동작)

-l --link: 디렉터리가 아닌 경우 복사 대신 하드 링크로 만든다.

-P --parents: 원본 파일을 경로와 같이 지정한 경우 그 경로까지 그대로 복사한다.

-p --preserve: 원본 파일의 소유, 그룹, 권한, 시간을 그대로 보존한 채로 복사

-r: 하위 디렉터리 내에 있는 모든 파일까지 통째로 복사

디렉터리가 없으면 만들어서 복사한다.

-s --symbolic-link : 디렉터리가 아닌 경우 복사 대신 심볼릭 링크로 만든다.

-u --update: 복사할 대상이 있을 때 해당 파일의 날짜와 시간을 봐서 더 최근 것이면 복사하지 않는다.

-v: 복사 상태를 보여줌

[실습]

[root@CentOS ~]# mkdir yyy

[root@CentOS ~]# cp -r /etc/rc.d/* yyy □

▷ rc란 Runlevel Change의 약자이며, Runlevel의 변경에 연관된 쉘 스크립트 이다.

[root@CentOS ~]# cd yyy

[root@CentOS yyy]# ls -l □

[root@CentOS yyy]# cd init.d □

[root@CentOS init.d]# ls -l □

▷ File들이 보이면 복사 성공

[root@CentOS init.d]# cd .. □

[root@CentOS yyy]# vi test.333 □

i ⇨ 아무 문장 입력 ⇨ : ⇨ wq or wq! □

[root@CentOS yyy]# cp test.333 test.444 □

[root@CentOS yyy]# ls -l □

▷ test.444 가 생성되었는지 확인

8. mv : File나 directory의 이름 변경이나 위치 이동 시 사용 (cp 명령 후 rm 명령 수행 ⇨ 원본 파일 삭제)

[사용법]

# mv <option> [원본 파일명] [대상 파일명]

# mv <option> [원본 디렉터리 명] [대상 디렉터리 명]

[Option]

-b: File이 지워지기 전에 백업 File을 만든다.

-f: 대상 File이 있더라도 파일을 강제로 삭제(덮어쓰기)

-i: 대상 파일이 있는 경우 덮어 쓸 것인가 물어 봄

-v: 무엇을 했는지를 표시해줌

[실습]

[root@CentOS ~]# mkdir uuu □

[root@CentOS ~]# cd uuu □

[root@CentOS uuu]# vi testuuu.111

i ⇨ 아무 문장 입력 ⇨ : ⇨ wq or wq! □

[root@CentOS uuu]# cp testuuu.111 testuuu.222 □

[root@CentOS uuu]# cd .. □

[root@CentOS ~]# mv -fv uuu eee □ (directory move)

[root@CentOS ~]# ls -l □

▷ uuu directory가 존재 하는 지 확인 (안보이면 정상)

[root@CentOS ~]# cd eee □

[root@CentOS eee]# ls -l □

▷ testuuu.111 testuuu.222 File들이 보이면 복사 성공(directory명 변경 시 사용)

cp 와 mv 명령어의 차이점 (원본 File 및 directory의 존재 유무)

[root@CentOS eee]# mv testuuu.222 testuuu.333 □

[root@CentOS eee]# ls -l □

▷ File명 변경 시 사용

9. touch : 크기가 0인 새 파일을 생성하거나 이미 존재하는 File인 경우 수정 시간을 변경

[사용법]

# touch <option> [생성할 파일 명]

[Option]

-t MMDDHHmm: 현재 시간 대신 지정한 시간으로 변경

-r 파일명: 현재 시간 대신 지정한 파일의 시간으로 변경

[실습]

[root@CentOS ~]# touch ./abc.txt □ ('./'의 의미는 현재 directory를 뜻한다.)

[root@CentOS ~]# ls -l □ (생성 시간 기록)

[root@CentOS ~]# date □

▷ 2 ~ 3 분 후

[root@CentOS ~]# touch abc.txt □

[root@CentOS ~]# ls -l □ (시간이 현재 시간으로 바뀌었는지 확인)

10. cat : 텍스트로 작성된 파일을 화면에 출력

[사용법]

# cat <option> [파일명]

[Option]

-b : 공백 라인을 제외한 모든 File에 행 번호를 붙임

-n : 공백 라인을 포함하여 행 번호를 붙인다.

-E : 각 라인 끝에 $ 표시

-T : '^|'로 TAB 문자를 표시

[실습]

8번 실습 선행 후

[root@CentOS ~]# cat testuuu.111 □

▷ 내용 확인

[root@CentOS ~]# cat >testzzz.444 □

Hello! Nice to meet you.

[ Ctrl + D ] 내용 저장 단축 키

11. more : 텍스트로 작성된 File을 화면에 페이지 단위로 출력(ENTER키는 한 줄씩, SPACEBAR는 한 화면씩 출력된다.)

[사용법]

# more [파일명]

[사용 예]

[root@CentOS ~]# more install.log □

▷ space 키는 다음 페이지 : b 키는 앞 페이지

12. less : more와 같은 기능을 수행하는 명령어로서 방향키로 한 줄씩 이동이 가능하다는 것이 특징이다.

[사용법]

# less [파일명]

[사용 예]

[root@CentOS ~]# less install.log □

13. clear : 화면 지우기

[사용 예]

[root@CentOS ~]# clear □

14. cal : 달력 보기

[사용 예]

[root@CentOS ~]# cal □

15. date : 시간, 날짜 보거나 또는 변경할 때 사용한다.

[사용법]

date [MMDDHHmmYYYY]

[사용 예]

[root@CentOS ~]# date □ (날짜 및 시간 확인)

▷ 시간 변경은 "월일시분년" 순으로 입력

[실습]

예를 들어 2005년 1월 8일 15시 12분으로 변경할 경우

[root@CentOS ~]# date 010815122005 □

[root@CentOS ~]# date □ (날짜 변경 확인)

16. 파이프(pile) : 두 프로그램을 연결해 주는 통로를 의미 (명령어와 명령어를 이어준다.) "|" 문자를 사용

한 프로그램의 실행 결과를 다른 프로그램의 입력으로 연결한다.

[사용법]

# <명령어> | <명령어>

[사용 예]

[root@CentOS ~]# ls -l /etc | more □

▷ 명령을 입력하면 File이 많아서, 페이지가 넘어가므로 한 개 페이지씩 보겠다는 의미

[실습]

[root@CentOS ~]# grep -n "i386" install.log | less

17. 필터(Filter) : 필요한 것만 걸러주는 명령어 (grep, tail, head, sort, wc등)

17-1. grep : 파일 내에서 또는 입력 값에서부터 특정 패턴을 검색한다.

[사용법]

# grep <option> [파일명]

[Option]

-v: 일치되는 내용이 없는 라인을 표시

-c: 일치되는 내용이 있는 라인을 표시

-l: 일치되는 내용이 있는 파일의 이름만을 표시

-n: 일치되는 내용이 있는 행은 행 번호와 함께 표시된다.

[사용 예]

[root@CentOS ~]# ps -ef | grep bash □ ("bash"라는 글자가 들어간 프로세스만 출력)

▷ "ps -ef" 는 모든 프로세스 번호를 출력

[root@CentOS ~]# grep "Zlib" install.log

Installing zlib - 1.2.3-3.i386

Installing zlib-devel - 1.2.3-3.i386

▷ install.log파일에서 "zlib"를 포함하는 라인을 출력

[root@CentOS ~]# grep -n "Zlib" install.log

9:Installing zlib - 1.2.3-3.i386

12645:Installing zlib-devel - 1.2.3-3.i386

▷ -n 옵션을 같이 이용하면 라인번호도 추가로 보여줌

17-2. tail명령어 : 특정 파일을 맨 마지막 라인부터 지정된 라인까지를 보여주는 명령어

[사용법]

# tail <option> [파일명]

[Option]

-n <숫자>: 해당 파일내의 내용을 맨 마지막 <숫자>라인만큼을 보여준다.

+<숫자>: 맨 처음 <숫자>행부터 마지막 행까지 모두 보여준다.

-f: 파일의 크기가 커지는지를 감지

[사용 예]

[root@CentOS ~]# tail aa.lst □ (aa.lst에서 마지막 부분의 내용을 확인하고자 할 때 사용)

▷ 기본적으로 마지막 부분의 10줄까지를 보여준다.

[root@CentOS ~]# tail -n 5 aa.lst □ (마지막 다섯줄 보여준다.)

[root@CentOS ~]# tail +5 aa.lst □ (맨 처음의 5행부터 마지막까지 전부 보여준다.)

▷ tail과 반대되는 명령이 head가 있다.

[root@CentOS ~]# tail -f db.log □

▷ 또한 tail명령은 특정 파일의 로그가 계속 변화되는 것을 실시간으로 확인할 수 있는 명령어로도 사용된다.

옵션은 -f 를 사용한다.

17-3. wc명령어 : 파일에서 모든 문자, 단어, 라인을 카운터 해주는 명령어

[사용법]

# wc <option> [파일명]

[Option]

-c : 문자수만 계산

-l : 라인 수만 계산

-w : 단어 수만 계산

[사용 예]

[root@CentOS ~]# wc -c aa.lst □

1159 aa.lst

[root@CentOS ~]# wc -l aa.lst □

59 aa.lst

[root@CentOS ~]# wc -w aa.lst □

164 aa.lst

18. 리다이렉션 : 표준 입출력의 방향을 바꿔줌

표준 입력은 키보드, 표준 출력은 모니터 이지만 이를 파일로 처리할 때 사용

[사용법]

# [명령어] >[파일명]: 파일이 없다면 생성하고, 있다면 덮어쓰기 한다.

# [명령어] >>[파일명]: 파일이 없다면 생성하고, 있다면 이어쓰기 한다.

[사용 예]

[root@CentOS ~]# ls -l >aa.lst □

▷ 화면 출력 내용을 aa.lst 파일에 쓴다, 단 기존의 파일이 있으면 덮어쓴다.

[root@CentOS ~]# ls -l >>aa.lst □

▷ 기존의 파일이 있으면 이어서 쓴다.

[root@CentOS ~]# echo "Hello World" □

▷ echo명령어는 주어진 문장을 화면에 출력하는 명령어이다.

[실습]

[root@CentOS ~]# echo "Hello World" >hello.txt □

[root@CentOS ~]# cat hello.txt □

Hello World

[root@CentOS ~]# echo "Welcome to Korea" >>hello.txt □

[root@CentOS ~]# cat hello.txt □

Hello World

Welcome to Korea