Linux 명령어 정리

Linux 핵심 명령어 정리

파일 및 디렉토리 조작

ls - 파일과 디렉토리 목록 표시함

ls -la

cd - 디렉토리 변경함

cd /home/user

pwd - 현재 디렉토리 경로 출력함

pwd

mkdir - 디렉토리 생성함

mkdir new_folder

rmdir - 빈 디렉토리 삭제함

rmdir empty_folder

rm - 파일/디렉토리 삭제함

rm -rf folder_name

cp - 파일/디렉토리 복사함

cp file.txt backup.txt

mv - 파일/디렉토리 이동하거나 이름 변경함

mv old_name.txt new_name.txt

파일 내용 보기

cat - 파일 내용 전체 출력함

cat config.txt

head - 파일 첫 부분 봄

head -10 data.txt

grep - 파일에서 패턴 검색함 ⭐

grep 상세 설명

기본 검색

grep "error" logfile.txt
# logfile.txt에서 "error" 문자열 검색

대소문자 구분 안함 (-i)

grep -i "ERROR" logfile.txt
# Error, error, ERROR 모두 검색

정확한 단어만 검색 (-w)

grep -w "cat" file.txt
# "cat"만 검색, "category" 등은 제외

줄 번호 표시 (-n)

grep -n "function" script.js
# 매칭된 줄의 번호도 함께 표시

재귀 검색 (-r)

grep -r "TODO" ./src/
# src 디렉토리 하위 모든 파일에서 "TODO" 검색

매칭되지 않는 줄 표시 (-v)

grep -v "comment" code.py
# "comment"가 포함되지 않은 줄만 표시

파일명만 표시 (-l)

grep -l "config" *.txt
# "config"가 포함된 파일 이름만 나열

매칭 개수 표시 (-c)

grep -c "error" *.log
# 각 파일에서 "error"가 나타난 횟수

정규표현식 사용

grep "^Error" logfile.txt      # 줄 시작이 "Error"인 경우
grep "failed$" logfile.txt     # 줄 끝이 "failed"인 경우
grep "[0-9]\{3\}" data.txt     # 3자리 숫자 검색
grep "test\|debug" code.py     # "test" 또는 "debug" 검색

여러 패턴 동시 검색 (-e)

grep -e "error" -e "warning" -e "fatal" logfile.txt

패턴 파일 사용 (-f)

grep -f patterns.txt logfile.txt
# patterns.txt에 있는 모든 패턴으로 검색

시스템 정보 및 프로세스

ps - 실행 중인 프로세스 표시함

ps aux

top - 실시간 프로세스 모니터링함

top

kill - 프로세스 종료함

kill -9 1234

df - 디스크 사용량 확인함

df -h

권한 관리

chmod - 파일 권한 변경함

chmod 755 script.sh

sudo - 관리자 권한으로 실행함

sudo apt update

네트워크

ping - 네트워크 연결 테스트함

ping google.com

wget - 파일 다운로드함

wget https://example.com/file.zip

ssh - 원격 서버 접속함

ssh user@192.168.1.100

scp - 원격 파일 복사함

scp file.txt user@server:/home/user/

압축 및 검색

tar - 파일 압축/해제함

tar -czf backup.tar.gz /home/user

find - 파일/디렉토리 검색함

find /home -name "*.txt"

기타

history - 명령어 기록 봄

history | tail -10

echo 명령어 ⭐

echo 상세 설명

기본 텍스트 출력

echo "Hello World"
echo Hello World  # 따옴표 없이도 가능

옵션들

echo -n "줄바꿈 없음"     # 줄바꿈 없이 출력
echo -e "줄바꿈\n포함"    # 이스케이프 문자 해석

이스케이프 시퀀스 (-e 옵션과 함께)

echo -e "첫째줄\n둘째줄"    # 줄바꿈
echo -e "이름:\t김철수"     # 탭
echo -e "Hello\b World"     # 백스페이스

변수 출력

name="김철수"
echo "안녕하세요, $name님!"
echo "현재 사용자: $USER"
echo "홈 디렉토리: $HOME"

파일 출력

echo "새 내용" > file.txt      # 덮어쓰기
echo "추가 내용" >> file.txt   # 추가하기

명령어 결과와 함께

echo "오늘: $(date)"
echo "파일 수: $(ls | wc -l)"

색상 출력 (ANSI 코드)

echo -e "\033[31m빨간글자\033[0m"
echo -e "\033[32m초록글자\033[0m"
echo -e "\033[1m굵은글자\033[0m"

특수 문자 처리

echo 'He said "Hello"'     # 단일 따옴표로 감싸기
echo "가격: \$100"         # 백슬래시로 이스케이프