홈 › 리눅스 명령어 › 08 / 10

셸 활용 (히스토리·별칭·단축키)

섹션 7진행 0 / 10

4. 응용 변형 예제

4.1 직전 명령 재활용

text
mkdir -p /opt/myapp/conf/backup
cd !$                         # cd /opt/myapp/conf/backup
vi /etc/nginx/conf.d/myapp.conf
sudo !!                       # 권한 없어서 실패했을 때

!$ 와 sudo !! 두 개가 가장 많이 쓰는 히스토리 확장입니다.

4.2 안전한 rm 별칭

bash
alias rm='rm -i'
\rm -rf build/                # 확인 없이 지울 때만 백슬래시

운영 서버 계정에는 rm -i 별칭을 두는 곳이 많습니다. 스크립트에는 별칭이 적용되지 않으므로 영향이 없습니다.

4.3 여러 파일 확장자 바꾸기

bash
for f in *.txt; do mv "$f" "${f%.txt}.md"; done

글로브로 대상을 고르고 변수 확장으로 이름을 만듭니다. 01 레슨에서 본 형태이고 셸 확장의 대표 활용입니다.

4.4 배포 중 지켜보기

bash
tmux new -s deploy
watch -n 2 'ss -tn state established | wc -l; tail -n 3 /opt/myapp/logs/app.log'

tmux 안에서 watch 를 켜 두면 연결 수와 최근 로그가 2초마다 갱신됩니다. 접속이 끊겨도 tmux attach 로 돌아옵니다.

4.5 프롬프트에 정보 넣기

bash
PS1='[\u@\h \W]\$ '                 # [kim@app1 conf]$
PS1='\[\e[31m\][PROD]\[\e[0m\] \u@\h:\w\$ '   # 운영 서버는 빨간 표시

운영 서버 프롬프트에 색 있는 [PROD] 를 붙이면 개발 서버로 착각한 실수를 줄입니다. /etc/profile.d/ 에 두면 모든 사용자에게 적용됩니다.