모든 사용자가 알아야 할 필수 Bash 팁과 요령

모든 사용자가 알아야 할 필수 Bash 팁과 요령

Linux를 처음 사용하는 사람에게 터미널을 실행하는 경험은 짜릿하면서도 압도적일 수 있습니다.터미널은 다양한 명령과 기능을 제공하지만, 깜빡이는 커서는 초보자에게는 다소 부담스러울 수 있습니다.이러한 전환을 돕기 위해, 사용자가 터미널에서 더욱 효율적으로 작업할 수 있도록 필수적인 Bash 팁과 요령을 모아봤습니다.

Bash와 터미널 이해

Bash와 터미널의 차이점을 명확히 하는 것이 중요합니다.터미널은 운영 체제와 상호 작용하기 위해 명령을 내리는 인터페이스 또는 애플리케이션 역할을 합니다.반면 Bash는 사용자가 입력한 명령을 처리하고 실행하는 UNIX 시스템용 명령 언어 인터프리터인 셸입니다.따라서 터미널을 사용할 때는 기본적으로 Bash 셸(또는 zsh나 fish와 같은 다른 셸)을 사용하는 것입니다.앞으로 다룰 팁과 요령은 주로 Bash 환경에서 효율성을 최적화하는 데 중점을 둡니다.

1.일반 명령에 대한 사용자 정의 별칭 활용

긴 명령을 반복해서 입력하면 번거로울 수 있습니다.별칭을 사용하면 작업 흐름을 크게 간소화할 수 있습니다.별칭을 사용하면 긴 명령에 기억하기 쉬운 단축키를 할당하여 입력량을 줄일 수 있습니다.

예를 들어, 를 입력하는 대신 git status와 같은 별칭을 만들 수 있습니다 gs.별칭은 세션 동안 임시로 사용하거나 영구적으로 사용할 수 있습니다.임시 별칭을 만들려면 다음을 실행하세요.

alias gs="git status"

이제 입력하면.별칭이 gs실행됩니다 git status.영구 별칭을 사용하려면 nano와 같은 선호하는 텍스트 편집기를 사용하여 Bash 설정 파일(일반적으로 “~/.bashrc” 또는 “~/.bash_profile”에 있음)을 편집하세요.

sudo nano ~/.bashrc

파일 끝에 별칭 정의를 추가하고 저장한 후 터미널을 다시 시작하거나 다음을 실행합니다.

sudo source ~/.bashrc

이제 모든 세션에서 이러한 별칭을 사용할 수 있습니다.예를 들어, 업데이트 명령에는 다음을 사용합니다.

alias update='sudo apt update && sudo apt upgrade -y'

이렇게 하면 간단히 를 입력하여 update전체 명령을 실행할 수 있습니다.또한, 함수를 사용하면 매개변수를 받는 별칭을 만들 수 있습니다.

mkcd() {mkdir -p "$1" && cd "$1"}

이 명령은 mkcd projects/new-app지정된 디렉터리를 생성하고 해당 디렉터리로 이동합니다.혼란을 피하기 위해 기존 명령을 덮어쓰지 않도록 주의하세요.

2.명령 기록을 즉시 검색

터미널 기록을 스크롤하는 것은 지루할 수 있습니다.다행히 Bash는 이전 명령을 쉽게 다시 찾아볼 수 있는 빠른 검색 도구를 제공합니다.

명령 기록 검색

Ctrl+ 키를 누르기만 하면 R프롬프트가 전환되어 원하는 명령어의 일부를 입력할 수 있습니다.입력하는 동안 Bash는 기록에서 가장 최근에 일치하는 명령어를 표시합니다.

다음 스니펫을 “~/.inputrc” 파일에 추가하여 이 기능을 향상시킬 수도 있습니다(파일이 없으면 만드세요).

"\e[A": history-search-backward"\e[B": history-search-forwardset show-all-if-ambiguous onset completion-ignore-case on

Up터미널을 다시 로드한 후 명령의 시작 부분을 입력한 다음 / 화살표 키를 사용하여 명령 기록을 검색할 수 있습니다 Down.

3.파이프라인 및 리디렉션을 사용한 체인 명령

Bash에서는 여러 명령을 연결하여 한 명령의 출력을 다른 명령의 입력으로 사용할 수 있습니다.|이를 위해 파이프라인 연산자( )를 활용하세요.예를 들어, 실행 중인 작업 중 Python 프로세스만 보고 싶다면 다음과 같이 명령을 결합할 수 있습니다.

ps aux | grep python

필터 프로세스에 대한 명령 체이닝

여기에서는 ps aux모든 활성 프로세스를 나열하고, grepPython과 관련된 프로세스를 필터링하여 표시합니다.또한, 추가 명령을 연결하여 효율적인 스크립트를 만들 수도 있습니다.예:

cat logfile.txt | grep "error" | wc -l

이 명령은 로그 파일에서 오류로 표시된 줄의 수를 센다.세 가지 명령이 조화롭게 작동한다.

리디렉션은 또 다른 중요한 기능입니다.명령 출력을 터미널에 출력하는 대신 파일에 저장할 수 있습니다.예를 들어, 디렉터리 목록을 저장하려면 다음을 사용할 수 있습니다.

ls -l > files.txt

>>덮어쓰는 대신 출력을 추가하는 데 사용합니다.이 기능은 특히 데이터 로깅 및 백업에 유용합니다.

4.백그라운드에서 명령 실행

터미널을 가득 채우는 긴 명령을 실행한 경우, 새 세션을 시작할 필요가 없습니다.대신 명령을 백그라운드로 푸시하고 터미널을 계속 사용하세요.

Ctrl+를 눌러 Z실행 중인 명령을 일시 중지하고 셸 프롬프트로 돌아갑니다.그런 다음 다음을 사용하세요.

bg

이렇게 하면 백그라운드에서 명령이 다시 시작됩니다.작업 상태를 확인하려면 다음과 같이 입력하세요.

jobs

백그라운드 작업을 다시 포그라운드로 가져오려면 다음을 사용하세요.

fg %1

작업 번호를 지정할 수 있습니다.지정하지 않으면 fg가장 최근 작업으로 기본 설정됩니다.명령을 백그라운드에서 시작하려면 &명령 뒤에 다음 명령을 추가하세요.

some_long_task &

이렇게 하면 터미널을 닫지 않고도 명령을 시작할 수 있습니다.터미널을 닫을 때 작업이 종료되는 것을 방지하려면 다음을 사용하세요.

disown -h %job

이 명령은 셸 종료 시 해당 작업에 “끊지 마세요” 신호를 보냅니다.nohup시작 시에 사용하면 비슷한 결과를 얻을 수 있지만, 백그라운드 작업이 여전히 터미널에 출력될 수 있다는 점에 유의하세요.

5.`sudo`로 마지막 명령을 다시 실행합니다.(sudo!!)

이 특별한 트릭은 일반적인 상황, 즉 슈퍼유저 권한이 필요한 명령을 실행하는 상황을 해결합니다.이 !!명령은 마지막 명령을 가져오므로, 상승된 권한으로 빠르게 다시 실행할 수 있습니다.

예를 들어, 다음과 같은 설치 스크립트를 실행하려고 시도한 후 ./SCRIPT-NAME.sh권한 오류가 발생하면 다음을 입력하기만 하면 됩니다.

sudo! !

비밀번호를 입력하면 다시 작업을 시작할 수 있습니다.이 작은 명령은 상당한 시간을 절약해 주고 익숙해지면 자연스럽게 익숙해질 것입니다.

Bash 팁과 트릭 재실행 명령

6.여러 명령을 한 번에 실행

Bash는 작업 속도를 높이기 위해 여러 명령을 연속으로 실행할 수 있도록 합니다.결과에 관계없이 명령을 순차적으로 실행하려면 세미콜론( ;)을 사용합니다.

mkdir newdir; cd newdir; touch file.txt

첫 번째 명령이 성공해야만 두 번째 명령을 실행하려면 이중 앰퍼샌드( &&)를 사용합니다.

sudo apt update && sudo apt upgrade

반대로, 이전 명령이 실패할 경우에만 명령을 실행하려면 이중 수직 막대( ||)를 활용하세요.

backup_database || echo "Backup failed!"

Bash는 백그라운드 처리도 허용합니다.터미널을 비우는 동안 백그라운드에서 명령을 실행하려면 앰퍼샌드만 추가하면 됩니다.

python script.py & firefox &

이 기능은 Firefox를 실행하는 동시에 Python 스크립트를 실행합니다.연습을 통해 명령어를 연결하고 백그라운드 작업을 관리하면 터미널과의 상호 작용이 더욱 유기적으로 변화할 것입니다.

7. Apropos로 명령어 알아보기

apropos명령은 수동 입력 설명을 기반으로 명령을 찾는 데 매우 유용한 도구입니다.매뉴얼 페이지를 사용해 보셨다면 상단의 메타데이터를 알아보실 겁니다.apropos키워드를 입력한 후 명령을 실행하면 관련된 모든 명령줄 도구를 볼 수 있습니다.

Bash 팁과 요령

예를 들어, 입력하면 apropos icmp해당 주제와 관련된 명령 목록이 검색됩니다.이 기능은 이전에 익숙하지 않았던 유틸리티(예: ; )를 찾는 데 특히 유용합니다. SELinux 정책 관리에 사용할 수 있는 명령을 보려면 selinux간단히 실행하세요.apropos selinux

8.마지막 명령의 요소를 대체합니다.

이전 명령의 실수를 바로잡는 데 유용한 전략은 대체(substitution)를 사용하는 것입니다.실수로 명령을 잘못 입력한 경우, 캐럿( ) 기호를 사용하여 빠르게 수정할 수 있습니다 ^.

예를 들어, ping을 보내려고 maketecheasier.com하는데 잘못 입력한 경우 maktecheaser.com다음을 실행할 수 있습니다.

^maktecheaser.com^maketecheasier.com

>이 명령은 올바른 주소로 ping 요청을 효율적으로 다시 실행합니다.이 방법은 특히 긴 명령이나 복잡한 인수에 유용합니다..로 바꾸는 등 출력 리디렉션 오류를 바로잡는 데 사용하는 것을 고려해 보세요 >>.

9.이전 명령의 인수 전달

!$구문을 사용하면 이전 명령의 마지막 인수를 재사용할 수 있습니다.또한, 변형을 통해 특정 인수를 쉽게 통합할 수 있습니다.

예를 들어, 방금 파일을 편집하고 nano samplescript.sh실행 권한을 부여하려는 경우 다음을 실행하기만 하면 됩니다.

chmod 755! $

이전 명령의 두 번째 인수를 참조하는 데 에도 사용할 수 있습니다 ./!:2.다음은 대체 옵션에 대한 간략한 개요입니다.

!^ - first argument!* - all arguments!:2-$ - second through last arguments!:2-4 - second through fourth arguments

Bash는 약 100개의 인수를 가지고 있기 때문에 이 기능을 사용하면 터미널 사용 시 효율성을 크게 향상시킬 수 있습니다.

이 Bash 팁과 요령이 여러분에게 도움이 되고 터미널에서 명령을 더욱 효과적으로 실행하는 데 도움이 되기를 바랍니다.즐거운 Bash 스크립팅 되시길 바랍니다!

출처 및 이미지

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다