1. Linux에서 Console로 작업하려면
Linux에서 Console을 쓰는 방법은 3가지다.
하나는 X-Windows에서 가상 Terminal을 써서 Console을 쓰는 것이고, 두 번째는 Linux를 Booting 할 때 X-Windows를 띄우지 않고 항상 Console Mode로 Booting하는 것이다. 세 번째는 임시로 Console Mode를 쓰는 것으로 Linux를 한 번 재부팅하는 것이다.
첫번째, X-Windows에서 Console 창 열기
Console 창은 X-Windows에서 ‘프로그램 > 시스템도구 > 터미널’을 고르면 열린다. Console은 여러개 열어도 상관없다. X-Windows에서 Console을 열어서 쓰지 않고 Linux를 Console로 쓸려면 Linux가 Booting할 때 X-Windows가 뜨지 않게 고쳐야 한다.
두번째, Console Mode로 Booting 하려면
X-Windows를 바로 깔았다면 Console Mode만 Booting 하기 위해선 Linux Booting을 고쳐야 한다.
1) Console을 열고 'cd /etc' Directory로 이동한 뒤, 'inittab' File을 연다.
vi /etc/inittab
2) 'id:5:initdefault:' 라는 것이 있다. 이것을 고친다. 여기서 'id:5' 는 X-Windows Mode를 뜻한다. 이것을 Console Mode인 'id:3' 로 고치자.
l Key를 누른 뒤 다음과 같이 고치고 Esc 키를 누른다. 다시 X-Windows로 Booting 하려면 'id:5:initdefault:'로 고친다.
id:3:initdeafult:
3) :wq 나 :w 키를 눌러 저장한 뒤, :q 키를 눌러 재부팅
세번째, 임시 Console Mode로 Booting 하기
임시로 Console Mode를 쓴다면 Linux 재부팅 명령어를 써서 Console Mode로 Booting 할 수 있다.
1) X-Windows Console 창에서 'init 3' 라고 친다. 이렇게 하면 재부팅할 때 Console Mode로 Booting 한다. init 명령어는 System을 종료하거나 재부팅할 때 Windows XP의 Booting Menu 처럼 여러가지 Mode로 Booting 할 수 있다.
'2)' 를 참조하자.
2) 다시 X-Windows로 Booting 하려면 Console에서 'init 5' 라고 친다.
0 | Linux System을 종료한다.
1 | Linux를 혼자만 쓸 때 System Resource를 적게 쓰도록 Linux를 재부팅 한다.
2 | 다중 사용자 모드, Network를 쓸 수 없다.
3 | Level 2와 같지만 Network을 할 수 있다, 일반적으로 Console Booting을 의미한다.
4 | 일반적으로 쓰지 않는다, 이용자가 따로 정해서 쓸 수 있다.
5 | X-Windows로 Booting한다, 다중 사용자 모드이고 Network도 쓸 수 있다.
6 | Linux System을 재부팅한다.
* Linux의 Booting Level. 1, 2번은 일반적으로 System에 문제가 생겼을 때 이렇게 Booting 한 뒤 System을 점검한다.
cd
Directory리 경로를 바꿀 때 쓴다. Linux는 이용자 계정에 따른 Home Directory를 따로 가지고 있다. Windows보다 먼저 Multi User System을 만들었기 때문에 각 계정마다 보안이 철저하다. Console 창을 열면 처음 뜨는 Directory가 그 계정의 'Home Directory' 다. 이 계정의 권한은 전적으로 해당 계정에만 있다. Mail과 개인 Data 저장은 여기에 해야 한다.
* 자주 쓰는 명령어 예제
cd /[Directory Name]
해당 Directory Name으로 이동한다. Directory 이름 앞에 '/' 를 붙이면 절대 경로를 넣어야 한다.
cd ../[Directory Name]
해당 Directory로 이동하는 것은 같지만 상대경로를 넣는 것이다.
cd 또는 cd ~
내가 어떤 Directory에 있더라도 Home Directory로 바로 돌아온다.
cd ..
상위 Directory로 이동한다. 여러 개를 중복하면 그만큼 상위 Directory로 이동한다.
예를 들어 'cd ../../../' 라고 치면 3단계 위의 Directory로 이동한다.
cd /
최상위 Directory로 이동한다. 즉, Root Directory(/)로 간다.
(!?) Home Directory
Home Directory는 Login 계정에게 하나씩 주는 공간이다. Log File이나 여러 가지 환경 설정 파일과 메일함 등이 이 Directory에 모여 있다. Linux에 하는 모든 작업의 기본이 되는 Directory 다. Windows의 '내 문서' 를 좀 더 폭 넓게 쓰는 것이라고 생각하면 이해하기 쉽다.
(!?) 절대경로와 상대경로
Linux에서 쓰는 절대경로와 상대경로는 처음 접하는 이들에게는 상당히 헷갈린다. 절대경로는 내가 현재 있는 Directory 위치가 어디에 있든지 바로 갈 수 있는 경로를 말한다. 내가 현재 '/user/local' 이나 '/etc' Directory에 있어도 'cd /var' 넣으면 '/var' Directory로 이동한다.
그에 반해 상대경로란 현재 Directory 위치에서 이동하려는 Directory와의 관계에 따라 이동하는 것이 다르다. 예를 들어 '/user/local' Directory에서 '/var' 로 이동하려면 'cd ../../var' 를 넣어야 하고 '/etc' 에서는 'cd ../var' 를 넣는다.
자세히 보면 '/user/local' 은 두 번 상위 Directory로 이동한 뒤 var Directory로 가는 것이고 '/etc' 는 한 번 상위로 이동 한 뒤 var Directory로 간다.
pwd
지금 작업하고 있는 Directory의 전체 경로를 보여준다. Console Mode에서 작업할 때는 Directory 경로를 정확히 알아야 한다. cd 명령어나 cp 등의 파일 관리 명령어를 쓸 때는 pwd 명령어로 확인하는 습관을 가져야 한다.
ls
DOS의 dir 처럼 Directory에 있는 File의 List를 보여준다. ls 명령어만 치면 File List를 볼 수 있다. 여러가지 Option을 넣어서 이용자가 원하는 방식으로 볼 수 있어 편하다.
[ ls 명령어 Option]
---------------------------------------------------------------------------------------------------------------
[ a ] Directory 내의 모든 File을 보여준다.
[ l ] 파일의 inode와 함께 보여준다.
[ l ] 파일의 권한, 소유자, 그룹, 크기, 날짜 등도 보여준다.
[ m ] File을 쉼표로 구분하여 가로로 보여준다, File이 많을 때 한 번에 보기 좋다.
[ r ] File을 정렬해서 보여주는 Option이 있다면 역순으로 보여준다.
[ s ] Kb 단위로 File 크기를 보여준다.
[ t ] 최근에 만들어진 File을 순서대로 보여준다.
[ x ] File 순서가 세로 한 줄로 표시된다.
---------------------------------------------------------------------------------------------------------------
* 자주 쓰는 명령어 예제
ls -al
일반적으로 가장 많이 쓴다. 파일 정보와 함께 숨겨진 파일까지 보여준다.
ls -alR
Directory의 파일의 속성뿐 아니라 Sub Directory 정보까지 알 수 있다.
ls -alt
Directory의 File의 속성을 포함하여 최근에 수정된 File부터 순서대로 표시한다.
cp
File이나 Directory를 복사한다. 같은 Directory 또는 다른 Directory로 복사할 수 있다. DOS의 copy 명령어와 비슷하다.
[ cp 명령어 Option ]
-------------------------------------------------------------------------------------------------------------------
[ a ] 원래 File의 구조와 속성까지 그대로 복사한다.
[ b ] 덮어쓰거나 지울 때 Backup File 만든다.
[ d ] Symbolic File 그대로 복사한다, Default는 연결된 원래 File을 복사한다.
[ f ] 이름이 같은 File이 있다면 그 File을 지우고 복사한다.
[ i ] 이름이 같은 File이 있다면 덮어쓸 것인지 묻는다.
[ p ] 원본 File의 소유자, 그룹, 권한, 시간 등 File의 속성을 그대로 복사한다.
[ r ] Sub Directory를 포함한 모든 File을 복사한다.
[ s ] 심볼릭 링크를 만든다, Windows의 바로가기 Icon과 같은 것으로 File의 위치를 바꾸지 않고 쓰기 위한 것이다.
[ u ] 복사할 File이 구 Version일 때 복사한다.
[ v ] 복사하기 전에 각각의 파일명을 표시한다.
[ x ] File System이 같을 경우만 복사한다.
[ P ] 원본 File이 있는 Directory 까지 함께 복사한다.
[ S ] 환경 변수인 simple_backup_suffix 로 지정한 Backup 꼬리말을 붙여서 Backup File을 만든다.
-------------------------------------------------------------------------------------------------------------------
* 자주 쓰는 명령어 예제
cp -pr mgdir /etc/mgdir
mgdir Directory와 그 안의 File의 속성을 그대로 둔 채 /etc/mgdir Directory로 복사한다.
cp -pu mgfile mgdir
mgfile File의 속성을 그대로 두고 같은 이름의 File이 있을 때는 mgfile File보다 날짜가 오래된 File일 때만 덮어씌운다.
cp -prf mgdir /etc/mgdir
mgdir Directory와 그 안의 File의 속성을 둔 채 같은 이름의 File이 있어도 무시하고 바로 /etc/mgdir Directory에 복사한다.
mv
File 또는 Directory를 다른 곳으로 옮긴다. 파일 이름을 바꿀때도 쓴다.
[ mv 명령어 옵션 ]
-------------------------------------------------------------------------------------------------------------------
[ b ] File이 중복되면 지워지는 File의 Backup을 만든다.
[ f ] 옮겨지는 Directory에서 File이 중복되면 덮어쓴다.
[ l ] 옮겨지는 Directory에서 File이 중복되면 덮어쓰거나 옮기기를 취소할 지 물어보게 한다.
[ u ] 옮겨지는 Directory에 현재 File보다 Version이 낮을 때만 File을 옮긴다.
[ v ] 옮기기 전에 파일명을 보여준다.
-------------------------------------------------------------------------------------------------------------------
* 자주 쓰는 명령어 예제
mv mgdir /etc/
mgdir File을 /etc/ Directory로 옮긴다.
mv mgdir mgddd
mgdir File의 이름을 mgddd 로 바꾼다.
rm
File을 지운다. Option을 쓰면 Directory도 지울 수 있다. Directory를 지우는 명령(rmdir)이 따로 있지만 대부분 rm 명령어만 써도 지운다.
[ rm 명령어 옵션 ]
-------------------------------------------------------------------------------------------------------------------
[ f ] File을 강제로 삭제한다.
[ l ] 삭제하기 전에 확인한다. 강제 Option이 없을 때는 이 Option을 넣지 않아도 자동으로 삭제한다.
[ r, R ] Directory와 Sub Directory, File까지 모두 지운다.
[ v ] File을 삭제하기 전에 삭제할 File을 보여준다.
-------------------------------------------------------------------------------------------------------------------
* 자주 쓰는 명령어 예제
rm mgdir
mgdir File 또는 Directory를 지운다. 이렇게 명령어를 치면 File마다 지울 것인지 묻는다. 따라서 대부분 ‘-f’ Option을 붙인다.
rm -rf mgdir
mgidr File 또는 Directory를 지울 것인지 묻지 않고 무조건 지운다.
rm -vrf mgdir
mgdir File을 지울 것인지 묻지 않고 지운 뒤 지워진 File 목록을 보여준다.
(!?) rmdir
해당 Directory를 지운다. Directory 내부에 File이 있으면 지울 수 없고, rm 명령어에서 ‘-r’ Option을 붙여서 쓰므로 거의 쓰지 않는다.
mkdir
새로운 Directory를 만든다.
[ mkdir 명령어 옵션 ]
-------------------------------------------------------------------------------------------------------------------
[ p ] Sub Directory까지 만든다. 예를 들어, etc Directory를 만들고 /etc /var Directory를 만든다면 두 개를 한 번에 만들 수 있다.
[ m숫자 ] m숫자는 Permission(권한)에 해당하는 숫자다. 이 Permission으로 Directory를 만든다.
-------------------------------------------------------------------------------------------------------------------
* 자주 쓰는 명령어 예제
mkdir -pm777 /etc/mgdir1/mgdir2/mgdir3
Sub Directory까지 한꺼번에 만들고 mgdir3 Directory의 Permission을 777로 한다.
(!?) Linux에서 File이나 Directory의 Permission(권한)이란?
Linux는 보안을 위해 File과 Directory에 Permission이라는 것이 있다. r(read 읽기, 4), w(write 쓰기, 2), x(execute 실행, 1)의 3가지 권한이 있는데 단위마다 2진법으로 표현한다. 읽기와 쓰기가 되면 읽기(4)+쓰기(2)가 돼서 6이 된다. 읽기, 쓰기, 실행은 4+2+1로서 합이 7이 된다. 이 숫자를 세 개를 쓴다. 파일 권한 설정 형식이 'rw-r--r--' 라면 644의 권한이면 첫 번째 파일 소유자의 권한, 두 번째 그룹의 권한, 마지막은 그 밖에 이용자의 권한을 나타낸다. 따라서 모든 이에게 권한을 주려면 777이다. 즉, rwxrwxrwx 가 된다.
more
다른 명령어와 합쳐서 쓰는 것으로서 합쳐지는 명령어의 결과를 한 화면씩 끊어서 보여준다. 예를 들어, ls 명령어로 File List를 볼 때 한 화면이 넘어가면 처음 것을 보지 못한다. 이때 more 명령어를 함께 쓰면 화면이 넘어갈 때 일단 멈춰서 내용을 보고, Space Bar를 누르면 다음 Page로 넘어간다. ls 명령어뿐 아니라 여러 가지 명령어를 함께 쓸 수 있다.
[ more 명령어를 썼을 때 사용하는 단축 키 ]
------------------------------------------------------------
[ Space Bar 또는 z ] 다음 페이지
[ Enter Key 또는 1 ] Line Scroll
[ d 또는 ^D ] 반 Page Scroll
[ q 또는 Q ] 종료(Quit)
[ f ] 다음 Page(Forward)
[ b 또는 ^B ] 이전 Page(Back)
[ ^L ] 화면 다시 출력
------------------------------------------------------------
* 자주 쓰는 명령어 예제
ls -al | more
ls 명령어로 File List를 볼 때 파일 수가 너무 많아 한 화면으로 다 보지 못할 때 여러 화면으로 나눠서 본다. 대부분의 Linux 명령어와 함께 쓰므로 알아두는 것이 좋다.
grep
낚시로 고기를 잡듯이 어떤 명령어를 쳐서 나오는 결과에서 필요한 부분을 빼낼 때 쓴다. 주어진 글자 Pattern이 들어 있는 문장만 따로 뽑아서 보여주는 것이다. 다른 명령어 뒤에 '|grep' 로 붙여서 쓴다.
[ grep 명령어 옵션 ]
----------------------------------------------------------------------
[ C ] 일치하는 문장과 위 아래 한줄 씩을 보여준다.
[ c ] 일치하는 줄 수를 보여준다.
[ h ] 파일명은 보여주지 않는다.
[ l ] 대소문자 구분하지 않는다.
[ l ] 일치하는 내용을 가지는 파일명만 뽑아준다.
[ n ] 일치하는 내용을 가지는 라인 번호를 보여준다.
[ s ] Error Message만을 보여준다.
[ v ] 일치하지 않는 내용을 보여준다.
[ x ] 한 줄 전체가 똑같아야 보여준다.
----------------------------------------------------------------------
* 자주 쓰는 명령어 예제
ls -al | grep mg | more
ls 명령어로 파일 목록을 볼 때 'mg' 란 단어가 들어있는 파일을 보여주고, 파일의 수가 너무 많을 때 여러 화면으로 보여준다. 여기서는 grep 명령어와 more 명령어를 함께 썼다.
ls -al | grep mg -w |more
ls 명령어로 'mg' 란 단어가 정확히 일치하는 파일을 출력하며 파일의 수가 너무 많을 때 화면을 나누어 보여준다.
ls -al | grep mg -v |more
ls 명령어로 'mg' 란 단어가 없는 파일만 보여주고, 파일의 수가 너무 많으면 화면을 나누어 보여준다.
find
파일을 검색하는 명령어로 이름, 크기, 날짜 등 조건을 정해서 검색을 할 수 있다. Console에서 많이 쓰는 것으로 검색이 빠르다.
[ find 명령어 옵션 ]
-------------------------------------------------------------------------------------------------------
[ name ] 찾고 싶은 파일을 이름으로 검색한다.
[ perm ] 권한으로 찾는다, 예를 들어, 777 권한을 갖는 파일을 찾을 수 있다.
[ user ] 파일의 소유자 이름을 찾는다.
[ newer ] 최근에 만든 파일이나 수정한 파일을 찾는다.
-------------------------------------------------------------------------------------------------------
* 자주 쓰는 명령어 예제
find mg -name mg |more
'ls -al | grep mg -w |more' 와 비슷하지만 Sub Directory도 함께 검색하는 것이 다르다.
man
Linux에서 쓰는 Console 명령어는 여러 가지 Option이 많고, 쓰는 방법도 까다로운 편이다. 이런 것은 하나씩 설명할 순 없다. 따라서, Windows의 도움말처럼 Manual이 들어 있다. 'man' 을 치면 정보가 나온다.
* 자주 쓰는 명령어 예제
man xmms | grep format | more
xmms 에 대한 설명서에서 format 이 들어간 줄을 보여준다. more 는 화면이 넘어갈 때를 대비한다.
'Operating System > Linux' 카테고리의 다른 글
| NTP (Network Time Protocol) 설정 (0) | 2010/10/20 |
|---|---|
| netdump 사용법 (0) | 2010/10/14 |
| dumpadm, coreadm 사용하기 (0) | 2010/10/12 |
| Ctrl+Alt+Del 사용하지 않는 법 (0) | 2010/10/09 |
| Linux Core Dump 확인하기 (0) | 2010/04/26 |
| Linux Console Command (File Management) (1) | 2008/07/17 |
| Web에서 Linux Server 관리하기 - Webmin (0) | 2007/11/16 |
| Linux Directory 구조 (0) | 2007/11/11 |
| SULinux로 손쉽게 서버를 구축하자 (0) | 2007/11/02 |
| Apache Tuning 정리 (0) | 2007/06/22 |
| Linux 2.4 Packet Filtering How-To (iptables와 ipchains의 차이점) (0) | 2007/06/22 |