> For the complete documentation index, see [llms.txt](https://linux-tutorial-cli.gitbook.io/linux-cli-tutorial/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://linux-tutorial-cli.gitbook.io/linux-cli-tutorial/txt-files/fg.md).

# fg

## fg

The `fg` command in Unix and Linux shells is used to bring a background job to the foreground, making it the active job that receives input from the terminal. This command is part of job control, which allows you to manage processes running in the shell session.

#### Basic Usage

The basic syntax for `fg` is:

```sh
fg [job_spec]
```

* **`job_spec`**: Specifies the job to bring to the foreground. It can be either a job ID (preceded by `%`) or a process ID (PID).

#### Examples

**Bringing the Most Recent Background Job to the Foreground**

To bring the most recent background job to the foreground:

```sh
fg
```

**Bringing a Specific Job to the Foreground**

To bring a specific job (identified by its job ID) to the foreground:

```sh
fg %1
```

* This command brings the job with job ID 1 (`%1`) to the foreground.

**Bringing a Job by PID to the Foreground**

Alternatively, you can bring a job to the foreground by specifying its process ID (PID):

```sh
fg 1234
```

* Replace `1234` with the actual process ID of the job you want to bring to the foreground.

#### Practical Use Cases

* **Switching Between Tasks**: Move between background and foreground processes efficiently.
* **Interactive Processes**: Interact with jobs that require user input.
* **Monitoring and Control**: Manage multiple tasks running concurrently in the shell.

#### Tips

* **Ctrl + Z**: Use `Ctrl + Z` to suspend a foreground process and move it to the background.
* **`bg` Command**: Use `bg` to resume a suspended job in the background.

#### Summary

The `fg` command is essential for managing job control in Unix and Linux shells, allowing users to switch between foreground and background tasks. It provides flexibility in managing processes efficiently within the shell environment. Understanding how to use `fg` effectively enhances productivity and task management on Unix-based systems.

## help

```
```
