![터미널에 표시되는 현재 디렉터리 경로를 어떻게 단축할 수 있나요?](https://linux55.com/image/9929/%ED%84%B0%EB%AF%B8%EB%84%90%EC%97%90%20%ED%91%9C%EC%8B%9C%EB%90%98%EB%8A%94%20%ED%98%84%EC%9E%AC%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%20%EA%B2%BD%EB%A1%9C%EB%A5%BC%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EB%8B%A8%EC%B6%95%ED%95%A0%20%EC%88%98%20%EC%9E%88%EB%82%98%EC%9A%94%3F.png)
내가 깊은 디렉토리에 있다면 다음과 같이 말할 수 있습니다.
~/Desktop/Dropbox/School/2017/C/A3/
그런 다음 터미널을 열면 다음과 같이 표시됩니다.
bob@bob-ubuntu:~/Desktop/Dropbox/School/2017/C/A3/$
그런 다음 주문을 적습니다. 이것은 매우 길며 터미널에 쓰는 모든 줄은 다음 줄로 이동합니다. 현재 디렉토리만 표시하도록 하는 방법이 있는지 궁금합니다. 나는 그것을 보여주고 싶다 :
bob@bob-ubuntu: A3/$
그렇게 하면 명확하고 항상 pwd
전체 디렉토리를 볼 수 있습니다. 너무 많은 공간을 차지하기 때문에 전체 디렉토리가 터미널에 표시되는 것을 원하지 않습니다.
답변1
Bash 4부터 명령줄에서 디렉터리 깊이를 줄이는 것은 PROMPT_DIRTRIM
파일 .bashrc
. 터미널을 다시 여는 것을 잊지 마세요.
PROMPT_DIRTRIM=1
보다배쉬 매뉴얼더 많은 정보를 알고 싶습니다.
예
bob@bob-ubuntu:~/Desktop/Dropbox/School/2017/C/A3/$
으로 정리될 것이다
bob@bob-ubuntu:.../A3/$
답변2
PS1
셸 시작 파일(아마도 )을 수정해야 합니다 .bashrc
.
이미 존재하는 경우 해당 설정이 포함되며 \w
이것이 작업 디렉터리가 됩니다. \W
(대문자) 로 변경하세요 . 파일의 행은 bashrc
다음과 같습니다.
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\W\[\033[00m\]\$ '
로그아웃했다가 다시 로그인하거나 다음을 수행하십시오.
. .bashrc
또는 (다른 디렉토리에 있는 경우 접두사 "~/"를 추가해야 함)
source ~/.bashrc
(또는 귀하의 파일이 무엇이든).
존재하지 않는 경우 다음을 추가합니다.
PS1='\u@\h: \W:\$'
.bashrc
무엇이든 . 더 많은 아이디어를 보려면 PS1
매뉴얼 페이지를 확인하십시오 bash
.
및 와 bash
같은 여러 초기화 파일을 사용할 수 있으므로 시스템 전체에 설정 될 수 있습니다 . 하지만 자신의 파일 중 하나에서 이를 재정의할 수 있습니다..bashrc
.bash_profile
PS1
답변3
이는 sh
모든 쉘에서 이식 가능합니다.
PS1
셸 에 할당된 시작 파일 중 하나:
PS1='${PWD##*/} $ '
프롬프트는 다음과 유사합니다.
dir $
dir
현재 디렉터리의 기본 이름은 어디에 있습니까?
이 $PWD
변수는 현재 디렉터리 경로를 포함하며 ${PWD##*/}
마지막 디렉터리까지 포함하여 해당 경로의 모든 항목을 삭제합니다./
작은따옴표는 쉘 형식이 할당 시 변수 대체( $PS1
프롬프트가 표시될 때마다 평가되는 값)를 평가하는 것을 방지합니다.
PS1
이 변수는 현재 셸에서만 사용되므로 내보내면 안 됩니다.
답변4
zsh
프롬프트 문자열 에서 로 변경 하거나 로 변경하는 것과 %~
같이 현재 작업 디렉터리로 확장합니다 . 그러나 다음과 같이 경로의 마지막 2개 구성 요소로 제한 하도록 변경할 수 있습니다 .$HOME
~
/home/user
~user
tcsh
%2~
$ PS1='%n@%m:%2~$ '
me@here:~/bin$ cd /usr/local/share/man/man1
me@here:man/man1$
또는 를 사용하여 확장이 20개 열을 초과하지 않는지 %20<…<%~%<<
확인 하고 잘림을 표시하도록 표시할 수 있습니다(있는 경우).%~
…
me@here:man/man1$ PS1='%n@%m:%20<…<%~%<<$ '
me@here:…ocal/share/man/man1$