Я постоянно иду "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, только к вашему сведению.)
Меня учили использовать «pushd» и «popd» для таких обстоятельств.
Например, введите «pushd». а затем «CD / Home». Теперь введите «popd», и вы вернетесь туда, откуда начали.
«pushd» / «popd» - это стек, вы можете помещать туда столько каталогов, сколько захотите, но он включается в последнюю очередь, сначала при запуске popd.
Конечно, почему бы и нет
up () { [$ # = 0] && cd .. && return [$ 1 = 0] && return 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 old new
это была функция скрипта, которую я написал в прошлом, которую я использовал для перемещения между похожими деревьями. По сути, он взял два аргумента и сделал регулярное выражение на вашем пути, отлично подходит для перемещения между ветвями и тому подобным. Например, если вы были в ~ / bzr / web / trunk / path / to / feature и вам нужно было перейти в ~ / bzr / web / feature-branch / path / to / feature, тогда вы бы это сделали cdd trunk feature-branch
. Реализация, которую я имел, была на архаичном языке оболочки в AIX, но она была довольно тривиальной, поэтому ее легко реализовать в выбранной оболочке, если вам это нужно. Для нас это было очень полезно, потому что структура выглядела следующим образом: ... / {product} / {version} / {release} / {src, bld, dbg, pkg, tst} / {component} / ... так перемещается в этом дереве стало безумно довольно быстро.
ls
? Конечно, вы имеете в видуcd
?