리눅스/리눅스 기초

[리눅스 셸] 커맨드 라인 편집

Linuxpia 2024. 10. 19. 17:07
반응형

리눅스 셸에서 커맨드 라인 편집

리눅스 셸에서 커맨드 라인 편집은 사용자가 명령어를 입력하는 도중에 커서를 이동하거나 텍스트를 수정할 수 있게 해주는 기능입니다. Bash와 같은 대부분의 리눅스 셸은 GNU Readline 라이브러리를 사용하여 이러한 편집 기능을 제공합니다. 이를 통해 커맨드 라인에서 효율적으로 작업할 수 있으며, 명령어를 더 쉽게 수정하거나 재사용할 수 있습니다. 자주 사용되는 커맨드 라인 편집 기능은 다음과 같습니다.

1. 커서 이동

  • Ctrl + a: 커서를 명령어 줄의 시작으로 이동
  • Ctrl + e: 커서를 명령어 줄의 끝으로 이동
  • Alt + b: 단어 단위로 커서를 왼쪽으로 이동
  • Alt + f: 단어 단위로 커서를 오른쪽으로 이동
  • Ctrl + b: 한 글자 왼쪽으로 이동
  • Ctrl + f: 한 글자 오른쪽으로 이동

2. 텍스트 편집

  • Ctrl + u: 커서부터 줄의 시작까지 삭제
  • Ctrl + k: 커서부터 줄의 끝까지 삭제
  • Ctrl + w: 커서 왼쪽 단어 삭제
  • Alt + d: 커서 오른쪽 단어 삭제
  • Ctrl + d: 커서 위치의 글자 삭제 (또는 EOF 전송)
  • Ctrl + h: 백스페이스 (현재 커서 위치의 이전 글자 삭제)

3. 텍스트 삽입 및 복구

  • Ctrl + y: 마지막으로 삭제한 텍스트 붙여넣기 (Yank)
  • Alt + y: 이전에 삭제한 텍스트를 붙여넣기 (Kill Ring에서 순환)

4. 명령어 히스토리 탐색

  • Ctrl + r: 이전 명령어 검색 (역순으로 검색)
  • Ctrl + g: 검색 종료 (검색된 명령어 무시)
  • : 이전 명령어로 이동
  • : 다음 명령어로 이동

5. 히스토리 편집 및 실행

  • !!: 마지막 명령어를 실행
  • !n: 히스토리에서 n번째 명령어 실행
  • !string: string으로 시작하는 가장 최근 명령어 실행

6. 탭 자동 완성

  • Tab: 명령어 또는 파일 이름 자동 완성

예시

$ echo "Linux Guide is great"
# 'great'를 'awesome'으로 변경하고 싶을 때
Ctrl + b  # 한 글자씩 이동 6회
Ctrl + k  # 글자 끝까지 삭제
awesome"  # 'awesome"' 삽입

커맨드라인 편집

정리

리눅스 셸에서 커맨드 라인 편집은 효율적인 명령어 입력과 수정이 가능하도록 다양한 단축키를 제공합니다. 커서 이동, 텍스트 삭제 및 삽입, 명령어 히스토리 탐색 등의 기능을 익히면 명령어를 더욱 빠르게 입력하고 편집할 수 있습니다. GNU Readline 라이브러리가 이러한 편집 기능의 핵심 역할을 하며, 이를 잘 활용하면 생산성을 크게 향상시킬 수 있습니다.