1. Bash
1.1 정의
- Bash(Bourne Again SHell)는 리눅스와 Unix 시스템에서 가장 널리 사용되는 쉘이다.
- 명령어를 입력받아 실행하고, 스크립트를 실행하거나 시스템 작업을 제어할 수 있는 환경을 제공한다.
1.2 주요 기능
- 명령어 실행: 사용자가 입력한 명령어를 처리하고 실행한다.
- 스크립트 실행: Bash 스크립트를 통해 자동화된 작업 수행이 가능하다.
- Job Control 지원: fg, bg, jobs, &와 같은 명령으로 프로세스를 제어할 수 있다.
- Bash는 Unix와 Linux 시스템에서 가장 널리 사용되는 쉘 프로그램이다.
- 명령어를 실행하거나 스크립트를 작성하여 반복 작업을 자동화할 수 있다.
- Bash는 다양한 편의 기능을 제공하며, 특히 job control 기능을 통해 프로세스를 관리할 수 있다.
2. Screen
2.1 정의
- GNU Screen은 터미널 멀티플렉서로, 단일 터미널에서 여러 세션을 실행하거나 원격 세션을 유지하는 데 사용된다.
2.2 주요 기능
- 세션 유지: 네트워크 연결이 끊어져도 실행 중인 작업을 유지한다.
- 멀티플렉싱: 하나의 터미널 창에서 여러 세션을 실행하고 관리할 수 있다.
- 단축키를 통한 작업 제어:
- CTRL-A + C: 새 창 생성
- CTRL-A + D: 현재 세션 분리(detach)
- screen -r: 분리된 세션 재연결
2.3 예제
# 새 Screen 세션 시작
$ screen
# 세션 분리
CTRL-A + D
# 분리된 세션 재연결
$ screen -r
3. Tmux
3.1 정의
- Tmux는 Screen과 유사한 터미널 멀티플렉서로, 더 많은 기능과 사용자 친화적인 설정 옵션을 제공한다.
3.2 주요 기능
- 창 분할: 하나의 터미널에서 창을 가로/세로로 분할하여 사용할 수 있다.
- 세션 관리: 여러 세션을 쉽게 전환하거나 재연결 가능하다.
- 단축키를 통한 작업 제어:
- CTRL-B + C: 새 창 생성
- CTRL-B + D: 세션 분리
- tmux attach: 분리된 세션 재연결
3.3 예제
# 새 Tmux 세션 시작
$ tmux
# 세션 분리
CTRL-B + D
# 분리된 세션 재연결
$ tmux attach
4. Unix Job Control
4.1 정의
- Job Control은 프로세스를 백그라운드 또는 포그라운드로 전환하거나 일시 중지 및 재개할 수 있는 Bash의 기능이다.
4.2 주요 명령어 및 단축키
- & (백그라운드 실행):
- 명령어를 백그라운드에서 실행할 때 사용한다.
- 예: sleep 100 &
- jobs:
- 현재 쉘에서 실행 중이거나 중단된 작업 목록을 확인한다.
- 예: jobs
- bg:
- 중단된 작업을 백그라운드로 전환하여 실행한다.
- 예: bg %1
- fg:
- 백그라운드 작업을 포그라운드로 가져온다.
- 예: fg %1
- CTRL-Z (일시 중지):
- 실행 중인 작업을 일시 중단한다.
- 이후 bg 또는 fg 명령으로 재개 가능하다.
- kill:
- 특정 작업을 종료한다.
- 예: kill %1 또는 kill PID
4.3 예제
# 긴 작업을 백그라운드에서 실행
$ sleep 100 &
# 현재 작업 상태 확인
$ jobs
# 작업을 포그라운드로 가져오기
$ fg %1
'Wargame > bandit wargame' 카테고리의 다른 글
21 → 27 까지 필요한 명령어 (1) | 2025.01.06 |
---|---|
Bandit Level 20 → 21 (2) | 2025.01.06 |
Bandit Level 19 → 20 (0) | 2025.01.06 |
Bandit Level 18 → 19 (0) | 2025.01.06 |
Bandit Level 17 → 18 (0) | 2025.01.06 |