저는 시스템 파일 트리에서 서로 멀리 떨어져 있는 두 디렉터리 사이를 자주 변경하는 일을 하고 있습니다.
어쨌든 각 명령에 일종의 짧은 이름을 할당하여 명령과 함께 사용하여 예를 들어 반복적으로 입력하는 대신 을 입력 cd
할 수 있습니까 ?cd directoryA
cd directoryB
cd C:/A/Really/Long/File/Path/Name/Makes/My/Fingers/Hurt
답변1
~을 위한정확히두 개의 디렉토리, 사용cd -
$ cd /tmp
$ cd /var/tmp
$ cd -
/tmp
$ cd -
/var/tmp
$ cd -
/tmp
~에서bash(1)
:
논쟁
-
로 변환됩니다$OLDPWD
디렉토리를 변경하기 전에.
답변2
어쨌든 각각에 일종의 짧은 이름을 지정할 수 있나요?
물론 alias
다음 명령을 사용할 수 있습니다.
alias directoryA='cd /path/to/directoryA'
directoryA
그런 다음 명령 의 별칭 으로 사용됩니다 cd
. 정말 간단해요 ;)
답변3
쉘 변수를 사용하겠습니다.
da=/really/long/path/to/directory/a
db=/other/really/long/path/to/directory/b
cd $da
cd $db
이 방법의 장점은 모든 명령에서 파일 경로 대신 $da 및 $db를 사용할 수 있다는 것입니다. 예를 들면 다음과 같습니다.
cp $da/file1 $db/file2
답변4
디렉토리(또는 파일)를 생성하여 약식 이름을 지정할 수 있습니다.심볼릭 링크그것에. 기호는 실제로 데이터를 포함하지 않지만 실제 데이터를 찾을 수 있는 다른 경로를 가리키는 디렉토리 항목입니다. 디렉토리 항목에 대한 작업(예: 생성, 이름 바꾸기, 삭제)은 기호 링크에서 작동하는 반면 내용에 대한 작업(예: 읽기, 쓰기 cd
, ls
디렉토리 등)은 링크 대상에서 작동합니다. 예를 들어 심볼릭 링크를 만듭니다.ln
주문하다:
ln -s /A/Really/Long/File/Path/Name/Makes/My/Fingers/Hurt ~/hurt
따라서 cd ~/hurt
기본적으로 /A/Really/Long/File/Path/Name/Makes/My/Fingers/Hurt
. 쉘이 현재 작업 디렉토리를 기억하고 표시한다는 점에서 기본적으로 동일합니다 ~/hurt
. 쉘이 심볼릭 링크를 잊도록 하려면 사용하십시오 cd -P ~/hurt
.
특정 디렉토리의 하위 디렉토리를 자주 변경하는 경우 다음을 사용할 수 있습니다.CDPATH
바꾸다. 상대 경로( 예: 명시적으로 또는 약어를 통해 cd
로 시작하지 않는 인수 또는 값이 로 시작하는 변수) 로 실행하는 경우 존재하는 항목을 찾습니다. 를 사용하는 경우 (현재 디렉터리)를 먼저 입력하는 것이 좋습니다 . 그렇지 않으면 순진한 모습으로 인해 전혀 관련 없는 위치로 연결될 수 있습니다./
~
/
CDPATH
CDPATH
.
cd subdir
CDPATH=.:/A/Really/Long/File/Path/Name/Makes/My
cd Fingers/Hurt
쉘 내에서 변수로 약어를 정의할 수도 있습니다. $
해당 값을 사용하려면 변수 이름 앞에 사용하세요. 변수 값에 공백과 같은 특수 문자가 포함된 경우 이를 사용할 때 큰따옴표를 사용해야 합니다(zsh 또는 Fish를 쉘로 사용하지 않는 한).
hurt=/A/Really/Long/File/Path/Name/Makes/My/Fingers/Hurt
cd $hurt
spaced='/A/Really Long/File Path Name/Makes My Fingers/Hurt'
cd "$spaced"
배쉬에서이 cdable_vars
옵션을 사용하면 손가락으로 이 작업을 더 쉽게 수행할 수 있습니다..
경로의 구성 요소가 길면 완성 기능을 사용하세요. Tab열쇠가 낡지 않았다면 뭔가 잘못하고 있는 것입니다 . 최상의 결과를 얻으려면 여러 문자로 공통적으로 시작하는 많은 파일 이름을 사용하지 말고 대문자와 같이 입력하기 어려운 문자로 파일 이름을 시작하지 마십시오.