Im Ubuntu-Terminal verbringe ich viel Zeit damit, bei jedem Start des Computers in ein bestimmtes Verzeichnis zu wechseln. Gibt es eine Möglichkeit, diesen Prozess zu vereinfachen? Gibt es einen Hotkey oder einen schnellen Verzeichniswechsel, den ich verwenden kann (z. B. Kurzwahl auf einem Telefon)?
eg:
cd 1:Changes to saved directory one
command-line
Entwickler Android
quelle
quelle
Antworten:
Es gibt zwei Möglichkeiten:
Wenn Sie sich jedes Mal, wenn Sie ein Bash-Terminal öffnen, in einem bestimmten Verzeichnis befinden möchten, bearbeiten Sie Ihre
~/.bashrc
Datei und fügen Siecd Directory
beispielsweise einfach die Zeile hinzucd ~/Desktop
.Wenn Sie mehrere Verknüpfungen haben möchten, können Sie immer globale Variablen verwenden, die Sie in Ihrer
~/.bashrc
Datei wie folgt festlegen können,export a=/tmp
und dann können Sie dies tun, zucd $a
dem Sie gelangen/tmp
.Denken
.bashrc
Sie daran, dass Sie nach dem Bearbeiten Ihrer Datei das Terminal neu starten oder ein neues öffnen müssen.quelle
source ~/.bashrc
oder, kürzer, verwenden. ~/.bashrc
.Schauen Sie sich auch an
autojump
, es erstellt eine Datenbank mit zuvor besuchten Verzeichnissen und dann können Sie dorthin springen. So haben Sie zum BeispielWenn Sie es dann einmal besucht haben, können Sie zu ihm springen
oder auch
weil es auch mit Teilübereinstimmungen funktioniert. Wenn mehr als ein Verzeichnis übereinstimmt, springen Sie zu dem am häufigsten besuchten Verzeichnis. Wenn dies nicht das gewünschte ist, wiederholen Sie den Befehl, um zum zweiten zu wechseln.
Es wird jedoch besser! Wenn Sie auch das Verzeichnis haben
und du machst
und dann TabTabTabbekommen Sie (in der Reihenfolge der meistbesuchten)
und dann können Sie einfach die Nummer des gewünschten Verzeichnisses drücken!
Zur Installation können Sie einfach verwenden
sudo apt-get install autojump
und dann müssen Sie hinzufügenzu deinem
~/.bashrc
.Weitere Informationen finden Sie hier: https://github.com/wting/autojump (auch Anweisungen zur Installation von src, mit der Sie die neueste Version erhalten)
quelle
Bash- Aliase sind nützlich, um Verknüpfungen für häufig ausgeführte Befehle zu erstellen.
In
~/.bashrc
eine Zeile ähnlich der folgenden fügen Sie den Alias zu erstellen:Schließen und öffnen Sie das Terminal erneut oder führen Sie es aus
source ~/.bashrc
.Von nun an können Sie nur noch
jump1
ausführen, um diesen langencd
Befehl auszuführen .Siehe auch:
quelle
Obwohl es bereits einige gute Antworten gibt, dachte ich, ich würde der Vollständigkeit halber die alten
pushd
undpopd
Bash-integrierten Funktionen erwähnen, mit denen Sie sehr schnell zwischen Verzeichnissen in tiefen Pfaden in Ihrem Dateisystem wechseln können. Im Gegensatz zu denautojump
von burger.ga erwähnten Lesezeichen ist der mit using erstellte Verzeichnisstapelpushd
nur vorübergehend.Da die GNU Handbuch Notizen ,
pushd
undpopd
sind Bash builtins ein temporäres Verzeichnis Stapel zu konstruieren , die eine istEs ist etwas gewöhnungsbedürftig, aber es gibt viele nützliche Tutorials in diesem Blog und auf dieser Website zum Beispiel. Es gibt keine separaten Manpages für die Befehle, da diese in der Bash-Manpage enthalten sind. Zum schnellen Nachschlagen können Sie jedoch die GNU Bash- Seite anzeigen .
Die klarste Erklärung findet sich in diesem sehr nützlichen Artikel und ist genau die Art
pushd
und Weise, wie ich sie benutze undpopd
:Verwenden Sie zunächst
dirs
oder,dirs -l
um Verzeichnisse auf dem Stapel aufzulisten und den Stapeldirs -c
zu löschen.In gewisser Weise setzen Sie ein Lesezeichen für den Ort, an den Sie zurückkehren möchten, indem Sie eingeben
Anschließend können Sie dem Stapel weitere Verzeichnisse hinzufügen, sodass Sie eine Verzeichnisliste wie folgt erhalten, die 3 festgelegte Ordner und Ihren Basisordner enthält
~
:Sie müssen es nicht
popd
sofort verwenden, da dadurch Verzeichnisse vom Stapel entfernt werden. Am bestenpushd
drehen Sie den Stapel, damit Sie zwischen den Verzeichnissen wechseln und sie nach Ihren Wünschen sortieren können. Weitere Informationen zu dieser nützlichen Stapelrotation finden Sie in der Bash-Manpage .Wenn Sie genau die Stapelanordnung haben, wie die obige
dirs
Auflistung zeigt,pushd +3
wechseln Sie zum jeweiligen Bilderordner und platzieren diesen über dem Stapel (es ist +3 und nicht +4, da Sie Ihre nicht~
im Verzeichnisstapel zählen):Die Eingabeaufforderung lautet also:
Sie können dies weiterhin tun, ohne sie aus dem Stapel zu entfernen, obwohl alle Ordner,
cd
in denen Sie sich befinden, außer denen, die dem Verzeichnisstapel hinzugefügt wurden,pushd
Ihren Verzeichnisstapel ändern.Sobald Sie den Verzeichnisstapel in der gewünschten Reihenfolge angeordnet haben, können Sie
popd
schnell durch die Verzeichnisse blättern und dann zum Basisordner zurückkehren. Zum Beispiel könnenPictures
wir von zurückkehren zuDownloads
:und die Eingabeaufforderung lautet
Das Schöne daran ist im Allgemeinen, dass Sie den Verzeichnisstapel und die Reihenfolge der darin enthaltenen Elemente einrichten
pushd
und dann, wenn Sie drei Dateien in jedem dieser Verzeichnisse bearbeiten müssen, sofort zu jeder Datei zurückkehren können,popd
während Sie sie entfernen aus dem Verzeichnisstapel. Dannpopd
kehren Sie mit Ihrem letzten zurück zu~
. Dies ist besonders nützlich, wenn Sie über besonders tiefe Verzeichnisse verfügen und damit den Verzeichnisstapel einrichten können, um schnell zwischen ihnen zu wechseln.Darüber hinaus enthält diese Frage einige Tipps, die Sie bei der Arbeit an der Befehlszeile möglicherweise nützlich finden:
quelle
Obwohl es eine Befehlszeilenmethode gibt, um dies schneller zu erledigen, würde ich persönlich die Verwendung einer Nautilus-Erweiterung namens empfehlen
nautilus-open-terminal
.Installieren Sie zuerst das Paket
nautilus-open-terminal
und setzen Sie ein Lesezeichen für Ihre Lieblingsordner mit Nautilus. In Nautilus 3.6. * Müssen Sie in das Ausrüstungsmenü gehen und diesen Ort mit einem Lesezeichen versehen auswählen .Verwenden Sie dann Nautilus-Lesezeichen, um schneller in Ihren Lieblingsverzeichnissen zu wechseln. Klicken Sie einfach mit der rechten Maustaste auf eine leere Stelle und wählen Sie Im Terminal öffnen .
Jetzt können Sie sowohl über die Befehlszeile als auch über den Dateimanager schnell auf Ihre bevorzugten Verzeichnisse zugreifen.
quelle
anc wurde genau für diesen Anwendungsfall entwickelt.
https://github.com/tobimensch/anc
Hier ist ein Auszug aus der README.md:
Vollständige Offenlegung: Ich bin der Autor von anc.
quelle
Sie können einen Alias in Ihre .bashrc-Datei (oder die Konfigurationsdatei für Ihre Lieblings-Shell - sie befinden sich normalerweise in Ihrem Home-Verzeichnis) einfügen:
Ein nützlicher Info-Link zur Verwendung von Aliasen in Bash ist hier .
quelle
Ich habe dafür eine Reihe von Bash-Funktionen erstellt und sie meinem .bash_profile hinzugefügt
Skript
Verwendung
getFolders
Mit getFolders haben Sie eine Liste mit Kurzschrift, Beschreibung und Speicherort für jeden Ordner. Wenn Sie getFolders mit einer Kurzform verwenden, wird der Ordner ausgegeben. Sie können eine Liste der verfügbaren Ordner und ihrer Beschreibungen abrufen, indem Sie einfach getFolders ohne Parameter aufrufen
Beispiel zum Abrufen des Ordnerpfads
Ausgänge
Beispiel für das Abrufen verfügbarer Ordner.
Ausgänge
gf
gf ist eine Verknüpfung für getFolders
Ausgänge
gehe zu
goto ist eine einfache Möglichkeit, in den ausgewählten Ordner zu wechseln.
Ausgabe
Die CD wurde im Ordner / path / to / alias / ausgeführt
/ path / to / alias / folder>
Warum mehrere Funktionen haben
Im Mittelpunkt von Unix und Linux stehen einfache wiederverwendbare Funktionen, die miteinander verkettet werden können. Ich bevorzuge diese Methode, da sie Sie nicht nur an einen ausgewählten Ort verschiebt, sondern eine Funktion ist, die per Alias einen Pfad zurückgibt. Sie können diese Funktion verwenden, um von diesem Punkt aus alles wie CD bis zu diesem Pfad zu tun.
quelle
Ziehen Sie in Betracht, die
CDPATH
Umgebungsvariable in Ihrem .bashrc- oder .bash_profile festzulegen. CDPATH hat dieselbe durch Doppelpunkte getrennte FormPATH
wie andere ähnliche Variablen und ermöglichtcd
Verknüpfungen beim Auffinden Ihrer Verzeichnisse. Beispielsweise:quelle
Sie können eine eigene Verknüpfung zu einem bestimmten Verzeichnis einrichten. Zum Beispiel möchten Sie in ein verschachteltes Verzeichnis wechseln, im Allgemeinen tun Sie dies
Normalerweise verwenden Sie den Befehl cd und geben dann alle Verzeichnisnamen ein oder überspringen die Eingabe (mit der TAB-Taste), aber es dauert immer noch einige Minuten.
Also, Ihre Zeit zu sparen können Sie einen Aliasnamen machen es im Terminal. Es ist eine einmalige Aufgabe, einen Alias einzurichten.
Jetzt müssen Sie nur noch den Aliasnamen ( dir-target ) verwenden, um in Ihr Zielverzeichnis zu wechseln.
quelle
Der schnellste Weg, den ich gefunden habe, ist
xd
ein "eXchange Directories" -Programm, das von einem Niederländer namens Frank B. Brokken geschrieben wurde.Es funktioniert , indem alle Pfade im Dateisystem zu finden , die zu einer Abkürzung auflösen können Sie eingegeben hat , zum Beispiel
ulb
könnte stehen ,/usr/local/bin
wenn diese Ordner vorhanden ist Ihr System:Wenn Sie 2 drücken, sind Sie dabei
/usr/local/bin
.Es ist wirklich alte Software und nicht mehr am ursprünglichen Speicherort verfügbar, kein Kontakt mit dem Autor. Um zu verhindern, dass sie verloren geht, habe ich sie in das Github-Repo eingefügt:
https://github.com/mrkafk/exchange_directories
quelle
Ich benutze dazu DirB (Directory Bookmarks). Sehr schön! http://www.linuxjournal.com/article/10585
Ich habe meine an meinen Geschmack angepasst und bin einfacher zu bedienen und klarer.
quelle