소개
웹사이트를 방문했다가 탭을 닫은 후 다시 방문해야 했던 경험이 있습니까? 이때 브라우저의 History를 사용했을 것입니다.
Linux 터미널에도 같은 기능이 있습니다! Linux 는 명령을 Command History라는 기록에 저장합니다.
셸 작업은 반복되는 경우가 많기 때문에 이 기능이 중요합니다. 기록 기능은 단순히 입력을 줄여 주는 편의 기능이 아닙니다. 입력량을 줄이고, 실수를 방지하고, 이미 정상적으로 실행된 명령을 재사용하는 실용적인 방법입니다.
이 실습에서는 이 기록에 접근하고, 최근 작업을 다시 실행하고, 이전 명령을 검색하는 방법을 배웁니다.
명령 기록 확인
이 단계에서는 명령 기록을 확인합니다. 셸은 사용자가 실행한 명령을 목록에 기록합니다.
먼저 다음 명령을 실행하여 기록을 만듭니다.
ls
pwd
whoami
이제 기록을 확인합니다.
history
입력한 명령이 번호와 함께 다음과 같이 표시됩니다.
1 ls
2 pwd
3 whoami
이 목록은 현재 세션의 실행 기록입니다.
이 번호는 유용합니다. 명령 기록은 단순한 일지가 아니라 색인이기도 합니다. 셸은 저장된 명령을 다시 불러오거나, 반복 실행하거나, 검색할 때 이 번호를 사용합니다.
마지막 3 개 항목만 확인하려면 다음을 실행합니다.
history -3
마지막 명령 반복하기 (!!)
이 단계에서는 Linux 의“반복”기능인 !!을 사용합니다. !!은“bang-bang”이라고 읽습니다.
!!은 바로 직전에 실행한 명령을 불러옵니다.
날짜를 확인합니다.
date
이제 date를 다시 입력하지 않고 다음을 실행합니다.
!!
터미널은 검토할 수 있도록 !!을 date로 확장하여 표시합니다. 확장된 명령을 실행하려면 Enter를 다시 누릅니다.
이를 명령 기록 확장이라고 합니다. 셸은 이전 명령을 가리키는 축약된 참조를 해석하고, 명령을 실행하기 전에 실제 명령으로 바꿉니다.
echo로도 시도해 봅니다.
echo "Hello LabEx"
!!
!!이 확장된 후 Enter를 다시 눌러 불러온 echo 명령을 실행합니다. 이 기능을 사용하면 명령을 실행하기 전에 확인하면서“같은 작업을 다시 실행”할 수 있습니다.
명령 불러오기 (역방향 검색)
이 단계에서는 기록 목록을 스크롤하지 않고 이전 명령을 찾습니다.
역방향 검색(Ctrl+R) 을 사용합니다. 웹페이지에서“페이지에서 찾기”를 사용하는 것과 비슷합니다.
먼저 테스트할 명령 두 개를 실행합니다.
grep "root" /etc/passwd
grep "bin" /etc/passwd
이제 처음 실행한 grep "root" 명령을 찾습니다.
Ctrl+R을 누릅니다. 프롬프트가 (reverse-i-search) 또는 bck-i-search로 바뀝니다.
grep을 입력하기 시작합니다. 터미널에 가장 최근에 일치하는 명령 (grep "bin"...) 이 표시됩니다. 이전 일치 항목으로 이동하려면 Ctrl+R을 다시 누릅니다. grep "root"...이 표시되면 Enter를 눌러 실행합니다.
전문가들은 이렇게 빠르게 작업합니다. 명령을 직접 입력하는 대신 검색합니다.
이는 터미널을 사용하는 방식에서 중요한 관점의 변화입니다. 효율적인 터미널 사용은 모든 명령을 처음부터 외우고 다시 입력하는 것이 아닙니다. 셸에 내장된 도구를 사용하여 이미 실행한 명령을 불러오고 필요에 맞게 수정하는 것입니다.
요약
이 실습에서는 모든 작업을 기억에만 의존할 필요가 없다는 점을 배웠습니다. Linux 가 대신 기억해 줍니다.
history: 이전 작업을 기록한 명령 기록입니다.!!: 마지막 명령을 반복하는“반복”기능입니다.Ctrl+R: 이전 명령을 즉시 찾는“검색”기능입니다.
이 도구들을 사용하면 작업 속도가 빨라지고 입력 실수가 줄어듭니다. 긴 명령을 다시 입력할 수 있는데, 굳이 두 번 입력할 필요가 있을까요?



