Як відкрити файл із програмою за замовчуванням із командного рядка?


179

У Nautilus, коли ви двічі клацніть файл, він відкриє його за допомогою програми за замовчуванням, пов’язаної з розширенням файлу. Наприклад, файли .html відкриються у веб-переглядачі, а .pdf відкриється за допомогою засобу перегляду документів. Чи є спосіб відтворити ту саму поведінку з командного рядка (тобто open path/filename)? Я запитую, тому що мені подобається переглядати свою файлову систему з командного рядка, але іноді не пам'ятаю, який додаток. відкриває що.


Існує аналогічне питання щодо запуску браузера за замовчуванням з командного рядка: askubuntu.com/questions/8252/…
kounryusui

Це справді геніальне питання! Майже 4 роки моєї роботи bashя не замислювався над цим: P
Джон Стройд

Відповіді:


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працює.
Farahmand

xde-openпрацював і на xfce.
Сім

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.