하루에 같은 명령을 수십 번 치는 시스템 관리자에게 셸은 단순한 입력기 이상이어야 한다. 자주 쓰는 긴 명령을 짧은 단어로 줄이고(alias), 어제 친 명령을 다시 끄집어내고(history), 시간이 오래 걸리는 작업을 백그라운드로 돌리면서 동시에 다른 일을 한다(job control). 이런 편의 기능들은 1978년 C 셸(csh)이 처음 도입했고, bash가 이를 흡수해 오늘날 리눅스 작업 흐름의 기본이 되었다.
오늘은 별칭과 히스토리, 작업 제어(foreground/background, jobs/fg/bg, nohup), 그리고 명령 치환을 깊이 다룬다. 특히 작업 제어는 "터미널을 닫으면 왜 프로세스가 죽는가", "어떻게 하면 안 죽게 하는가" 같은 실무 질문과 직결되어 1급에서 비중 있게 다뤄진다.
alias는 명령이나 명령 묶음에 별명을 붙이는 기능이다. 자주 쓰는 옵션 조합을 외우지 않아도 되게 해준다.
alias # 등록된 모든 별칭 보기
alias ll='ls -alF' # ll 입력 시 ls -alF 실행
alias rm='rm -i' # rm을 항상 확인 모드로 (안전장치)
alias ..='cd ..' # .. 입력으로 상위 디렉터리 이동
alias grep='grep --color=auto' # grep 결과에 색상