본문 바로가기
리눅스

리눅스 명령어 모음

by 목가 2015. 7. 26.
반응형

터미널 명령어

 

콘솔창에서 사용하는 기본 명령어의 특징

 

1. 대소문자를 구분한다.

   → 윈도우는 구분하지 않는다

 

2. 명령어 유형은 내부명령어와 외부 명령어로 구분한다.

3. 실행파일로 제공하는 것은 외부명령어이고 확장자가 없으며 실행권한이 있다.

4. 쉘 해석기로 제공하는 것은 내부(BUILTIN)명령어 이다.

5. 파이프를 통하여 명령어 조합이 가능하다. (파이프 : | )

    → ls -al | more

 

6. 사용권한에 따라 사용가능한 명령과 사용할 수 없는 명령이 있다.

7. 모든 디렉터리, 장치, 파일 등을 파일이라는 단일 구조로 사용한다.

8. 옵션 형식이 다양하다. 

 

9. 모든 명령은 백그라운드/포그라운드 동작이 가능하다.

    백그라운드 → 실행한 프로세스를 하고 있을 떄는 프롬트가 뺏긴다.

    포그라운드 → 프로세스를 실행중에도 프롬트창이 살아있다. ( firefox & )

 

10. 리다이렉션으로 출력 방향을 바꿀 수 있다. ( > )

     → ls -l > list.txt    출력결과를 파일로 저장한다.

 

11. 명령어의 도움말 ( 명령어 --help )

12. 명령어 자동 입력 : Tab 키 사용

13. 와일드 문자 적용

     * : 모든 것을 의미하며 앞에 문자가 있으면 그문자에 해당하는 모든것
     ? : 하나의 문자에 대해서 상징할 때 사용

 

 

 

■ Shell 프롬트

  # echo SHELL

  → echo는 뒤에 나오는 문자열 출력

  # echo $SHELL

  → '$'는 뒷단어를 변수로 인식하고 변수내용 출력

 

- Linux의 기본 Shell

  → C 문법을 많이 사용

 

- 배시의 환경설정 파일

  사용자별 환경설정 파일

   1)  .bash_logout,  .bash_profile,  .bashrc

   2)  원본파일은 /etc/skel/ 디렉토리에 존재한다.

   3)  새로운 사용자 추가시마다 각 사용자에 홈 디렉토리에 복사됨 (/home/사용자계정명)

   4)  "." 으로 시작하는 파일은 숨김파일을 의미

 

- 모든 사용자 공통의 환경설정 파일

   →  /etc/profile,  /etc/bashrc

 

- 환경설정 파일 인식 순서

  /etc/profile → ~/.bash_profile → ~/.bashrc → /etc/bashrc

 

-  .bash_history : 입력한 명령어 내용이 저장되는 파일 ( #history 명령사용)
-  .bash_profile : 개인 환경 설정 파일
-  .bashrc : alias 정보를 가지고 있는 파일 , 단축 명령어 정의 가능

 

 

■ 기본명령어

.                                    → 현재 디렉토리를 의미

..                                   → 현재 디렉토리의 상위 디렉토리  

ls                                  →  현재 디렉토리의 파일목록

    -a                              →  파일목록을 자세히

    -al                             →  자세히에다가 속성까지

    -t                               → 최근의 파일부터 출력

    -R                              → 현재 디렉토리와 하위 디렉토리 모두 출력

    *.txt                            → 확장자가 txt인 목록을 보여줌

    /usr/bin/                    → 디렉토리에 있는 목록 보여줌

 

cd                                  → 사용자의 홈 디렉토리로 이동

cd ../root                      →  상대경로: 현재 디렉토리 기준으로 이동

cd /home/ubuntu06      →  절대경로: 루트 디렉토리 기준으로 이동  

 

mkdir 명령어

 - 새로운 디렉토리를 생성

 - 생성된 디렉토리는 명령어를 수행한 사용자의 소유

 - mkdir –p def/fgh : 현재 디렉토리 아래에 def 디렉토리 생성하고 그안에 fgh 디렉토리 생성

 

rm 명령어
 - 파일이나 디렉토리 삭제 명령어

 - 해당 파일이나 디렉토리에 삭제권한이 있어야 함
 - 사용 예
    # rm abc.txt : 그냥 삭제
    # rm –i abc.txt : 삭제시 확인
    # rm –r abc : 디렉토리 삭제
    # rm –rf abc : abc디렉토리와 그 하부를 강제로 전부 삭제

 

rmdir 명령어
 - 디렉토리 삭제 명령
 - 해당 디렉토리의 삭제권한이 있어야 함.
 - 해당 디렉토리는 비어 있어야 함.

 

touch 명령어

 - touch abc.txt  : 파일이 없을 경우엔 abc.txt.라는 빈파일 생성,

                         파일이 있을 경우엔 파일의 수정날짜를 변경시킴

 - .c 파일 컴파일할 때 자주 사용됨 (obj파일 생성 위해)

 

rm 명령어

 - 파일이나 디렉토리 삭제 명령어
 - 해당 파일이나 디렉토리에 삭제권한이 있어야 함
 - 사용 예
    # rm abc.txt        →  그냥 삭제
    # rm –i abc.txt     →  삭제시 확인
    # rm –r abc         →  디렉토리 삭제
    # rm –rf abc        →  abc디렉토리와 그 하부를 강제로 전부 삭제

 

mv 명령어
 - 파일과 디렉토리의 이름변경이나 위치이동 때 사용
 - 사용 예
    # mv aaa bbb ccc ddd   →  이동. ddd는 디렉토리.
    # mv abc.txt def.txt         →  이름 변경

 

cp 명령어
 - 파일이나 디렉토리 복사 명령어
 - 새로 복사한 파일은 사용자의 소유가 됨
 - 사용 예
    # cp abc.txt cba.txt
    # cp –r abc cba : 디렉토리 복사
    # cp –a aaa bbb : 원본파일의 속성, 링크 정보들을 유지하며 복사

 

cat명령어

 - 텍스트로 작성된 파일을 화면에 출력

 - cat abc.txt

 - cat -n aaa.txt  :  행번호와 함께 출력

 

more 명령어
 - 텍스트로 작성된 파일을 화면에 페이지 단위로 출력
 - [space]키는 다음 페이지, [b]는 앞 페이지
 - 사용 예
   # more abc.txt

 

ln 명령어
 - Windows의 “바로가기 아이콘”과 비슷한 것을 만들어줌
 - 심볼릭링크와 하드링크가 있음
 - 사용 예
    # ln –s aaa.txt bbb.txt : 심볼릭 링크
    # ln aaa.txt bbb.txt : 하드 링크

 

 

pwd                              →  현재 자기 자신이 있는 디렉토리를 보여준다.

 

halt                               → 우분투 종료

reboot                           → 우분투 재부팅

apt-get install              →  패키지 온라인 설치명령어

apt-get update             →  X-Windows의 업데이트 관리자에서 점검버튼과 동일한기능

apt-get upgrade           →  업데이트 깔기와 동일

 

 

pstree                           → 프로세스를 트리형태로 출력

dpkg -i 파일이름            → .deb 파일 인스톨할 때

history                          → 지금까지 내가 작성한 명령어 내역

!숫자                              →  히스토리 내역의 번호별 명령어 그대로 실행

echo $PATH                 → PATH 설정된 목록 보여줌

which 이름                    → 이름이 속한 위치 디렉토리를 보여줌

fdisk                             → 메모리에 대한 정보

who am i                      → 자기 계정에 대한 정보

wget url주소                  → 웹에서 바로 다운로드

jobs                             →  현재 수행중인 백그라운드 작업을 보여줌
tar cf 이름.tar 이름       → 뒤에 이름의 파일을 tar파일로 묶음 
top                               → 프로세스들의 점유율 보여줌

 

 

■ 파이프와 필터
 - 파이프 (pipe : 명령어의 연결통로)
    • 앞 프로그램의 결과를 뒤 프로그램의 입력값으로 전달해주는 역할
    • 메타문자 : |
    • 한가지 명령으로 부족할 때 다른 명령과 조합
    • 사용 예
      # ls –al /usr/bin | more
      # ls /usr/bin | sort | less  알파벳순으로 정렬 

 - 필터
   • 표준 입력으로부터 자료를 읽어 간단한 처리후 표준출력으로 보내는 프로그램
   • grep,head, tail, wc, sort, awk, sed 등
   • 파이프와 동시에 사용을 많이 한다.
   • 사용 예
     # grep hello abc.txt  abc.txt에서 hello라는 글자가 있는 행 출력
     # grep –v hello abc.txt  hello라는 글자 외의 행 출력
     # ps aux | grep xfs  현재 프로세스 중 xfs 라는 프로세스 출력
     # rpm –qa | ^X  현재 설치된 rpm 중, 맨 앞글자가 ‘X’인 패키지명 출력

 

 

■ 표준출력 Redirection
  - 표준출력장치(모니터)의 방향을 파일로 전환
  - 메타문자 : > , >> (append)
  - 사용 예
     # ls /usr/bin > list_file
     # ls /usr/bin >> list_file
     # cat /dev/cdrom > “win2000.iso”

 

■ 입력 Redirection
  - 메타문자 : < , <<
  - # sort < abc.txt > sorted.txt
  - # cat << end > a.txt  →  end문자를 만나면 입력종료

 

 

■ 표준오류 Redirection
  - 메타문자 : 2> , 2>>
  - 사용 예
     # gcc –c hello.c 2> error.txt  오류 미발생시 파일생성 안됨

 

 

■ ps명령어

현재 프로세스 상태 확인 (ps –ef : 부모 프로세스 확인가능)
 -추천 옵션 : # ps auwx

                  (USER,PID,CPU사용율,메모리사용율,가상메모리 사용,실제메모리사용,프로세스상태,시작시간,구동후총사용시간,명령)
 - 상태(STAT) 의미
    D:중지시킬수없는 잠자고있는상태 R:동작중이거나 동작할 수 있는 상태
    S:잠자고 있지만 , 중지 가능한 상태 X:완전히 죽어 있는 상태
    T:작업 제어 시그널로 정지되어 있거나 추적중에 있는 상태
    Z:죽어 있는 좀비 프로세스 

 

 

■ kill 명령어

프로세스를 종료할 때 사용하는 명령
 - 종류버튼을 눌러도 종료되지 않을 때 사용
 - ps 명령어로 프로세스번호 확인 후  # kill <pid>
 - 옵션
•# kill –KILL(9) <pid> : 하드웨어적 종료 (가장 강력)
•# kill –TERM(15) <pid> : 소프트웨어적 종료 (소프트웨어에 따라서 받아들일 수도 있고, 그렇지 않을 수도 있음)
•# kill –HUP(1) <pid> : 데몬의 경우 종료후, 다시 시작(사실은 프로세스를 종료하는 것은 아니고, 코드 및 데이터를 refresh 하는 역할)
•# kill -2 <pid> : 포그라운드에서 [ctrl]+[c]를 누르는 효과
•# kill -3 <pid> : 포그라운드에서 [ctrl]+[\]를 누르는 효과

 

 

■ shutdown 명령어

root 계정에서만 셧다운 명령가능

 

shutdown -h now == halt == init 0              →  즉시 셧다운

shutdown -r now == reboot == init6            →  재부팅

shutdown +10                                         →  10분후 셧다운(다른 사용자들 고려)

shutdown -c                                          →  셧다운 취소

shutdown -r +20                                     →  20분후 셧다운(다른 사용자에게 정보 보내줌)

ctrl + c                                                  →  셧다운 취소

 

 

■ 파일 위치 검색

  - which <실행파일명>
       PATH에 설정된 디렉토리만 검색
       절대경로를 포함한 위치 검색
 

  - whereis <실행파일명>
      실행파일 및 소스,맨페이지 파일까지 검색
     

  - locate <파일명>
      매우 빠르고 유용하지만 새로 설치된 파일들이 등록되어 있지 않을 때는 찾을 수 없음.
      파일정보에 대한 데이터베이스 갱신이 매우 중요
      수시로 updatedb 를 돌려 파일정보 갱신 – crontab 에 등록하여 자동으로 구동시킴 

 

  - find [경로] [옵션] [조건] [action]
      옵션 : -name, -user(소유자), -newer(전,후), -perm(허가권)
      Actiion : -print(GNU는 디폴트,Unix는 필수입력), -exec
               •예) #find /etc –name “*conf*”
                     #find / -user woo
                     #find ~ -perm 644
                     #find . -name “*tar.bz2” -exec rm -f {} \;
                      → find의 결과가 {}안으로 들어감, “\;”는 관례적 필수로 생각하면 됨.
                     #find / -newer touch.txt // touch.txt파일시간 이후 생성된 파일 찾기 (이전: ! –newer 옵션)

 

grep [옵션] <패턴> <filename> [files…]
파일내에서 지정한 패턴과 일치하는 패턴이 있는 라인 출력
옵션 : -n(행번호가 같이 출력) , -i(대소문자 구분 안함) , -v(패턴이 포함되지 않는 라인 출력)
•예) grep linux /etc/*
• /etc/ 폴더의 linux 라는 단어가 포함된 파일과 라인 출력

 

■ CPU 정보 (명령어 : uname)


# uname – p  i686은 펜티엄 4를 의미
# uname --help


■ 메모리 정보 (명령어 : free)
# free –m  MB 단위
# free –k  KB 단위


■ 프로세스 정보 (명령어 : ps , pstree)
    # ps auxw | grep httpd
    # pstree 

■ 프로세스별 CPU와 메모리 점유율 (명령어 : top)

   시스템이 갑자기 느려졌을 경우 사용
   # top 

   주요 영역별 의미
   • PID : 프로세스 ID
   • USER : 소유주
   • PR : 프로세스의 우선순위(priority)
   • NI : 해당 프로세스의 nice 값(실행 우선순위 예약 -20 ~ 19 ,최우선 –20, 기본 10)
   • VIRT : 가상메모리 사용량(SWAP + RES)
   • RES : 실제메모리 사용량(KB)
   • SHR : 공유메모리(KB)
   • S : 프로세스 상태
   • %CPU : CPU 점유율 (%)
   • %MEM : 메모리 점유율 (%) , TIME : 프로세스가 총 사용한 CPU 시간
     종료 : q

 

 

 

■ 압축

 

 - 파일 압축하기
    # gzip 파일명  파일명.gz 이 생성
    # bzip2 파일명  파일명.bz2 가 생성 

 - 파일 압축 풀기
    # gzip –d 파일명.gz == # gunzip 파일명.gz
    # bzip2 –d 파일명.bz2 == # bunzip2 파일명.bz2 

 - 기타 압축 명령
    # zip 압축파일명 압축할 파일  파일명.zip 생성
    # unzip 파일명.zip

 

 

■ tar

   tar [동작] [옵션] [묶음파일명] [filelist or dir] 

   tar 는 압축명령이 아니며 여러 개의 파일을 한 개의 파일로 묶어주는 명령어
    동작
         •c (새로운 묶음)
         •x (묶인 파일을 풀어줌),
         •t (묶음을 풀기전에 묶인 경로를 보여줌)
 

    옵션 :
         •f (필수) – 묵음 파일명 지정  원래 tar는 tape장치 백업이 기본(생략시 tape로)
         •v – visual
         •z – tar + gzip (GNU only)
         •j – tar + bzip2 (GNU only)
  

   예 :
         •# tar cvf httpd.tar ./httpd  생성
         •# tar cvfz httpd.tar.gz ./httpd  생성 + gzip압축
         •# tar cvfj httpd.tar.bz2 ./httpd  생성 + bzip2압축
         •# tar tvf httpd.tar  확인
         •# tar xvf httpd.tar  풀기
         •# tar xvfz httpd.tar.gz  gzip압축해제 + tar풀기
         •# tar xvfj httpd.tar.bz2  bzip2압축해제 + tar풀기

 

 

■ 현재 접속되어 있는 사용자 확인

   명령어 : #who

      예:

           #who -m    --> 현재 접속한 사용자의 로그인 계정정보 확인

           #who -H    --> 각 필드의 제목 출력

           #who -u    --> idle time 정보 확인

           #who -b    --> 최근에 부팅한 정보 확인

           #who -a    --> 모든 옵션 적용


반응형

'리눅스' 카테고리의 다른 글

[리눅스] 파일시스템  (0) 2015.07.31
[리눅스 API] 프로세스  (0) 2015.07.27
윈도우 이클립스 gcc 컴파일  (0) 2015.07.27
grep 명령어  (0) 2015.07.26
I2C 통신  (0) 2015.04.27

댓글