개요
리눅스에서는 `&` 기호를 사용해 작업을 백그라운드에서 실행하거나, `Ctrl+Z`를 눌러 포그라운드 작업을 일시 정지시킬 수 있습니다. 이렇게 백그라운드로 전환된 작업은 터미널의 제어권을 놓게 되어 사용자 입력이나 화면 출력이 중단됩니다. `fg` 명령어는 이러한 작업을 다시 포그라운드로 가져와서 터미널의 제어권을 되찾는 역할을 합니다. 주로 `jobs` 명령어로 확인한 작업 번호와 함께 사용됩니다.
주요 특징
fg 명령어의 주요 특징은 다음과 같습니다.
- 백그라운드 작업을 포그라운드로 전환합니다.
- 작업 번호(job number)를 통해 특정 작업을 지정할 수 있습니다.
- 작업의 출력 결과를 실시간으로 다시 확인할 수 있습니다.
- 사용자 입력을 다시 받을 수 있는 상태로 만듭니다.
fg와 bg의 차이
fg와 bg는 모두 백그라운드 작업을 제어하지만, 역할이 서로 다릅니다.
- fg: 백그라운드에서 실행 중인 작업을 포그라운드로 전환하여 터미널 제어권을 가져옵니다.
- bg: 일시 정지된 작업을 백그라운드에서 계속 실행되도록 전환합니다.
주요 옵션
fg 명령어는 주로 인자(작업 번호)와 함께 사용됩니다. 별도의 복잡한 옵션은 없습니다.
1) 실행 옵션
생성된 명령어:
명령어를 조합해 보세요.
설명:
`fg` 명령어를 실행합니다.
위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.
사용 예시
fg 명령어의 다양한 사용 예시를 통해 기능을 익혀보세요.
작업을 백그라운드로 보낸 후 포그라운드로 전환
sleep 100 &
jobs
fg %1
`sleep 100` 명령을 백그라운드(`&`)로 실행한 후, `jobs`로 확인하고 `fg`로 다시 포그라운드로 가져옵니다.
작업을 일시 정지 후 포그라운드로 전환
ping google.com
(Ctrl+Z 입력)
jobs
fg
`ping` 명령을 실행하다 `Ctrl+Z`로 정지시킨 후, `jobs`로 확인하고 `fg`로 다시 실행합니다.
두 번째 작업을 포그라운드로 전환
jobs
fg %2
`jobs`로 확인한 목록에서 두 번째 작업(`%2`)을 포그라운드로 가져옵니다.
설치
fg는 셸(bash, zsh 등)의 내장 명령어로, 별도의 설치가 필요하지 않습니다.
팁 & 주의사항
fg 명령어 사용 시 유의할 점들을 정리했습니다.
팁
- `jobs` 명령을 사용하면 현재 셸에 어떤 작업이 있는지 확인할 수 있으며, `[1]`과 같은 대괄호 안의 숫자가 바로 작업 번호입니다.
- `fg` 명령에 인자를 지정하지 않으면 가장 최근에 백그라운드로 보냈거나 정지시킨 작업을 포그라운드로 가져옵니다.
- 백그라운드에서 실행 중인 작업을 포그라운드로 가져온 후, 다시 백그라운드로 보내려면 `Ctrl+Z`로 일시 정지시키고 `bg`를 사용하면 됩니다.