Я постійно йду 'cd ../../../../'. Чи є команда / псевдонім, яка могла б відпустити мене "cmd 4", і я отримав би назад 4 каталоги?
alias cmd5 = "cd ../../../../../"
Я постійно йду 'cd ../../../../'. Чи є команда / псевдонім, яка могла б відпустити мене "cmd 4", і я отримав би назад 4 каталоги?
alias cmd5 = "cd ../../../../../"
Відповіді:
Помістіть це у своєму ~/.bashrc
:
cdup() {
levels=${1-1}
while ((levels--)); do
cd ..
done
}
(Назва cdup
походить від відповідної команди FTP, просто FYI.)
Мене вчили використовувати "pushd" і "popd" для таких обставин.
Наприклад, введіть "pushd". а потім 'CD / home'. Тепер наберіть 'popd', і ви повернетесь туди, де почали.
'pushd' / 'popd' - це стек, ви можете натискати на нього скільки завгодно каталогів, але він останній увімкнено, спочатку при popd.
Звісно, чому б ні:
вгору () { [$ # = 0] && cd .. && return [$ 1 = 0] і повернення cd .. && up $ (($ 1 - 1)) }
up 500
. :-)
Швидкий і брудний:
cmd () { dir=.; for i in $(seq 1 $1); do dir=$dir/..; done; pushd $dir; }
Сформульовано для зміни каталогу лише один раз.
Можливо, ви захочете вивчити використання pushd
та popd
встановити маркери місцеположення та легко повернутися туди з будь-якого каталогу, який ви змінили.
Ви також можете встановити змінну з іменем каталогу, який ви багато використовуєте, а потім CD там:
MYPROJ=~/projects/name/src
cd $MYPROJ
proj1='cd $MYPROJ'
Я використовую autojump, який дозволяє мені набрати:
j h
>> /home/cjulien
j et
>> /etc
це може навчитися вашим звичкам і дуже легке (і звикання;))
Дві думки, які можуть вам бути корисними:
cd -
повернення до останнього каталогу, в якому ви були. Я використовую це весь час, щоб перейти з глибокого вниз у моє дерево коду назад до кореня ... хоча це працює лише, якщо ви введете його в один змінити.
CDD старий новий
це була функція сценарію, про яку я писав у минулому, що я використовував для переміщення між подібними деревами. В основному це взяло два аргументи і зробило зворотний перехід на вашому шляху, відмінно підходить для переміщення між гілками і подібними. Наприклад, якщо ви знаходитесь в ~ / bzr / web / trunk / path / to / feature і вам потрібно було дістатися до ~ / bzr / web / feature-branch / path / to / feature, то ви б це зробили cdd trunk feature-branch
. Реалізація, яку я мав, була в архаїчній мові оболонки на AIX, але вона була досить тривіальною, тому вона повинна бути простою для реалізації в оболонці за вибором, якщо вона вам потрібна. Для нас це було дуже корисно, оскільки структура виглядала так: ... / {product} / {версія} / {реліз} / {src, bld, dbg, pkg, tst} / {компонент} / ... так рухається в тому дереві досить швидко зненацька.
ls
? Звичайно, ти маєш на увазіcd
?