![터미널에서 실행 가능한 프로그램의 명령(이름)을 사용자 정의(변경)하는 합리적인 방법](https://linux55.com/image/202837/%ED%84%B0%EB%AF%B8%EB%84%90%EC%97%90%EC%84%9C%20%EC%8B%A4%ED%96%89%20%EA%B0%80%EB%8A%A5%ED%95%9C%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%9D%98%20%EB%AA%85%EB%A0%B9(%EC%9D%B4%EB%A6%84)%EC%9D%84%20%EC%82%AC%EC%9A%A9%EC%9E%90%20%EC%A0%95%EC%9D%98(%EB%B3%80%EA%B2%BD)%ED%95%98%EB%8A%94%20%ED%95%A9%EB%A6%AC%EC%A0%81%EC%9D%B8%20%EB%B0%A9%EB%B2%95.png)
배경
예를 들어 xfce4-terminal
,를 입력하여 프로그램을 실행하고 싶습니다 term
.
입력하면 which xfce4-terminal
가 반환됩니다 /usr/bin/xfce4-terminal
.
그래서 저는 심볼릭 링크를 만들었습니다: sudo ln -s /usr/bin/xfce4-terminal /usr/bin/term
.
이제 를 입력하여 프로그램을 실행할 수 있습니다 term
.
질문
나는 이것이 내 목적을 달성하기 위한 합리적인 방법인지 항상 궁금했습니다. 묻다최고방법(연구조차도 아님)은 주관적인 문제일 수 있지만 여기서는 표준 방법(있는 경우)이나 내 방법이 가질 수 있는 장단점을 묻고 있습니다.
나는 다음과 같은 대안을 생각했습니다.
- 프로그램 이름 바꾸기:
mv xfce4-terminal term
- 환경 변수를 사용하십시오(그러나 이를 수행하는 방법은 여러 가지가 있습니다...)
- 우선 게으름을 피우지 마세요.
나는 이미 그것을 알고 있었다:
- Tab자동완성 을 활용할 수 있어요
- Ctrl(GUI에서) ++ 와 같은 Alt단축키를 사용할 수 있습니다 .T
- 다른 프로그램 이름이 "term"인 경우 심볼릭 링크를 만들면 충돌이 발생할 수 있습니다.
- 이름을 바꾸면 종속성이 깨질 위험이 있습니다.
환경:
uname --all
반품:
- 리눅스 데비안 4.19.0-18-amd64 #1 SMP
- 데비안 4.19.208-1 (2021-09-29)
- x86_64 GNU/리눅스
답변1
가장 안전한 방법은 별칭을 사용하는 것입니다.그들을이미 댓글에서 언급했습니다.
기호 링크도 작동하지만 일부 프로그램은 호출되는 이름에 따라 동작이 변경된다는 점에 유의하세요.
예를 들어, bash 스크립트는 콘텐츠를 검사 $0
하고 이를 기반으로 다양한 기능을 호출합니다.
프로그램 이름을 바꾸면 문제가 발생합니다. 이름을 바꾼 후에
는 프로그램이 의존하는 모든 것이 xfce4-terminal
실패합니다. 다음에 업데이트하면 시스템에 두 버전의 바이너리가 모두 갖게 됩니다.:-/