본문으로 건너뛰기
피드

살면서 몰랐던 셸 트릭 모음 — 터미널에서 Backspace 꾹 누르기 이제 그만

devops 약 8분

대부분의 개발자가 ls, cd, grep 이후로 터미널 학습을 멈추는데, 셸에는 1989년부터 존재하던 생산성 트릭들이 가득함. POSIX 범용 단축키부터 Bash/Zsh 전용 기능까지, 하루 하나씩 익히면 터미널 생활이 완전히 달라짐.

  • 1

    CTRL+W/U/K/Y 등 Emacs 스타일 라인 편집으로 Backspace 연타 탈출

  • 2

    cd -, pushd/popd로 디렉토리 간 빠른 이동

  • 3

    set -euo pipefail로 셸 스크립트 안전망 구축 (단, 엣지 케이스 주의)

  • 4

    CTRL+R 히스토리 검색, !! sudo 재실행, 중괄호 확장으로 반복 타이핑 제거

  • 5

    CTRL+Z → bg → disown 콤보로 tmux 없이도 프로세스 생존 가능

터미널, 살고 있으면서 가구 배치는 안 하고 있었던 거임

  • 옆에서 시니어 엔지니어가 줄 맨 앞의 오타 하나 고치겠다고 Backspace를 6초간 꾹 누르고 있는 광경… 다들 한 번쯤 봤을 거임. 우리는 ls, cd, grep 배우고 나서 터미널 학습을 멈춰버림. 사실 셸 개발자들이 이미 1989년에 다 해결해놓은 걸 모르고 사는 거임
  • 이 글은 "비밀 트릭"이 아니라 아무도 안 가르쳐줘서 모르고 있던 것들 모음임. POSIX 어디서든 먹히는 것과 Bash/Zsh 전용으로 나눠서 정리해둠

어디서든 먹히는 POSIX 기본기

  • CTRL + W: /var/log/nginx/ 치다가 apache2로 바꿔야 할 때, Backspace 꾹 누르는 건 숟가락으로 땅파기임. CTRL + W 한 방이면 커서 앞 단어가 통째로 날아감
  • CTRL + U / CTRL + K: 80자짜리 rsync 명령어를 다 쳤는데 목적지 디렉토리 존재 여부를 먼저 확인해야 할 때. CTRL + U로 라인 전체를 잘라내고(kill), 확인 끝나면 CTRL + Y로 그대로 다시 붙여넣기(yank). 명령어를 머릿속에 기억할 필요 없음
  • CTRL + A / CTRL + E: 라인 맨 앞(A)과 맨 끝(E)으로 순간이동. Home/End 키는 홈 로우에서 너무 멀리 있음
  • ALT + B / ALT + F: 단어 단위로 앞뒤 이동. 화살표 키의 쿨한 형 같은 존재 (맥 유저는 터미널에서 Option을 Meta로 설정해야 함)

터미널 깨졌을 때

  • 바이너리 파일을 실수로 cat 해버려서 터미널이 상형문자를 토하기 시작했을 때 — 창 닫지 말고 눈 감고 reset 입력 후 Enter. 글자 안 보여도 됨, 터미널이 알아서 자가 치유함
  • CTRL + L: clear 치기 귀찮을 때, 명령어 입력 중에도 화면을 깨끗하게 밀어버림. 치던 명령어는 그대로 맨 위에 살아있음

디렉토리 핑퐁

  • cd -: TV 채널 돌리기. /usr/local/etc/postfix에서 /var/log 갔다가 다시 돌아올 때 긴 경로 재입력 없이 cd - 한 방이면 됨
  • pushd / popd: cd -가 토글 스위치라면 pushd는 스택임. 디렉토리 3~4개 왔다갔다 해야 할 때 pushd로 쌓아두고 popd로 꺼내면 됨

소소하지만 강력한 것들

  • > file.txt: 파일 내용만 비우고 싶을 때. rm + touch 조합과 달리 파일 퍼미션, 소유자가 그대로 유지되고, 이미 파일을 열고 있는 프로세스도 안 끊김. echo "" > file.txt는 개행문자가 남으니 주의
  • $_: 직전 명령어의 마지막 인자를 가져옴. mkdir -p /some/long/path 하고 바로 cd $_하면 끝. 임시 변수 선언 필요 없음

⚠️주의

> 셸 스크립트 상단에 set -u를 안 넣으면 오타 한 방에 rm -rf /usr/local/${MY_TYPO_VAR}/*rm -rf /usr/local/*로 확장되는 참사가 벌어질 수 있음. set -euo pipefail 조합을 쓰되, -e가 조건문/파이프라인에서 기대와 다르게 동작하는 엣지 케이스가 있으니 맹신은 금물

Bash & Zsh 전용 편의 기능

  • CTRL + R: 지난 화요일에 썼던 awk 명령어 찾겠다고 위 화살표 40번 누르지 말 것. CTRL + R 누르고 키워드 몇 글자만 치면 히스토리에서 바로 검색됨. 한 번 더 누르면 이전 매칭으로 계속 넘어감
  • !! (뱅뱅): systemctl restart nginx 쳤더니 Permission denied 나왔을 때의 그 굴욕감. sudo !! 한 줄이면 "아까 그거 다시 하는데 이번엔 권한 있음" 이 됨
  • CTRL + X → CTRL + E: 원라이너가 점점 괴물이 돼가고 있을 때, 이 콤보를 누르면 현재 입력 중인 명령어가 $EDITOR(Vim이든 Nano든)로 열림. 편집하고 저장하면 바로 실행됨. fc 명령어는 직전 명령어를 에디터에서 여는 포터블 버전
  • ESC + . (또는 ALT + .): 직전 명령어의 마지막 인자를 커서 위치에 바로 삽입. 반복 누르면 히스토리를 더 거슬러 올라감. !$도 비슷하지만 Enter 칠 때 확장되므로 미리 확인이 안 됨

중괄호 확장 마법

  • cp pf.conf{,.bak}cp pf.conf pf.conf.bak으로 확장됨. 백업 한 줄 완성
  • mv filename.{txt,md} → 확장자 변경이 이렇게 우아할 수 있음
  • mkdir -p project/{src,tests,docs} → 디렉토리 3개 동시 생성

프로세스 대체와 글롭

  • 프로세스 대체 <(command): 명령어 출력을 파일처럼 취급. diff <(sort file1) <(sort file2) 하면 임시 파일 만들 필요 없이 정렬된 두 파일을 바로 비교 가능
  • ** (Globstar): Bash에서 shopt -s globstar 켜면 (Zsh는 기본), ls **/*.js로 모든 하위 디렉토리의 JS 파일을 재귀 탐색. find 없이도 됨

💡

> SSH로 붙어서 DB 임포트 돌리고 있는데 tmux 안에서 안 돌렸을 때: CTRL + Z (일시정지) → bg (백그라운드 전환) → disown (셸에서 완전 분리). 이러면 SSH 끊겨도 프로세스가 살아남음. 노트북 덮고 커피 마시러 가도 됨

  • |& + tee: command |& tee file.log로 stdout과 stderr를 동시에 화면에 보면서 로그 파일에도 저장. |만 쓰면 stderr가 파이프를 건너뛰고 화면에만 뿌려지는데, |&2>&1 |의 축약형이라 둘 다 잡아줌

핵심은 "하루에 하나씩"

  • 이걸 한꺼번에 다 외우려고 하지 말 것. 하나 골라서 일주일간 강제로 쓰고, 그다음 하나 추가하는 방식이 저자의 권장 사항임. 터미널은 장애물 코스가 아니라 도구 상자임 — 가구 배치 좀 바꿔놓으면 삶이 달라진다는 이야기

시니어 개발자도 의외로 CTRL+W, CTRL+U 같은 기본 라인 편집을 모르는 경우가 많음. 팀 온보딩 문서에 넣어두면 전체 생산성이 올라갈 트릭들.

댓글

댓글

댓글을 불러오는 중...

devops

디지털 스택을 유럽으로 옮겨보니, 생각보다 꽤 실전적이었다

한 개발자가 분석, 메일, 비밀번호 관리, 컴퓨트, 오브젝트 스토리지, 백업, 이메일, 에러 추적, AI API까지 유럽 중심 스택으로 옮긴 경험을 정리한 글이다. 핵심은 반미 감정이 아니라 데이터가 어디에 있고, 누가 접근할 수 있고, 정치나 기업 정책 변화에 얼마나 휘둘리는지를 의식하자는 얘기다.

devops

개인용 컴퓨터 다음은 개인용 클러스터라는 주장

이 글은 AI 시대에 개인 한 명이 쓰는 컴퓨팅 자원이 점점 ‘클러스터 한 덩어리’ 수준으로 커질 거라고 주장한다. PC가 직장, 취미 개발자, 게임 문화로 퍼졌듯이 개인용 클러스터도 업무용 AI, 오픈소스 실험, 게임 같은 흐름을 타고 대중화될 수 있다는 시나리오다.

devops

AI 에이전트 부하에 흔들린 GitHub, 왜 다른 서비스보다 더 아팠나

GitHub가 최근 몇 달 동안 가용성 저하, 검색 장애, GitHub Actions 문제, 심지어 squash merge에서 커밋이 빠지는 데이터 무결성 사고까지 겪었다. GitHub CTO는 AI 에이전트발 부하 증가를 원인으로 들었지만, 실제로는 2년간 약 3.5배 증가한 부하와 Azure 이전, 오래된 시스템, 조직적 지연이 겹친 문제에 가깝다. 개발자 입장에선 GitHub가 ‘없으면 안 되는 도구’에서 ‘업무를 막는 병목’으로 보이기 시작했다는 게 핵심이다.

devops

한국 클라우드 시장, 이제 GPU랑 데이터센터 싸움으로 넘어감

국내 클라우드 서비스 제공사들이 AI 전환 수요를 잡기 위해 GPUaaS, 데이터센터, 공공 클라우드 사업에 공격적으로 투자하고 있어. 네이버클라우드, KT클라우드, NHN클라우드 모두 2026년 1분기 실적에서 AI 인프라를 핵심 성장축으로 내세웠고, 정부의 2조805억원 규모 GPU 구축 사업이 판을 더 키우는 중이야.

devops

칩값 뛰니 K게임의 콘솔·피시 전환 해법으로 다시 뜨는 클라우드 게임

국내 게임사들이 모바일 중심에서 콘솔·피시로 넘어가려는 타이밍에 고성능 지피유와 콘솔 가격 상승이 발목을 잡고 있다. 이용자 입장에서는 300만원대 게이밍 피시, 오른 콘솔 가격, 스팀 가격 기준 개편까지 겹치면서 고사양 게임 접근성이 떨어지는 상황이다. 업계는 원격 서버에서 게임을 실행해 스트리밍하는 클라우드 게임을 다시 현실적인 대안으로 보고 있다.