답변:
처음 몇 글자를 입력하고를 누르는 것이 tab좋습니다. Bash에는 실제로 유용한 자동 완성 기능이 있습니다. 현재 경로에 디렉토리 만있는 경우 누르면 tab전체 디렉토리가 채워집니다.
입력 cd
하고 tab두 번 누르면 현재 디렉토리의 모든 옵션이 표시됩니다.
tab 하나 또는 두 번의 키 누름으로 거의 모든 실행 파일에 액세스 할 수 있기 때문에 일반적으로 bash에서 실제로 유용합니다.
cd *
위에서 제안한 것처럼 디렉토리가 목록에서 첫 번째이고 숨겨지지 않은 경우에만 작동합니다. 디렉토리 앞에 알파벳순으로 파일이 있으면 디렉토리 cd
가 전혀 변경되지 않습니다.
cd <tab>
.
실제로 알아 낸 것 같아요
cd *
cd */
그러나 여러 파일과 하나의 폴더가 있으면 테스트하지 않았습니다!
로 @Rinzwind는 코멘트에 언급!
세 개의 긴 폴더가 있다고 가정 해 봅시다.
/thisislongfolder1
/thisislongfolder2
/thisislongfolder3
파일의 첫 글자를 입력 tab하면 파일 이름이 자동 완성됩니다. 미친 스터프!
따라서 위의 예에서 :를 입력하면 가능한 한 t tab자동 완성됩니다 cd thisislongfolder
(숫자를 직접 입력).
아니면 당신 cd t*1
을 데려 갈 수 있습니다thisislongfolder1
Rinzwind 감사합니다!
cd r*r
및 그것이 r로 시작하고 끝나는 유일한 폴더가되기를 바랍니다.
cd */
트릭을 할 수 있습니다
cd *
아마도 성공보다 더 자주 실패합니다.
cd $(ls -d */|head -n 1)
ls -d */
디렉토리를 나열 head -n 1
하고이 목록의 첫 번째 디렉토리를 제공합니다.
cd
첫 번째 디렉토리에 필요한 스크립트를 작성하는 경우 탭을 수행 할 수 없습니다.
~ / somereallylongfoldername으로 cd 할뿐만 아니라 / 폴더에있을 때도 cd 할 수 있습니다.
내가 사용하는 첫 번째 것은 oh-my-zsh를 사용하는 zsh입니다. 대소 문자를 걱정하거나 cd를 입력하지 않아도 CD를 사용할 수 있습니다.
sudo apt-get install zsh git
curl -L http://install.ohmyz.sh | 쉬
chsh -s /bin/zsh
홈 폴더에있는 .zshrc를 열고 편집하십시오. 숨겨지지 않았습니다.
나노 ~ / .zshrc
그런 다음 파일 맨 아래에 다음 줄을 추가하십시오.
export CDPATH=$CDPATH:/:/home/$USER/:/media/$USER/
내 테마가 마음에 들면 라인 #ZSH_THEME="robbyrussell"
을 다음으로 변경할 수도 있습니다.ZSH_THEME="pygmalion"
파일을 저장하고 닫은 다음 다시 시작하십시오. 쉘을 닫았다가 다시 열거 나 새 탭을 열고 사용해보십시오.
탭 키를 사용하여 이름을 완성 할 수는 없으며 ZSH에서는 docu를 입력하고 탭을 누르면 ~ / Documents로 바뀔 수 있습니다.
inode 번호로 디렉토리를 변경할 수 있습니다.
먼저로 inode를 찾습니다 ls -il
.
그때
cd $(find -inum directory_inode_number)
스크립트에서 수행하거나 결정 불가능한 이름의 디렉토리를 지원해야하는 경우 :
cd $(python -c $'import os\nfor entry in os.listdir(b"."):\n if os.path.isdir(entry):\n os.write(1, entry);break\nelse: os.write(1, b".")')
디렉토리와 관련된 정렬 순서에 관계없이 디렉토리에 파일이 있으면 작동합니다. 실패하면
숨겨진 디렉토리에서 작동 cd */
합니다.
이름 대신 ls
인쇄 할 때 현재 로케일에서 이름을 표시 할 수 없는 경우 작동합니다 ??
.
에이스의 대답으로 확장 :
cd $(ls -d -1 */ |sed -n '1p')
디렉토리에서 첫 번째 폴더를 엽니 다. 두 번째 디렉토리의 경우 '1p'를 '2p'로 변경할 수 있습니다.
ls -d -1 -la */
상위 디렉토리의 디렉토리 만 나열합니다.
cd */
또는cd rea*/
항상 하나의 하위 디렉토리가 있는지 확실하지 않은 경우 (bash를 사용하는 경우cd rea[TAB]
다른 쉘 에서도 .. 을 사용할 수 있지만 이름을 확장하는 방법은 다를 수 있습니다). "/ reallylongnamefolder"가 절대 경로 인 경우에도 같은 것이지만 앞에 '/'가있는 경우 : 예 :cd /rea*/