.bashrc란 무엇이며 이를 사용자 지정하는 방법

.bashrc란 무엇이며 이를 사용자 지정하는 방법

홈 디렉토리에 숨겨져 있는 숨겨진 파일이 많이 있습니다. macOS 또는 널리 사용되는 Linux 배포판을 실행하는 경우 숨겨진 파일 상단 근처에 “.bashrc”라는 파일이 표시됩니다. 여기서 우리는 무엇을 설명합니다. bashrc 파일을 편집하고 사용자 지정해야 하는 이유를 설명합니다.

무엇인가요. bashrc

Unix 기반 또는 Unix와 유사한 운영 체제를 실행하는 경우 bash가 기본 터미널로 설치되었을 수 있습니다. 다양한 셸이 존재하지만 bash는 가장 일반적이고 가장 많이 사용되는 셸입니다. 이것이 무엇을 의미하는지 모르는 경우 bash는 터미널 프로그램에서 입력한 입력을 해석하고 입력에 따라 명령을 실행합니다. 스크립팅을 사용하여 어느 정도 사용자 정의할 수 있습니다. bashrc가 들어갑니다.

파일 관리자 안에 있는 bashrc 파일의 스크린샷.

그만큼. bashrc 파일에는 bash 셸에 대한 사용자 지정 옵션 목록이 포함되어 있습니다. 시작할 때마다 로드됩니다. 그만큼. bashrc 파일은 홈 사용자 디렉터리에 있습니다. 그만큼. 파일 이름 앞의 (점)은 일반 보기에서 숨겨져 있음을 의미합니다. 파일을 보려면 “숨김 파일 보기” 옵션을 활성화해야 합니다.

어떻게 편집할 수 있습니까? bashrc

편집할 수 있습니다. 모든 텍스트 편집기에서 bashrc. nano를 사용하여 터미널에서 편집할 수도 있습니다.

nano ~/.bashrc

당신이 당신을 편집 한 적이 없다면. 이전에 bashrc 파일을 찾았다면 비어 있음을 알 수 있습니다. 괜찮아! 그렇지 않은 경우 아무 줄에나 자유롭게 추가할 수 있습니다.

bashrc의 편집은 bash의 스크립팅 형식을 따라야 합니다 . bash로 스크립팅하는 방법을 모르는 경우 온라인에서 사용할 수 있는 여러 리소스가 있습니다. 이 가이드는 여기서 언급하지 않은 Bash의 측면에 대한 초보자 친화적인 소개를 나타냅니다.

변경 사항. 다음에 터미널을 시작할 때 bashrc가 적용됩니다. 즉시 적용하려면 아래 명령을 실행하십시오.

source ~/.bashrc

.bashrc 사용자 정의 팁

터미널 환경을 보다 효율적이고 사용자 친화적으로 만들기 위해 수행할 수 있는 몇 가지 유용한 트릭이 있습니다.

1. 별칭

별칭을 사용하면 긴 명령의 짧은 버전을 만들 수 있습니다.

예를 들어, ls 명령은 종종 디렉토리의 내용을 표시하는 데 사용됩니다. ls -lha더 자세한 내용을 표시하는 데 사용할 수도 있습니다 . ll이제 실행으로 설정된 별칭이 있습니다 ls -lha. ll터미널에 입력하면 ls -lha명령이 실행됩니다.

기본 별칭 목록을 보여주는 터미널.

다음과 같이 별칭의 형식을 지정해야 합니다.

alias ll="ls -lha"

바꿀 텍스트를 왼쪽에 입력하고 명령을 따옴표 사이에 오른쪽에 입력합니다. 이를 사용하여 더 짧은 버전의 명령을 만들거나, 일반적인 오타를 방지하거나, 항상 선호하는 플래그와 함께 명령이 실행되도록 할 수 있습니다. 자신이 선호하는 속기를 사용하여 성가시거나 잊기 쉬운 구문을 피할 수도 있습니다.

2. 기능

약식 명령 이름 외에도 bash 함수를 사용하여 여러 명령을 단일 작업으로 결합할 수 있습니다. 꽤 복잡해질 수 있지만 일반적으로 다음 구문을 따릅니다.

function_name () {
command_1
command_2
}

예를 들어 아래 명령은 mkdir및 를 결합합니다 cd. 입력하면 md folder_name작업 디렉토리에 “folder_name”이라는 디렉토리가 생성되고 즉시 해당 디렉토리로 이동합니다.

md () {
mkdir -p $1
cd $1}

함수에 표시되는 는 $1함수 이름 바로 뒤에 입력하는 텍스트인 첫 번째 인수를 나타냅니다.

3. 간단한 Bash 프롬프트 추가

를 사용할 수도 있습니다. bashrc 파일을 사용하여 사용자 지정 셸 프롬프트를 만듭니다. 쉘 프롬프트는 모든 터미널 입력 라인의 시작 부분에 나타나는 텍스트 라인입니다. 여기에는 시스템 이름과 같은 정적 정보 또는 셸의 현재 작업 디렉토리에 따라 변경되는 동적 스크립트가 포함될 수 있습니다.

여기에 추가할 수 있는 몇 가지 흥미로운 bash 프롬프트가 있습니다. bashrc 파일.

4. PATH 변수 수정

PATH 변수는 현재 세션에 대한 스크립트 및 바이너리를 찾을 위치를 쉘에 알려주는 중요한 변수입니다. 를 사용할 수 있습니다. bashrc 파일을 사용하여 PATH 변수의 내용을 저장/변경합니다. 이는 사용자 정의 디렉토리에서 자신의 프로그램을 실행하려는 경우에 유용합니다.

PATH 변수를 수정하려면 다음 코드 줄을 . bashrc:

PATH="$PATH:"

이렇게 하면 사용자 정의 인수를 로드하기 전에 PATH의 기본값을 로드하도록 쉘에 지시합니다.

자신을 참조하는 PATH 변수를 보여주는 스크린샷.

그런 다음 이제 이 PATH 변수 끝에 자신의 디렉터리를 추가할 수 있습니다.

PATH=":/home/$USER/bin:/home/$USER/git"

사용자 정의 디렉토리가 있는 PATH 변수를 보여주는 스크린샷.

5. 새 환경 변수 내보내기

환경 변수는 프로그램 또는 시스템 프로세스에 대한 세션별 값을 보유하는 컨테이너입니다. 여기에는 프로그램을 실행하는 동안 사용할 수 있는 옵션이나 리소스를 제공하는 문자열이 포함되어 있습니다.

예를 들어 일부 프로그램은 외부 데이터베이스 프로세스에 연결할 때 “POSTGRESQL_DATABASE” 환경 변수를 사용합니다.

POSTGRESQL_DATABASE="postgres://ramces:password@localhost:5432/db"

사용자 정의 환경 변수를 보여주는 스크린샷.

그런 다음 변수를 셸로 내보내야 합니다. 이렇게 하면 일반 셸 변수에서 환경 변수로 변환됩니다.

POSTGRESQL_DATABASE="postgres://ramces:password@localhost:5432/db"export POSTGRESQL_DATABASE

내보내기 명령과 새 환경 변수를 보여주는 스크린샷.

6. 연결. bashrc와 함께. bash_profile

차이점. bashrc와. bash_profile은 초보 Linux 사용자에게 가장 큰 혼란 지점 중 하나입니다. bash_profile은 로그인하는 동안 한 번만 실행됩니다. bashrc는 새 쉘이 시작될 때마다 실행됩니다.

그러나 이 모호한 구분은 두 가지를 혼합하여 실행하려는 명령을 실행하지 못할 수 있음을 의미합니다. 이 문제를 해결하는 한 가지 빠른 방법은 다음을 확인하는 것입니다. bashrc는 즉시 실행됩니다. bash_profile이 로드됩니다.

끝에 다음 코드 줄을 추가합니다. bashrc 파일:

if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

bash_profile에서 기본 if 문을 보여주는 터미널.

이 작은 코드 블록은 쉘이 다음을 확인하도록 지시합니다. bashrc 파일이 홈 디렉토리에 있습니다. 하나를 찾으면 Bash는 파일을 로드하고 현재 셸 인스턴스에서 해당 명령을 실행합니다.

자주 묻는 질문

내. bashrc 파일은 다른 Linux 셸에서 작동합니까?

Bash의 개발자는 다음을 설계했습니다. bashrc 파일은 Bash 셸에서만 작동합니다. 그러나 대부분의 명령은 a. bashrc 파일은 일부 유닉스 계열 셸과 상호 호환됩니다. 예를 들어 a의 내용을 복사할 수 있습니다. bashrc 파일을 Korn 쉘 대응 파일로:. kshrc 여전히 작동합니다.

Bash를 사용하여 기본 파일 권한을 설정할 수 있습니까?

예. umask이렇게 하려면 끝에 명령을 추가해야 합니다 . bashrc 파일. 이것은 설정하려는 권한 비트에 비트 마스크를 설정하는 간단한 프로그램입니다. 예를 들어 이 명령은 umask 027running 과 동일합니다 sudo chmod -R 750. /directory.

이미지 크레디트: Unsplash를 통한 Gabriel Heinzer . Ramces Red의 모든 변경 및 스크린샷.

  • 페이스북
  • 트위터

답글 남기기

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