Qualquer atalho para “cd ..”?

30

Existe algum atalho para cd .. ?

    
por user35538 19.03.2011 / 16:06

9 respostas

68

Não por padrão (pode haver algumas exceções a isso), não há. Mas se você usar o comando alias , você pode criar um atalho como este:

alias ..="cd .."

Isso permitirá que você use o comando .. para fazer cd .. .

    
por 19.03.2011 / 16:08
82

Ative a opção autocd . Ele permitirá que você digite .. para cd .. e permitirá que você use qualquer diretório como um nome de comando e cd :

shopt -s autocd

Para os curiosos, o mesmo existe para zsh:

setopt auto_cd
    
por 19.03.2011 / 17:52
42

Acho isso útil:

up() { local p= i=${1:-1}; while (( i-- )); do p+=../; done; cd "$p$2" && pwd; }

Por exemplo, up 4 = cd ../../../..

Como bônus, 'up 4'/path/to/file funciona de maneira semelhante a ../../../../path/to/file .

    
por 19.03.2011 / 16:27
15

Depois de fazer um

bind '"\eu":"cd ..\C-m"'

você pode cd .. pressionando Alt-u . Eu costumava usar isso em campeonatos chdir; -)

Se você quiser a suíte swift-chdir inteira

ALT+u cd ..
ALT+n enter next dir for selection
ALT+p enter previous dir for selection
ALT+SPC choose selected dir
ALT+l list subdirectories and highlight selection

apenas inclua isso no seu .bashrc

swiftcd-status() {
    echo -n -e "\r
bind '"\eu":"cd ..\C-m"'
33[1A
ALT+u cd ..
ALT+n enter next dir for selection
ALT+p enter previous dir for selection
ALT+SPC choose selected dir
ALT+l list subdirectories and highlight selection
33[J" } swiftcd-contents() { find "$swiftcdpath" -maxdepth 1 -executable -type d } swiftcd-setdir () { swiftcdpath=$PWD swiftcddirnum=1 swiftcddircount='swiftcd-contents|wc -l'; swiftcd-status } swiftcd-pd () { (( --swiftcddirnum <= 0 )) && swiftcddirnum=$swiftcddircount; swiftcd-switch $swiftcddirnum swiftcd-status } swiftcd-updir () { cd ..; swiftcd-setdir } swiftcd-list () { local redOn="$(echo -e '
swiftcd-status() {
    echo -n -e "\r%pre%33[1A%pre%33[J"
}

swiftcd-contents() {
    find "$swiftcdpath" -maxdepth 1 -executable -type d
}

swiftcd-setdir () 
{ 
    swiftcdpath=$PWD
    swiftcddirnum=1
    swiftcddircount='swiftcd-contents|wc -l';
    swiftcd-status
}

swiftcd-pd () 
{ 
    (( --swiftcddirnum <= 0 )) && swiftcddirnum=$swiftcddircount;
    swiftcd-switch $swiftcddirnum
    swiftcd-status
}

swiftcd-updir () 
{ 
    cd ..;
    swiftcd-setdir
}

swiftcd-list () 
{ 
    local redOn="$(echo -e '%pre%33[31m%pre%33[1m')"
    local redOff="$(echo -e '%pre%33[m')"

    swiftcd-status
    ((  swiftcddircount > 1 )) && { 
        echo
        echo $(swiftcd-contents|sed 's!^'"$swiftcdpath"'!!'|sed $swiftcddirnum' s/\(.*\)/'"$redOn"''"$redOff"'/')
    } 
}

swiftcd-nd () 
{ 
    (( ++swiftcddirnum > swiftcddircount )) && swiftcddirnum=1;
    swiftcd-switch $swiftcddirnum
    swiftcd-status
}

swiftcd-switch() {
    (( $1 <= swiftcddircount && $1 > 0 )) && cd $(swiftcd-contents|sed -n $1' p')
}

bind '"\e ":"swiftcd-setdir\C-m"'
bind '"\ep":"swiftcd-pd\C-m"'
bind '"\eu":"swiftcd-updir\C-m"'
bind '"\en":"swiftcd-nd\C-m"'
bind '"\el":"swiftcd-list\C-m"'
swiftcd-setdir
33[31m%pre%33[1m')" local redOff="$(echo -e '%pre%33[m')" swiftcd-status (( swiftcddircount > 1 )) && { echo echo $(swiftcd-contents|sed 's!^'"$swiftcdpath"'!!'|sed $swiftcddirnum' s/\(.*\)/'"$redOn"''"$redOff"'/') } } swiftcd-nd () { (( ++swiftcddirnum > swiftcddircount )) && swiftcddirnum=1; swiftcd-switch $swiftcddirnum swiftcd-status } swiftcd-switch() { (( $1 <= swiftcddircount && $1 > 0 )) && cd $(swiftcd-contents|sed -n $1' p') } bind '"\e ":"swiftcd-setdir\C-m"' bind '"\ep":"swiftcd-pd\C-m"' bind '"\eu":"swiftcd-updir\C-m"' bind '"\en":"swiftcd-nd\C-m"' bind '"\el":"swiftcd-list\C-m"' swiftcd-setdir
    
por 19.03.2011 / 21:07
14

Eu uso este, pois digito muito rápido e muitas vezes sinto falta da barra de espaço:

alias cd..="cd .."
    
por 19.03.2011 / 16:44
7

Experimente o autojump: autojump no github

Isto não só encurtará o comando cd em 'j', mas também encurtará os caracteres necessários para digitar a pasta em que deseja pular.

Se você sempre faz cd na pasta / home / foo / Projects / thenextfacebook, você pode apenas fazer 'j face' e lá está você. Ele aprende automaticamente quais pastas são as mais importantes para você e depois de usá-lo por um mês, agora posso dizer que é muito preciso.

    
por 20.03.2011 / 09:24
2

Eu uso alias …='cd ..' no meu arquivo .bashrc . Regras Unicode;)

    
por 20.04.2011 / 11:15
1

Meu arquivo bashrc contém

alias ..="cd .. && ls -lG"

bem como

alias ,,="pushd .. && ls -lG"
    
por 21.03.2011 / 04:52
1

Teste o Cd Deluxe para obter um comando cd muito melhorado. Ele suporta coisas como "cd ..." e "cd ...." e assim por diante, a fim de navegar rapidamente para cima.

    
por 07.04.2011 / 16:26