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" # 백슬래시로 이스케이프