리눅스 명령어

작성일2025-04-15

세션

set

set #모든 환경변수 표시
set MY_VAR=value #변수 설정(세션에서 유지)

set -e #다음 명령어에서 에러 발생시 즉시 종료
set -x #명령어 추적
set -u #미정의 변수 없이 스크립트 중단

wait

some-command & #새로운 프로세스를 생성하여 명령어를 백그라운드에서 실행한다.
wait #현재 세션에서 &로 백그라운드 실행된 프로세스를 기다린다.

유틸

sed

sed 는 Stream Editor이며, 텍스트 변환 명령어이다.

# 텍스트 치환
sed 's/old/new/' file.txt # 각 줄의 첫 번째 'old'를 'new'로 변경
sed 's/old/new/g' file.txt # 모든 'old'를 'new'로 변경

# 특정 줄 삭제
sed '2d' file.txt # 2번째 줄 삭제
send '/pattern/d' file.txt # 패턴 매칭되는 줄 삭제

실제 예시:

# 파일 내용 변경
sed -i 's/localhost/127.0.0.1/' config.txt

# 여러 변경사항
sed -i 's/old/new/g; s/foo/bar/g' file.txt

# 특정 줄 앞/뒤에 텍스트 추가
sed '1i\First Line' file.txt   # 첫 줄 앞에 추가
sed '$a\Last Line' file.txt    # 마지막 줄 뒤에 추가

CI/CD에서 자주사용:

# 설정 파일 수정
sed -i "s/VERSION=.*/VERSION=${NEW_VERSION}/" config.env

# 환경변수 치환
sed -i "s|\${DB_HOST}|$DB_HOST|g" application.yml

옵션

  • -i: 파일 직접 수정
  • -e: 여러 명령어 실행
  • /g: 전체 치환
  • s///: 치환 명령어

tee

tee는 입력으로 받은 내용을 파일에 저장하는 명령어이다. 일반 적으로 단독으로 사용하는 경우는 거의 없고 파이프와 같이 사용한다.

# echo와 함께
echo "Hello world" | tee greeting.txt
# cat 과 
cat << EOF | tee greeting.txt
foo: bar
hello: world
EOF

procps - 프로세스 모니터링 도구

ps      # 프로세스 상태
top     # 실시간 프로세스 모니터
free    # 메모리 사용량
vmstat  # 가상 메모리 통계
w       # 로그인 사용자 정보

sysstat - 시스템 성능 모니터링 도구

sar     # 시스템 활동 보고서
iostat  # CPU/디스크 통계
mpstat  # CPU 통계
pidstat # 프로세스별 통계

busybox-extras - 추가 네트워크 도구

telnet  # 텔넷 클라이언트
ftpd    # FTP 서버
tftp    # 간단한 파일 전송
httpd   # 간단한 웹 서버

net-tools - 네트워크 관리 도구

ifconfig  # 네트워크 인터페이스 설정
netstat   # 네트워크 연결 상태
route     # 라우팅 테이블 관리
arp       # ARP 테이블 관리

tcpdump - 네트워크 패킷 분석 도구

tcpdump                   # 기본 패킷 캡처
tcpdump -i eth0          # 특정 인터페이스 모니터링
tcpdump port 80          # 특정 포트 트래픽
tcpdump host 192.168.1.1 # 특정 호스트 트래픽

Copyright © 2019-2025 Alloc · MIT License