- 일반 시스템 작업 명령어
- echo 명령어
echo 명령어는 터미널에 문자열이나 변수 값을 출력하는 데 사용됩니다. echo $SHELL
- 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
- reboot 명령어
reboot 명령어는 시스템을 재시작하는 데 사용됩니다. reboot [옵션]
하드웨어 리소스 관리 권한이 필요한 작업이므로 기본적으로 root 관리자만 사용할 수 있습니다.
- poweroff 명령어
poweroff 명령어는 시스템을 종료하는 데 사용됩니다. poweroff [옵션]
reboot 명령어와 마찬가지로 하드웨어 리소스 관리 권한이 필요하므로 root 관리자만 사용할 수 있습니다.
- wget 명령어
wget 명령어는 터미널에서 네트워크 파일을 다운로드하는 데 사용됩니다.
매개변수 기능
-b 백그라운드 다운로드 모드
-P 지정된 디렉토리에 다운로드
-t 최대 시도 횟수
-c 중단된 부분부터 다운로드 계속
-p 페이지 내 모든 리소스(이미지, 비디오 등) 다운로드
-r 재귀적 다운로드
- ps 명령어
ps 명령어는 시스템의 프로세스 상태를 확인하는 데 사용됩니다.
매개변수 기능
-a 모든 프로세스 표시(다른 사용자의 프로세스 포함)
-u 사용자 및 기타 상세 정보
-x 제어 터미널이 없는 프로세스 표시
리눅스 시스템에서는 수많은 프로세스가 계속 실행 중입니다. 이들을 효과적으로 관리하면 시스템 성능을 최적화할 수 있습니다. 리눅스 시스템에는 실행, 대기, 대기 불가능, 좀비, 중지의 5가지 일반적인 프로세스 상태가 있습니다.
R(실행 중): 프로세스가 실행 중이거나 실행 대기열에서 대기 중입니다.
S(대기): 프로세스가 대기 상태에 있으며, 특정 조건이 형성되거나 신호를 받으면 이 상태를 벗어납니다.
D(대기 불가능): 프로세스가 시스템 비동기 신호에 응답하지 않으며, kill 명령어로도 중단할 수 없습니다.
Z(좀비): 프로세스는 종료되었지만 프로세스 설명자는 여전히 존재하며, 부모 프로세스가 wait4() 시스템 함수를 호출해야만 프로세스가 해제됩니다.
T(중지): 프로세스가 중지 신호를 받아 실행이 중지되었습니다.
- top 명령어
top 명령어는 프로세스 활동 및 시스템 부하 정보를 동적으로 모니터링하는 데 사용됩니다.
1행: 시스템 시간, 실행 시간, 로그인된 터미널 수, 시스템 부하(세 숫자는 각각 1분, 5분, 15분 내 평균값으로, 값이 낮을수록 부하가 낮음).
2행: 프로세스 총수, 실행 중인 프로세스 수, 대기 중인 프로세스 수, 중지된 프로세스 수, 좀비 프로세스 수.
3행: 사용자 자원 사용률, 시스템 커널 자원 사용률, 우선순위 변경된 프로세스 자원 사용률, 유휴 자원 사용률 등. 모든 데이터는 CPU 데이터이며 백분율 형식으로 표시됩니다. 예를 들어 "97.1 id"는 97.1%의 CPU 프로세서 자원이 유휴 상태임을 의미합니다.
4행: 물리 메모리 총량, 메모리 사용량, 메모리 유휴량, 커널 캐시로 사용된 메모리량.
5행: 가상 메모리 총량, 가상 메모리 사용량, 가상 메모리 유휴량, 미리 로드된 메모리량.
- pidof 명령어
pidof 명령어는 특정 서비스 프로세스의 PID 값을 조회하는 데 사용됩니다.
- kill 명령어
kill 명령어는 특정 PID를 가진 서비스 프로세스를 종료하는 데 사용됩니다.
- killall 명령어
killall 명령어는 특정 이름의 서비스에 해당하는 모든 프로세스를 종료하는 데 사용됩니다.
- 시스템 상태 확인 명령어
- ifconfig 명령어
ifconfig 명령어는 네트워크 카드 설정 및 네트워크 상태 정보를 얻는 데 사용됩니다.
- uname 명령어
uname 명령어는 시스템 커널 및 버전 정보를 확인하는 데 사용되며, 형식은 "uname [-a]"입니다.
- uptime 명령어
uptime 명령어는 시스템 부하 정보를 확인하는 데 사용되며, 형식은 uptime입니다.
uptime 명령어는 현재 시스템 시간, 시스템 실행 시간, 활성화된 터미널 수 및 평균 부하 값을 표시합니다. 평균 부하 값은 시스템이 최근 1분, 5분, 15분 내에 겪은 부하 상황을 의미하며, 값이 낮을수록 좋습니다. 장기적으로 1을 초과하지 않도록 하고, 프로덕션 환경에서는 5를 초과하지 않도록 해야 합니다.
- free 명령어
free 명령어는 현재 시스템의 메모리 사용량 정보를 표시하는 데 사용되며, 형식은 "free [-h]"입니다.
메모리 총량 사용량 유휴량 공유 메모리량 디스크 캐시 메모리량 캐시 메모리량 total used free shared buffers cached
- who 명령어
who 명령어는 현재 호스트에 로그인한 사용자 터미널 정보를 확인하는 데 사용되며, 형식은 "who [매개변수]"입니다.
이 간단한 세 글자는 현재 이 시스템에 로그인한 모든 사용자 이름과 그들이 사용 중인 터미널 정보를 빠르게 표시합니다.
- last 명령어
last 명령어는 모든 시스템 로그인 기록을 확인하는 데 사용됩니다.
last 명령어를 사용하면 이 시스템의 로그인 기록을 확인할 수 있습니다. 하지만 이 정보는 시스템에 로그 파일 형식으로 저장되므로 공격자가 쉽게 내용을 조작할 수 있습니다. 이 명령어의 출력 정보만으로 시스템이 악의적인 침투를 당했는지 여부를 판단해서는 안 됩니다!
- history 명령어
history 명령어는 과거에 실행된 명령어 기록을 표시하는 데 사용됩니다. history -c : 명령어 기록 초기화
- 작업 디렉토리 전환 명령어
- pwd 명령어
pwd 명령어는 사용자의 현재 작업 디렉토리를 표시하는 데 사용됩니다.
- cd 명령어
cd 명령어는 작업 경로를 전환하는 데 사용됩니다. 이전 디렉토리로 돌아가기: cd - 사용자의 홈 디렉토리로 빠르게 전환: cd ~ 상위 디렉토리로 이동: cd ..
- ls 명령어
ls 명령어는 디렉토리의 파일 정보를 표시하는 데 사용됩니다.
-a 모든 파일(숨김 파일 포함) 표시
-l 파일의 속성, 크기 등 상세 정보 표시
-d 디렉토리 속성 정보 표시
- 텍스트 파일 편집 명령어
- cat 명령어
cat 명령어는 순수 텍스트 파일(내용이 적은)을 보는 데 사용됩니다.
-n 행 번호 표시(빈 행도 포함)
-s 행 번호 표시(여러 빈 행을 하나로 계산)
-b 행 번호 표시(빈 행은 제외)
-E 각 행 끝에 $ 기호 표시
-T TAB 문자를 ^I 기호로 표시
-v ^와 M-를 사용하여 LFD와 TAB를 제외한 문자 표시
-e "-vE" 조합과 동일
-t "-vT" 조합과 동일
-A -vET 조합과 동일
--help 도움말 정보 표시
--version 버전 정보 표시
- more 명령어
more 명령어는 순수 텍스트 파일(내용이 많은)을 보는 데 사용됩니다.
- head 명령어
head 명령어는 순수 텍스트 문서의 앞 N행을 보는 데 사용됩니다. head -n 20 설정-ks.cfg
- tail 명령어
tail 명령어는 순수 텍스트 문서의 마지막 N행을 보거나 내용을 계속 새로 고치는 데 사용됩니다.
-f 순환 읽기
-q 처리 정보 표시 안 함
-v 상세한 처리 정보 표시
-c <숫자> 표시할 바이트 수
-n <행 수> 파일의 마지막 n 행 내용 표시
--pid=PID -f와 함께 사용, PID 프로세스가 종료된 후 종료
-q, --quiet, --silent 파일명 머리부분 출력 안 함
-s, --sleep-interval=S -f와 함께 사용, 각 반복 간격에 S초 대기
- tr 명령어
tr 명령어는 텍스트 파일의 문자를 바꾸는 데 사용됩니다. [admin@server ~]# cat anaconda-ks.cfg | tr [a-z] [A-Z]
- wc 명령어
wc 명령어는 지정된 텍스트의 행 수, 단어 수, 바이트 수를 세는 데 사용됩니다.
매개변수 기능
-l 행 수만 표시
-w 단어 수만 표시
-c 바이트 수만 표시
- stat 명령어
stat 명령어는 파일의 저장 정보 및 시간 등을 확인하는 데 사용됩니다.
- cut 명령어
cut 명령어는 "열" 단위로 텍스트 문자를 추출하는 데 사용됩니다.
cut 명령어는 "열" 단위로 텍스트 문자를 추출하며, 형식은 "cut [매개변수] 텍스트"입니다.
리눅스 시스템에서 원하는 데이터를 정확히 추출하는 방법을 배우는 것도 중요합니다. 일반적으로 "행" 기반 방식으로 데이터를 추출하는 것은 비교적 간단하며, 검색할 키워드만 설정하면 됩니다. 하지만 열 기반으로 검색하려면 -f 매개변수로 보려는 열 번호를 설정하고 -d 매개변수로 구분 기호를 설정해야 합니다. passwd 파일은 사용자 정보를 저장할 때 각 항목 값 사이를 콜론(:)으로 구분합니다. 다음 명령어를 사용하여 passwd 파일의 사용자 이름 정보, 즉 콜론(:)을 구분 기호로 하는 첫 번째 열 내용을 추출해 보겠습니다:
[admin@server ~]# head -n 2 /etc/passwd
[admin@server ~]# cut -d: -f1 /etc/passwd
- 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
-
파일 디렉토리 관리 명령어
-
touch 명령어
touch 명령어는 빈 파일을 생성하거나 파일의 시간을 설정하는 데 사용됩니다.
매개변수 기능
-a "읽기 시간"(atime)만 수정
-m "수정 시간"(mtime)만 수정
-d atime과 mtime을 동시에 수정
- mkdir 명령어
mkdir 명령어는 빈 디렉토리를 생성하는 데 사용됩니다. -p 매개변수를 사용하여 중첩 관계가 있는 디렉토리를 재귀적으로 생성할 수 있습니다.
- cp 명령어
cp 명령어는 파일이나 디렉토리를 복사하는 데 사용됩니다.
- 대상 파일이 디렉토리이면 원본 파일을 해당 디렉토리에 복사합니다.
- 대상 파일도 일반 파일이면 덮어쓸지 묻습니다.
- 대상 파일이 존재하지 않으면 정상적인 복사 작업을 수행합니다.
매개변수 기능
-p 원본 파일의 속성 유지
-d 객체가 "링크 파일"이면 해당 "링크 파일"의 속성 유지
-r 재귀적으로 계속 복사(디렉토리용)
-i 대상 파일이 존재하면 덮어쓸지 묻음
-a -pdr과 동일(p, d, r은 위 매개변수)
- mv 명령어
mv 명령어는 파일을 이동하거나 파일의 이름을 바꾸는 데 사용됩니다.
-i 지정된 디렉토리에 동일한 이름의 파일이 있으면 먼저 기존 파일을 덮어쓸지 묵음;
-f mv 작업이 기존 대상 파일을 덮어쓸 때 어떠한 지시도 하지 않음;
- rm 명령어
rm 명령어는 파일이나 디렉토리를 삭제하는 데 사용됩니다.
-i 삭제할 때마다 확인 요청.
-f 원본 파일 속성이 읽기 전용이어도 바로 삭제하고, 확인을 요청하지 않음.
-r 디렉토리 및 하위 파일도 모두 삭제.
- dd 명령어
dd 명령어는 지정된 크기와 개수의 데이터 블록으로 파일을 복사하거나 변환하는 데 사용됩니다.
매개변수 기능
if 입력 파일 이름
of 출력 파일 이름
bs 각 "블록"의 크기 설정
count 복사할 "블록"의 개수 설정
- file 명령어
file 명령어는 파일의 유형을 확인하는 데 사용됩니다.
-
압축 및 검색 명령어
-
tar 명령어
tar 명령어는 파일을 압축하거나 해제하는 데 사용됩니다.
매개변수 기능
-c 압축 파일 생성
-x 압축 파일 해제
-t 압축 파일 내용 확인
-z Gzip으로 압축 또는 해제
-j bzip2로 압축 또는 해제
-v 압축 또는 해제 과정 표시
-f 대상 파일 이름
-p 원본 권한과 속성 유지
-P 절대 경로로 압축
-C 해제할 디렉토리 지정
주사용:
tar -xzvf 압축파일.tar.gz
tar -czvf 새압축파일.tar.gz 대상디렉토리/
- grep 명령어
grep 명령어는 텍스트에서 키워드 검색을 수행하고 일치하는 결과를 표시하는 데 사용됩니다.
매개변수 기능
-b 실행 파일(binary)을 텍스트 파일로 검색
-c 일치하는 행 수만 표시
-i 대소문자 무시
-n 행 번호 표시
-v 반대 선택 - "키워드"가 없는 행만 표시.
- 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 …… {}\; 검색 결과를 추가로 처리할 명령어 뒤에 사용