본문 바로가기
OS/Linux

[Linux] 리눅스 명령어 정리

by 나비와꽃기린 2016. 9. 20.
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

파일 정리 중에, 리눅스 명령어를 정리해 두었던 문서를 찾았다.ㅎㅎ



*man 온라인 매뉴얼을 표시한다.

man [options] [section] name…

-M      path 매뉴얼 검색경로를 지정한다.

-a        name과 매치하는 모든 매뉴얼을 발견하는 순서대로 표시한다. 대개는 제일 처음 발견한 매뉴얼만을 표시한다.

-k        name에 키워드를 지정하면, 그것과 일부분이라도 매치하는 문자열을 포함한 매뉴얼 항목을 전부 표시한다

-f         name에 키워드를 지정하면, 그것과 완전히 일치하는 문자열을 포함한 매뉴얼 항목을 전부 표시한다.

-P pager    매뉴얼을 표시할 페이저 pager를 지정한다.

-w            매뉴얼을 표시할뿐 아니라, 매뉴얼파일의 소재를 나타내는 경로를 표시한다.

 

name(명령어, 설정파일 등) : 조사하고 싶은 명령어나 설정파일을 지정한다(복수지정가능)

 

 


*uname 시스템 정보를 표시한다.

uname [options]

 

-a         모든 시스템 정보를 표시한다.

-n        호스트명을 표시한다.

-m        머신타입을 표시한다.

-p        프로세서 타입을 표시한다

-s         OS의 시스템 타입을 표시한다.

-r         OS의 릴리스 번호를 표시한다.

-v         커널정보를 표시한다.

실행 예)

%uname –a

Linux       cask.example.or.jp      2.4.18-14  +[커널의 컴파일일시]

/시스템명        /호스트명       /os의릴리스번호

 

 


 

*adduser  

유저 계정을 대화 형식으로 작성한다.

Adduser [options]

 

-class class 로그인 클래스 class를 지정한다

-dotdir d-dir 각종 설정파일이 저장되어있는 디렉토리 d-dir를 지정한다.

-group group 로그인 그룹 group을 지정한다

-home h_dir 각 유저의 홈 디렉토리가 저장되어 있는 디렉토리 h_dir를 지정한다.

-messgae file 작성한 유저에게 보낼 메시지를 기술한 파일 file을 지정한다

-shell shell 로그인 쉘 shell을 지정한다

-uid userid 유저 id userid를 지정한다

 

 

 

*addgroup

 


*vmstat

프로세스,메모리,페이징,I/0,CPU관련정보를출력한다

 

 

*ifconfig

네트워크 인터페이스를 확인, 설정 한다.

1)    인터페이스 확인

Ifconfig [options] [interface]

Ifconfig –a[d|u] interface

2)    인터페이스 설정

Ifconfig interface parameters…

 

-a         시스템 상의 전체 인터페이스를 지정한다

-v        유효상태의 인터페이스만을 지정한다

-d        무효상태의 인터페이스만을 지정한다

-u        유효상태의 인터페이스만을 지정한다

-a [d|u]  시스템상의 전체 인터페이스를 지정한다.

D를 붙이면 무효상태의 인터페이스만을 표시하고, u를 붙이면 유효상태의 인터페이스만을 표시한다.

 

 

*netstat

네트워크 인터페이스/경로 등 네트워크 정보를 표시

//네트워크와 관련한 다양한 정보, 예를 들어 네트워크 인터페이스 접속상황에 관한 정보,경로정보,소켓정보등을 표시하는 명령어이다.

 

netstat [options]

 

-a 일반적으로 표시되는 것 외에 모든 소켓, 경로테이블, 네트워크 인터페이스 정보까지도 출력

-i         네트워크 인터페이스 접속상태에 관한 정보표시

-r         경로테이블을 표시 (경로정보)

-n   네트워크 어드레스를 숫자로 표시.

-l if  네트워크 인터페이스 if의 접속상태를 표시한다

-s   각 프로토콜의 통계정보를 표시한다.

-p prot   프로토콜 prot의 통계정보를 표시한다.

-P prot   프로토콜 prot의 통계정보를 표시한다.

 

 

 

*traceroute

리모트 호스트로 연결되는 패킷의 경로를 표시한다

Traceroute [options] host

 

-m maxttl 경로 조사를 위한 패킷의 최대TTLmaxtt로 세트한다.

-n 어드레스를 호스트명이 아닌 숫자로 표기한다.

-r  경로 테이블은 참조하지 않고 동일 네트워크 상의 호스트로 직접 경로조사를 위한 패킷을 송출한다.

-w time 경로조사를 위한 패킷에 대한 응답시간()을 지정한다.

-v  보다 상세한 정보를 표시한다.

-f fistshop 초기 TTL의값을 1에서 firsthop으로 치환함.

-l 경로조사 패킷에 u에 데이터그램이 아닌 ICMPECHO 리퀘스트를 사용한다.

-M firsthop 초기TTL값을 1에서 firsthop으로 치환한다.

-P protocol 프로토콜 protocol로 경로조사 패킷을 송출한다.

 

 

 

*top

프로세스 정보를 실시간으로 표시한다.

top [options]

top [options] [number]

-d time 갱신 간격을 time초로 설정한다.

-p pid  프로세스 idpid프로세스만을 표시한다

-q 갱신 간격을 최소로 설정한다

-I 아이돌 프로세스와 좀비 프로세스를 표시하지않음.

-c 명령어뿐 아니라, 옵션/인수등도 포함하는 명령어라인을표시한다.

-n num num회만큼 갱신하고, 종료한다.

-dnum num회만큼 갱신하고, 종료한다.

-n, -b 비대화모드로 실행한다.

-u 유저명 대신에 유저ID를 표시한다

-stime 갱신 간격을 time초로 설정한다 디폴트2

-Uuser 유저 user의 프로세스만을 표시한다.

-ofield 지정한 항목 field의 값을 재정렬한다. 항목에 cpu,size,res,time을 지정할수있다.

-l 아이돌 프로세스를 표시하지 않는다.

-t  top명령어 자신의 프로세스를 표시하지 않는다.

 

(유닉스강좌)프로세스 관리 도구

 

ps 명령보다 좀 더 가공하여 사용자가 보기 편하게 다양한 기능을 제공 해주는 도구가 

있는데, 바로 솔라리스에서 제공하는 prstat 명령과 공개 소프트웨어인 top명령이다. 

 

 

 

prstat명령 

prstat 명령은 시스템에서 동작 중인 모든 프로세스를 주기적으로 확인하여 프로세스 

정보를 출력한다. 프로세스 정보는 일정 시간 간격으로 자동으로 갱신한다. 

 

[prstat] 

기능 : 동작 중인 프로세스의 통계 정보를 출력 

형식 : prstat [옵션] 

옵션 

-a : 프로세스와 사용자에 대한 통계를 구분하여 출력 

-c : 중복하여 출력하지 않고, 기존 내용의 아래쪽에 새로운 정보를 출력 

-s : 키에 따라 정렬하여 출력. 사용 가능한 키는 cpu, pri, rss, size, time 

-u euid : 해당 euid에 속한 프로세스 정보만 출력 

-U uid : 해당 uid에 속한 프로세스 정보만 출력 

 

prstat 명령은 옵션을 지정하지 않으면 프로세스 정보를 CPU사용량에 따라 

정렬하여 출력. 

 

 

 

 

*kill

프로세스를 종료시킨다, 프로세스에 신호를 전송한다.

Kill [options] pid

Kill [options] pid|job_id

Kill –l [single]

-signal 시그널 signal을 프로세스 혹은 job에 전송.

-s signal

-l [signal] 시그널 signal이 저장되어 있지 않은경우 시그널리스트를 표시한다. 시그널 signal이 지정된 경우에는 시그널번호가 시그널명으로, 시그널명이 시그널 번호로 교체된다.

-n signal 시그널 signal을 프로세스 혹은 job으로 전송한다.

 

 

 

*mount

파일시스템을 마운트한다.

//마운트란? 컴퓨터에서 마운트는 파일시스템 구조 내에 있는 일련의 파일들을 사용자나 사용자 그룹들이 이용할 수 있도록 만드는 것이다.

Mount [options] [devuce] [mountpoint]

-a        fstab파일에 기술되어 있는 모든 파일시스템을 마운트한다.

-o  보다 상세한 마운트 제어를 실행한다. 제어내용을 나타내는 플래그 flg에는 다음과 같은 값을 지정할수있다. “,”로 복수지정이 가능하다.

Noatime 파일의 접속시간을 갱신하지 않는다

Noauto –a 옵션에 의한 마운트를 허가하지 않는다.

Noexec 실행파일의 실행을 허가하지 않는다.

Nosuid su명령어에 의한 실효id를 허가하지 않는다.

Nosymfollow 심볼릭 링크를 따라가지 않는다.

Rdonly 읽기만 허가하고 입력은 허가하지 않는다

Remount 마운트를 재시도한다

Ro 읽기를 허가하고 쓰기는 허가하지 않는다.

Rw 읽기 쓰기를 허가한다.

-p fatab 포맷으로 마운트 정보를 표시한다,

-r 읽기전용으로 파일시스템을 마운트한다. 디폴트는 읽기쓰기가능.

-v 보다많은 정보를 표시한다.

-t fstype 타입이 fstype의 파일시스템을 마운트한다.

-w 읽기/쓰기 가능하게 파일시스템을 마운트한다. 디폴트에서는 읽기/쓰기가 가능하게 마운트된다.

-p fstab포맷으로 마운트정보를 표시한다,

-F fstype 타입 fstype의 파일시스템을 마운트한다.

 

 

 

*|(pipe), |&

Command1|command2

앞 명령어의 실행결과를 다음 명령어에 전달한다.

|&와 같이 &를 연결하면 표준에러출력도 다음 명령어로 전달된다. 명령어는 2개뿐아니라, 몇 개라도 조합할수있다.

 


 

*mkdir

디렉토리를 작성한다.

Mkdir [options] dirname…

-m mode 퍼미션을 지정한다. 퍼미션 mode 지정방법은 chmod 명령어와 동일한다. 디폴트에서는 777모드로부터 umask 명령어로 설정된 모드를 뺸 모드가 된다.

-p  경로(부모 디렉토리)를 포함하여 디렉토리명을 지정했을 때 지정된 경로에 존재하지 않는 디렉토리가 있을 경우에는 그 디렉토리도 작성한다.

 


 

 

*ls 파일엔트리 정보를 표시한다.

Ls [options] [file..]

-a 일반적인 파일이나 디렉토리 외에 파일명 맨 앞에 “.”가 붙는 것까지 포함하여 모든 엔트리를 표시한다.

-F 엔트리 분류 기호를 부가하여 표시한다. 디렉토리에는 ”/” , 심볼릭링크에는 “@”, 실행가능 파일에는 “*”가 부가된다.

-l 파일타입,퍼미션,하드링크수,오너,그룹,파일사이즈,최종갱신일시를 표시한다.

-t 최종 갱신일시를 최신 순으로 정렬하여 표시한다

-u 최종 갱신일시 대신 최종 접속일시를 표시한다.

-R 서브디렉토리 안의 파일디렉토리를 모두 표시한다.

-C 엔트리를 세로로 정렬하고, 복수행으로 표시한다.

-I 1행에 1개의 엔트리를 표시한다. –C와 동시사용못함

-i i노드번호를 표시한다.

 

 

 

*vi

vi에디터

vi [options] [file..]

//vi는 오래 전부터 사용되어온 표준 텍스트 에디터이다. 텍스트 입력모드와 명령어모드 2종류의 모드를 바꿔가면서 편집한다.  텍스트 입력은 텍스트 입력모드에서 실행하고 커서 이동이나 복사&붙이기,삭제,검색,치환 등 텍스트 입력 이외의 조작은 명령어모드에서 실행한다. 명령어 모드에서는 명령어를 조합하여 고난위도의 조작을 실행할수있다.

 

-R 읽기전용모드로 기동한다. 강제 입력가능

+[num] 기동할때 커서위치가 num행쨰에 오게한다. Num이 생략된경우에는 마지막행이된다.

-c command 기동할때 vi의 내부명령어 command를싱행한다.

-r [b-file] 백업파일을 복원하여 편집한다. b-file을 지정하지 않으면 복구가능한 파일일람을 표시한다.

+command 기동할떄에 vi의 내부명령어 command를 실행한다.

-L b-file 백업파일을 복원하여 편집한다. b-file을지정하지 않으면 복구가능한 파일일람을 표시한다.

-w size 표시행수를 size로 설정한다.

-b 바이너리 모드로 기동한다

-m 파일의 변경을 허가하지 않는다.

 

 

*cat 파일을 연결하여 표시한다.

//파일의 내용을 표준출력으로 출력하는 명령어이다.

인수에 복수의 파일을 지정하면 연결되어 표시된다.

인수를 지정하지 않고 실행한 경우에는 표준입력내용이 그대로 출력된다.

cat [options] [file…]

-n 행 번호를 표시한다.

-b 공행을 제외한 나머지 행에 행 번호를 표시한다.

-v 행 끝,탭 이외의 제어문자를 표시한다.

-s 연속적으로 이어지는 공행을 1행으로 계산하여표시

-e 탭 이외의 제어문자를 표시한다.

-t 행 끝 이외의 제어문자를 표시한다

-u 출력을 버퍼링하지 않는다.

-A 모든 제어문자를 표시한다.

-E 행 끝에 “&”를 표시한다,

-T 탭을 “^|”로 표시한다.

-e -v옵션이 지정되어있는경우, 행끝에”&”를 표시한다.

-t –v옵션이 지정안되있을떄, 탭을”^|”로 용지전송문자를 “^L”로 표시한다.

-s 파일이존재하지않은경우 메시지를 표시하지 않는다

 

 

 

*grep 지정한 문자열을 포함하고 있는 행을 검색

Grep [options] pattern [file…]

Grep [options] [-e pattern|-f FILE][file…]

-c 패턴과 매치하는 행의 수만을 표시

-l 대문자 소문자 구별하지 않는다

-l 패턴과 매치하는 행이 있는 파일의 이름을표시

-n 매치한 행의 선두에 행 번호를 표시

-v 패턴과 매치하지 않는 행을 표시

-w 패턴에 표시되는 단어를 포함하는 행을 표시

-A num 패턴과 매치하는 행과 그뒤쪽의 num행을표시

-a 바이너리파일을 텍스트파일로서 취급

-B num 패턴과 매치하는 행과 그앞쪽의 num행으표시

-C [num] 패턴과 매치하는행과 그전후num행을표시

-num num을생략한경우에는 전후2행이표시된다

-b 각출력 행의 맨 앞에, 입력파일 맨 앞에서부터의 옵셋바이트 수를 표시한다.

-d action 입력파일이 디렉토리인 경우의 처리 action을지정. ( read 디렉토리를 일반적인 파일로서 읽어들인다)(skip 디렉토리를 읽지 않고 건너뛴다)(recurse 디렉토리 이하의 파일을 재귀적으로 읽어들인다.)

-e pattern 검색문자열  pattern을지정한다.

-E 확장정규표현을 이용한다

-f FILE 패턴을 파일 file에서 1행마다 읽는다.

-H 매치한 행의 선두에 파일명을 표시

-h 매치한 행의 선두에 파일명을 표시하지 않음

-l 바이너리파일은 무시

-L 패턴과 매치하는 행이 없는 파일의 이름을 표시

-r 디렉토리 이하의 파일을 재귀적으로 읽는다.

-s 에러메시지를 표시하지 않는다

-U 입력파일을 바이너로서 취급한다

-x 행전체와 매치하는 경우에만 표시

-z gzip형식등으로 압축된 파일을 해동하여 검색한다

 

 

*more 텍스트 파일을 열람한다.

-s 연속하는 공행을 1행의 공행으로 치환하여표시

-d 인식할 수 없는 명령어가 입력된경우, 경고음을 울리지않고 에러미시지 표시

-f 길이가 긴 행을 줄바꿈 하지 않고 표시

-num 지정한 행 수 num만을 표시한다

+num 지정한 행 num부터 표시

-S 길이가 긴 행을 줄바꿈 하지 않고 표시한다

-N 화면의 각행 맨 앞에 행 번호를 표시한다

-w 표시가 파일의 맨 끝에 도달해도 종료하지 않는다.

//주요내부명령어

Ctrl+f 1화면앞으로 이동한다

Ctrl+b 1화면 뒤로 이동한다.

Ctrl+j 1행 앞으로 이동한다

/pattern 문자열pattern을 전방 검색한다.

: 직전의 검색개시 위치로 돌아간다

= 현재 위치를 표시한다

:f 현재의 파일명과 현재 위치를 표시한다

? 도움말을 표시한다

q 종료한다

:n명령어라인에서지정한파일리스트의다음파일을읽는다.

:p                              이전파일을 읽는다.

. 바로직전의 명령어를 재실행

 



*cp 파일을 복사한다.

cp [options] src_file dest_file

cp [options] [src_file…] directory

-f 복사할 곳에 같은 이름의 파일이 존재하더라도 확인하지 않고 덮어쓰기 한다.

-I 복사할 곳에 같은 이름의 파일이 존재할 경우는 덮어쓰기를 할 것인지 확인한다.

-P 복사할 원파일의 오너,그룹,최종갱신일시,최종접속일시를가능한 유지하여 복사한다.

-R 디렉토리와 그 안의 파일/디렉토리를 모두 복사

-v 복사할 파일의 이름을 표시한다.

-a 복사할원파일의 구성과 속성을 가능한 유지하여 복사한다.

-d 심볼릭 링크 및 하드링크를 링크상태그대로복사

-l 복사대신하드링크를작성

-s 복사대신심볼릭링크를작성

-u 복사할곳에파일이 이미존재하고, 최종갱신 일시가 복사할 파일보다도 최근것일경우에는 복사하지않음

-H (-R옵션이지정되어있는경우) src_file로 지정한 심볼릭 링크 링크처의 파일을 복사한다.

-L (동일) 모든 심볼릭 링크 링크처의 파일을복사.

-P (동일)                                 (복사안함)

 

%cp –R dir1 dir2

디렉토리 dir1을 통째로 디렉토리 dir2에 복사한다.

 

 

*mv 파일을 이동한다, 파일명을 변경한다

mv [options] srcfile targetfile

mv [options] srcfile … dir

-f 파일이 덮어쓰기 되는 경우에도 확신하지 않음.

-I 파일의 이동처 디렉토리에 srcfile과 같은 이름의 파일이 있는 경우나, targetfile과 같은 이름의 파일이 존재하는 경우, 즉 파일이 덮어쓰기 되는 경우에는 확인을 위한 프롬프트를 표시해준다,

-v 명령어를 실행할 때 파일의 이동처나 변경된 이후의 파일명을 표시한다.

-S suffix -b옵션을 이용해 백업된 파일의 이름끝에 붙는 문자열 suffix를 지정한다.

-b 파일을 덮어쓰기 할 떄에는 백업을 작성한다. 디폴트에서는 원래 파일명 맨 끝에 “~”가 붙은 파일명으로백업된다.

-u 이동처 디렉토리에 같은 이름의 파일이 존재하고, 그 최종갱신일시가 원래 파일보다도 최근일경우, 이동처 디렉토리에 있는파일을 남기고 원래파일을 삭제함.

)

% mv –I file1 file0

Overwrite file0? [y/n[n]] y

파일 file0이 이미 존재한다면 덮어쓰기를 해도 좋은지를 뭍는것이다.

 

 

*rm 파일/디렉토리를 삭제한다.

rm [options] file…

-f 파일을 퍼미션에 상관없이 삭제한다. 파일이 존재하지 않는 경우에도 에러를 표시하지 않는다.

-I 각각의 파일 엔트리에 대해 삭제해도 좋을지 일일이 확인 메시지를 표시한다.

-r,-R 디렉토리와 그 내용의 파일을 전부 삭제

-v 삭제한 파일명을 표시

 

)

%rm –fr dir

디렉토리 dir을 내용물까지 포함하여 통째로 확인절차 없이 삭제한다.

 

 

*chmod

파일의 모드를 변경한다.

Chmod [options] mode file…

Chmod [options] – reference=FILE file…

-R 디렉토리 및 디렉토리 이하 파일엔트리의 퍼미션을 재귀적으로 변경한다.

-f 퍼미션을 변경할수없는경우 에러메시지를 표시하지않음

-c 퍼미션이변경된파일에대해서만 동작을 상세히표시

-v 모든파일에대해 동작을 상세히표시

-reference=FILE 파일FILE과 같은 퍼미션으로한다. mode대신지정

-H (-R옵션이지정되어있는경우) file로지정한 심볼릭 링크의 링크처 퍼미션을 변경한다.

-L ()모든 심볼릭 링크의 링크처 퍼미션을변경한다.

-P ()심볼릭링크의 링크처 퍼미션을 변경하지않는다.

-v 실제로퍼미션이변경된파일의이름을표시

//심볼을 사용하는 방법

u오너 g소속그룹 o기타 a전부+추가 삭제 =새로설정

r읽어오기 w입력하기 x실행 s실행시 유저id설정, 대상이 그룹인 경우네는 그룹id설정

 t (sticky bit*1) x이미실행허가가내려진 파일/디렉토리의실행 u해당파일오너의퍼미션

g 그룹의퍼미션 o그밖의퍼미션 l 접속해있는동안파일잠금상태

0 (000) --- 모두 허가하지 않는다

1 (001) –x 실행만허가

2 (010) –w- 입력만허가

3 (011) –wx- 입력과실행을허가

4 (100) r—읽어오기만허가

5 (101) r-x 읽어오기와 실행허가

6 (110) rw- 읽어오기와압력을허가

7 (111) rwx 전부허가

*chown 파일의 소유자와 소속그룹을 변경한다

-R 디렉토리 및 그 디렉토리 이하 파일엔트리의 오너를 재귀적으로 변경한다.

-f 에러메시지를 표시하지 않는다

-h 심볼릭 링크 자신의 오너를 변경한다

-c 오너가 변경된 파일에대해서만 동작을상세히표시

-v 모든파일에대해동작을상세하게 표시

-refrence=FILE 오너와소속그룹을 파일 file을같게한다.

 

오너로 하고 싶은 유저를 owner로 그룹을 group으로 지정한다. 오너만 변경할 경우에는 유저 owner만 지정하고, 오너와 소속그룹 양쪽 모두를 변경할 경우에는 유저 owner와 그룹 group“:”로 구분하여 지정한다.

소속그룹만 변경하고자 할 경우에는 “:”에이러 그룹만지정.

 

 

 

 

*ftp ftp로 파일을 전송한다.

ftp [options] [hostname]

ftp [options] [hostname|url]

-i 내부명렁어 mput,mget등을 이용해 복수의 파일을 전송하는경우 확인을 하지 않는다.

-n 파일 .netrc에의한 자동로그인을 하지 않는다

-g 파일명을 전개하지 않는다.

-p 퍼시브 모드를 사용한다

-e 명령어라인을 편지하지 않는다

-4 IPv4 어드레스만 사용한다

-6 IPv6 어드레스만 사용한다

-a anonymous로그인한다. 인증절차는 거치지않음

-P port 포트번호 port를 사용한다

-s src_addr 접속에 사용하는 로컬측의 ip어드레스를 src_addr로설정한다

-t 패킷트레이스를 실행한다

-U 데이터포트의 범위제한을 해제한다

-V 메시지표시를 억제한다

 

//

Open [host [port]] 리모트 호스트의 포트번호로 접속.

get[r-dir [l-file]] 리모트 호스트의 파일 r-file을 로컬호스트에 다운로드한다. 파일명 l-file을 지정하면 파일명을 변경할수있다.

mget[r-file..] 리모트 호스트의 파일 r-file을 로컬 호스트에 다운로드한다. 복수 파일을 동시에 다운로드 할수있다. 와일드카드 사용가능

put[l-file[r-file]] 로컬파일 l-file을 리모트 포스트에 업로드한다. 리모트 파일명 r-file을 생략한 경우에는 로컬 파일명이 된다.

Mput[l-file] 로컬호스트의 파일 l-file을 리모트 호스트에 업로드한다. 복수 파일을 동시에 업로드할수있다. 와일드카드 사용가능

prompt mput,mget등으로 복수의 파일을 지정할때에 개개파일에대한 처리의 확신을 on/off한다.

Hash[size] 데이터블록 1개 전송할 때마다 “#”을 표시하는 기능을 on/off을한다. 데이터블록 사이즈 size를 생략한 경우에는 1024byte로 설정된다.

Bye 리모트호스트와의 접속절단 및 ftp명령어를종료한다.