Linux еквівалентна команда для команди "відкрити" на Mac / Windows?


46

Починаючи з Mac OS X, ви можете вводити:

$ open yourfilehere.txt

і ваш файл відкриється так само, як якщо б ви відкрили його з Finder.


У Windows можна ввести:

> start yourfilehere.txt

і він відкриється так само, як якщо б ви відкрили його з Провідника.


В Ubuntu я хотів би мати можливість відкривати файли таким же чином у GNOME. Яка команда?


1
У невеликих стосунках я знайшов цей маленький дорогоцінний камінь, щоб відкрити Finder певним шляхом (не поточний шлях обов'язково): open -a Finder. або відкрити -a Finder / ваш / шлях / тут
Mikko Ohtamaa

Я щойно бачив, що в Windows це startпрограма. В ОС X це openпрограма. На Ubuntu Linux це seeпрограма. у книжковому автоматизаторі-нудному-речі-з-python , але я не отримав жодної інформації про seeкоманди від Google.
CodyChan

Відповіді:


39

xdg-open це те, що ви шукаєте.

Можливо, вам сподобається цей фрагмент, який я вкладаю у свої файли .bashrc, щоб я використовував cygwin у Windows, Linux або OSX, я можу використовувати команди запуску або відкриті, і вони чудово працюють:

case "$OSTYPE" in
   cygwin*)
      alias open="cmd /c start"
      ;;
   linux*)
      alias start="xdg-open"
      alias open="xdg-open"
      ;;
   darwin*)
      alias start="open"
      ;;
esac

Хороші коментарі, xdg-open - це справді кращий варіант, ніж gnome-open, як пояснено нижче. Я нещодавно оновив свої особисті сценарії, але забув оновити цю відповідь.

УВАГА: Це скасує функціональність як openvtвіртуального терміналу, так і startвід init.


1
Цей сценарій BASH - чудова ідея.
jweede

9
cygwin: спробуйте "cygstart"
Doug Harris

13
gnome-open є специфічним для GNOME. xdg-open доступний у всіх дистрибутивах, сумісних із Freedesktop.org.
Авді

@DougHarris, +1. cygstartМожливо, ще більше бажано, як і в закладках Emacs, це дозволяє продовжувати використовувати Emacs. З startмоїм Emacs замерз.
Брейді Тренер

Тоді початок приємно, якщо ви не хочете розраховувати на доступність Cygwin. start ""або "start \"\""просто працював на мене. (Набір цитат "" заважає Emacs зависати на процесі.)
Брейді Тренер

34
xdg-open xyz.bar

відкриється xyz.bar(може бути файлом або URL-адресою) у будь-якому сумісному середовищі freedesktop із програмою, зареєстрованою для xyz.barтипу. Дивіться також документацію тут (man page of xdg-open) .

У PRACTIVE це повинно потім викликати kde-open, gnome-open, exo-openабо , можливо , навіть open, в залежності від поточного середовища робочого столу (KDE, Gnome, XFCE, OS X).


3
також працює. Яка різниця між xdg-openі gnome-open?
jweede

5
ну, xdg-open було розроблено фолдсбекс, які претендують на створення "стандарту", тоді як gnome-open були розроблені людьми gnome .. які ви отримуєте лише при встановленні gnome. Мені особисто більше подобаються речі freedesktop.org.
akira

2
Дійсно, xdg-open - це правильна відповідь. gnome-open є специфічним для настільних комп'ютерів, на яких встановлений GNOME. xdg-open буде доступний у будь-якій системі, сумісній freesktop.
Авді

2
"xdg-open буде доступний у будь-якій системі, сумісній freesktop", це означає, що незалежно від того, чи використовуєте ви GNOME, KDE, Xfce чи будь-яке інше середовище, xdg-openбуде робити правильну річ , використовуючи тип файлу-до -програмове відображення бігового середовища.
RavuAlHemio

Це майже еквівалентно команді Mac "відкрити", але не зовсім - я знаходжу (принаймні під Ubuntu 14), що коли я використовую її в каталозі, каталог відкриється у фоновому режимі. Я вважаю за краще принести свіжовідчинене вікно спереду. Будь-який спосіб змусити це зробити? (Пробачте, я тотальний Linux noob.)
Джо Строут

10

Ви навіть можете написати невелику обгортку навколо gnome-open, щоб відкрити кілька файлів за допомогою однієї команди:

for i in $*
do
    gnome-open "$i"
done

Помістіть це в скрипт оболонки з назвою open and

open *.c

відкриє всі файли c у поточному каталозі.


2
Корисний сценарій, але ви хочете замінити $ * на "$ @" (включаючи лапки), щоб правильно обробляти імена файлів з пробілами.
pimlottc

1

Ви можете використовувати gnome-openкоманду у своєму терміналі. Опинившись в каталозі, в якому потрібно відкрити вікно ОС, введіть термінал:

gnome-open .

Це відкриє вікно із зазначенням того, що знаходиться в цій папці. Аналогічно, ви можете вказати підпапку, розташовану в цьому каталозі, замінивши .ім'я підпапки.

Зауважте, що якщо gnome-openце не працює, його, можливо, потрібно просто встановити. Ви можете зробити це за допомогою Synaptic ( sudo apt-get updateа потім sudo apt-get install synapticу своєму терміналі, дуже зручне при встановленні пакету, оскільки він правильно встановлює всі залежності) або безпосередньо встановити Gnome Shell у свій термінал:sudo apt-get install gnome-shell


-1

Введіть це в термінал: ./yourfile

yourfile- це ім'я файлу, який потрібно відкрити або запустити. Ви також можете використовувати цю команду для запуску bash-скриптів. (Не забудьте ввести розширення файлу!)

gnome-open це те, що ви шукаєте.

Ще одна цитата з іншого плаката.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.