Как открыть файл с помощью приложения по умолчанию из командной строки?

151

В Nautilus, когда вы дважды щелкните файл, он откроет его с помощью приложения по умолчанию, связанного с расширением файла. Например, в веб-браузере откроются файлы .html и откроется документ .pdf с помощью средства просмотра документов. Есть ли способ воспроизвести одно и то же поведение из командной строки (т. Е. open path/filename )? Я спрашиваю, потому что мне нравится просматривать мою файловую систему из командной строки, но иногда не помню, какое приложение. открывает что.

    
задан Olivier Lalonde 29.11.2010 в 12:07
источник

3 ответа

196

Я думаю, xdg-open - это команда, которую вы ищете.

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.

например: xdg-open index.php

Это откроет index.php в gedit (если вы используете gnome).

Если вы хотите открыть URL-адрес в браузере

xdg-open http://google.com

это откроет google.com в браузере по умолчанию.

xdg-open - это сценарий оболочки - он будет использовать инструмент среды рабочего стола ( gio open , gvfs-open , kde-open , gnome-open , dde-open , exo-open и множество других таких инструментов ). Он также установлен по умолчанию и, скорее всего, будет работать в прошлых, текущих и будущих версиях (с другой стороны, gvfs-open и gnome-open устарели и могут быть недоступны в будущих выпусках).     

ответ дан aneeshep 29.11.2010 в 12:13
источник
45

xdg-open и gnome-open

xdg-open - самый универсальный способ (работа также в KDE)

    
ответ дан shellholic 29.11.2010 в 12:11
8

Если вы хотите:

  • сделать псевдоним для этой команды (например, open )
  • скрыть вывод из команды
  • продолжайте использовать этот терминал после

Вы можете использовать эту функцию .bashrc

function open () {
  xdg-open "$@">/dev/null 2>&1
}
    
ответ дан Jesse Knight 14.12.2017 в 15:29