배시 fc 명령: 프로처럼 배시 쉘 다루기

이전에 Bash에서 명령을 실행했을 때 철자가 틀려서 오류가 발생한 적이 있나요? 아니면 마지막 세 개의 명령을 잊어 버렸습니까? 이전 명령을 다시 작성하거나 기억하기 대신에 Bash fc 명령어를 사용하여 빠르게 편집하고 이전 명령을 다시 실행할 수 있습니다.

이 기사에서는 명령 기록에서 fc를 활용하여 명령을 편집하고 다시 실행하는 방법을 배우게 됩니다. 이 안내서를 읽은 후에는 원하는 명령 줄 전사처럼 fc를 다루게 될 것입니다!

전제 조건

이 기사는 튜토리얼이 될 것입니다. 단계별로 따라하려고 계획 중이라면 Linux 컴퓨터나 Windows Subsystem for Linux (WSL)이 활성화된 Windows 10 컴퓨터가 필요합니다. 이 튜토리얼에서는 Ubuntu 20.04 LTS를 사용할 것입니다.

Bash fc 명령에 대하여

fc는 Linux 응용 프로그램이 아니라 Bash의 내장 셸 유틸리티입니다. Bash는 대부분의 주요 Linux 배포판에서 사용할 수 있습니다. 몇 번의 키 입력으로 Bash fc 명령을 사용하면 이전 명령을 나열하거나 편집하거나 실행할 수 있습니다.

fc 명령은 Z 셸(ZSH)에서도 사용할 수 있습니다. 그러나 이 문서의 예제는 Bash에서 fc를 사용할 것입니다.

틀린 긴 명령어를 실행했습니까? fc를 사용하면 전체 명령어를 다시 입력할 필요가 없습니다. 대신, fc를 사용하여 선택한 텍스트 편집기로 명령을 편집할 수 있습니다. 편집 후 편집된 명령어는 자동으로 실행됩니다!

fc를 사용해볼 준비가 되었습니까? 함께 알아봅시다!

이전 명령어 나열

컴퓨터에서 멀어져 있었다가 돌아왔는데 어떤 명령어를 실행했는지 잊어버렸습니까? 아니면 올바른 순서로 여러 명령어를 실행했는지 기억이 안 날까요? 걱정하지 마세요, fc가 도와줄 겁니다. 다음은 그 방법입니다.

1. 컴퓨터에서 Bash 터미널을 엽니다.

2. fc를 사용하려면 어떤 명령어 기록이 필요합니다. 방금 새 터미널 창을 열었으므로 아직 명령어 기록이 없을 수 있습니다. 테스트를 위해 명령어 기록을 빌드하려면 아래의 각 명령어를 복사하여 터미널에서 실행하세요. 이 명령어들은 비침입적이며 컴퓨터에 위험을 끼치지 않습니다.

# 화면 지우기
 clear
 
# 터미널 세션에 문자열 출력
 echo 'working on the command line with fc'
 
# 일부 시스템 정보 표시
 uname -a
 
# 프로세스 정보를 얻기 위해 PS 명령 사용
 ps aux

3. 그 다음, 아래 명령을 실행하여 기록에서 모든 명령을 나열하십시오. -l 옵션은 fc가 이전 명령을 모두 나열하고 실행하지 않도록 지시합니다.

fc -l

아래에서 볼 수 있듯이, fc 명령은 이전에 발행한 네 개의 명령을 모두 표시했습니다. 왼쪽의 숫자는 각 명령을 실행한 순서를 나타냅니다.

Listing command history with fc

마지막 명령 편집 및 재실행

어플리케이션을 설치하고 철자를 잘못 입력한 상황을 상상해보십시오. 결과적으로 명령이 실패합니다. 명령 전체를 다시 입력하는 대신 명령을 편집하고 자동으로 다시 실행하는 것이 어떨까요? 이를 위해 다음 단계를 따르십시오.

1. 터미널에서 아래 명령을 실행하여 존재하지 않는 응용 프로그램을 설치하는 시뮬레이션을 수행하십시오. 응용 프로그램 이름 caffiene을 일부러 잘못 입력할 것입니다.

sudo apt install caffiene -y

결과적으로 시도한 설치가 실패합니다. 아래와 유사한 메시지가 표시됩니다.

Failed installation message

2. 마지막으로 실행한 명령을 수정하려면 터미널에서 아래 명령을 실행하십시오. 이렇게 하면 기본 텍스트 편집기에서 명령 기록 버퍼가 열립니다. 이 예제에서 기본 텍스트 편집기는 nano입니다.

fc

아래 스크린샷은 nano 편집기 내에서 마지막 명령을 보여줍니다.

Editing the last command with nano.

만약 나노가 선호하는 텍스트 편집기가 아니라면 fc에게 다른 편집기를 사용하도록 지시할 수 있습니다. 예를 들어, fc -e vi는 vi 텍스트 편집기에서 명령 히스토리를 엽니다.

3. 나노 텍스트 편집기에 들어간 후에, caffiene에서 caffeine으로 응용 프로그램 이름을 수정하십시오.

4. 응용 프로그램 이름을 수정한 후에, CTRL+X를 눌러 나노를 종료하십시오.

5. 변경된 버퍼 저장할까요?라는 다음 프롬프트에서, 변경 사항을 저장하려면 Y —> Enter를 누르십시오.

Editing the last command and saving changes to the history buffer

텍스트 편집기를 종료한 직후, fc는 자동으로 편집한 명령을 실행합니다.

Automatically re-executing the edited command

이전 명령 편집 및 다시 실행하기

fc를 사용하면 실행한 마지막 명령뿐만 아니라 이전에 실행한 모든 명령을 편집할 수 있습니다. 예를 들어, echo 'working on the command line with fc' 명령을 편집하려면 다음 단계를 따르십시오.

1. 터미널에서 아래 명령을 실행하여 이전 명령을 나열하십시오.

fc -l

2. 편집하려는 명령을 명령 히스토리 목록에서 찾아 왼쪽에 있는 번호를 기록하십시오. 이 예에서 명령 번호는 2입니다.

Listing the command history and finding the command number to edit

3. 터미널에서 아래 명령을 실행하여 번호가 2인 명령을 편집하십시오. 명령은 텍스트 편집기에서 편집할 수 있습니다.

fc 2

4. 텍스트 편집기에 들어간 후 필요에 맞게 명령어를 편집하십시오.

5. 명령어를 편집한 후 CTRL+X를 눌러 나노를 종료합니다.

6. 수정된 버퍼를 저장하시겠습니까?라는 다음 프롬프트에서 변경 사항을 저장하려면 Y —> Enter를 누르세요.

Editing a past command entry in the history buffer

편집된 명령어를 저장하고 텍스트 편집기를 종료한 후 수정한 명령어가 셸에서 자동으로 실행됩니다.

여러 명령어 편집 및 다시 실행하기

fc가 한 번에 하나의 이전 명령어만을 편집하고 실행할 수 있다고 생각한다면, 큰 오산입니다. 왜냐하면, fc는 여러 이전 명령어를 편집할 수 있기 때문입니다. 여러 이전 명령어를 편집하는 것이 왜 유용한지 궁금할 것입니다. 하나는 명령어 실행 순서를 변경할 수 있기 때문입니다.

이전 명령어 번호 2에서 7까지 편집하려면 다음과 같이 진행하십시오.

1. 아래 명령어를 Bash 터미널에서 실행하고 Enter를 누릅니다. 아래 명령어는 fc <space> 2 <space> 7로 읽힙니다. 이는 fc가 2에서 7까지의 명령어를 편집할 것임을 의미합니다.

fc 2 7

2. 다음으로, 필요에 따라 명령어를 편집하십시오. 이 예제에서는 다음과 같습니다:

  • sudo apt install caffiene -y 명령어를 삭제하십시오.
  • uname -aps aux의 순서를 변경하십시오.
  • clear를 삭제하십시오.
Editing command history entries 2 through 7 at once

3. 명령어를 편집한 후, 나노를 종료하려면 CTRL+X를 누릅니다.

4. 수정된 버퍼를 저장하시겠습니까?라는 다음 프롬프트에서 변경 사항을 저장하려면 Y —> Enter를 누릅니다.

편집한 명령은 텍스트 편집기를 종료한 후 자동으로 실행됩니다.

Automatically re-executing the edited command

편집없이 이전 명령 다시 실행하기

첫 번째 편집 없이 이전 명령을 실행해야 할 때를 가정해보십시오. fc에는 해당하는 옵션이 있습니다. 아래 단계를 따라 히스토리에서 지정된 항목의 이전 명령을 실행하십시오.

  1. 터미널에서 이전 명령을 나열하려면 아래 명령을 실행하십시오.
fc -l

2. 명령 히스토리 목록에서 다시 실행하려는 명령을 찾고 그 왼쪽의 번호를 기록하십시오. 이 예에서 명령 번호는 2입니다.

Listing the command history and finding the command number to execute

3. 특정 이전 명령을 실행하려면 셸에서 아래 명령을 실행하십시오. -s 옵션은 fc가 편집을 건너뛰고 명령 번호 2를 계속 실행하도록 지시합니다.

fc -s 2

아래 스크린샷은 히스토리에서 명령 번호 2를 실행한 fc를 보여줍니다.

Executing a previous command from the history buffer without editing

결론

본문은 유용하지만 종종 놓치고 잊히는 fc라는 명령에 대한 궁금증을 자극하고자 합니다. fc를 사용하여 이전에 실행한 명령을 다시 입력하는 번거로움을 피하는 방법을 배웠습니다.

fc에 대한 현재 지식을 갖고 있는 당신은 사용할 것으로 생각하십니까? 아니면 여전히 셸에서 명령을 다시 입력할 것입니까? 현명한 선택을하세요!

Source:
https://adamtheautomator.com/bash-fc-command/