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

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

섹션 7진행 0 / 10

6. 연습 문제

문제 1. 백업 한 줄

application.yml 을 application.yml.20260910 으로 복사하는 명령을 중괄호 확장으로 쓰세요.

bash
cp application.yml{,.$(date +%Y%m%d)}

{,.날짜} 가 원본과 백업 이름 두 개로 펼쳐집니다.

문제 2. 히스토리 검색

지난 명령 중 systemctl restart 가 든 것을 찾아 시각과 함께 보는 명령을 쓰세요.

bash
history | grep 'systemctl restart'

HISTTIMEFORMAT 이 설정돼 있어야 시각이 나옵니다. 대화형으로는 Ctrl+R 뒤 restart 를 칩니다.

문제 3. 폴더 다섯 개

release/v1 부터 release/v5 까지 한 번에 만드는 명령을 쓰세요.

bash
mkdir -p release/v{1..5}

{1..5} 가 숫자 범위로 펼쳐집니다.

문제 4. 세션 유지

3시간 걸리는 migrate.sh 를 접속이 끊겨도 돌게 실행하고, 나중에 다시 확인하는 명령 순서를 쓰세요.

bash
tmux new -s migrate
bash migrate.sh
# Ctrl+B d 로 떼어 두고 접속 종료
tmux attach -t migrate

nohup bash migrate.sh & 도 되지만 화면을 다시 볼 수 있는 것은 tmux 입니다.

문제 5. 조건 연결

build/ 폴더로 이동한 뒤에만 *.tmp 를 지우고, 이동에 실패하면 "폴더 없음" 을 출력하는 한 줄을 쓰세요.

bash
cd build && rm -f *.tmp || echo "폴더 없음"

&& 가 성공 조건, || 가 실패 처리입니다. ; 를 쓰면 안 되는 대표 사례입니다.