리눅스환경 개발/명령어 모음

리눅스 명령어 모음 2

정데브 2022. 1. 21. 09:59
알아야하는 리눅스 명령어 모음.

 

env

현재 환경 변수를 표시하거나 환경 변수를 변경한 후 프로그램을 실행하는 명령어

형식: env[옵션][변수=..][명령[인수…]]

env 옵션

-I, --ignore-environment: 현재 환경을 무시하고 지정한 변수 값을 따름

-u, --unset name: 지정한 변수 제거 

 

export

변수를 지정하는 명령어이며, 현재 시스템에 설정되어있는 변수 목록을 확인할 수 있음

형식: export[옵션]변수명=설정

export 옵션

-f: 함수를 가리킴

-p: export 목록을 출력함

-n: export 속성을 제거함

 

 

sh,csh,ksh,bash

.sh 파일을 실행시켜주는 명령어

-sh : 벨 연구소의 스티브본 개발, 많은 스크립트의 기반이 되는

-csh : c언어 구문과 유사, sh를 확장하여 히스토리, 작업제어, 엘리어스
       
 등 기능 추가

-ksh : sh가 호환되며 csh의 많은 기능을 포함

-bash : 가장 많이 사용되는 쉘로 sh를 토대로 cshksh의 기능을
         
통합시켜 개발




 

alias

긴 명령어를 간단히 줄일 때 사용
명령어 옵션을 기본으로 가져갈 때 사용한다.

형식: alias 별칭[=“명령어”]

 
 

sort


텍스트로 된 파일의 행 단위 정렬을 할 때 사용하는 명령어

형식
: sort[옵션][파일명]


sort 옵션

-b, --ignore-leading-blanks: 공백을 무시함

-d, --dicrionary-order: 공백과 알파벳 문자의 순서 비교

-f, --ignore-case: 모든 문자를 소문자로 인식

-g, --general-numeric-sort: 숫자 값을 비교 정렬

-i, --ignore-nonprinting: 프린트 가능한 문자만 비교

-M, --month-sort: 날짜()”알 수 없는 값”<“JAN”<..<“DEC”

            순서로 정렬

-n, --numeric-sort: 숫자를 기준으로 정렬

-r, --reverse: 결과를 역으로 출력

 



 
 

ps

현재 실행중인 프로세스의 목록을 보는 명령어
형식: ps[옵션]

ps 옵션

-e: 모든 프로세스를 출력

-f: 풀 포맷으로 보여줌(UID, PID)

-l: 긴 포맷으로 보여줌

-p: 특정 PID의 프로세스를 보여줌

-u: 특정 사용자의 프로세스를 보여줌

 

 

top


리눅스 시스템 운용 상황을 실시간으로 모니터링 하거나 프로세스 관리를 할 수 있는 명령어
형식: top[옵션..]

top 실행 전 명령어

-b : 배치모드 옵션

-n : top 실행 주기를 설정

-p : process ID

top 실행 후 명령어

shift + p : CPU 사용률 내림차순

shit + m : 메모리 사용률 내림차순

shift + t : 프로세스가 돌아가고 있는 시간 순

k : kill. k 입력 후 PID 번호 작성. signal9

f : sort field 선택 화면 -> q 누르면 RES순으로 정렬

a : 메모리 사용량에 따라 정렬

b : Batch 모드로 작동

1 : CPU Core별로 사용량 보여줌

pstop의 차이점

psps한 시점에 proc에서 검색한 cpu 사용량

topproc에서 일정 주기로 합산해 cpu 사용율 출력

 

 

ifconfig


네트워크 인터페이스의 설정 변경 가능
형식: ifconfig

fconfig 옵션

Up: 지정한 인터페이스를 활성화

Down: 지정한 인터페이스 비활성화

 

 

ping


호스트간 패킷 왕복 시간을 계산하여, 호스트의 연결성이나 동작
유무를 판단함. 만일 패킷에 대한 응답이 없을 시 호스트의 동작이나
연결에 이상이 발생했다고 판단할 수 있음

형식: ping[옵션] host

ping옵션

-b: 브로드 캐스트 주소로 핑을 보냄

-c count: 지정한 숫자만큼 패킷을 보냄

-f: 플로딩 패킷을 보냄

-i wait: 지정한 간격으로 패킷을 보냄

-q: 패킷의 응답 정보는 출력하지 않고 통계 정보만 출력

-r: 라우팅 테이블을 이용하지 않고 직접적으로 연결된 호스트에

    패킷을 보냄

-s packetsize: 보낼 패킷 크기를 지정 기본56, 최대 65,507

-v: 에코 응답과 함께 ICMP패킷의 상세 정보 출력

 

ssh


시큐어 쉘은 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해주는 응용프로그램 또는 그 프로토콜

형식: ssh 아이디@ip/도메인 (기본 포트 22)

ssh 옵션

-F configfile: 사용자 설정 파일을 지정

-I smartcard_device: 사용자 개인 RSA 키를 저장한 디바이스 지정

-i identity_file: RSADSA 인증파일 지정

-l login_name: 서버에 로그인할 사용자 지정

-p port: 서버에 접속할 포트 지정

-q: 메시지를 출력하지 않음

 

 

telnet


원경 터미널 서버에 접속하기 위한 클
이언트 명령어 (TCP/IP기반)

형식: telnet[옵션][호스트[포트]]

호스트 : 접속할 호스트로 인터넷 주소 형식으로 사용
포트 : 접속에 사용할 호스트의 포트 지정(초기값 23)

 

ftp


서버와 클라이언트 간의 파일 전송 시 사용되는 명령어
형식: ftp[접속 ip][접속 포트]

 

sftp


ftp와 유사한 파일 전송하는 명령어로 SSH FTP를 사용하여 서버에 대한 보안 연결을 하는 명령어

형식
: sftp[계정]@[ip]
형식: sftp -oPort=[포트번호]@[ip]

 

 

umask

 
파일이 만들어질때 기본 접근권한에서 제외할 권한을
8
진수로 지정하여 출력하는 명령어

형식: umask[]
chmod와 반대개념 (777에서 뺀다.)

 

 

chattr


파일의 속성을 설정하고 제거할 수 있는 명령어
형식: chattr[옵션][+,-,=속성][파일명]

chattr 옵션

-R : 현재 디렉터리 이하의 모든 디렉터리와 파일의 속성을 변환

-V : 변화된 속성의 자세한 정보를 출력

-v : 버전 정보를 출력


chattr 속성

-a : 파일을 추가 모드로만 열기

-c : 커널에 의해 디스크 상에 압축 상태로 저장

-d : dump 명령 수행 시 백업 x

-i : 파일의 수정을 방지한다.(수퍼 유저만 수정 가능)

-s : 파일이 지워질 때 일단 블록 들이 모두 0이 된 다음 디스크에 기록

-S : 파일이 수정될 때 그 변화가 디스크 상에 동기화

-u : 파일이 지워지면 내용을 저장한다.



 

 

lsattr


파일 및 디렉토리에 설정되어있는 속성을 확인하는 명령어
형식: lsattr[파일명]

 

 

nm


오브젝트 파일에 포함되어있는 심볼을 출력하는 명령어

형식: nm[옵션][파일명]
기본 출력 형식은 bsd 형식
[심볼 값] [심볼 클래스] [심볼 명]

nm 옵션

-a, --debug-syms: 디버거만의 심볼을 출력

-A, --print-file-name: 모든 심볼 앞에 입력 파일의 이름을 같이 출력

-B:--format=bsd와 같음

-C, --demangle[=STYLE]: 로우 레벨 심볼 이름을 유저 레벨 이름으로
                               
 해석해서 출력

 

 

vmstat


시스템을 모니터링 하는 명령어

형식: vmstat [옵션][간격][횟수]


vmstat 옵션

-t : 날짜 + 시간을 출력

-w : 출력 결과의 너비를 맞춤

-f : 부팅 후 포크된

-d : 디스크 상태 조회



vmstat 출력값 의미

 대분류  소분류  설명
 procs  r  실행시간을 기다리는 프로세스 수
 b  인터럽트가 되지않지만 sleep 상태인 프로세스 수 ( 대부분은 I/O 로 인해 증가합니다. )
 memory  swpd  가상 메모리로 사용되는 양
 free  유휴메모리 양
 buff  버퍼로 사용되는 메모리 양
 cache  캐시로 사용되는 메모리 양
 swap  si  디스크에서 스왑된 메모리 양
 so  디스크로 반환된 메모리 양
 io  bi  블록 장치에서 받아오는 블록
 bo  블록 장치로 보내는 블록
 system  in  초당 인터럽트 수
 cs  초당 문맥 전환 수
* 문맥 전환 
: 이전 작업의 문맥(프로세스 상태)을 저장하고 새로운 프로세스 상태로 복구하는 작업
 cpu  us  사용자 코드를 실행한 시간 ( 비커널 )
 sy  시스템 코드를 실행한 시간 ( 커널 )
 id  유휴 시간
 wa  입출력 대기 시간
 st  가상 머신으로 부터 뺏긴 시간

 

 

 

locale


현재 시스템의 설정되어 있는 국가, 언어, 숫자(현금 표기 등의), 날짜 시간 표기 형식 , 시간대 를 포함한 설정 집합
형식 : locale

locale 옵션

-a: --all-locales: 사용 가능한 로케일 이름을 출력함

-c, --category-name: 사용 가능한 범주 이름을 출력함

-k, --keyword-name: 선택된 키워드 이름을 출력

-m, --charmaps: 사용 가능한 문자지도 이름을 출력함

 

 

 

hostname


현재의 호스트명을 보여주거나 지정한 호스트 명으로 변경 가능

형식: hostname[옵션][파일명]

hostname 옵션

-a, --alias: 별칭을 출력함

-d, --domain: 도메인명을 출력함

-F, --file파일명: 지정한 파일에서 호스트명을 설정

-f, --fqdn, --long: FQDN(fully qualified domain name)을 출력함

-I, --ip: 호스트의 ip 주소를 출력함

-n, --node: DECnet 노드명을 출력함

 

 

 

su


로그아웃 없이 임시로 다른 사용자의 UID,GID를 사용할 수 있음.
주로 일반 사용자로 로그인하여 잠시 동안 슈퍼유저 권한의
명령어를 실행할 때 유용 (switch user)

형식: su [옵션][사용자][셸변수]

su 옵션

-c COMMAND, --command=COMMAND: 상호 대화형 모드가 아닌

지정한 명령어 실행

-f, --fast: 시작 파일을 읽지 않고 실행. csh셸과 tcsh셸에만 해당

-,-l,--login: 지정한 사용자 환경으로 변경

-s: 지정한 셸을 실행

-m, -p: 이전의 환경 변수의 값을 계속 유지

 

 

 

login


시스템 접속을 위한 개인 설정 파일을 읽은 후 작업 환경을 설정함
일반적으로 다른 시스템에 접속할 때에는 ssh혹은 telnet 명령어를 사용
형식: login [옵션] [이름]

login 옵션

-f user : 이미 인증 절차를 거친 사용자라면, 지정한 user의 인증 절차를
         
 무시하게 된다. 만일 userroot라면 적용되지 않는다.

-h hostname : 로그인을 원격 로그인(telnetd, rlogind)으로 인식하고
                  hostname
로그인을 시도할 호스트의 이름을 입력한다.

-p : login 실행할 때 이전 환경 등을 그대로 사용하도록 getty 명령에
     
의해 사용된다.