터미널에서 실행 가능한 프로그램의 명령(이름)을 사용자 정의(변경)하는 합리적인 방법

터미널에서 실행 가능한 프로그램의 명령(이름)을 사용자 정의(변경)하는 합리적인 방법

배경

예를 들어 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실패합니다. 다음에 업데이트하면 시스템에 두 버전의 바이너리가 모두 갖게 됩니다.:-/

관련 정보