Недавно я был в затруднительном положении, когда я был в папке, и я хотел, чтобы cd
в папке подкаталога. Внутри этой папки была только одна папка, и это было действительно длинное имя.
Home (I am here)
|
|
--> /reallylongnamefolder
Есть ли способ войти в эту папку вместо ввода:
cd reallylongnamefolder
command-line
Ариан Фауртош
источник
источник
cd */
илиcd rea*/
если вы не уверены, что всегда есть только 1 subdir (при использовании bash вы также можетеcd rea[TAB]
… и в других оболочках, но способ расширения имени может отличаться). Если «/ reallongnamefolder» - это абсолютный путь, то же самое, но с «/» впереди, например:cd /rea*/
Ответы:
Я бы посоветовал либо набрать первые несколько букв и нажать tab. Bash имеет функцию автозаполнения, которая действительно полезна. Если это только каталог в текущем пути, просто нажатие tabзаполнит весь каталог.
При вводе
cd
и двойном нажатии tabотобразятся все параметры в текущем каталоге.tab как правило, действительно полезен в bash, так как вы можете использовать практически все исполняемые файлы одним или двумя нажатиями клавиш.
cd *
как предложено выше, работает, только если каталог находится первым в списке и не скрыт. Если перед вашим каталогом есть файл в алфавитном порядке, этоcd
вообще не изменит ваш каталог.источник
cd <tab>
он будет достаточно умен.Я думаю, что я на самом деле понял это на самом деле
Но я не проверял, есть ли несколько файлов и одна папка!
Как @Rinzwind упоминается в комментариях!
Допустим, у вас есть три длинные папки:
Если вы введете первую букву файла, то нажмите на tabнее, чтобы автоматически завершить имя файла! Сумасшедший персонал!
Таким образом, в приведенном выше примере вы можете ввести: t tabи он будет автоматически заполнять столько, сколько может:
cd thisislongfolder
(затем введите число самостоятельно).Или вы можете сделать
cd t*1
, взял бы вас вthisislongfolder1
Спасибо, Ринзвинд!
источник
cd r*r
и надеюсь, что это единственная папка, начинающаяся и оканчивающаяся на rcd */
может сделатьcd *
вероятно, терпит неудачу чаще, чем успешно.ls -d */
перечисляет каталоги,head -n 1
дает первый в этом списке.источник
cd
первого каталога, вы не можете делать вкладки.У меня есть хорошая настройка для этого, он позволяет мне не только перейти к ~ / somereallylongfoldername, но и CD туда, даже когда я нахожусь в папке /
первое, что я использую, это zsh с oh-my-zsh, это также позволит вам записывать компакт-диски, не беспокоясь о кейсе или даже не вводя cd
откройте и отредактируйте ваш .zshrc, который находится в вашей домашней папке, а не скрыт
нано ~ / .zshrc
затем добавьте следующую строку в конец файла
export CDPATH=$CDPATH:/:/home/$USER/:/media/$USER/
Если вам нравится моя тема, вы также можете изменить строку
#ZSH_THEME="robbyrussell"
наZSH_THEME="pygmalion"
Сохраните и закройте файл, затем перезапустите ie. закройте и снова откройте оболочку или просто откройте новую вкладку и попробуйте
вы не можете использовать клавишу табуляции для завершения имен, а в ZSH вам даже не нужно правильно вводить регистр, вы можете набрать document и нажать tab, и он превратит его в ~ / Documents
источник
Вы можете изменить каталог по номеру инода.
Сначала мы находим индекс с
ls -il
.тогда
источник
Если вам нужно сделать это в скрипте или для поддержки каталогов с некодируемыми именами:
Это работает, если в каталоге есть файлы, независимо от их порядка сортировки относительно каталогов.
Это работает для скрытых каталогов, когда происходит
cd */
сбой.Это работает, если имя не представимо в текущей локали, когда
ls
печатается только??
имя.источник
Продолжая ответ туза:
открыть 1-ую папку в каталоге. «1p» можно изменить на «2p» для второго каталога.
перечислить только каталоги из родительского каталога.
источник