Como abrir o arquivo com aplicativo padrão na linha de comando?

179

No Nautilus, quando você clica duas vezes em um arquivo, ele será aberto com o aplicativo padrão associado à extensão do arquivo. Por exemplo, arquivos .html serão abertos em um navegador da web e .pdf será aberto com o Document Viewer. Existe uma maneira de reproduzir o mesmo comportamento de dentro da linha de comando (ou seja open path/filename)? Estou perguntando porque gosto de navegar no meu sistema de arquivos na linha de comando, mas às vezes não lembro qual aplicativo. abre o que.

Olivier Lalonde
fonte
Há uma pergunta semelhante sobre navegador lançamento padrão na linha de comando: askubuntu.com/questions/8252/...
kounryusui
Essa é realmente uma pergunta brilhante! Em quase 4 anos do meu bashing, eu não tinha pensado nisso: P
John Strood

Respostas:

233

Eu acho que xdg-opené o comando que você está procurando.

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.

por exemplo: xdg-open index.php

Isso abrirá o index.php no gedit (se você estiver usando o gnome).

Se você deseja abrir um URL no navegador

xdg-open http://google.com

isso abrirá google.com no seu navegador padrão.


xdg-opené um script - ele usará ferramentas do ambiente de trabalho ( gio open, gvfs-open, kde-open, gnome-open, dde-open, exo-open, e uma série de outras ferramentas). Ele também é instalado por padrão, e muito provavelmente a trabalhar sobre o passado, versões atuais e futuras (por outro lado, gvfs-opene gnome-openforam reprovados, e pode não estar disponível em versões futuras).

aneeshep
fonte
2
No Gnome: gnome-opene no KDE: kde-openfunciona.
Farahmand 21/02
xde-opentrabalhou no xfce também.
7
5
A maneira mais fácil de encurtar esse comando é usar um alias. alias o='xdg-open'. Coloque isso dentro do seu .bash_aliasesarquivo para fazer com que o alias seja carregado na inicialização sempre. nano ~/.bash_aliasese depois cole dentro nanousando CTRL+SHIFT+V.
precisa saber é o seguinte
46

xdg-open e gnome-open

xdg-open é a maneira mais universal (trabalhe também no KDE)

shellholic
fonte
15

Se você quiser:

  • crie um alias para este comando (por exemplo open)
  • ocultar a saída do comando
  • continue usando este terminal após

Você pode usar esta função .bashrc :

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