관리 메뉴

I LOVE EJ

리눅스 기본명령어 정리자료 본문

Os & Server/Linux

리눅스 기본명령어 정리자료

BeOne 2009. 2. 12. 11:45
  1. 기본명령어
    1. pwd : 현재 작업중인 디렉토리의 절대 경로를 보여준다.
    2. ls : 파일과 디렉토리 구조를 보여준다.
    3. cd : 원하는 디렉토리로 이동한다.
    4. cp : 파일복사
    5. mv : 파일 이동 혹은 파일 이름변경
    6. mkdir : 디렉토리 생성
    7. rmdir : 디렉토리 삭제
    8. rm : 파일삭제
    9. touch : 빈 파일생성 혹은 액세스시간이나 갱신 시간을 수정
    10. cat : 임의의 입력을 출력해서 보여준다.
    11. echo : 임의의 한줄 입력을 출력해서 보여준다.
    12. find : 원하는 파일 찾기
    13. more : 한화면씩 보기
    14. less : 한화면씩 보기
    15. head : 파일 또는 표준 입력의 처음 10줄을 보여줌
    16. tail : 파일 또는 표준 입력의 마지막 10줄을 보여줌
    17. alias : 명령어 축약
  2. 사용자 관련 명령어

    1. useradd : 사용자 계정 생성
    2. usermod : 사용자 계정 정보 변경
    3. userdel : 사용자 계정 삭제
    4. groupadd : 그룹 추가
    5. groupmod 그룹 수정 ? 이런 명령어 있던가 ?
    6. groupdel : 그룹 삭제
    7. id : 사용자 정보, uid, 향, 그룹정보 확인
    8. groups : 현재 사용자가 속한 그룹 정보를 확인
    9. w : 현재 시스템에 접속한 사용자 목록을 출력한다.
    10. passwd : 사용자의 패스워드 입력 및 변경
  3. 권한 설정 명령어
    1. chmod : 파일이나 폴더에 대한 권한 설정
    2. chown : 소유자에 대한 소유권을 변경
    3. chgrp : 그룹에 대한 소유권을 변경
    4. umask : 새로 만들어지는 파일에 대해 기본적인 권한 설정/확인
    5. chattr : root 전용 권한 설정
  4.  장치 관련 명령어
    1. ifconfig : 네트워크 관련 정보를 출력한다. Red Hat/Fedora 계열은 지원하지 않는다.
    2. route : 커널 라우팅 테이블 정보를 보거나 변경함
    3. chkconfig : 네트워크 설정을 체크해줌
    4. tcpdump : 패킷 스니퍼(덤프)
    5. mount / unmount : 파일 시스템을 접속 / 해제 시키 시킨다.
    6. sync : 버퍼 작업 처리
    7.  losetup : 루프백 디바이스 설정
    8. mkswap : 스왑 파티션이나 스왑 파일을 만들어 준다.
    9. swapon / swapoff : 스왑 파티션이나 스왑 파일을 활성화/비활성화 시켜준다.
    10. mke2fs : 리눅스 ext2 파일 시스템을 만들어 준다
    11. tune2fs : ext2파일 시스템을 튜닝해 준다.
    12. dumpe2fs : 파일 스템 정보 출력
    13. hdparm : 하드디스크 매개변수를 보거나 바꿀 수 있다.
    14. du : 사용자 자신의 디스크 사용상황을 보여준다.
    15. df : 사용자 자신의 HDD의 상세 정보를 보여준다.
    16. free : Memory 사용량을 표시한다.
    17. uptime : 부팅한 이후로 시스템 사용 시간을 표시
    18. lrp : 오프라인으로 명시된 파일을 프린트 한다.
    19. lpq : print queue 에 들어간 파일으 소유자와 파일명, 잡번호를 보여준다.
    20. lpqm : 프린트 큐에 들어간 파일을 취소한다.
    21. tty : tty 의 경로이름 알려줌
    22. tset : 단말기 유형을 결정하는 프로그램
  5. 기타 명령어~ (분류 전항목들)
    1. export : 환경변수를 편집한다.
    2. env : 설정된 환경변수를 출력한다.
    3. grep : 입력 대상에서 특정 문자열을 포함한 라인을 솎아낸다.
    4. awk : 특정 입력을 원하는 양식으로 처리한다.
    5. cut : 입력의 일부분을 잘라내고 출력한다.
    6. ps : 프로세스의 사용자, CPU/Memory 점유율 등 각종 프로세스 정보를 옵션에 맞추어 출력한다.
    7. top : 프로세스 정보를 한번 출력으로 끝내지 않고 단위시간마다 갱신하여 표시한다.
    8. nslookup : 특정 IP의 domain, 또는 특정 domain의 IP주소를 출력한다.
    9. lspci : Mainboard의 각종 Hardware Interface 정보를 출력한다.
    10. rpm : 프로그램 설치 삭제 : Redhat 전용
    11. gzip / gunzip : 압축 / 압축해제
    12. bzip2 / bunzip2 : 또 다른 압축 / 압축해제
    13. tar : 여러 파일을 하나로 묶는 데 사용
    14. diff : 파일의 차이 비교 , 일치시키는데 필요한 정보를 보여준다.
    15. ln : 링크를 만든다.
    16. halt : 시스템 강제종료
    17. prel : 펄명령어 실행



기본명령어#


pwd : 현재 작업중인 디렉토리의 절대 경로를 보여준다.#
  • pwd


ls : 파일과 디렉토리 구조를 보여준다.#
  • ls [option] [directory / file]

    • -a --all : .을 포함한 경로안의 모든 파일을 보여준다.
    • -d -directory : 경로안의 내용을 나영하지 않고 그 내경로의 내용을 보여준다.
    • -h : 파일의 크기를 단위별로 조절하여 보기 쉽게 출력한다.
    • -l : 속성값, i노드값등 자세한 정보
    • -n : 이름의 나열에서 username 과 groupname 대신 UserID 와 GroupID를 사용한다.
    • -t : 파일 형식을 알리는 문자를 각 파일 뒤에 출력한다.

      • * : 실행 가능한 파일
      • / : 디렉토리 파일
      • @ : 심볼릭 링크
      • = : 소켓
    • -R : 하위 경로와 그 안에 있는 모든 파일들도 같이 나열한다.



cd : 원하는 디렉토리로 이동한다.#
  •  cd [directory]

    • . : 현재 디렉토리
    • .. : 상위 디렉토리
    • $ : 변수명에 지정된 디렉토리
    • ~ 혹은 $HOME : 사용자의 홈디렉토리
    • ~username : 해당 유저의 홈디렉토리

cp : 파일복사#
  • cp [option] [sources] [target]

    • -a : 원본 파일의 속성, 링크 정보들을 그대로 유지하면서 복사한다.
    • -i : 복사 대상 파일이 있을경우 사용자에게 복사에 대한 여부를 물어본다.
    • -p : 원본파일의 소유자, 그릅권한 시간정보들을 그대로 보존하여 복사한다.
    • -r / -R : 디렉토리를 복사할 경우 하위 디렉토리와 파일을 모두 복사한다.
    • -v : 복사 상태를 자세하게 보여준다.

mv : 파일 이동 혹은 파일 이름변경#
  • mv [option] [sources] [target]

    • -v : 이동하기전 각각의 파일 이름을 출력한다.

파일의 이동은 복사와 다르게 위치만 변경 하는 것이기 때문에 경로만 바뀔뿐 권한은 바뀌지 않는다.

파일의 이름 변경시에도 활용 가능하다.


mkdir : 디렉토리 생성#


rmdir : 디렉토리 삭제#

-r 옵션사용. 거의 쓰이지 않는다. rm으로 삭제가 되니까.


rm : 파일삭제#

 rm -rf /디렉토리

해당 디렉토리와 그 하위 내용 모두! 삭제


touch : 빈 파일생성 혹은 액세스시간이나 갱신 시간을 수정#


cat : 임의의 입력을 출력해서 보여준다.#

ex) cat /rpoc/cpuinfo   ∴/proc/cpuinfo 파일의 내용을 stdout으로 출력

stdout = standard out = 기본출력 = 모니터

ex) cat >


echo : 임의의 한줄 입력을 출력해서 보여준다.#


find : 원하는 파일 찾기#

 find [어디서부터] [옵션] [무엇을]


more : 한화면씩 보기#

less : 한화면씩 보기#

more 보다 발전된 형태


head : 파일 또는 표준 입력의 처음 10줄을 보여줌#

tail : 파일 또는 표준 입력의 마지막 10줄을 보여줌#


alias : 명령어 축약#

자주 사용하는 명령어를 줄여서 실행 가능하게 해준다.

alias [단축어]="[실제 실행 명령어]"

ex) #alias l = "clear"

l 실행시 celar 가 실행되어 진다. alias 예약어는 PATH 안의 공유 파일보다 먼저 실행되므로 cd = clear 등으로 지정하면..

cd 를 쳤을시 celar 명령어가 입력되어지므로 주의!



사용자 관련 명령어#


useradd : 사용자 계정 생성#


usermod : 사용자 계정 정보 변경#


userdel : 사용자 계정 삭제#


groupadd : 그룹 추가#

그룹을 추가 . (실행되지 않는다면 which groupadd 찾는다

만약에 절대주소가 나오면 PATH설정이 잘못된거다. su - 로 관리자 환경변수를 읽어서 관리자로 들어간다)



groupmod 그룹 수정 ? 이런 명령어 있던가 ?#


groupdel : 그룹 삭제#


id : 사용자 정보, uid, 향, 그룹정보 확인#


groups : 현재 사용자가 속한 그룹 정보를 확인#



w : 현재 시스템에 접속한 사용자 목록을 출력한다.#

 사용자 목록과 작업 내용을 확인 할 수 있다.



passwd : 사용자의 패스워드 입력 및 변경#




권한 설정 명령어#


chmod : 파일이나 폴더에 대한 권한 설정#


chown : 소유자에 대한 소유권을 변경#


chgrp : 그룹에 대한 소유권을 변경#


umask : 새로 만들어지는 파일에 대해 기본적인 권한 설정/확인#


chattr : root 전용 권한 설정#

파일의 소유자라도 read-only로만 파일을 열수있게하고 root도 chattr로 설정한 것을 해제하지 않으면 절대 chattr +1 로 설정한 파일을 지울 수 없다.

root만 사용 가능하다.




 장치 관련 명령어#


ifconfig : 네트워크 관련 정보를 출력한다. Red Hat/Fedora 계열은 지원하지 않는다.#

네트워크 인터페이스 설정 및 튜닝 유틸리티

부팅시 인터페이스를 설정할 때나 리부팅에 인터페이스를 내리기 위해 쓰임

ex)ifconfig | grep "inet addr" | grep -v "127.0.0.1" | awk '{print$2}' | cut -c 6-
-> 각각의 이더넷 장치(eth0, eth1...)에 할당된 IP주소만 출력된다.
:ifconfig의 결과에서 inet addr이 포함된 문자열 중 localhost(lo, 127.0.0.1)가 아닌 라인을
모두 찾아 각각의 2번째 토큰을 6번째 글자부터 출력


route : 커널 라우팅 테이블 정보를 보거나 변경함#


chkconfig : 네트워크 설정을 체크해줌#

/etc/rc?.d 디렉토리에 들어있고 부팅시 시작되는 네트워크 서비스들을 관리함


tcpdump : 패킷 스니퍼(덤프)#

네트워크 패킷 '스니퍼', 주어진 기준에 맞는 패킷 헤더의 덤프를 떠서 네트워크 트래픽을 분석하고 문제점을 해결할 수 있게 해준다.



mount / unmount : 파일 시스템을 접속 / 해제 시키 시킨다.#

  리눅스는 파일 폴더 키보드 마우스 기타 장치로으 입, 출력 모든것을 파일로 인식하고 처리한다. (윈도우와 다름)

 파일시스템을 접속한다는 말은 장치(시디롬, 저장장치등)을 접속시키거나 해제시킨다는 말과 동일하다.



sync : 버퍼 작업 처리#

버퍼에 들어있는 최신 데이터를 하드 디스크로 즉시 쓰게 한다.

변경한 데이터가 갑작스런 전원 이상에서도 살아 남을 수 있게 해준다.

halt 명령어와 함께 써봤죠 ?

 losetup : 루프백 디바이스 설정#


mkswap : 스왑 파티션이나 스왑 파일을 만들어 준다.#


swapon / swapoff : 스왑 파티션이나 스왑 파일을 활성화/비활성화 시켜준다.#


mke2fs : 리눅스 ext2 파일 시스템을 만들어 준다#

이 명령어는 관리자만 사용 가능하다.



tune2fs : ext2파일 시스템을 튜닝해 준다.#

최대 마운트 숫자같은 파일 시스템의 매개변수를 바꾸는데 사용할 수 있다.

관리자만 실행 가능하다.


dumpe2fs : 파일 스템 정보 출력#

아주 자세한 파일 시스템의 정보를 표준 출력으로 덤프해 준다.

관리자만 실행 가능하다.



hdparm : 하드디스크 매개변수를 보거나 바꿀 수 있다.#


du : 사용자 자신의 디스크 사용상황을 보여준다.#

 즉 용량을 보여준다는 말


df : 사용자 자신의 HDD의 상세 정보를 보여준다.#

 사용중인 HDD 의 파티션정보, 전체용량, 사용중인 용량, 남은용량등을 %로 알려준다.


free : Memory 사용량을 표시한다.#

uptime : 부팅한 이후로 시스템 사용 시간을 표시#

얼마나 오래 썼을까 ?


lrp : 오프라인으로 명시된 파일을 프린트 한다.#

lpq : print queue 에 들어간 파일으 소유자와 파일명, 잡번호를 보여준다.#

lpqm : 프린트 큐에 들어간 파일을 취소한다.#

tty : tty 의 경로이름 알려줌#

컴퓨터 시스템에 연결되어 사용되고 있는 터미널의 경로 이름을 알려준다.


tset : 단말기 유형을 결정하는 프로그램#





기타 명령어~ (분류 전항목들)#


export : 환경변수를 편집한다.#

ex) export PATH=$PATH:/usr/locak/java/bin   ∴ 환경변수 PATH 의 기존 내용에 /usr/local/java/bin을 추가


env : 설정된 환경변수를 출력한다.#

설명이 필요없는듯


grep : 입력 대상에서 특정 문자열을 포함한 라인을 솎아낸다.#

파일의 내용로 찾기.

cat 나 ls 등에서  '|' 을 이용해 보고싶은 내용만을 보는 실습을 해본 적이 있다.

 ex)grep "model name" /proc/cpuinfo   ∴/proc/cpuinfo 파일에서 "model name"을 포함한 라인을 순서대로 찾아 모두 출력한다.


awk : 특정 입력을 원하는 양식으로 처리한다.#

ex) grep "Mem Total" /proc/meminfo | awk '{print$2" "$3}'

∴ /proc/meminfo 에서 "Mem Total"을 포함한 라인의 2번째와 3번째 토큰을 한칸 띄우고 이어서 출력한다.

정상적으로 출력된다면  xxxxx kb 가 출력될 것이다.


토큰은 띄어쓰기나 탭으로 구분된다. 한단어 = 토큰1개 라고 생각해도 무방하다.

기본 grep "Mem Total" /proc/meminfo 의 출력은 -> MemTotal xxxxxxx kB 인데.

여기서 $1 = MemTotal, $2 = xxxxxxx, $3 = kB 가 된다. 이것도 정규식의 일종이라고 생각된다.


cut : 입력의 일부분을 잘라내고 출력한다.#

 ex)grep "model name" /proc/cpuinfo | cut -c 14-
->Intel(R) Core(TM)2 Duo CPU     E6550  @ 2.33GHz
Intel(R) Core(TM)2 Duo CPU     E6550  @ 2.33GHz
:/proc/cpuinfo에서 "model name"을 포함한 라인을 찾고, 14번째 글자부터 출력한다.


ps : 프로세스의 사용자, CPU/Memory 점유율 등 각종 프로세스 정보를 옵션에 맞추어 출력한다.#

 top이 dynamic이라면 ps는 static이다.

top : 프로세스 정보를 한번 출력으로 끝내지 않고 단위시간마다 갱신하여 표시한다.#

ps가 static이라면 top은 dynamic이다.


nslookup : 특정 IP의 domain, 또는 특정 domain의 IP주소를 출력한다.#

nslookup [IPADDR] or [DOMAIN]

lspci : Mainboard의 각종 Hardware Interface 정보를 출력한다.#

rpm : 프로그램 설치 삭제 : Redhat 전용#


gzip / gunzip : 압축 / 압축해제#

bzip2 / bunzip2 : 또 다른 압축 / 압축해제#

tar : 여러 파일을 하나로 묶는 데 사용#

 옵션 : -c, -x, -z, -j, -v, -f



diff : 파일의 차이 비교 , 일치시키는데 필요한 정보를 보여준다.#

ln : 링크를 만든다.#

 링크란. 파일 링크를 말합니다.


halt : 시스템 강제종료#

사용하기전 sync 실행을 권장한다.

리눅스 강사님은 sync 4번 실행후 halt 사용을 권장하셨죠~

prel : 펄명령어 실행#

알고싶다면 펄을 공부하도록.

'Os & Server > Linux' 카테고리의 다른 글

Linux 기초 및 vi 에디터  (0) 2009.02.12
리눅스 VI 에디터 기본 명령어  (0) 2009.02.12
리눅스 명령어 노트  (0) 2009.02.12
리눅스 명령어 모음  (1) 2009.02.12