셸 활용 (히스토리·별칭·단축키)
6. 연습 문제
문제 1. 백업 한 줄
application.yml 을 application.yml.20260910 으로 복사하는 명령을 중괄호 확장으로 쓰세요.
cp application.yml{,.$(date +%Y%m%d)}{,.날짜} 가 원본과 백업 이름 두 개로 펼쳐집니다.
문제 2. 히스토리 검색
지난 명령 중 systemctl restart 가 든 것을 찾아 시각과 함께 보는 명령을 쓰세요.
history | grep 'systemctl restart'HISTTIMEFORMAT 이 설정돼 있어야 시각이 나옵니다. 대화형으로는 Ctrl+R 뒤 restart 를 칩니다.
문제 3. 폴더 다섯 개
release/v1 부터 release/v5 까지 한 번에 만드는 명령을 쓰세요.
mkdir -p release/v{1..5}{1..5} 가 숫자 범위로 펼쳐집니다.
문제 4. 세션 유지
3시간 걸리는 migrate.sh 를 접속이 끊겨도 돌게 실행하고, 나중에 다시 확인하는 명령 순서를 쓰세요.
tmux new -s migrate
bash migrate.sh
# Ctrl+B d 로 떼어 두고 접속 종료
tmux attach -t migratenohup bash migrate.sh & 도 되지만 화면을 다시 볼 수 있는 것은 tmux 입니다.
문제 5. 조건 연결
build/ 폴더로 이동한 뒤에만 *.tmp 를 지우고, 이동에 실패하면 "폴더 없음" 을 출력하는 한 줄을 쓰세요.
cd build && rm -f *.tmp || echo "폴더 없음"&& 가 성공 조건, || 가 실패 처리입니다. ; 를 쓰면 안 되는 대표 사례입니다.