it-swarm.com.de

Aktuelles Verzeichnis von einem Terminal in einen Dateibrowser öffnen?

Mein aktuelles Verzeichnis ist tief in mehreren Unterordner-Ebenen aus meinem Home-Verzeichnis vergraben. Wenn ich dieses Verzeichnis in einem GUI-basierten Dateibrowser öffnen möchte, muss ich Ordner für Ordner doppelklicken, um es zu erreichen. Dies ist sehr zeitaufwändig. Auf der anderen Seite ist es mit sehr wenigen Tastenanschlägen und mehrmaligem Drücken der Tabulatortaste sehr leicht über ein Terminal erreichbar.

Ich möchte wissen, ob es eine Möglichkeit gibt, das aktuelle Verzeichnis in einem Terminal in einem Dateibrowser zu öffnen. Was ist der Befehl dazu?

Als Referenz habe ich ein Ubuntu-System, aber ich würde gerne wissen, welche Befehle in den verschiedenen Linux-Distributionen enthalten sind.

15
Paul

xdg-open .

xdg-open ist Teil des xdg-utils -Pakets, das in vielen Distributionen (einschließlich Ubuntu) standardmäßig installiert wird. Es funktioniert für mehrere Desktop-Umgebungen und ruft den Standard-Handler für den Dateityp in Ihrer Desktop-Umgebung auf.

Sie können ein Verzeichnis, Datei oder URL übergeben, und es wird das richtige Programm für diesen Parameter geöffnet. Zum Beispiel auf meinem KDE-System:

  • xdg-open . öffnet das aktuelle Verzeichnis im Dolphin-Dateimanager
  • xdg-open foo.txt öffnet foo.txt in emacsclient, das ich als Standardhandler für TXT-Dateien konfiguriert habe
  • xdg-open http://www.google.com/ öffnet google.com in meinem Standard-Webbrowser

Die Anwendung wird als separates Fenster geöffnet, und Sie erhalten eine Eingabeaufforderung in Ihrem Terminal. Sie können andere Befehle ausgeben oder Ihr Terminal schließen, ohne das neue GUI-Fenster zu beeinträchtigen.

Normalerweise wird eine Reihe von Fehlermeldungen auf stderr gedruckt, aber ich ignoriere sie einfach.

Bearbeiten:
Hinzufügen der Argumente xdg-open . >/dev/null 2>&1 leitet die Fehler und die Ausgabe um. Dieser Anruf blockiert Ihr Terminal nicht. Bindung an einen Alias ​​wie filemanager='xdg-open . >/dev/null 2>&1' kann nützlich sein.

27
user4443

Nahezu jede GUI-Anwendung (auf X-Fenstersystemen) kann über ein Terminalfenster in dieser GUI geöffnet werden. Geben Sie zum Öffnen einer GUI-App den Namen der ausführbaren Datei an der Shell-Eingabeaufforderung ein. Die meisten Dateibrowser verwenden ein Verzeichnis als Befehlszeilenargument, daher sollten Sie normalerweise . Als Parameter übergeben.

Hier sind einige Beispiele für einige gängige Systeme. Die meisten X-basierten Systeme funktionieren ähnlich.

Unter Gnome können Sie nautilus (den Standarddateibrowser) direkt ausführen, oder unter Gnome 2 können Sie mit gnome-open Jede Datei (einschließlich Verzeichnisse) mit der konfigurierten Gnome-Dateihandleranwendung öffnen:

$ nautilus .

oder

$ gnome-open .

Auf KDE gibt es zwei beliebte Dateibrowser. Mir ist kein Befehl ähnlich gnome-open Bekannt, obwohl gnome-open kann in KDE ausgeführt werden, öffnet jedoch standardmäßig Gnome-Apps.

$ dolphin .

oder

$ konquerer .

Unter OS X kann, wie in den Kommentaren erwähnt, ein ähnliches Befehlszeilenprogramm open verwendet werden.

$ open .

Was ist, wenn Sie den ausführbaren Namen des Dateibrowsers Ihres Systems nicht kennen?

Verwenden Sie unter Gnome 2 gnome-open .. Rufen Sie unter OS X open . Auf. Jeder von diesen führt den konfigurierten Dateibrowser für Ihre GUI-Umgebung aus.

Wenn Sie einen solchen Befehl in Ihrem Fenstersystem nicht kennen, finden Sie hier eine Möglichkeit, dies auf Systemen mit einem ps - Befehl herauszufinden, der die Optionen -u USER Und -o FORMAT Verstehen:

  1. Geben Sie in Ihrem Terminalfenster ps -u$USER -o comm > /tmp/$$A Ein.
  2. Starten Sie in Ihrer GUI den Dateibrowser.
  3. Geben Sie in Ihrem Terminalfenster ps -u $USER -o comm > /tmp/$$B Ein (Beachten Sie das Suffix B, dies ist eine andere Datei als Schritt 1 ).
  4. Geben Sie auch im Terminal diff /tmp/$$[AB] Ein.

Sollte den Namen Ihres Dateibrowsers anzeigen. Es ist möglich, dass Sie mehr als einen Namen sehen, wenn während der Zeit zwischen den Aufrufen von ps ein anderes Programm unter Ihrer Benutzer-ID gestartet wurde.

Zum Beispiel:

$ ps -u $USER -o comm > /tmp/$$A
$ # open file browser in gui
$ ps -u $USER -o comm > /tmp/$$B
$ diff /tmp/$$[AB]
95a96
> nautilus
9
RobertL

Soweit ich mich erinnere, verwendet Ubuntu als Standard-Dateibrowser nautilus. Um einen bestimmten Ordner vom Terminal aus zu öffnen, können Sie Folgendes eingeben:

nautilus /path/to/your/dir

oder

cd /path/to/your/dir && nautilus .

nautilus löst sich automatisch von dem Terminal ab, das es aufgerufen hat. Angenommen, Sie verwenden einen anderen Dateibrowser und möchten das Terminal schließen, von dem aus Sie Ihren Dateibrowser aufgerufen haben. Sie können Nohup verwenden, um tun Sie dies. Wenn Sie beispielsweise thunar (einen anderen Dateibrowser) verwenden, können Sie Folgendes eingeben:

Nohup thunar /path/to/your/dir & exit
2
Kira