изменение на родительский каталог в Unix

  • Печать ярлыки от http://www.microsoft.com/downloads/details.aspx?FamilyID=6bb41456-9378-4746-b502-b4c5f7182203&DisplayLang=en"> страница Microsoft и помещенный их рядом с Вами. Попытайтесь изучить новый каждый день. Вы уже найдете все ярлыки упомянутыми здесь + партии больше. Некоторые очень полезные содержат форматирование блока кода, комментарий, перешли между страницами...
  • Получают Resharper, это - плагин, какие whill значительно увеличивают Вашу эффективность. При использовании Resharper можно найти список с ярлыками.
  • 13
    задан Vijay 9 December 2009 в 06:28
    поделиться

    8 ответов

    Эта функция предназначена для Bash, но нечто подобное можно сделать и для других (это может работать как есть в ksh и zsh):

    cdn () { pushd .; for ((i=1; i<=$1; i++)); do cd ..; done; pwd; }
    

    Пример использования:

    /some/dirs/and/subdirs$ cdn 3
    /some/dirs/and/subdirs /some/dirs/and/subdirs
    /some
    /some$ popd
    /some/dirs/and/subdirs$
    

    Вот функция, которая будет cd в именованный подкаталог над текущим рабочим каталогом:

    cdu () { cd "${PWD%/$1/*}/$1"; }
    

    Пример использования:

    /usr/share/atom/resources/app/apm/src/generator$ cdu apm
    /usr/share/atom/resources/app/apm$ cdu resources
    /usr/share/atom/resources$ cd -
    /usr/share/atom/resources/app/apm$ cdu share
    /usr/share
    
    10
    ответ дан 2 December 2019 в 00:03
    поделиться

    А я думал, что ленивый ...

    Давным-давно я устал печатать cd .. Итак, примерно с 1988 года одним из моих стандартных псевдонимов (и пакетных файлов для MSDOS / Windows) является . Возможно, мне следует расширить концепцию:

    alias up='cd ..'
    alias up2='cd ../..'
    alias up3='cd ../../..'
    alias up4='cd ../../../..'
    alias up5='cd ../../../../..'
    alias up6='cd ../../../../../..'
    
    2
    ответ дан 2 December 2019 в 00:03
    поделиться

    Вам нужно будьте осторожны, если вы настраиваете подобные псевдонимы. Вы не всегда будете переходить на 5 каталогов, если cd ../../../../... Если у вас всего 2 или 3 каталога ниже /, вы попадете в /. Попробуйте сами.

    $ cd ~
    $ pwd
    /home/you
    $ cd ../../../..
    $ pwd
    /
    

    Это происходит потому, что родительский каталог / на самом деле /.

    2
    ответ дан 2 December 2019 в 00:03
    поделиться

    Если вам не нравится вводить или запоминать имена файлов, вы можете перемещаться по каталогам с помощью чего-то вроде NerdTree?

    0
    ответ дан 2 December 2019 в 00:03
    поделиться

    Вы можете определить псевдонимы, чтобы упростить этот вид операции cd .

    Обратите внимание, что было бы легко сделать ошибки с псевдонимом в терминах . ./../../.. и т. д., потому что вы должны быть очень уверены в связи между вашим текущим каталогом и местом, где вы хотите быть.

    Лучше использовать абсолютные пути с псевдонимом

    0
    ответ дан 2 December 2019 в 00:03
    поделиться

    используйте cd / , чтобы перейти к корню вашей файловой системы, и cd ~ , чтобы перейти к ваш домашний каталог.
    Пример: чтобы перейти к директору журнала, просто выполните cd /var/log[1139928 visible.

    0
    ответ дан 2 December 2019 в 00:03
    поделиться

    Для оболочек типа Борна (включая ksh ]), вы можете написать функцию оболочки:

    cdup() {
        set -- "${1-1}"
        while test "$1" -gt 0; do
          cd ..
          set -- "$(($1-1))"
        done
    }
    
    0
    ответ дан 2 December 2019 в 00:03
    поделиться

    Я обычно так делаю. Конечно, в ksh для клавиш навигации может быть установлено что-то другое. Когда я использовал ksh, я установил для них стиль vi, чтобы было k вместо стрелки вверх.

    В сценариях оболочки лучше быть явным. Если вы можете использовать абсолютный путь, сделайте это и выполните такую ​​команду, как:

    cd /webdata/cgi-bin
    

    Если сценарий может быть запущен для обработки файлов в разных каталогах, то вы можете подумать о следующем:

    TOPDIR="/webdata"
    cd $TOPDIR/cgi-bin
    

    Но если вы действительно не можете сделать ни одно из этих действий, то придерживайтесь .. цепочек, например:

    chmod +x *.py
    cd ../../../cgi-bin
    

    Это совершенно ясно. Выполните действие в текущем рабочем каталоге, затем перейдите на 3 уровня вверх и выберите каталог cgi-bin. Любой, кто сможет понять, что вы делаете в сценарии оболочки, должен без труда следовать этому. Если ваш сценарий действительно сложен, то было бы полезно добавить несколько комментариев вроде этого:

    # change to TOPDIR/cartsys/production/code/python
    cd python    
    chmod +x *.py
    cd ../../../cgi-bin
    

    Подразумевается, что вы были в каталоге кода и перешли на один уровень ниже на python, поэтому читатель, который забыл, где вы были в каталоге иерархия видит напоминание, которое помогает им подсчитать 3 уровня.

    cd ..
    
    <up arrow><ENTER>
    <up arrow><ENTER>
    <up arrow><ENTER>
    <up arrow><ENTER>
    
    0
    ответ дан 2 December 2019 в 00:03
    поделиться
    Другие вопросы по тегам:

    Похожие вопросы: