bash: 세션 외부에 별칭 저장

bash: 세션 외부에 별칭 저장

최근에 나는 시스템을 더 잘 이해하기 위해 Linux 터미널 명령을 가지고 놀았습니다.

alias 명령을 사용하여 명령을 호출하기 위해 명령에 다른 이름을 지정할 수 있다는 사실을 알게 되어 기쁩니다. 예를 들어,

alias print="echo"

이 경우 echo교체됩니다 print.

유일한 문제는 하나의 터미널 세션에만 고정되는 것 같다는 것입니다. 타사 소프트웨어를 사용하지 않고 이러한 별칭을 영구적으로 유지할 수 있는 방법이 있습니까? 소프트웨어 대안이 있다면 기꺼이 듣고 싶습니다.

아무것도 다운로드하지 않고 이 작업을 수행할 수 있는 방법을 찾고 있습니다.

답변1

모든 세션이 시작될 때 읽을 파일에 별칭을 넣어야 합니다.

파일 ~/.bashrc에는 다음 내용이 포함되어야 합니다.

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

즉, 파일이 있으면 ~/.bash_aliases해당 파일을 가져오고 여기에 정의된 모든 별칭이 세션에 적용됩니다. 가장 좋은 방법은 별칭을 에 저장하는 것입니다 ~/.bash_aliases. 해당 파일이 없으면 수동으로 만들 수 있습니다. 대안으로 별칭을 ~/.bashrc.

또한 현재 터미널 세션에만 정의된 별칭을 영구적으로 저장하려면 다음을 실행할 수 있습니다.

alias >> ~/.bash_aliases

답변2

.bashrc일반적인 접근 방식은 홈 디렉터리의 파일에 별칭을 설정하는 것입니다( bash물론 이를 쉘로 사용하는 경우).

.bashrcbash터미널을 시작할 때 읽는 파일 입니다 .

그냥 편집하고( .이름이 a로 시작하는 파일은 기본적으로 숨겨집니다) 다음과 같은 줄을 추가하세요.

alias ll='ls -l'

새 터미널을 시작하지 않고 테스트하려면 다음을 수행하십시오 source.

$ ll
bash: ll: command not found

$ source ~/.bashrc

$ ll
-rw-rw-r--  1 apaul apaul  31 Mar  7 21:51 file1.txt

답변3

홈 디렉토리에 파일을 생성 .bashalias하거나 기존 파일을 편집합니다 ~/.bashalias. Bash 세션을 시작할 때마다 이 파일을 읽으려면 다음을 추가하십시오 ~/.bashrc.

source ~/.bashalias

답변4

zsh별칭 추가 방법을 사용하시는 분이 계시다면 이전 댓글에 추가해 주시고, .zshrc파일을 사용하시려면 다음 명령어를 사용해주세요:

sudo nano ~/.zshrc

이는 sudo필수 사항이 아니며 vim다른 편집기 옵션도 사용할 수 있습니다. 그런데 gedit컴퓨터에서 해당 텍스트 편집기를 사용하는 경우 GUI도 좋은 선택입니다.

그런 다음 파일 끝에 별칭을 추가해야 합니다.

alias print="echo"

내 경우에는 왜 파일 변경이 작동하지 않았는지 잘 모르겠습니다 .bashrc. 아마도 기본 터미널 변경으로 인해 동작이 발생한 것일 수 있습니다.

관련 정보