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.