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


179

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


Есть аналогичный вопрос относительно запуска браузера по умолчанию из командной строки: askubuntu.com/questions/8252/…
kounryusui

Это действительно блестящий вопрос! Почти за 4 года моей жизни bashя не думал об этом: П
Джон Струд

Ответы:


233

Я думаю, 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устарели, и могут быть недоступны в будущих версиях).


2
На Gnome: gnome-openи на KDE: kde-openработает.
Фараманд

xde-openработал на XFCE, а также.
7

5
Самый простой способ сократить эту команду - использовать псевдоним. alias o='xdg-open', Поместите это в свой .bash_aliasesфайл, чтобы каждый раз загружать псевдоним при запуске. nano ~/.bash_aliasesа затем вставьте внутрь nanoс помощью CTRL+SHIFT+V.
anon58192932

46

xdg-open а также gnome-open

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


15

Если хочешь:

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

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

function open () {
  xdg-open "$@">/dev/null 2>&1
}
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.