리눅스 기본 명령어 가이드

  1. 일반 시스템 작업 명령어

  1. echo 명령어

echo 명령어는 터미널에 문자열이나 변수 값을 출력하는 데 사용됩니다. echo $SHELL

  1. date 명령어

date 명령어는 시스템의 시간이나 날짜를 표시하고 설정하는 데 사용됩니다.

매개변수         기능
%t             탭 키로 이동
%H             시간(00~23)
%I             시간(00~12)
%M             분(00~59)
%S             초(00~59)
%j             올해의 몇 번째 날

현재 시스템 시간 확인: admin@server:~# date 2023년 11월 15일 수요일 14:25:30 KST "년-월-일 시간:분:초" 형식으로 출력:

admin@server:~# date "+%Y-%m-%d %H:%M:%S"
2023-11-15 14:27:18

  1. reboot 명령어

reboot 명령어는 시스템을 재시작하는 데 사용됩니다. reboot [옵션]

하드웨어 리소스 관리 권한이 필요한 작업이므로 기본적으로 root 관리자만 사용할 수 있습니다.

  1. poweroff 명령어

poweroff 명령어는 시스템을 종료하는 데 사용됩니다. poweroff [옵션]

reboot 명령어와 마찬가지로 하드웨어 리소스 관리 권한이 필요하므로 root 관리자만 사용할 수 있습니다.

  1. wget 명령어

wget 명령어는 터미널에서 네트워크 파일을 다운로드하는 데 사용됩니다.

매개변수         기능
-b             백그라운드 다운로드 모드
-P             지정된 디렉토리에 다운로드
-t             최대 시도 횟수
-c             중단된 부분부터 다운로드 계속
-p             페이지 내 모든 리소스(이미지, 비디오 등) 다운로드
-r             재귀적 다운로드

  1. ps 명령어

ps 명령어는 시스템의 프로세스 상태를 확인하는 데 사용됩니다.

매개변수     기능
-a         모든 프로세스 표시(다른 사용자의 프로세스 포함)
-u         사용자 및 기타 상세 정보
-x         제어 터미널이 없는 프로세스 표시

리눅스 시스템에서는 수많은 프로세스가 계속 실행 중입니다. 이들을 효과적으로 관리하면 시스템 성능을 최적화할 수 있습니다. 리눅스 시스템에는 실행, 대기, 대기 불가능, 좀비, 중지의 5가지 일반적인 프로세스 상태가 있습니다.

R(실행 중): 프로세스가 실행 중이거나 실행 대기열에서 대기 중입니다.

S(대기): 프로세스가 대기 상태에 있으며, 특정 조건이 형성되거나 신호를 받으면 이 상태를 벗어납니다.

D(대기 불가능): 프로세스가 시스템 비동기 신호에 응답하지 않으며, kill 명령어로도 중단할 수 없습니다.

Z(좀비): 프로세스는 종료되었지만 프로세스 설명자는 여전히 존재하며, 부모 프로세스가 wait4() 시스템 함수를 호출해야만 프로세스가 해제됩니다.

T(중지): 프로세스가 중지 신호를 받아 실행이 중지되었습니다.

  1. top 명령어

top 명령어는 프로세스 활동 및 시스템 부하 정보를 동적으로 모니터링하는 데 사용됩니다.

1행: 시스템 시간, 실행 시간, 로그인된 터미널 수, 시스템 부하(세 숫자는 각각 1분, 5분, 15분 내 평균값으로, 값이 낮을수록 부하가 낮음).

2행: 프로세스 총수, 실행 중인 프로세스 수, 대기 중인 프로세스 수, 중지된 프로세스 수, 좀비 프로세스 수.

3행: 사용자 자원 사용률, 시스템 커널 자원 사용률, 우선순위 변경된 프로세스 자원 사용률, 유휴 자원 사용률 등. 모든 데이터는 CPU 데이터이며 백분율 형식으로 표시됩니다. 예를 들어 "97.1 id"는 97.1%의 CPU 프로세서 자원이 유휴 상태임을 의미합니다.

4행: 물리 메모리 총량, 메모리 사용량, 메모리 유휴량, 커널 캐시로 사용된 메모리량.

5행: 가상 메모리 총량, 가상 메모리 사용량, 가상 메모리 유휴량, 미리 로드된 메모리량.

  1. pidof 명령어

pidof 명령어는 특정 서비스 프로세스의 PID 값을 조회하는 데 사용됩니다.

  1. kill 명령어

kill 명령어는 특정 PID를 가진 서비스 프로세스를 종료하는 데 사용됩니다.

  1. killall 명령어

killall 명령어는 특정 이름의 서비스에 해당하는 모든 프로세스를 종료하는 데 사용됩니다.

  1. 시스템 상태 확인 명령어

  1. ifconfig 명령어

ifconfig 명령어는 네트워크 카드 설정 및 네트워크 상태 정보를 얻는 데 사용됩니다.

  1. uname 명령어

uname 명령어는 시스템 커널 및 버전 정보를 확인하는 데 사용되며, 형식은 "uname [-a]"입니다.

  1. uptime 명령어

uptime 명령어는 시스템 부하 정보를 확인하는 데 사용되며, 형식은 uptime입니다.

uptime 명령어는 현재 시스템 시간, 시스템 실행 시간, 활성화된 터미널 수 및 평균 부하 값을 표시합니다. 평균 부하 값은 시스템이 최근 1분, 5분, 15분 내에 겪은 부하 상황을 의미하며, 값이 낮을수록 좋습니다. 장기적으로 1을 초과하지 않도록 하고, 프로덕션 환경에서는 5를 초과하지 않도록 해야 합니다.

  1. free 명령어

free 명령어는 현재 시스템의 메모리 사용량 정보를 표시하는 데 사용되며, 형식은 "free [-h]"입니다.

메모리 총량 사용량 유휴량 공유 메모리량 디스크 캐시 메모리량 캐시 메모리량 total used free shared buffers cached

  1. who 명령어

who 명령어는 현재 호스트에 로그인한 사용자 터미널 정보를 확인하는 데 사용되며, 형식은 "who [매개변수]"입니다.

이 간단한 세 글자는 현재 이 시스템에 로그인한 모든 사용자 이름과 그들이 사용 중인 터미널 정보를 빠르게 표시합니다.

  1. last 명령어

last 명령어는 모든 시스템 로그인 기록을 확인하는 데 사용됩니다.

last 명령어를 사용하면 이 시스템의 로그인 기록을 확인할 수 있습니다. 하지만 이 정보는 시스템에 로그 파일 형식으로 저장되므로 공격자가 쉽게 내용을 조작할 수 있습니다. 이 명령어의 출력 정보만으로 시스템이 악의적인 침투를 당했는지 여부를 판단해서는 안 됩니다!

  1. history 명령어

history 명령어는 과거에 실행된 명령어 기록을 표시하는 데 사용됩니다. history -c : 명령어 기록 초기화

  1. 작업 디렉토리 전환 명령어

  1. pwd 명령어

pwd 명령어는 사용자의 현재 작업 디렉토리를 표시하는 데 사용됩니다.

  1. cd 명령어

cd 명령어는 작업 경로를 전환하는 데 사용됩니다. 이전 디렉토리로 돌아가기: cd - 사용자의 홈 디렉토리로 빠르게 전환: cd ~ 상위 디렉토리로 이동: cd ..

  1. ls 명령어

ls 명령어는 디렉토리의 파일 정보를 표시하는 데 사용됩니다.

-a           모든 파일(숨김 파일 포함) 표시
-l           파일의 속성, 크기 등 상세 정보 표시
-d           디렉토리 속성 정보 표시

  1. 텍스트 파일 편집 명령어

  1. cat 명령어

cat 명령어는 순수 텍스트 파일(내용이 적은)을 보는 데 사용됩니다.

-n           행 번호 표시(빈 행도 포함)
-s           행 번호 표시(여러 빈 행을 하나로 계산)
-b           행 번호 표시(빈 행은 제외)
-E           각 행 끝에 $ 기호 표시
-T           TAB 문자를 ^I 기호로 표시
-v           ^와 M-를 사용하여 LFD와 TAB를 제외한 문자 표시

-e           "-vE" 조합과 동일
-t           "-vT" 조합과 동일
-A           -vET 조합과 동일
--help       도움말 정보 표시
--version    버전 정보 표시

  1. more 명령어

more 명령어는 순수 텍스트 파일(내용이 많은)을 보는 데 사용됩니다.

  1. head 명령어

head 명령어는 순수 텍스트 문서의 앞 N행을 보는 데 사용됩니다. head -n 20 설정-ks.cfg

  1. tail 명령어

tail 명령어는 순수 텍스트 문서의 마지막 N행을 보거나 내용을 계속 새로 고치는 데 사용됩니다.

-f                           순환 읽기
-q                           처리 정보 표시 안 함
-v                           상세한 처리 정보 표시
-c                           <숫자> 표시할 바이트 수
-n                           <행 수> 파일의 마지막 n 행 내용 표시
--pid=PID                   -f와 함께 사용, PID 프로세스가 종료된 후 종료
-q, --quiet, --silent       파일명 머리부분 출력 안 함
-s, --sleep-interval=S       -f와 함께 사용, 각 반복 간격에 S초 대기

  1. tr 명령어

tr 명령어는 텍스트 파일의 문자를 바꾸는 데 사용됩니다. [admin@server ~]# cat anaconda-ks.cfg | tr [a-z] [A-Z]

  1. wc 명령어

wc 명령어는 지정된 텍스트의 행 수, 단어 수, 바이트 수를 세는 데 사용됩니다.

매개변수         기능
-l             행 수만 표시
-w             단어 수만 표시
-c             바이트 수만 표시

  1. stat 명령어

stat 명령어는 파일의 저장 정보 및 시간 등을 확인하는 데 사용됩니다.

  1. cut 명령어

cut 명령어는 "열" 단위로 텍스트 문자를 추출하는 데 사용됩니다.

cut 명령어는 "열" 단위로 텍스트 문자를 추출하며, 형식은 "cut [매개변수] 텍스트"입니다.

리눅스 시스템에서 원하는 데이터를 정확히 추출하는 방법을 배우는 것도 중요합니다. 일반적으로 "행" 기반 방식으로 데이터를 추출하는 것은 비교적 간단하며, 검색할 키워드만 설정하면 됩니다. 하지만 열 기반으로 검색하려면 -f 매개변수로 보려는 열 번호를 설정하고 -d 매개변수로 구분 기호를 설정해야 합니다. passwd 파일은 사용자 정보를 저장할 때 각 항목 값 사이를 콜론(:)으로 구분합니다. 다음 명령어를 사용하여 passwd 파일의 사용자 이름 정보, 즉 콜론(:)을 구분 기호로 하는 첫 번째 열 내용을 추출해 보겠습니다:

[admin@server ~]# head -n 2 /etc/passwd

[admin@server ~]# cut -d: -f1 /etc/passwd

  1. diff 명령어

diff 명령어는 여러 텍스트 파일의 차이점을 비교하는 데 사용됩니다.

[admin@server ~]# cat file_A.txt
[admin@server ~]# cat file_B.txt

다음으로 diff --brief 명령어를 사용하여 비교 결과를 표시하고 파일이 동일한지 확인합니다:

[admin@server ~]# diff --brief file_A.txt file_B.txt
Files file_A.txt and file_B.txt differ

-c 매개변수를 사용한 diff 명령어로 파일 내용의 구체적인 차이점을 설명합니다:

[admin@server ~]# diff -c file_A.txt file_B.txt

  1. 파일 디렉토리 관리 명령어

  2. touch 명령어

touch 명령어는 빈 파일을 생성하거나 파일의 시간을 설정하는 데 사용됩니다.

매개변수         기능
-a             "읽기 시간"(atime)만 수정
-m             "수정 시간"(mtime)만 수정
-d             atime과 mtime을 동시에 수정

  1. mkdir 명령어

mkdir 명령어는 빈 디렉토리를 생성하는 데 사용됩니다. -p 매개변수를 사용하여 중첩 관계가 있는 디렉토리를 재귀적으로 생성할 수 있습니다.

  1. cp 명령어

cp 명령어는 파일이나 디렉토리를 복사하는 데 사용됩니다.

  1. 대상 파일이 디렉토리이면 원본 파일을 해당 디렉토리에 복사합니다.
  2. 대상 파일도 일반 파일이면 덮어쓸지 묻습니다.
  3. 대상 파일이 존재하지 않으면 정상적인 복사 작업을 수행합니다.
매개변수         기능
-p             원본 파일의 속성 유지
-d             객체가 "링크 파일"이면 해당 "링크 파일"의 속성 유지
-r             재귀적으로 계속 복사(디렉토리용)
-i             대상 파일이 존재하면 덮어쓸지 묻음
-a             -pdr과 동일(p, d, r은 위 매개변수)

  1. mv 명령어

mv 명령어는 파일을 이동하거나 파일의 이름을 바꾸는 데 사용됩니다.

 -i         지정된 디렉토리에 동일한 이름의 파일이 있으면 먼저 기존 파일을 덮어쓸지 묵음;
 -f         mv 작업이 기존 대상 파일을 덮어쓸 때 어떠한 지시도 하지 않음;

  1. rm 명령어

rm 명령어는 파일이나 디렉토리를 삭제하는 데 사용됩니다.

-i         삭제할 때마다 확인 요청.
-f         원본 파일 속성이 읽기 전용이어도 바로 삭제하고, 확인을 요청하지 않음.
-r         디렉토리 및 하위 파일도 모두 삭제.

  1. dd 명령어

dd 명령어는 지정된 크기와 개수의 데이터 블록으로 파일을 복사하거나 변환하는 데 사용됩니다.

매개변수         기능
if             입력 파일 이름
of             출력 파일 이름
bs             각 "블록"의 크기 설정
count          복사할 "블록"의 개수 설정

  1. file 명령어

file 명령어는 파일의 유형을 확인하는 데 사용됩니다.

  1. 압축 및 검색 명령어

  2. tar 명령어

tar 명령어는 파일을 압축하거나 해제하는 데 사용됩니다.

매개변수         기능
-c             압축 파일 생성
-x             압축 파일 해제
-t             압축 파일 내용 확인
-z             Gzip으로 압축 또는 해제
-j             bzip2로 압축 또는 해제
-v             압축 또는 해제 과정 표시
-f             대상 파일 이름
-p             원본 권한과 속성 유지
-P             절대 경로로 압축
-C             해제할 디렉토리 지정

주사용:

tar -xzvf       압축파일.tar.gz
tar -czvf       새압축파일.tar.gz 대상디렉토리/

  1. grep 명령어

grep 명령어는 텍스트에서 키워드 검색을 수행하고 일치하는 결과를 표시하는 데 사용됩니다.

매개변수     기능
-b         실행 파일(binary)을 텍스트 파일로 검색
-c         일치하는 행 수만 표시
-i         대소문자 무시
-n         행 번호 표시
-v         반대 선택 - "키워드"가 없는 행만 표시.

  1. find 명령어

find 명령어는 지정된 조건에 따라 파일을 찾는 데 사용됩니다.

매개변수         기능
-name                     이름 일치
-perm                     권한 일치(mode는 완전 일치, -mode는 포함만)
-user                     소유자 일치
-group                     그룹 일치
-mtime -n +n             내용 수정 시간 일치(-n은 n일 이내, +n은 n일 이전)
-atime -n +n             파일 접근 시간 일치(-n은 n일 이내, +n은 n일 이전)
-ctime -n +n             파일 권한 수정 시간 일치(-n은 n일 이내, +n은 n일 이전)
-nouser                 소유자 없는 파일 일치
-nogroup                 그룹 없는 파일 일치
-newer f1 !f2             f1보다 새지만 f2보다 오래된 파일 일치
--type b/d/c/p/l/f       파일 유형 일치(뒤의 문자는 각각 블록 장치, 디렉토리, 문자 장치, 파이프, 링크 파일, 텍스트 파일)
-size                     파일 크기 일치(+50KB는 50KB 초과 파일, -50KB는 50KB 미만 파일)
-prune                     특정 디렉토리 무시
-exec …… {}\;             검색 결과를 추가로 처리할 명령어 뒤에 사용

태그: 리눅스 시스템 명령어 터미널 파일 관리 텍스트 편집

7월 15일 20:42에 게시됨