리눅스 기초 명령어

Linux 2007.08.28 23:40 Posted by 애플자라
◎ 기초 명령어
여기서는 리눅스의 기초 명령어들에 대해서 알아본다.
자세히 하려면 명령어 수도 무지 많고, 다 알기도 힘들겠지만...
필수적이라고 생각되는 것들 위주로 정리해 보았다. (abc순)
리눅스에서는 명령어는 대부분의 경우 소문자로 이루어져 있다.
따라서 입력시 소문자로 되어 있는지를 확인하고 할 것...
<CR>은 엔터키를 의미한다.
 
① 파일 / 디렉토리 관리에 사용되는 명령어들
◈ cd (change directory) : 디렉토리를 옮기는 데 사용된다.
cd [directory] <CR>
cd /usr/local
-> /usr/local 디렉토리로 옮긴다.
-> '.'은 현재 디렉토리를 의미하고, '..'은 이전 디렉토리를 의미한다.
-> 현재 /usr/local에 있다고 할 때, 'cd ..' 하면 /usr 디렉토리로 간다.

-> 'cd .' 하면 아무 변화가 없다.
-> '.'과 '..'은 cp, mv 등의 다른 명령어 사용시에도 동일하게 사용할 수 있다.
 
◈ cp (copy) : 파일을 복사할 때 사용된다.
cp [source] [dest] <CR>
cp /usr/local/test.txt /root/abcd.txt <CR>
-> /usr/local/ 디렉토리에 있는 test.txt 파일을 /root/ 디렉토리에
abcd.txt로 복사한다.
 
◈ ls (list) : 파일의 목록을 보여준다. [ ls -a, ls -al, ... ]
ls -a <CR>
-> 숨겨진 파일( . 으로 시작하는 파일들)을 보여준다.
ls -l <CR>
-> 자세한 정보를 보여준다.
 
◈ mkdir (make directory) : 디렉토리를 만드는 데 사용된다.
mkdir [directory name] <CR>
 
◈ mv (move) : 파일을 이동하거나 이름을 바꿀 때 사용된다.
mv [source] [dest] <CR>
mv /usr/local/test.txt /root/abcd.txt <CR>
-> /usr/local/ 디렉토리에 있는 test.txt 파일을 /root/ 디렉토리에
abcd.txt로 이름을 바꾸어 이동한다.
 
◈ pwd (print working directory) : 현재 위치한 디렉토리를 보여준다.
pwd <CR>
 
◈ rm (remove) : 파일이나 디렉토리를 삭제하는 데 사용된다.
rm [filename] <CR>
-> -r 옵션을 주면 디렉토리 및 그 밑에 있는 내용까지 몽땅 다 지워준다.
-> -f 옵션을 주면 에러 발생시(파일이 없다거나, 권한이 없는 경우 등)에도 계속 진행한다.
-> 디렉토리를 지울때는 rmdir [directory name] <CR>을 해도 된다.
 
② 압축 관련 명령어들
◈ compress / uncompress : 파일을 압축/해제 한다.
-> 사용방법은 gzip과 동일하다.
 
◈ gzip / gunzip : 파일을 압축/해제 한다. (생성되는 화일은 원래화일이름.gz가 된다.)
gzip testCR>
-> test 파일을 압축해서 test.gz로 만든다.
gunzip test.<CR> ===> '.gz'는 생략해도 된다.
-> test.gz 파일을 압축 해제한다.
-> gzip은 파일을 압축만 할 뿐이다. 여러개의 파일을 하나로 압축하려면 tar를
-> 함께 사용해야 한다. (tar 참고)
 
◈ tar : 여러 파일을 하나로 묶어준다.
tar [option] destfiles... <CR>
-> c를 옵션으로 주면 파일을 새로 생성한다.
-> v를 옵션으로 주면 작업 진행사항을 보여준다.
-> f를 옵션으로 주면 파일들을 묶어서 그 다음에 오는 파일 이름으로 저장한다.
-> x를 옵션으로 주면 지정된 파일들을 타르 파일로부터 끄집어 낸다.
tar cvf total.tar *.txt
-> .txt로 끝나는 모든 파일을 total.tar라는 이름으로 묶어준다.
tar xvf total.tar *.txt
-> total.tar라는 파일로부터 .txt로 끝나는 모든 파일을 끄집어낸다.
-> tar는 파일을 압축하는 것이 아니고, 단지 하나로 묶어줄 뿐이다.
-> 여러 파일을 하나로 압축하려면 먼저 tar로 파일을 묶은 후 gzip으로 압축한다.
 
③ 시스템 관련 명령어들
◈ chgrp (change group) : 파일과 디렉토리의 그룹을 변경해 준다.
chgrp [group] [filename] <CR>
-> file의 그룹을 [grop]으로 바꾸어 준다.
chgrp linux test.txt <CR>
-> test.txt의 그룹을 linux로 바꾸어 준다.
 
◈ chmod (change mode) : 파일과 디렉토리의 허가권(permission)을 변경해 준다.
chmod [permission] [file/directory name] <CR>
chmod 777 test.txt <CR>
-> test.txt 파일을 누구나 읽고, 쓰고, 실행할 수 있도록 한다.
-> [permission] 의 값을 정하는 방법
 user group other
읽기 4 4 4
쓰기 2 2 2
실행 1 1 1
permission a b c

위의 표에서, user는 파일의 소유자 이고, group은 소유자와 같은 그룹,
other는 그 나머지 사용자를 말한다.
각 사용자별로, 허가할 분야에 대해 적혀있는 값들을 더해서 a, b, c값을 구한다.
(허가하지 않을 부분은 0을 넣어서 계산한다.)
예를들어 user가 읽기, 실행만 가능하고, 쓰지 못하도록 하려면 a값은 4+0+1=6이 된다.
마찬가지 방법으로, b, c를 구한후 위의 permission 자리에 [abc] 형식으로 써주면 된다.
* 421인 경우, user는 읽기만 가능, group은 쓰기만 가능, other는 실행만 가능하게 된다.
* 362인 경우, user는 쓰기, 실행만 가능, group은 읽기, 쓰기만 가능, other는 쓰기만 가능하게 된다.
주의해야 할 것은, 어떤 파일의 소유권을 바꾸려면 그 파일에 대해 소유권을 바꿀 권한이 있어야 한다.
(아이러니?)
 
◈ date (date) : 현재 시간과 날짜를 보여준다.
date <CR>
 
◈ df (disk free) : 현재 사용가능한 하드디스크의 용량을 보여준다.
df <CR>

◈ du (disk usage) : 현재 각 파일 / 디렉토리가 사용하는 디스크의 크기를 보여준다.
du <CR>
 
◈ kill (kill process) : 현재 실행중인 프로세스를 종료시킨다.
kill [process id]<CR>
-> 현재 실행중인 프로세스 중에서 지정한 process id를 같는 프로세스를 종료시킨다.
 
◈ mount / umount (mount/unmount file systems) : 파일 시스템을 마운트 또는 해제 한다.
-> 마운트란 디스크, 프린터, CD-ROM 등의 주변기기를 하나의 디렉토리처럼 사용할 수
-> 있게 해 주는 개념이다.
mount [-t type] [device] [directory] <CR>
-> type은 파일시스템의 타입을 말하는 것으로서, 보통 windog의 경우 msdos (FAT16)나
-> vfat (FAT32)을 주면 된다.
-> 위에서 device는 다음과 같은식으로 적어주면 된다.
플로피 디스크는 여러개가 달려있으면, 순서대로 /dev/fd0 (-> 보통 a:라고 하는 것),
/dev/fd1 ... 이런식으로 나간다.
하드의 경우는 /dev/hda0, /dev/hda1...이런식으로 나가는데, 'hd'다음에 온 'a'는
하드가 여러개일 경우 첫번째 하드디스크를 의미한다. 따라서 두번째 하드디스크를
마운트 할 경우에는 'hdb0' 이런식으로 해 주면 된다.
그리고, 뒤에 온 숫자는 파티션 번호이므로 원하는 파티션 번호를 적어주면 된다.
스카시 하드의 경우 'hd' 대신 'sd'를 사용한다. 다음 예를 보자.
/dev/fd0 ==> a:드라이브
/dev/hdb2 ==> 두번째 하드디스크의 두번재 파티션
/dev/sda3 ==> 첫번째 스카시 하드디스크의 세번째 파티션
-> directory는 마운트될 파일 시스템을 연결할 디렉토리를 말하고, 보통 /mnt 디렉토리
-> 이하에 마운트 하기 전에 만들어주면 된다.
-> floppy와 cdrom 의 경우 단순히 'mount /mnt/floppy<CR>' 또는 'mount /mnt/cdrom<CR>'
-> 이라고만 해도 마운트가 된다.
-> 마운트는 root 계정만이 할 수 있다.
mkdir /mnt/win <CR> -> 마운트 대상이 될 디렉토리를 생성 (한번 만들어 놓으면 계속 사용 가능)
mount -t vfat /dev/hda3 /mnt/win <CR> -> 첫번째 하드디스크의 세번째 파티션(FAT32)을
/mnt/win 디렉토리에 마운트 한다.
umount /mnt/win <CR> -> 마운트를 해제한다.
-> 만일 세번째 파티션에 윈도그 98을 쓰고 있다면, 위와 같이 마운트 하고 나면 /mnt/win
-> 디렉토리에 win98의 하드 내용이 나타날 것이다. 물론 복사, 삭제, 이동 다 가능하다.
-> umount를 하기 전에는 현재 마운트 된 파일 시스템이 다른곳에서 사용되고 있지 않는가,
-> 현재 디렉토리가 mount 된 디렉토리가 아닌가를 확인한다. 둘 중 하나라도 해당되면 umount가
-> 되지 않는다.
-> 그냥 mount<CR> 하게 되면 현재 마운트 된 내용들이 화면에 나타난다.

◈ ps (process) : 현재 실행중인 프로세스 (작업)을 보여준다.
ps [option] <CR>
-> -e 옵션을 주면 모든 프로세스를 다 보여준다.
-> -f 옵션을 주면 모든 정보를 다 보여준다.
 
◈ top (display top process) : 실행중인 프로세스 정보를 실시간으로 보여준다.
top <CR>
-> 현재 실행중인 프로세스를 CPU/메모리 사용 순으로 보여준다.
 
④ MSDOS 파일시스템 관련 명령어들
◈ mcd (msdos change directory) : 도스형식에서 디렉토리를 이동한다.
mcd temp <CR>
-> a:에 있는 temp directory로 이동한다.
 
◈ mcopy (msdos copy) : 도스형식에서 파일을 복사한다.
mcopy a:test.txt ./ <CR>
-> a:에 있는 test.txt 파일을 현재 디렉토리로 복사한다.
mcopy ./* a:
-> 현재 디렉토리에 있는 모든 파일들을 a:로 복사한다.
 
◈ mdel (msdos delete) : 도스형식에서 파일을 삭제한다.
mdel test.txt <CR>
-> a:에 있는 test.txt 파일을 삭제한다.
 
◈ mdir (msdos dir) : 도스형식에서 파일의 목록을 보여준다.
mdir test.* <CR>
-> a:에 있는 파일 중 test로 시작하는 파일의 목록을 보여준다.
 
◈ mmove (msdos move) : 도스형식에서 파일이나 디렉토리를 옮기거나 이름을 바꾸어 준다.
mmove a:abcd.txt efgh.txt <CR>
-> a:에 있는 abcd.txt를 efgh.txt로 바꾼다.
 
⑤ 파일 관련 명령어들
◈ cat (concatenate) : 파일의 내용을 보여준다.
cat [filename] <CR>
 
◈ cmp (compare) : 두개의 파일을 비교한다.
cmp [file1] [file2] <CR>
-> 두 파일의 내용을 비교한 후에 다르면, 다른 부분을 화면에 출력해 준다.
같은 경우엔 아무 출력도 안함.
 
◈ find (find) : 디렉토리 구조 내에서 파일을 찾는다.
find [filename] <CR>
-> 주어진 이름을 갖는 file을 찾는다.
 
◈ ln (link) : 파일 / 디렉토리간에 링크를 설정한다.
ln [option] [filename] [linkname] <CR>
-> -s를 옵션으로 주면 심볼릭 링크를 생성하고, 옵션이 없으면 하드링크를 생성한다.
ln -s test.txt link.txt <CR>
-> test.txt 파일에 대한 link.txt라는 심볼릭 링크를 생성한다.

ln test.txt link.txt <CR>
-> test.txt 파일에 대한 link.txt라는 하드 링크를 생성한다.
-> 심볼릭 링크의 경우 단지 링크만 시키는 것이어서, 어느 하나를 지우면 다른 하나도 사라진다.
-> 하드링크의 경우 동일한 파일을 다른 이름으로 하나 더 생성하게 되므로, 어느 하나를 지워도
-> 다른 하나가 남아있게 된다.
 
◈ more (more) : 화면 출력을 제어할 수 있다.
ls -al | more <CR> ====> more 앞에 있는 것은 키보드 백스페이스 왼쪽에 있는 것이다. (shift+)
-> 화면 출력을 페이지 단위로 멈추어 준다.
 
◈ sort (sort) : 파일 내의 모든 행을 정렬한다. (옵션이 많으므로 man page를 참고할 것.)
sort test.txt <CR>
-> test.txt 파일의 내용을 문자단위로 정렬한다.
 
⑥ 기타 명령어들
◈ clear (clear) : 화면을 다 지우고, 파일을 복사할 때 사용된다.
clear <CR>
 
◈ grep (grep pattern) : 내용 중 주어진 패턴이 포함된 행을 출력한다.
grep "and" test.txt <CR>
-> test.txt 의 내용중 "and"가 포함되어 있는 행을 보여준다.
-> 보통 다음과 같은 형태로 파이프(|)를 이용해서 많이 사용한다.
ls | grep test <CR>
-> 파일 목록의 내용 중 test가 포함된 행만 보여준다.
 
◈ man (manual) : 각 명령어에 대한 도움말을 보여준다.
-> 프로그래밍 시, 함수이름을 적어주면 함수의 사용법도 보여준다.
man ls <CR>
-> ls 에 관한 도움말을 보여준다.
man printf <CR>
-> printf() 함수에 대한 설명을 보여준다.

'Linux' 카테고리의 다른 글

리눅스의 디렉토리구조  (0) 2007.08.29
vi 초간단 매뉴얼  (0) 2007.08.29
zterm & ssh  (0) 2007.08.29
리눅스 기초 명령어  (0) 2007.08.28
Linux 설치 파일  (0) 2007.08.28
grep 명령어 사용법  (0) 2007.01.26