ln -s를 사용하여 명령줄 바로가기를 만드는 방법은 무엇입니까?

ln -s를 사용하여 명령줄 바로가기를 만드는 방법은 무엇입니까?

언제든지 터미널에서 열 수 있도록 하고 싶은 sh 파일이 있습니다. 터미널에 "studio"를 입력하고 android studio를 열고 싶습니다.

이 작업을 한 번 했던 기억이 나지만 ln -s잊어버리고 온라인에서 검색하는 데 많은 시간을 낭비했습니다.

그리고 생성된 심볼릭 링크는 어느 디렉터리에 저장되나요?

이것은 제가 고민하고 있는 구문입니다. 명령을 찾을 수 없습니다.

ricardo@debian:~$ ln -s /opt/android-studio/bin/studio.sh studio
ricardo@debian:~$ studio
bash: studio: command not found

답변1

실행한 명령은 현재 디렉터리에 심볼릭 링크를 생성했습니다. 프롬프트를 보면 현재 디렉터리가 홈 디렉터리입니다. 홈 디렉터리에 실행 가능한 프로그램에 대한 기호 링크를 만드는 것은 특별히 유용하지 않습니다.

프로그램 이름을 입력하면 쉘은 나열된 디렉토리에서 해당 프로그램을 찾습니다.PATH환경 변수. 이 변수의 값을 보려면 를 실행하십시오 echo $PATH. 디렉토리는 :콜론( )으로 구분됩니다. 일반적인 경로는 /home/ricardo/bin:/usr/local/bin:/usr/bin:/bin다음과 같으나 변형이 많습니다.

에 나열된 디렉터리 중 하나에 이 기호 링크를 만들어야 합니다 $PATH. 모든 사용자가 명령을 사용할 수 있도록 하려면 다음 위치에 링크를 만드세요 /usr/local/bin.

sudo ln -s /opt/android-studio/bin/studio.sh /usr/local/bin/studio

자신만 명령을 사용할 수 있게 하려면(관리자 권한이 없는 경우에만 가능) 홈 디렉터리의 하위 디렉터리 ~/bin에 링크를 만듭니다.bin

ln -s /opt/android-studio/bin/studio.sh ~/bin/studio

/home/ricardo/bin귀하의 배포판이 귀하의 배포판 PATH( /home/ricardo홈 디렉토리가 있는 곳) 에 넣지 않은 경우 , 먼저 mkdir ~/bin다음 줄을 추가하여 해당 배포판을 만든 다음 귀하의 배포판에 추가하십시오(파일이 없으면 파일을 작성하십시오).PATH~/.profile

PATH=~/bin:$PATH

.profile파일은 로그인할 때 읽혀집니다. 실행하여 현재 터미널에서 파일을 읽을 수 있습니다 . ~/.profile(해당 터미널에서 시작된 프로그램에만 작동함).

답변2

원하는 것을 달성하는 가장 직관적인 방법은 별칭을 사용하는 것입니다. 유형:

alias studio=/opt/android-studio/bin/studio.sh

또는 .profile 또는 더 나은 파일에 관련 별명을 입력하십시오. 쉘은 $ENV를 사용합니다.

여전히 추가해야 할 수도 있습니다.

/opt/android-studio/bin

소프트웨어를 사용하려면 PATH에 추가하세요. 먼저 확장 경로 없이 작동하는지 확인하는 것이 좋습니다.

관련 정보