Ich öffne ein Terminal und kopiere dann viel in dasselbe Verzeichnis, dessen Pfad sehr lang ist.
Das bedeutet, dass ich viel cd'ing und die Registerkarte benutze, um die Dinge viel zu beschleunigen.
Es wäre großartig, wenn ich eine Art Link zu diesem Verzeichnis und dann einfach eine CD dazu hätte, damit ich schnell im tief verschachtelten Verzeichnis wäre.
Ist das möglich?
git status
. Ich habe auch einige Aliase in meinem.bash_profile
. Nicht genau das, wonach Sie fragen, aber verwandt.Antworten:
Hier ist der Weg, um häufig mit komplexen Pfaden umzugehen
cd
.Dadurch wird die symbolische Verknüpfung erstellt
Um dieses neue
Links
Verzeichnis effizient zu nutzen, wenn Ihre Anmeldeshellbash
nur diesen Befehl in Ihr Verzeichnis enthält~/.profile
(der von allen Bourne-Shells verwendetbash
wirdksh
,zsh
…):Dies bedeutet, dass
cd
Ihre Shell für jeden in 2 Verzeichnissen nach einem lokalen Pfadnamen sucht:Sie müssen Ihre Sitzung nicht neu starten, um sie zu testen. Führen Sie einfach Folgendes aus:
was bedeutet, lesen Sie einfach meine
~/.profile
. (Sie müssen es nicht in Ihr~/.bashrc
Verzeichnis einfügen, da Sie nicht dieselbe Variableninitialisierung wiederholen müssen, wenn Sie es nicht ändern.)Sobald Sie es getestet haben, können Sie Ihre Sitzung neu starten;).
Von nun an müssen Sie jedes Mal, wenn Sie zu möchten, Folgendes eingeben
there
:quelle
cdora
fürcd $ORACLE_HOME
und so ...)Das Definieren eines Alias ist eine sehr einfache Möglichkeit, eine kurze Abkürzung für einen längeren Befehl zu verwenden. Sobald Sie Ihre Aliase richtig eingestellt haben, können Sie einen Abschnitt in Ihrer .bashrc-Datei (oder einer anderen Startdatei) erstellen, damit Sie diese Aliase nicht für jede neue Shell, die Sie starten, erneut eingeben müssen:
in .bashrc:
etc.
Melden Sie sich ab und wieder an (oder führen Sie es einfach aus
. ~/.bashrc
), und jetzt können Sie einfach eingebenhttpdlog
und die CD wird ausgeführt. Oderws4
und es führt tatsächlich den Befehl ssh usw. aus.Dadurch entfällt die Notwendigkeit, (eine große Anzahl) leere Links zu erstellen, die dazu führen, dass auch Ihr Home-Verzeichnis wie ein Chaos aussieht.
quelle
Versuchen Sie es mit Autojump oder z .
Nachdem Sie eines der beiden installiert haben, sind Sie
cd
wie gewohnt unterwegs und sie lernen Ihre am häufigsten besuchten Verzeichnisse kennen und können zu ihnen wechseln, indem Sie nur einen Teil des Pfads eingeben:Ich bevorzuge z der beiden.
quelle
Ich empfehle fasd, das Autojump und z ähnelt, aber meiner Meinung nach besser ist. Von der Website:
quelle
Alternativ können Sie einen Alias erstellen. Wirf das Folgende in so etwas wie .bashrc oder .aliases
Stellen Sie dann sicher, dass die Datei, in der sie sich befindet,
source
d ist. Meine Aliase befinden sich in .bashrc, das ich mit dieser Zeile in .bash_profile bezeichne:source ~/.bashrc
quelle
Das Hinzufügen von praktischen Symlinks ist für ein oder zwei spezielle Verzeichnisse in Ordnung, aber sehr schnell wird es schwierig, sie zu verwalten. Eine weitaus bessere Lösung besteht darin , die Umgebungsvariable
CDPATH
, die fürbash
und andere Shells verfügbar ist, nur für diesen Zweck zu verwenden.CDPATH
ist eine durch Doppelpunkte getrennte Liste (wiePATH
) von Orten, an denen nach einem Verzeichnisnamen gesucht werden soll. Es kann sowohl absolute als auch relative Pfadnamen enthalten. Ich habe meine auf so etwas eingestelltexport CDPATH=".:..:$HOME/work/repos:$HOME/projects:<etc>"
.Mit dieser Einstellung kann ich
cd pdftools
von überall aus tippen und es wird mich dorthin führen~/projects/pdftools
. (Mit einem Symlink müsste ich eingeben,cd ~/pdftools
wenn ich nicht in meinem HOME-Verzeichnis wäre.) Ich kann auch eine Verknüpfung zu Unterverzeichnissen herstellen :cd pdftools/bin
.Die
..
in meinemCDPATH
lässt mich gebencd sisterdir
stattcd ../sisterdir
usw. Wie Sie erwarten können, wenn ich neue Verzeichnisse erstellen überall inCDPATH
sie automatisch gefunden werdecd
- keine Notwendigkeit, neue Symlinks oder Aliase zu erstellen.Diese Funktion wird noch besser, wenn Sie die
bash_completion
verteilte Datei verwenden, z. B. mit Debian-Systemen. Es wurde nicht mit meiner OS X-Box geliefert, daher habe ich eine Kopie abgerufen und es funktioniert einwandfrei. (Holen Sie es mitbrew
, oder es einfach manuell herunterladen von hier .) Diese Datei definiert Erweiterungen Commandline Abschluss, so dass ich geben kanncd pdf<TAB>
und daspdftools
Verzeichnis gefunden wird und aus expandiertem überall aufCDPATH
.quelle
Sicher: Erstellen Sie eine symbolische Verknüpfung
quelle
Ich mag es, Bashmarks zu verwenden, um einfach "Lesezeichen für Verzeichnisse" im laufenden Betrieb zu erstellen.
Siehe die Readme-Datei unter: https://github.com/huyng/bashmarks
Hinweis: Sie müssen git installiert haben, um den dreistufigen Installationsprozess von bashmark zu verfolgen: http://git-scm.com/download/mac
Viel Glück!
quelle
Alternativ können Sie auch versuchen, eine Fischschale zu installieren.
http://fishshell.com/
Dies hat eine ausgezeichnete Vorhersage für Befehle. Außerdem können Sie auf intelligente Weise Groß- und Kleinschreibung beachten, ohne Fehler zu machen.
Der Nachteil von Fischen ist, dass sie eine eigene Skriptsprache haben und nicht mit Bash kompatibel sind.
quelle
Ich tippe nur "cd" ein und ziehe den Ordner aus dem Finder in das Terminal, das den vollständigen Pfad einfügt. Vielleicht nicht ganz so elegant, funktioniert aber für alle Ordner gegen ein paar vorgespeicherte Verknüpfungen?
quelle