¿Cómo abrir un archivo con la aplicación predeterminada desde la línea de comandos?

179

En Nautilus, cuando hace doble clic en un archivo, lo abrirá con la aplicación predeterminada asociada con la extensión del archivo. Por ejemplo, los archivos .html se abrirán en un navegador web y .pdf se abrirá con el Visor de documentos. ¿Hay alguna manera de reproducir el mismo comportamiento desde la línea de comando (es decir open path/filename)? Lo pregunto porque me gusta explorar mi sistema de archivos desde la línea de comandos, pero a veces no recuerdo qué aplicación. abre qué.

Olivier Lalonde
fuente
Hay una pregunta similar con respecto al lanzamiento del navegador predeterminado desde la línea de comandos: askubuntu.com/questions/8252/…
kounryusui
Esa es una pregunta brillante de hecho! En casi 4 años de mi vida bashno había pensado en ello: P
John Strood

Respuestas:

233

Creo que xdg-openes el comando que estás buscando.

NAME
       xdg-open - opens a file or URL in the user's preferred application

SYNOPSIS
       xdg-open {file | URL}

       xdg-open {--help | --manual | --version}

DESCRIPTION
       xdg-open opens a file or URL in the user's preferred application. If a
       URL is provided the URL will be opened in the user's preferred web
       browser. If a file is provided the file will be opened in the preferred
       application for files of that type. xdg-open supports file, ftp, http
       and https URLs.

p.ej: xdg-open index.php

Esto abrirá index.php en gedit (si está usando gnome).

Si quieres abrir una url en el navegador

xdg-open http://google.com

esto abrirá google.com en su navegador predeterminado.


xdg-openEs un guión envoltorio - que utilizará la herramienta del entorno de escritorio ( gio open, gvfs-open, kde-open, gnome-open, dde-open, exo-open, y una serie de otras herramientas). También se instala por defecto, y es muy probable que funcione en el pasado, las versiones actuales y futuras (en el otro lado, gvfs-openy gnome-openya no se utiliza, y puede no estar disponible en futuras versiones).

aneeshep
fuente
2
En Gnome: gnome-openy en KDE: kde-openfunciona.
Farahmand
xde-opentrabajó en xfce también.
Siete
55
Una manera fácil de acortar este comando es usar un alias. alias o='xdg-open'. Ponga esto dentro de su .bash_aliasesarchivo para que el alias se cargue al inicio cada vez. nano ~/.bash_aliasesy luego pegar dentro nanousando CTRL+SHIFT+V.
anon58192932
46

xdg-open y gnome-open

xdg-open es la forma más universal (funciona también en KDE)

concha
fuente
15

Si quieres:

  • hacer un alias para este comando (por ejemplo open)
  • ocultar salida del comando
  • continuar usando este terminal después

Puede usar esta función .bashrc :

function open () {
  xdg-open "$@">/dev/null 2>&1
}
Jesse Knight
fuente