본문 바로가기

Programming/UNIX_linux

리눅스 명령어 정리

09년 1학기에 들었던 JAVA 수업에서 GUI 이전의 내용은 UNIX에서 작업을 했는데 그 때 받은 내용 

 

1. 리눅스 기본 명령어

 

£ 입력된 명령어는 명령어 해석기에 의해 해석되어 수행됨

î 명령어 해석기: shell이라 하며, 주로 csh, ksh bash 등이 사용됨

£ 온라인 명령어 매뉴얼: “man 명령어"로 상세한 온라인 매뉴얼 검색 가능

 

£  다음과 같이 그룹화 됨: 사용자 및 그룹관리는 root 이용자만 취급가능

î 사용자 및 그룹 관리

î 파일과 디렉토리 관리

î 프로세스 관리

î 주변장치 관리

î 텍스트 처리

î 기타

 

그룹

명령어

      

 

 

 

사용자 및

그룹 관리

 

adduser

- 사용자 계정을 등록한다.

: adduser 옵션 계정이름

useradd

- 사용자 계정을 등록한다.

: useradd 옵션 계정이름

passwd

- 계정의 패스워드를 변경

 : passwd

userdel

- 사용자 계정 삭제

  : userdel 계정이름

usermod

- 사용자 계정의 계정정책 관리

계정사용 일시 등

charge

- 사용자 계정의 암호정책 관리.

암호의 구성요건, 갱신주기 등

groupadd

- 사용자 그룹을 추가

필요한 그룹을 형성할 수 있음

groupdel

- 사용자 그룹을 삭제

특정 그룹을 제거

su

- 다른 계정으로 접속 변경

: su - 계정이름

 

 

 

 

 

 

파일과 디렉토리

관리

cd

- 현재 작업 디렉토리를 이동하거나 변경합니다.
: #cd test  (test디렉토리로 이동)

( "."은 현재 디렉토리, ".."은 상위 디렉토리임.)

ls

- 파일과 디렉토리들의 이름에 대한 정보를 출력합니다.
: 상세 정보를 출력할 때는 #ls -al

cp

- 파일과 디렉토리를 복사합니다.
: cp aa bb  (aa bb로 복사)

mv

- 파일을 옮기거나 이름을 바꿀 수 있습니다.
: mv a.txt b.txt - a.txt b.txt란 이름으로 변경

rm

- 파일과 디렉토리를 지울 수 있습니다.
: #rm b.txt
    #rm -rf test1 (test1
디렉토리 삭제(하위파일 포함))

mkdir/rmdir

- 새로운 디렉토리를 만들거나 지울 수 있습니다.
: # mkdir test test1 (2개 생성)   

# rmdir test test1 (2개 지움)

ln

- 파일과 디렉토리를 링크를 걸어줍니다.
: #ln -s <링크할 대상> <링크파일명>

chmod

- 퍼미션(permission), 즉 접근권한 변경
: #chmod 777 test

chown

- owner, 즉 소유자 변경
: # chmod tjkim test

du

- 지정된 특정 디렉토리나 파일들이 차지하는 공간보기
   s:
총합계만  h: M단위로  b: 바이트 크기로 출력

 
: #du -sh /home  home 디렉토리의 총공간을 M단위로 보기

which

- 각종 시스템 유틸리티 프로그램의 서버상 위치를 볼 수 있습니다.
 
: # which perl -> /usr/bin/perl  

# which sendmail  -> /usr/sbin/sendmail

find

- 디렉토리 탐색하면서 조건에 맞는 파일을 찾을 수 있습니다.
: dhcpd 파일 찾기 ->$ find / -name dhcpd

pwd

- 현재 디렉토리 위치를 확인합니다.
: #wd 입력하면 /home/support 이런식으로 나옵니다.

 


 


 

프로세스 관리

ps

- 현재 수행중인 프로세스 보기

  : ps -aux

kill

- 현재 수행중인 프로세스 제거

  : kill -9 프로세스 ID

 

 

주변장치

관리

mount

- 주변장치 접속

  : #mount /dev/cdrom /mnt/cdrom

umount

- 주변장치 제거

 : #umount /dev/cdrom

df

- 하디디스트 용량보기

: $df -h M단위로 쉽게 보여줌.

 

 

 

 

텍스트 처리

more

- 파일 내용이 길 때 내용을 한 화면씩 출력합니다.(q:종료 / f: 다음화면)
 
: #more test.html 하면 --More--(60%) 식으로 나오고 f로 계속 봅니다.

less

-위의 more와 거의 유사하나 이전 화면으로 전환이 가능합니다.
   (q:
종료 / f:다음화면 / b:이전화면)

grep

- 주어진 패턴을 포함하는 파일라인을 출력합니다.
 
: test.txt라는 파일에서 linux라는 단어가 들어간 행을  보여줄 때 #grep linux test.txt

 

 

 

 

기타

man

- 주어진 명령어나 manual 보여줍니다.
: man 명령어

help

- 명령어의 도움말을 보여줌

: 명령어 --help

clear

- 현재 화면내용을 지웁니다.

pipeline

- 한 프로세스의 출력결과를 다른 프로세스의 입력으로 연결시킵니다.
: linux란 단어가 들어간 파일들을 sort해서 프린트로 출력합니다
.
        $ ls |grep linux | sort | lpr

압축명령어
(gzip,tar)

▷ a.txt gzip으로 압축하기/풀기
   $ gzip a.txt  <- a.txt.gz
파일이 생김  $ gunzip a.txt.gz
▷ a.txt, b.txt
tar로 묶기/풀기

   $ tar -cvf test.tar a.txt b.txt             $ tar -xvf test.tar
▷ a.txt, b.txt
gzip과 함께 tar사용해서 압축/풀기
   $ tar -cvf test.tar.gz a.txt b.txt      

 $ tar -xvf test.tar.gz

 


2. 퍼미션과 관련 명령어

 

2.1 퍼미션(permission)이란?

 

윈도와는 달리 멀티유저 운영체제 리눅스는 보안상의 이유로 다른 사람이 자신의 파일을 읽거나 파일에 다른 내용을 기록하는 것을 막을 있습니다. 이런 역할을 하는 것을 퍼미션이라고 합니다. 사용자가 다른 사용자의 파일을 마음대로 처리하게 수도 있기 때문에 이것을 예방하기 위해서 생성되는 파일이나 디렉토리에 각각의 접근허가권 두어서 허가한 사용자(그룹)들만이 파일에 대한 접근권한을 가지게 만드는 것입니다. 이들 속성을 이용하여 파일 디렉토리들을 다른 사람들과 공유하거나 아니면 개인적인 목적으로만 사용할 있습니다. 퍼미션은 소유자/소유자가 속한 그룹/그외 유저(그룹)으로 나누어 주어지게 됩니다.

 

* 그룹(group) 이해하기

유저는 기본적으로 특정 그룹에 소속되어 있습니다. 관리자가 특별히 그룹을 지정하지 않으면 계정 이름이 그룹 이름이 됩니다. 만약 관리자가 관리의 편의를 위해 그룹을 구분지었다면 유저이름과 그룹이름이 다를 있습니다. 학교에서 반을 나누는 것과 같다고 생각하면 됩니다.

 

 

2.2 퍼미션과

 

중요한 파일 퍼미션에 대하여 간단히 설명하겠습니다. 앞서 말했듯이 리눅스에서 모든 파일과 디렉토리는 3가지 대상에 대한 접근권한을 가지고 있습니다. 소유자는 소유자 자신의 파일에 대하여 그룹과 시스템에 있는 모든 유저들에 대한 접근권한을 지정할 있습니다. 현재 설정된 퍼미션을 보고 싶으면 ls -l 명령을 하면 됩니다.

 

[root@junilove /root]$ ls -l

 

  total 11

  drwxr-xr-x          1 root   root       4096          Aug  7 04:02      test.html

  -rw-------                1 root   root        557          Jul   4                   12:22      mbox

  drwx------              2 root   root        4096         Apr  5   20:55      nsmail

  drwx---r-x             4 root   root        4096         Jun  11 21:34      public_html

 

명령의 결과 첫번째 줄을 요약하면 다음과 같습니다.

 

drwxr-xr-x

1

root

root

4096

Aug

7

04:02

test.html

파일의 타입과 허가권

링크의

소유자

소유그룹

파일의 크기

 마지막 수정일

 마지막 수정 시간

파일이름

 

이중 퍼미션을 나타내는 부분, drwxr-xr-x 대해서 상세히 살펴봅니다.

 
문자는 파일의 타입을 나타냅니다. 'd' 디렉토리를 의미합니다. '-' 표준파일입니다. 다음 9 문자는 파일의 퍼미션을 나타냅니다처음 3문자는 파일 소유자가 가지는 퍼미션을 나타내고, 번째 3문자는 소유자가 속해있는 그룹에 대한 퍼미션을마지막 3문자는 모든 유져(그룹) 대한 퍼미션을 나타냅니다.

 

 다음은 퍼미션을 표현하는 문자에 대한 설명입니다. 또한, 각각의 퍼미션 문자는 대응하는 값을 가지고 있습니다.

 

 문자

의미

 r

읽기

4

 w

쓰기 (추가, 수정, 리네임 )

2

 x

실행

1

 

그리고 값들을 결합시켜서 퍼미션을 지정합니다.

 

퍼미션

의미

---

0

 퍼미션 없음

--x

1

 실행

r--

4

 읽기 전용

r-x

5

 읽기, 실행

rw-

6

 읽기, 쓰기

rwx

7

 읽기, 쓰기, 실행

 

 

아래에 3자리 숫자를 조합하여 만들 있는 중요한 퍼미션 몇가지를 적어보았습니다. 기본 보안과 관련된 것이니 알아둡시다.

 

퍼미션

의미

-rw-------

600

 소유자만 읽기 쓰기 퍼미션을 가집니다. 밖에 누구에게도 어떠한 접근권한도 주지 않습니다.

-rw-r--r--

644

 소유자는 읽기, 쓰기 퍼미션을 가집니다. 그룹과 유저는 오직 읽기 퍼미션만을 가집니다.

-rw-rw-rw-

666

 *매우 위험* 모두에 대하여 읽기 쓰기 권한을 줍니다.  다른 유저가 당신의 파일을 고칠 있습니다.

 -rwx------

700

 소유자만 읽기, 쓰기, 실행권한을 가집니다. 소유자가 프로그램을 실행할 사용됩니다.

-rwx--x—x

711

 소유자는 읽기, 쓰기, 실행을 할수 있는 퍼미션입니다.  그룹과 그외는 오직 실행만 있고, 읽기와 쓰기는 되지 않습니다.

-rwxr-xr-x

755

 소유자는 읽기, 쓰기, 실행권한을 가집니다. 그룹과 유저는 읽기, 실행 권한을 줍니다. (홈페이지 계정에 사용됩니다.)

-rwxrwxrwx

777

 *매우 위험* 모두에게 읽기, 쓰기, 실행 퍼미션을 줍니다다른 유저가 파일을 수정할수 있고 이로 인해 문제가 생길수 있습니다.

drwx------

700

 소유자만이 디렉토리의 읽기, 쓰기가 됩니다.

drwx--x—x

711

  퍼미션은 디렉토리를 다른 유저의 접근으로부터 보호합니다. 오직 소유자만이 디렉토리안의 내용물을 보거나 수정할수 있고 다른 유저나 그룹들은 그것을 읽지는 못합니다.

drwxr-xr-x

755

  디렉토리는 소유자만이 바꿀수 있지만 모든 유저들이 그안의 내용을 있습니다. (홈페이지 계정에 사용됩니다.)

 

 

2.3. chmod 명령에 의한 퍼미션 변경

2.3.1 chmod ?

 

chmod 파일, 디렉토리, 장치, 프로그램등의 퍼미션(접근권한) 바꾸는 명령입니다. 접근권한은 소유자, 소유 그룹, 그외 유저(그룹) 3가지 대상으로 지정할 있고 각각의 대상에게 자신의 파일에 대한 읽기(read), 쓰기(write), 실행(execute) 권한을 지정할 있습니다.

 

2.3.2 chmod 사용하기

먼저 간략한 chmod 사용법부터 설명하겠습니다. 파일의 퍼미션을 바꾸려면 로그인 다음과 같이 하면 됩니다.

 

[root@junilove /root]# chmod 퍼미션값 대상

 

여기서에 퍼미션값은 권한변경대상과 접근권한으로 이루어져 있으면 이걸 다시 3자리 숫자로 표현할 있습니다. 대상은 퍼미션을 바꾸려는 파일이나 디렉토리 장치를 말합니다.

 

예를 들어, test.html 파일을 소유자만 읽기, 쓰기가 가능하고, 소유 그룹과 그외 유저(other)들은 읽기만을 허용하려고 하면 아래와 같이 하면 됩니다.

 

[root@junilove /root]# chmod 644 test.html

 

반복되는 특정 디렉토리 안에 모든 파일의 퍼미션을 바꾸려면 명령에 -R 옵션을 사용합니다. 예를 들어, /home/public_html/ 디렉토리와 그안에 있는 모든 파일들의 퍼미션을 755 할려면 아래와 같이 하면 됩니다.

 

[root@junilove /root]# chmod -R 755 /home/public_html/


 

'Programming > UNIX_linux' 카테고리의 다른 글

운영체제의 구조 ( 프로세스 )  (0) 2009.08.14
운영체제의 구조 ( 파일 시스템 )  (0) 2009.08.14
UNIX 의 구성  (0) 2009.08.14
UNIX 운영체제  (0) 2009.08.14
VI 편집기 명령어 정리  (0) 2009.08.13