Irgendeine Abkürzung für "cd .."?

30

Gibt es eine Abkürzung für cd ..?

user35538
quelle
47
Dauert das Tippen so lange?
rechts
17
JA, es dauert zu lange, bis etwas so oft gebraucht wird.
Maaartinus
2
Versuchen Sie Push and Pop
Zachary Scott
19
Ich bin furchtbar amüsiert, dass jemand cd ..zu umständlich findet, um etwas einzugeben
Erik
8
Ich vermute, die Leute, die ' cd ..' so oft das cdAnti-Pattern ' ' Ich muss in ein Verzeichnis, bevor über die Dateien dort gesprochen wird ' ' haben , anstatt Dateisystempfade anzugeben.
Großzügige

Antworten:

68

Nicht standardmäßig (möglicherweise gibt es einige Ausnahmen), nicht. Aber wenn Sie den aliasBefehl verwenden, können Sie eine Verknüpfung wie folgt erstellen:

alias ..="cd .."

Auf diese Weise können Sie den entsprechenden Befehl ..ausführen cd ...

Wuffers
quelle
10
Verdammt, ich habe genau dasselbe getippt.
Majenko
6
Ich benutze auch alias ...="cd ../.."und noch zwei. Außerdem kann ich empfehlen alias ,=cd "$OLDPWD".
Maaartinus
13
@maaartinus: cd -.
Benjamin Bannier
1
@honk Ich wusste es nicht. Es ist jedoch zu lang (und ich brauche die Ausgabe nicht).
Maaartinus
1
Könnte jemand bitte die Ablehnung erklären?
Wuffers
82

Aktivieren Sie die autocdOption. Es wird Ihnen geben ..für cd ..und werden Sie tatsächlich ein beliebiges Verzeichnis als Befehlsnamen und lassen verwenden , cdum es:

shopt -s autocd

Für die Neugierigen gilt dasselbe für zsh:

setopt auto_cd
sam hocevar
quelle
1
Das ist fantastisch. Zeit, .bashrc auf allen meinen Linux-Boxen zu bearbeiten. Leider scheint es nicht mit Cygwin Bash zu funktionieren.
Jongleur
3
Woah, das ist großartig.
Reid
5
@gordoco: Ja, es ist nur Bash 4.x. Aus diesem Grund benutze ich zsh seit 14 Jahren.
Sam Hocevar
1
zsh(+ auto_cd) FTW!
Johnsyweb
2
@LaC: Technische Überlegenheit ist nicht immer ein bestimmender Faktor für die Dominanz. Bash ist viel älter und hat weit mehr geschrieben, und praktisch alle Shell-Programmierer wissen es, mehr als alles andere. Veränderung kann schwierig sein. - Von jemandem, der nicht weiß, worum es bei all dem zsh-Rauschen geht, und der nur wirklich Bash verwendet hat :)
Tshepang
42

Ich finde das nützlich:

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

Zum Beispiel up 4=cd ../../../..

Als Bonus `up 4`/path/to/filefunktioniert ähnlich wie ../../../../path/to/file.

Grawity
quelle
Das ist interessant! 2007 habe ich eine ähnliche [function] ( home.arcor.de/hirnstrom/minis/index.html#up_X ) für meine .bashrc - Datei geschrieben. Ihre Lösung erlaubt es auch, den ganzen Weg zurückzuspringen cd -. Gut gemacht! :)
Benutzer unbekannt
Nett. Ich hatte so etwas für VMS DCL, als ich daran arbeitete, dachte aber nicht wirklich darüber nach, als ich zu Unix und seinen Varianten wechselte.
GreenMatt
16

Nachdem ich a

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

Sie können cd ..durch Drücken von Alt-u. Früher habe ich das bei chdir-Meisterschaften verwendet ;-)

Wenn Sie die ganze swift-chdir-Suite wollen

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

Fügen Sie dies einfach in Ihr .bashrc ein

swiftcd-status() {
    echo -n -e "\r\0033[1A\0033[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 '\0033[31m\0033[1m')"
    local redOff="$(echo -e '\0033[m')"

    swiftcd-status
    ((  swiftcddircount > 1 )) && { 
        echo
        echo $(swiftcd-contents|sed 's!^'"$swiftcdpath"'!!'|sed $swiftcddirnum' s/\(.*\)/'"$redOn"'\1'"$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
artistoex
quelle
4
Was ist eine chdir Meisterschaft? ignorant
Peter Jaric
4
Directory Navigation Sportereignis.
artistoex
14

Ich benutze diese, da ich zu schnell tippe und oft die Leertaste verpasse:

alias cd..="cd .."
Jongleur
quelle
Am unpraktischsten für eine Nicht-Unix-Person gelegentlich auf einer * nix-Box +1
mplungjan
11
s / non-unix/ Windows/
Grawity
3
Wenn Sie so schnell tippen, dass Sie Zeichen vermissen, ist es kaum zu glauben, dass das Hinzufügen eines Alias ​​für cd..wirklich hilfreich ist.
Olli
3
Ich kann sehen, wie es helfen könnte, wenn Sie von lieben alten DOS kommen, wo cd..gültig war :)
Cambraca
1
Aus irgendeinem Grund habe ich in der letzten Woche viel CD geschrieben. Ich dachte, ich müsste mit dem Kaffee aufhören, aber diese Lösung gefällt mir viel besser.
Syntaxfehler
7

Versuchen Sie Autojump: Autojump auf Github

Dies verkürzt nicht nur den Befehl cd in 'j', sondern verkürzt auch die Zeichen, die zum Eingeben des Ordners benötigt werden, in den Sie springen möchten.

Wenn du immer in den Ordner / home / foo / Projects / thenextfacebook cdst, kannst du einfach 'j face' machen und schon bist du da. Es lernt automatisch, welche Ordner für Sie am wichtigsten sind, und nachdem es einen Monat lang verwendet wurde, kann ich sagen, dass es sehr genau ist.

mbrochh
quelle
2

Ich benutze alias …='cd ..'in meiner .bashrcDatei. Unicode-Regeln;)

stricken
quelle
1

Meine bashrc-Datei enthält

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

ebenso gut wie

alias ,,="pushd .. && ls -lG"
Wrashi
quelle
1

Probieren Sie Cd Deluxe für einen stark verbesserten CD-Befehl. Es unterstützt Dinge wie "cd ..." und "cd ...." und so weiter, um schnell nach oben zu navigieren.

Durcheinander
quelle