Embedded Linux

리눅스 기본 명령문 1

작성자 임베디드코리아 작성일15-11-23 09:36 조회5,936회 댓글0건

리눅스 시스템을 다루기 위해서는 수많은 리눅스 명령어 가운데 기본적인 몇 기지 명령어에 대해서는 잘 알고 익숙하여야한다.

리눅스 시스템을 다루는데 있어 수천 개의 리눅스 명령어를 알려고 노력할 필요는 없다.

  - 보다 많은 명령어를 알고 있으면 시스템을 관리하는데 있어서 편리할 수 있겠지만,

  -  리눅스는 대부분의 모든 명령어에 대해서 맨 페이지(Man Page)를 통해서 명령어 도움말을 지원하고 있으므로,

  -  시스템을 다루면서 사용법을 모르는 명령어가 있다면 언제든지 ‘man 명령어’를 실행해봄으로써 그 명령어에 대한 자세한 사용법과 옵션들을 알 수 있다.

  - 맨 페이지는 리눅스 명령어의 사용법을 이해하는데 가장 좋은 참고서 역할을 해 줄 것이다.


1. 리눅스 명령어의 특징

     1) 리눅스 명령어의 엄격한 대, 소문자의 구분

          리눅스의 명령어나 파일들은 대, 소문자를 엄격하게 구분한다. 즉 copy나 COPY는 리눅스에서는 완전 별개의 명령어로 인식한다는 점이다.

    2) 리눅스 명령어의 옵션

        리눅스 명령어의 경우 단순히 명령어만을 실행하는 경우도 있지만, 대부분 옵션을 필요로 하는 경우가 많습니다.

        이 경우 옵션은 명령어 뒤에 옵션을 사용한다.

        예를 들면 명령어의 man 페이지 외 명령어의 도움말을 볼수 있는 방법은 명령어 뒤에 --help 옵션을 입력하여 실행하면 명령어의 사용방법과 명령어에 사용할 수 있는 더 많은 옵션에 대해 자세히 살펴볼 수 있다.

        이와 같이 리눅스는 명령어 뒤에는 --help 외 여러 가지 옵션들이 각 명령어별 각가 다르게 부가하여 사용할 수 있다.


       3) 확장자가 없는 리눅스 실행 파일

        리눅스 파일은 실행 파일과 일반 파일(시스템 파일, 로그 파일 등등)로 구분되는데, 리눅스의 실행 파일은 원도우 운영체계와는 달리 실행 확장자를 사용하지 않는다. 터미널에서 그 파일이 실행 파일인지 아닌지의 여부는 파일 뒤에 “*”표시가 붙어 있는지의 여부나 ls 명령어 실행시 파일의 색상 여부로 판단할 수 있다. 파일 뒤에 “*” 표시가 있거나 초록색의 색상의 파일드른 실행 파일이라 보면 된다. 다른 방법으로는 ls 명령어를 실행하였을 때 파일 퍼미션에 실행(x) 허가권이 있는지 여부에 따라서 알 수도 있다.


       4) 명령어 자동 입력(AutoList) 기능

        리눅스는 명령어의 철자를 모두 입력하기 전에 자동으로 나머지 철자를 자동으로 입력해 주는 기능을 지원한다. mandrake라는 명령어 있다면 이 명령어의 철자를 모두 입력하기 전에 ma를 입력한 후 ‘Tab’ 키를 클릭하면 나머지 ndrake가 자동으로 입력된다.

 

2. 리눅스  명령어 구성

리눅스 명령어의 기본형식은

                 명령어 [옵션] [인자값]


            - [옵션 ] 과 [인자값] 부분은 생략 가능하다
            - 명령어 외 옵션 인자값 구분은 스페이스바(공백) 로 구분을 해 주어야 한다.
            - 명령이나 옵션 다음에 적는 단어를 인자값은 Argument, 인수 라고도 한다.

리눅스 명령어 실행 형식의 종류에는
       1)  명령어 만 사용하는 경우
       2) 명령어 옵션 을 사용하는 경우
       3) 명령어 옵션 인자값 을 사용하는 경우
       4) 한 줄에 여러 명령어 를 사용하는 경우


2. 리눅스 기본 명령어

1] 시스템 관련 명령어

    1) login 명령어

     login 과정에서는 사용자 계정과 패스워드로 사용자를 구분한다.
      리눅스는 다중 사용자를 위한 운영체제이기 때문에 각각의 사용자에게 이름과 패스워드를 주어 login 하도록 한다.

           사용법 : login [옵션] [이름]

      -f user : 이미 인증 절차를 거친 사용자라면, 지정한 user의 인증 절차를 무시하게 된다. 만일 user가 root라면 적용되지 않는다.
      -h hostname : 로그인을 원격 로그인(telnetd, rlogind)으로 인식하고 hostname에 로그인을 시도할 호스트의 이름을 입력한다.
      -p : logdin 실행할 때 이전 환경등을 그대로 사용하도록 getty 명령에 의해 사용된다.

    2) loout 방법

    로그 아웃은 지금 까지 사용한 시스템의 사용을 종료하고 상용한 권한들을 종료 시킨다는 뜻이다.
      각각의 계정들이 시스템 이용을 종료한다는 것을 확인하는 작업이라고 생각하면된다. 터미널에서 logout을 하면. 터미널이 종료되면 닫는다.

       사용법 : logout 

     3 shoutdown(전원끄기)

      shutdown의 시간은 여러가지로 지정할 수 있다.
       - 절대적 시간 형식 hh:mm으로 지정할 수 있다. ( hh는 시간, mm는 분이다).
       - 현재 시간부터 shutdown을 시작할 시간 사이의 상대적인 시간으로 +m 형식으로 사용되며 m분 만큼 기다리게 된다.
       - now는 +0의 다른 표현이다.아웃은 지금 까지 사용한 시스템의 사용을 종료하고 상용한 권한들을 종료 시킨다는 뜻이다.
      

       사용법 : shutdown [-옵션 ] 시간 [ 경고메세지 ]

  [ 옵션 ]
    -t sec : 다른 runlevel로 바뀌기 전에 경고를 보내는 프로세스와 kill 시그널 사이의 기다리는 시간을 sec으로 지정한다.
    -k : Knock의 약자, 실질적으로 shutdown을 하는게 아니라, 단지 모든 사용장게 경고 메세지만을 보낸다.
    -r : shutdown후 재시작(reboot) 한다.
    -h : shutdown후 시스템을 종료(halt) 한다.
    -n : no init의 약자, shutdown을 하기 위해서 init를 호줄하지 않고 자체적으로 shutdown한다. 이 옵션은 시스템 제어 불가능 상태일 때 사용되며, 그 결과에 대해서는 기대했던 것과 다르게 나타날 수도 있다.shutdown은 /etc/rc.d/rc.halt fast 형식으로 스크립트를 실행할 것이다. 이것은 또한 rc.0, rc.6파일의 검사를 하기도 한다. 만약 이 스크립트가 없거나 실행할 수 없는 상태라면, quota,accouning을 끄고, 스와핑(swapping)을 해제하며, 모든 파일 시스템을 언마운트(umount)한다.
    -f : Fast reboot의 약자, 빠른 재시작이다. 이 명령은 시스템이 재시작될 때, 시스템에 의해서 검사되는 /fast/boot라는 참조 파일만을 만들게 된다. 다음 부팅이 될때, rc파일에서 이 파일을 검사할 수 있고, 정당한 방법으로 시스템이 셧다운 되었을 때 fsck(1) 명령을 실행하지 않게 결정할 수도 있다. 그 다음 boot 프로세스는 /fastboot 파일을 지울 것이다.
   -c : Cancle의 약자, 이미 shutdown 중인 것을 취소한다. 이 옵션을 사용할 때는 time 인자 값을 사용할 수 없다. 하지만, 명령행에서 설명하는 메시지를 사용해 모든 사용자에게 전달할 수는 있다.

명령어

사 용 법

login

사용자 인증과정

리눅스 시스템은 기본적으로 multi-user 개념에서 시작하였기 때문에 시스템을 이용하기 위해서는 반드시 로그인을 하여야 합니 다. 로그인은 PC 통신에서도 많이 사용되어져 왔기 때문에 그 개 념  설정에 그다지 어려움이 없을 것입니다. 흔히 말하는 ID를 입력하는 과정입니다. 

사용법 : login [옵션] [이름]
2.-f user : 이미 인증 절차를 거친 사용자라면, 지정한 user의 인증 절차를 무시하게 된다. 만일 user가 root라면 적용되지 않는다.
3.-h hostname : 로그인을 원격 로그인(telnetd, rlogind)으로 인식하고 hostname에 로그인을 시도할 호스트의 이름을 입력한다.
4.-p : logdin 실행할 때 이전 환경등을 그대로 사용하도록 getty 명령에 의해 사용된다.

 

passwd

패스워드 변경

리눅스, 특히 인터넷의 세계에서는 일반 컴퓨팅 상황에 비하여 훨씬 해킹에 대한 위험이 높습니다. 패스워드는 완성된 단어 보다는 단어 중간에 숫자나 키보드의 ^, #, ' 등과 같은 쉽게 연상 할 수 없는 기호를 삽입하여 만들어 주는 것이 좋습니다

du

하드사용량 체크(chkdsk)

자신의 하드공간을 알려면
# du
특정 디렉토리의 사용량을 알려면
# du -s diretory_name

ls

파일 리스트 보기(dir)

F : 파일 유형을 나타내는 기호를 파일명 끝에 표시
    (디렉토리는 '/', 실행파일은 '*', 심볼릭 링크는 '@'가 나타남).
l  : 파일에 관한 상세 정보를 나타냅니다.
a : dot 파일(.access 등)을 포함한 모든 파일 표시.
t  : 파일이 생성된 시간별로 표시
C : 도스의 dir/w명령과 같 이 한줄에 여러개의 정보를 표시
R : 도스의 dir/s 명령과 같이 서브디렉토리 내용까지.

(예)
# ls -al  
# ls -aC
# ls -R

cd

디렉토리를 변경

# cd cgi-bin     : 하부 디렉토리인 cgi-bin으로 들어감.
# cd  ..             : 상위디렉토리로 이동
# cd 또는 cd ~  : 어느곳에서든지 자기 홈디렉토리로 바로 이동
# cd /webker     : 현재 작업중인 디렉토리의 하위나 상위 디렉토리가
                          아닌 다른 디렉토리(webker)로 이동하려면 /로
                          시작해서 경로이름을 입력하면 된다.

cp

화일 복사(copy)

# cp index.html index.old
     : index.html 화일을 index.old 란 이름으로 복사.

# cp /home/test/*.*  .
     : test 디렉토리내의 모든 화일을 현 디렉토리로 복사.

mv

파일이름(rename) / 위치(move)변경

# mv index.htm index.html
     : index.htm 화일을 index.html 로 이름 변경

$ mv file  ../main/new_file
     : 파일의 위치변경

mkdir

디렉토리 생성

# mkdir download  : download 디렉토리 생성

rm

화일삭제

# rm test.html : test.html 화일 삭제
# rm -r <디렉토리> : 디렉토리 전체를 삭제
# rm -i a.*
     : a로 시작하는 모든 파일을 일일이 삭제할 것인지 확인하면서 삭제 

rmdir

디렉토리 삭제

# rmdir cgi-bin : cgi-bin 디렉토리 삭제

pwd

현재의 디렉토리 경로를 보여주기

pico

리눅스용 에디터

put

ftp 상태에서 화일 업로드

> put  guestbook.tar.gz

get

ftp 상태에서 화일 다운로드

> get  guestbook.tar.gz

mput 또는 mget

여러개의 화일을 올리고 내릴때 (put,get과 사용법동일)

chmod

화일 permission 변경

리눅스에서는 각 화일과 디렉토리에 사용권한을 부여.

예) -rwxr-xr-x   guestbookt.html
rwx  :처음 3개 문자 = 사용자 자신의 사용 권한
r-x  :그다음 3개 문자 = 그룹 사용자의 사용 권한
r-x  :마지막 3개 문자 = 전체 사용자의 사용 권한

읽기(read)---------- 화일 읽기 권한
쓰기(write)---------- 화일 쓰기 권한
실행(execution)---------- 화일 실행 권한
없음(-)---------- 사용권한 없음

명령어 사용법
chmod [변경모드] [파일]

# chmod 666  guestbook.html
     : test.html 화일을 자신에게만 r,w,x 권한을 줌

# chmod 766  guestbook.html
     : 자신은 모든 권한을 그룹사용자와,전체사용자에게는
       읽기와 쓰기 권한만 줌

alias

" doskey alias" 와 비슷하게 이용할 수 있는 쉘 명령어 alias는 말그대로 별명입니다. 사용자는 alias를 이용하여 긴 유 닉스 명령어를 간단하게 줄여서 사용할 수도 있습니다.
이들 앨리어스는 [alias ls 'ls -al'] 같이 사용하시면 되는데, 한 번 지정한 alias를 계속해서 이용하시려면, 자신의 홈디렉토리에 있는
.cshrc(Hidden 속성)을 pico등의 에디터를 이용하여 변경시 키면 됩니다.

cat

파일의 내용을 화면에 출력하거나 파일을 만드는 명령( 도스의 TYPE명령)

# cat filename

more

cat 명령어는 실행을 시키면 한 화면을 넘기는 파일일 경우 그 내용을 모두 볼수가 없다. 하지만 more 명령어를 사용하면 한 화면 단위로 보여줄 수 있어 유용.

# more <옵션>
옵션은 다음과 같습니다.

Space bar : 다음 페이지
Return(enter) key : 다음 줄
v : vi 편집기로 전환
/str : str 문자를 찾음
b : 이전 페이지
q : more 상태를 빠져나감
h : 도움말
= : 현재 line number를 보여줌

who

현재 시스템에 login 하고 있는 사용자의 리스트를 보여줍니다.

# who

whereis

소스, 실행파일, 메뉴얼 등의 위치를 알려줍니다

# whereis perl : perl의 위치를 알려준다

vi,
touch,
cat

새로운 파일을 만드는 방법

# vi newfile :  vi 편집기 상태로 들어감
# touch newfile : 빈 파일만 생성됨
# cat > newfile  : vi 편집기 상태로 들어감, 문서 작성후 Ctrl+D로 빠져나옴

cat,
head,
tail

파일 내용만 보기

# cat filename         : 파일의 내용을 모두 보여줌
# head -n filename : n줄 만큼 위세서부터 보여줌
# tail -n filename     : n줄 만큼 아래에서부터 보여줌