¿Abrir el directorio actual desde una terminal en un navegador de archivos?

15

Mi directorio actual está enterrado en capas de subcarpetas múltiples desde mi directorio de inicio. Si quiero abrir este directorio en un navegador de archivos basado en GUI, tengo que hacer doble clic en una carpeta tras otra para acceder a él. Esto consume mucho tiempo. Por otro lado, con muy pocas teclas presionadas y presionando varias veces el botón de tabulación, se puede acceder fácilmente a través de un terminal.

Quiero saber si hay una manera de abrir el directorio actual en una terminal en un navegador de archivos. ¿Cuál es el comando para hacer esto?

Como referencia, tengo un sistema ubuntu, pero me gustaría saber cuáles son los comandos en las diversas distribuciones de linux.

Pablo
fuente
2
Eso realmente depende de qué sistema operativo y entorno de GUI esté utilizando. Por ejemplo, en la parte superior de mi cabeza, en un sistema OS X, open /path/to/some/directoryse abrirá una ventana del Finder para ese directorio. En Windows, es una invocación de explorer.exe En KDE o GNOME o LXDE, probablemente haya encantamientos únicos para cada entorno que se puedan usar. En resumen, se necesitan más detalles para su caso de uso específico.
DopeGhoti
Eso dependería del "explorador de archivos" específico o del sistema de ventanas que esté utilizando. Como referencia, en Mac OS X, open .se abrirá una ventana del Finder en el directorio actual. Puede existir un comando similar en su sistema.
dhag
Debería editar su pregunta para incluir qué explorador de archivos basado en GUI está utilizando / desea utilizar.
Anthony Geoghegan
@drewbenn: Publicaría eso como respuesta, ya que funcionará para diferentes entornos.
saiarcot895

Respuestas:

26

xdg-open .

xdg-open es parte del paquete xdg-utils , que comúnmente se instala por defecto en muchas distribuciones (incluida Ubuntu). Está diseñado para funcionar en múltiples entornos de escritorio, llamando al controlador predeterminado para el tipo de archivo en su entorno de escritorio.

Puede pasar un directorio, archivo o URL , y se abrirá el programa adecuado para ese parámetro. Por ejemplo, en mi sistema KDE:

  • xdg-open . abre el directorio actual en el administrador de archivos Dolphin
  • xdg-open foo.txt abre foo.txt en emacsclient, que configuré para ser el controlador predeterminado para archivos .txt
  • xdg-open http://www.google.com/ abre google.com en mi navegador web predeterminado

La aplicación se abre como una ventana separada, y recibirá un mensaje de vuelta en su terminal y puede emitir otros comandos o cerrar su terminal sin afectar su nueva ventana GUI.

Por lo general, recibo un montón de mensajes de error stderr, pero simplemente los ignoro.

Editar:
Agregar los argumentos xdg-open . >/dev/null 2>&1redirige los errores y la salida. Esta llamada no bloqueará su terminal. Unir esto a un alias como filemanager='xdg-open . >/dev/null 2>&1'puede ser útil.

rodeo
fuente
Dorado. Gracias
Adil Saju
9

Casi cualquier aplicación GUI (en sistemas de ventanas X) se puede abrir desde una ventana de terminal dentro de esa GUI. Para abrir cualquier aplicación GUI, escriba el nombre del ejecutable en el indicador de comandos de la shell. La mayoría de los exploradores de archivos toman un directorio como argumento de línea de comando, por lo que generalmente debe pasarlo .como parámetro.

Estos son algunos ejemplos de algunos sistemas populares, la mayoría de los sistemas basados ​​en X funcionan de manera similar.

En Gnome, puede ejecutar nautilus(el explorador de archivos predeterminado) directamente, o en Gnome 2, puede usar gnome-openpara abrir cualquier archivo (incluidos los directorios) con la aplicación de controlador de archivos Gnome configurada:

$ nautilus .

o

$ gnome-open .

En KDE , hay dos buscadores de archivos populares, no conozco un comando similar gnome-open, aunque gnome-openpuede ejecutarse dentro de KDE, pero de manera predeterminada abre aplicaciones Gnome.

$ dolphin .

o

$ konquerer .

En OS X , como se menciona en los comentarios, opense puede usar un programa de línea de comando similar .

$ open .

¿Qué sucede si no conoce el nombre ejecutable del navegador de archivos de su sistema?

Si está en Gnome 2, use gnome-open .If en OS X, llame open .. Cada uno de estos ejecutará el navegador de archivos configurado para su entorno GUI.

Si no conoce dicho comando en su sistema de ventanas, aquí hay una manera de averiguar en sistemas con un pscomando que comprende las opciones -u USERy -o FORMAT:

  1. En su ventana de terminal, escriba ps -u$USER -o comm > /tmp/$$A
  2. En su GUI, inicie el navegador de archivos.
  3. De vuelta en la ventana de su terminal, escriba ps -u $USER -o comm > /tmp/$$B(Observe el Bsufijo, este es un archivo diferente al paso 1).
  4. También en la terminal, escriba diff /tmp/$$[AB].

Debe mostrar el nombre de su buscador de archivos. Es posible que pueda ver más de un nombre, si se inicia otro programa bajo su identificación de usuario durante el tiempo entre las llamadas a ps.

Por ejemplo:

$ ps -u $USER -o comm > /tmp/$$A
$ # open file browser in gui
$ ps -u $USER -o comm > /tmp/$$B
$ diff /tmp/$$[AB]
95a96
> nautilus
RobertL
fuente
Si no sabe qué explorador de archivos tiene su sistema, ¿cómo puede averiguarlo desde la línea de comandos?
Paul
@Paul, por favor vea la respuesta actualizada. Gracias.
RobertL
2

Ubuntu, por nautiluslo que recuerdo, usa como explorador de archivos predeterminado . Por lo tanto, para abrir una carpeta determinada desde la terminal, puede escribir algo como lo siguiente:

nautilus /path/to/your/dir

o

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

nautilusse desconecta automáticamente del terminal al que se llamó, pero suponga que está utilizando otro explorador de archivos y desea cerrar el terminal desde el que llamó a su explorador de archivos, puede nohuphacerlo para hacerlo. Si está utilizando, digamos, thunar(otro explorador de archivos), puede escribir lo siguiente:

nohup thunar /path/to/your/dir & exit
Kira
fuente
-1

Simplemente use gio open

Utilizar -

gio open .
gio open example/

vedipen
fuente