Linux 기본 명령어

pwd    현재 작업중인 디렉토리의 위치..

cd      디렉토리 이동

         cd : 홈디렉토리로 이동

         cd.. : 상위 디렉토리로 이동

         cd.  : 현재 디렉토리로 이동

         cd- : 이전 디렉토리로 이동 (맘에드는 명령어죠 ^^)

         cd~ : 홈디렉토리로 이동

ls       MS-DOS의 dir과비슷하죠 파일 목록 보기입니다.

         상세한 정보를 알수있죠~?!! 물론 옵션정보도 알수있구요~!!

         -l :파일의 종류,링크수,디렉토리,소유그룹,파일싸이즈등 좀더자세히보기..

         -a :all~! 모두보기죠~ 그냥 ls 하면 볼수 없는 숨어있는파일 (.)으로시작

              하는 숨겨진파일까지 볼때 사용..

mkdir  디렉토리 생성하는 명령어

        -p : 이 옵션은 디렉을 생성할때 경로명을 따라서 하부 디렉토리가 없으면

              생성을 해주죠~!!   mkdir -p /home/hyochang/project/test

rmdir 디렉토리 지우는 명령어

        -p : 위에서처럼 경로명을 따라서 삭제 하겠죠~

        -v : 작업 진행내용을 출력~

        -f : 삭제여부를 묻지 않고 강제로 삭제하죠~ 조심해서 사용..

mv     파일이나 디렉토리를 옮기는 명령어죠~! 이름변경에도 사용하구요~!!

        --backup :복사하려는 파일과 이름이 같은 파일이 있으면, 확인후에 백업

                       파일을 원본 파일 뒤에 딜트(~)를 붙여서 생성하고 이동~

       -f : 겹쳐쓰기 여부를 묻지않고 무조건 이동~! 

cat     Redirection이용하여 간단한 파일을 만들거나 내용을 볼때 사용...

cp    파일을 복사하죠~

         -f : 강제로 복사

         -r :서브 디렉토리도 모두 복사~~

         -d : 링크정보 복사

         -u : 소스파일이 복사될 파일보다 최근것이거나 복사될 파일이 없을때만복사

rm    파일 or 디렉토리 삭제

        요넘은 rmdir보다 더 사용이 편리하죠~! 왜냐면.. 디렉토리에 파일이 없어야

        rmdir로 디렉토리가 삭제가되는데.. rm -r 하면~ 한방에 삭제가되죠~

        -f  : 강제 삭제

        -r : 디렉토리의 내용을 삭제~

file    파일의 종류를 확인하는 명령어죠~ 자주 사용하진 안치만.. 알아두면 편리하죠~

ln      링크 파일을 생성하는 명령어..

        -s : 심볼릭 링크 생성~!!

         링크의 종류에는 하드링크,심볼릭링크가 있어요~

         하드링크 - 파일의 모든속성을 그대로 유지, 일반파일에서만 만들수 있구요

         심볼릭링크 - 단지 원본파일이나 디렉토리를 가리키는 방향에 불과한것

                            단축아이콘과 비슷한개념으로 모든 파일에대해 생성가능하구요~!


[root @localhost tmp]# ls -al

 

그러면 아래유형과 같이 ls명령에 의해 출력이 되겠죠.....

(1)               (2)   (3)      (4)     (5)           (6)           (7)

drwxr-xr-x     2    root     root    4096    Oct 10 12:00     .

drwxr-x---    2    root     root    4096    Oct 10 12:00     ..

-rw-r--r--     2    root     root    100     Oct 10 12:00     test.c

 

각각은 (1) 접근권한 (2)링크된 숫자 (3)파일의 소유자 (4)파일의 소유자가 속한그룹

(5) 파일의 크기 (6) 파일을 마지막으로 수정한날짜 (7) 파일명 을의미하구요~!!!

 

우리가 이번에 보고자하는것은 (1)접근 권한 이구요~!!!

(1)번을 보면 10개의 문자가 출력되는데 각각의 의미를 볼께요~

첫번째문자는 파일의 종류를 나타냅니다.

"d" -> 디렉토리

"-" -> 일반파일

"b" -> 블록장치파일

"c" -> 문자장치파일

"l" -> 심볼릭링크

"s" -> 소켓

"p" -> 파이프

와같은 의미를 나타냅니다. 블록장치,문자장치,소켓,파이프... 이런거는 차차 리눅스를

공부하다보면 아시게 될 내용들이고 지금은 설명을 생략하겠습니다.

 

첫번째 문자의 의미를 파악하셨다면 나머지 9개의 의미를 봐야겠죠

User            Group             Other

r   w   x       r    w   x         r   w   x

이렇게 User(r,w,x),Group(r,w,x),Other(r,w,x) 으로 9개의비트가 사용되죠

의미를 알아보면

일반파일에서 r ->읽기가능

                   w ->쓰기가능 

                   x-> 실행가능

                   - ->권한없음을 나타내고

디렉토리에서 r ->읽기가능(ls명령으로 볼수있음을 의미하죠~)

                   w ->쓰기가능 (디렉토리내에 파일이나 하위디렉을 생성할수 있음을 의미)

                   x ->실행가능 (cd 명령으로 그 디렉토리에 들어갈수있음을 의미하죠)

위에 출력된 예를 다시 들어보면

drwxr-xr-x 의 의미는 어떻게 될까요?????

앞에 d니까 디렉토리구나~! 가되겠죠..ㅋㅋ

User의 권한은 rwx 로 되어있으니까  유저는 읽기,쓰기,실행할권한을 가지는거구~!!

소유 Group의 권한은 r-x 니까 읽고,실행은 가능한데 쓰기가 안되는거죠~!!

마찬가지로 기타사용자의 권한(Other)는 r-x 읽고,실행가능한데 쓰기는 불가능이죠~

쉽죠?? ㅋㅋ

 

이제 권한이라는것이 있구나를 알았으니깐~!! 권한을 바꿔줄 필요가 있다면

모드(권한)를 바꿔주는 명령어를 사용해야겠죠~! 그명령어가 바로 chmod (체인지모드)

가 된답니다.

다음과 같이 사용하죠

]# chmod u+x test

의미가 뭘까요??

tset의 모드를 바꾸는데(chmod) 유저의 권한에(u)  실행권한(x)까지 추가하라는얘기가되겠죠

마찬가지로...

]#chmod g-w test

그룹(g)의 권한중에서 쓰기 권한은 빼라~!! 가되겠죠~~!!

 

사실 이보다더 쉬운 방법으로 모드를 바꿔줄수 있는방법이있습니다.

읽기 r(4) , 쓰기 w (2), 실행 x(1)을 숫자의 조합으로 사용하는데요..

예를 들어 설명해볼께요

]#chmod 664 test

라고 한다면

664 는 6(User),6(Group),4(Other)를 각각 의미하는데요

User 의 권한이 6이다 라고 했을때... 4(r),2(w),1(x)세개의 숫자로 6이나올수있는 조합은

4+2 즉 읽기권한과 쓰기 권한이 설정되었을때 6이 나올수 있죠??

Group도 User와 마찬가지고 Other를 보면 4 로 설정하니깐... 읽기 권한만 있구나 ~! 하구

알수 있겠죠~!!!

 

]#chmod 664 test 라고했을때 ----> rw-rw-r-- 가 되겠죠???

이 명령어를 자주 사용하다보면 숫자를 사용해서 Permission을 바꿔주는게 더 편리하구나

하고 느끼실꺼에요....

 

그밖에 권한과 관련된 다른명령어로

 

chown  파일의 소유자를 다른 사람에게로 변경시킬때...

chgrp    파일의 그룹 소유권을 변경시킬때 사용....


grep   

 

이명령어는 문자열의 특정한 패턴을 검색하는명령어인데요...

]#grep "main" test.c

라고 명령을 내린다면  test.c파일에서 main이란 문자열이 있는행이 출력하라~!!

라는 의미가된답니다.

근데... 중요한건 grep이란놈은 파이프라인을 통해 다른명령어와 조합을해서

자주자주 쓰인다는 건데요...

예를들어 ls명령어를 내렸을때~~ 파일목록의 양이 엄청나다고 생각을 해보세요~~

그럴때...사용하면 좋겠죠... 예를들어 다음과 같이 말입니다.

 

]# ls -il | grep test.c

ls 명령은 해당디렉토리에있는 파일 목록을 쫘~~악 보여주는 명령어죠~~

원래 이(ls) 명령어만 있다면 화면에 파일 목록을 찍어주겠죠...

그러나~!!! 여기서 화면에 뿌려주는 출력에 방향을 파이프라인(|)을 통해서

grep명령어로 파일목록을 넘겨주게된답니다. (흔히들 리다이렉션 이라하죠..)

그러면서 grep 명령이 ls를통해 파일목록을 알려준것중에 test.c라는 파일을 찾아서

그놈만 화면에 뿌려주는 역활을 하는게 되는거랍니다.

 

 

find

 

이 명령은 찾고자하는 파일과 디렉토리를 검사해주는역활을 합니다.

사용 형식은 find [디렉토리][옵션] 의 형식으로 사용하구요

 

-name"파일명"  : 파일이름에 의해 검색..

-perm 모드   : 퍼미션 모드에 의해 검색..

-type 파일의종류  : 파일의 종류에의해 검색...b(블럭),c(케릭터),d(디렉),f(일반)....



clear

이 명령어는 터미널의 창을 깨끗히 지우는 명령어 입니다.

더 간단히 단축키 Ctrl + l 를 사용하면 더 편리하구요~!

 

su

User 변경을 하기위한 명입니다. 일반User에서 슈퍼User(root)로 변경하거나

User에서 다른 User로 변경하고자할때... 등등등 사용 된답니다.

 

halt

시스템을 정지시킬때..사용

 

reboot

시스템을 끄거나 리부팅하고자할때...

 

shutdown

시스템을 종료하거나 리부팅할때사용..

shutdown -r now 즉시 리부팅하라~!!! 가 되죠 (-r 옵션 ->리부팅을 의미하죠)

 

adduser

사용자 계정을 추가하라~!!!

adduser --help를 하시면 많은 옵션들이 나올꺼에요 참고하시구요 ^^;;;;;

간단하게 사용자를 추가하고자한다면...

]#adduser hyochang

하시면 hyochang이라는 사용자가 추가되는거랍니다..

]#ls /home/ 하시면 계정 추가된걸 볼수가 있죠...

 

passwd

패스워드 입력명령이구요... 계정을 추가했으면 패스워드를 넣어줘야겠죠

]#passwd hyochang 계정명과 같이 입력하고 패스를 설정해주면 됩니다.

 

userdel

사용자를 삭제하는명령이죠. 이명령이 수행되면..

/etc/passwd,/etc/shadow,/etc/group에 기록된 정보가 삭제됩니다.

-r옵션을 써주면 계정의 홈디렉토리도 같이 지워준답니다.

 

who, w, whoami, who am i

현재 로그인한 사용자들을 보고자할때 사용하는 명령어입니다.

 

uname

현재 시스템의 정보를 표시해줍니다.

[root@localhost /]# uname -a
Linux plusna 2.4.20-8 #1 Thu Mar 13 17:54:28 EST 2003 i686 i686 i386 GNU/Linux

 

df / du

디스크장치와 디렉토리의 용량을 보고자할때 사용

df 현재디스크의 사용량과 남은 용량을 출력.

du 옵션으로 지정한 디렉토리의 용량을 표시.

 

free

스왑영역,램 사용량과 남은 용량을 표시한다. 기본 KB단위 ,-m옵션 MB단위로 표현

 

which [명령어]

명령어의 위치를 출력

 

whereis [명령어]

명령어의 실행파일 경로 및 소스 메뉴얼 페이지 파일의 경로를 출력

 

whatis [명령어]

명령어의 기본 기능을 출력

 

date

현재 시간과 날짜를 출력

 

cal

달력을 출력, 인자값 없으면 현재 달을 출력

 

ps

현재 실행중인 프로세스를 볼때 사용

[root@localhost /]# ps -ef
UID        PID  PPID   C    STIME   TTY          TIME     CMD
root         1        0    0    Sep03     ?            00:00:04    init
root         2        1    0    Sep03     ?            00:00:00    [keventd]

 

kill

kill pid

해당프로세스의 PID를 사용하여 프로세스 종료

kill -9 pid

-9는 priority를 최대로 한것이 되지요~~

 

finger

시스템유저들에 대한 정보를 출력한다.

[root@localhost /]# finger hyochang
Login: hyochang                        Name: (null)
Directory: /home/hyochang               Shell: /bin/bash
Never logged in.
No mail.
No Plan.



tar

 

tar[동작모드/옵션][아카이브 파일명][원본파일들]

 

우선 동작모드에대해 보겠습니다.

-c   새로운 아카이브 파일을 생성한다.

-x   기존에 만들어진 아카이브 파일을 푼다

-r   기존에 만들어진 아카이브 파일에 다른파일들을 더 추가한다

-u   아카이브 안의 파일보다 새로운 파일만을 추가한다

-t    아카이브 파일안에 들어 있는 내용을 풀어보지안고 보기만한다.

 

옵션입니다.

-f    파일을 묶을때 사용하는 옵션

-v    파일을 묶고 풀때의 작업 내용을 출력

-z    파일을 묶으면서 또는 해제하면서 gzip을 이용해서 압축/해제 한다(*.tar.gz,*.tgz)

-Z    파일을 묶으면서 compress를 이용해 압축까지 한다. (*.tar.z)

-l     파일을 묶으면서 bzip2로 압축까지한다. (*.tar.bz2)

 

ex) tar 명령을 이용해 파일을 묶는다.

[root@plusna test]# ls
a.txt  b.txt  c.txt
[root@plusna test]# tar -cvf my_file.tar .
./
./b.txt
./a.txt
./c.txt
tar: ./my_file.tar: file is the archive; not dumped
[root@plusna test]# ls
a.txt  b.txt  c.txt  my_file.tar

 

ex) tar 명령을 이용해 파일을 푼다.

[root@plusna aa]# ls
my_file.tar
[root@plusna aa]# tar -xvf my_file.tar
./
./b.txt
./a.txt
./c.txt
[root@plusna aa]# ls
a.txt  b.txt  c.txt  my_file.tar

 

 

 

gzip

기본적으로 tar는 파일을 묶기만 하고 실제 압축은 gzip,bzip2,compress들이 한다.

옵션을 보면

-d    압축을 해제한다. 압축해제시 확장자(.gz 또는 .tgz)는 없어진다

-f     압축하거나 해제할때 대상 파일이 겹치면 덮어씌운다

-l    압축 파일안에 있는 파일의 정보를 출력한다.

-r    하위 디렉토리에 있는 파일까지 모두 압축한다

-v    작업진행내용을 출력

-1    압축율 낮다, 압축실행속도 높이고자할때

-9    압축실행속도 느리다, 압축율을 높이고자 할때

 

ex)tar 로 묶은 파일을 gzip을이용해서 압축하기.

[root@plusna aa]# ls
my_file.tar
[root@plusna aa]# gzip -9 my_file.tar
[root@plusna aa]# ls
my_file.tar.gz


 

ex) 압축한 파일을 gzip이용해서 해제하고 tar명령을 이용해서 풀기

[root@plusna aa]# ls
my_file.tar.gz
[root@plusna aa]# gzip -d my_file.tar.gz
[root@plusna aa]# ls
my_file.tar
[root@plusna aa]# tar -xvf my_file.tar
./
./b.txt
./a.txt
./c.txt
[root@plusna aa]# ls
a.txt  b.txt  c.txt  my_file.tar

 

ex) tar 명령으로 압축해제와함께  tar로묶인 파일 풀기..

[root@plusna aa]# ls
my_file.tar.gz
[root@plusna aa]# tar -zxvf my_file.tar.gz
./
./b.txt
./a.txt
./c.txt
[root@plusna aa]# ls
a.txt  b.txt  c.txt  my_file.tar.gz

 

 

bzip2

-z    압축을 실행하는 옵션  *.bz2

-d    압축을 해제

-f     압축하거나 해제할때 대상 파일이 겹치면 삭제하고 계속진행

-r     하위 디렉토리에 있는 파일까지 모두 압축

-v    작업진행내용을 화면에 출력

 

 

split

파일을 쪼갤때 사용하는 명령어

split -b [size][file][suffix]

저작자 표시
신고

'☆ 서버/네트윅' 카테고리의 다른 글

Comodo SSL 인증서설치 Apache  (2) 2010.07.19
natsvc.exe  (0) 2010.07.17
Linux 기본 명령어  (0) 2010.06.25
Linux 디렉토리 구조  (0) 2010.06.25
마이크로소프트 E-Learning  (0) 2010.06.22
Windows Server 2008 관련 자료 다운로드  (0) 2010.06.22