web-dev-qa-db-fra.com

Ouvrir le répertoire actuel d'un terminal sur un navigateur de fichiers?

Mon répertoire actuel est profondément enfoui dans plusieurs couches de sous-dossiers de mon répertoire personnel. Si je veux ouvrir ce répertoire dans un navigateur de fichiers basé sur gui, je dois double-cliquer dossier après dossier pour y accéder. Cela prend beaucoup de temps. D'un autre côté, avec très peu de touches et en appuyant plusieurs fois sur le bouton de tabulation, il est très facilement accessible via un terminal.

Je veux savoir s'il existe un moyen d'ouvrir le répertoire actuel d'un terminal sur un navigateur de fichiers. Quelle est la commande pour ce faire?

Pour référence, j'ai un système ubuntu, mais j'aimerais savoir quelles sont les commandes à travers les différentes distributions de linux.

15
Paul

xdg-open .

xdg-open fait partie du paquet xdg-utils , qui est couramment installé par défaut dans de nombreuses distributions (y compris Ubuntu). Il est conçu pour fonctionner pour plusieurs environnements de bureau, en appelant le gestionnaire par défaut pour le type de fichier dans votre environnement de bureau.

Vous pouvez passer un répertoire, fichier ou URL , et cela ouvrira le programme approprié pour ce paramètre. Par exemple, sur mon système KDE:

  • xdg-open . ouvre le répertoire courant dans le gestionnaire de fichiers Dolphin
  • xdg-open foo.txt ouvre foo.txt dans emacsclient, que j'ai configuré pour être le gestionnaire par défaut des fichiers .txt
  • xdg-open http://www.google.com/ ouvre google.com dans mon navigateur Web par défaut

L'application s'ouvre dans une fenêtre séparée, et vous obtiendrez une invite dans votre terminal et pourrez émettre d'autres commandes ou fermer votre terminal sans affecter votre nouvelle fenêtre GUI.

J'obtiens généralement un tas de messages d'erreur imprimés sur stderr, mais je les ignore simplement.

Modifier:
Ajout des arguments xdg-open . >/dev/null 2>&1 redirige les erreurs et la sortie. Cet appel ne bloquera pas votre terminal. Lier ceci à un alias comme filemanager='xdg-open . >/dev/null 2>&1' peut être utile.

27
user4443

Presque toutes les applications GUI (sur les systèmes X Window) peuvent être ouvertes à partir d'une fenêtre de terminal dans cette GUI. Pour ouvrir une application graphique, tapez le nom de l'exécutable à l'invite du shell. La plupart des navigateurs de fichiers prennent un répertoire comme argument de ligne de commande, vous devez donc généralement passer . comme paramètre.

Voici quelques exemples de certains systèmes populaires, la plupart des systèmes basés sur X fonctionnent de manière similaire.

Sur Gnome, vous pouvez exécuter nautilus (le navigateur de fichiers par défaut) directement, ou sur Gnome 2, vous pouvez utiliser gnome-open pour ouvrir n'importe quel fichier (y compris les répertoires) avec l'application de gestion de fichiers Gnome configurée:

$ nautilus .

ou

$ gnome-open .

Sur KDE , il existe deux navigateurs de fichiers populaires, je ne connais pas de commande similaire à gnome-open, bien que gnome-open peut être exécuté dans KDE, mais par défaut, il ouvre les applications Gnome.

$ dolphin .

ou

$ konquerer .

Sur OS X, comme mentionné dans les commentaires, un programme de ligne de commande similaire, open peut être utilisé.

$ open .

Que faire si vous ne connaissez pas le nom de l'exécutable du navigateur de fichiers de votre système?

Si sur Gnome 2, utilisez gnome-open . Si sous OS X, appelez open .. Chacun d'eux exécutera le navigateur de fichiers configuré pour votre environnement GUI.

Si vous ne connaissez pas une telle commande dans votre système de fenêtres, voici une façon de découvrir les systèmes avec une commande ps qui comprend les options -u USER et -o FORMAT:

  1. Dans votre fenêtre de terminal, saisissez ps -u$USER -o comm > /tmp/$$A
  2. Dans votre interface graphique, démarrez le navigateur de fichiers.
  3. De retour dans votre fenêtre de terminal, tapez ps -u $USER -o comm > /tmp/$$B (Remarquez le suffixe B, il s'agit d'un fichier différent que l'étape 1).
  4. Toujours dans le terminal, tapez diff /tmp/$$[AB].

Devrait afficher le nom de votre navigateur de fichiers. Il est possible que vous puissiez voir plus d'un nom, si un autre programme venait à démarrer sous votre ID utilisateur pendant l'intervalle entre les appels à ps.

Par exemple:

$ 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

Ubuntu utilise comme navigateur de fichiers par défaut nautilus pour autant que je m'en souvienne. Par conséquent, pour ouvrir un certain dossier à partir du terminal, vous pouvez taper quelque chose comme ceci:

nautilus /path/to/your/dir

ou

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

nautilus se détache automatiquement du terminal auquel il a été appelé, mais supposons que vous utilisez un autre navigateur de fichiers et que vous souhaitez fermer le terminal à partir duquel vous avez appelé votre navigateur de fichiers, vous pouvez utiliser Nohup pour faites-le. Si vous utilisez, disons, thunar (un autre navigateur de fichiers), vous pouvez taper ce qui suit:

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