Я нашел команду «открыть» в Mac OS X очень удобной в командной строке. Из "Человек открыт":
Команда
open
открывает файл (или каталог, или URL), как если бы вы дважды щелкнули значок файла. Если имя приложения не указано, приложение по умолчанию, определенное с помощью LaunchServices, используется для открытия указанных файлов.
То есть, если я хочу открыть файл PDF с помощью программы просмотра PDF по умолчанию (бывает Preview), мне нужно только сделать:
open my.pdf
В Linux, однако, чтобы открыть файл PDF из командной строки, мне пришлось покопаться, чтобы найти средство просмотра PDF по умолчанию, например, «evince» (кто бы мог догадаться ??), а затем
evince my.pdf
Итак, есть ли простой эквивалент команды open в командной строке Linux?
Спасибо!
linux
macos
command-line
command-line-interface
Йоахим Зауэр
источник
источник
Ответы:
Вы можете попробовать
xdg-open
, большинство дистрибутивов Linux имеют это. Откроется приложение, связанное с вашим файлом по умолчанию.К вашему сведению https://portland.freedesktop.org/doc/xdg-open.html
источник
open
, что он не открывает файл / приложение в фоновом режиме. Приложения для Linux кажутся очень болтливыми и часто выводят несколько строк диагностики и предупреждений прямо в ваш терминал (хотя на самом деле ничего не пошло не так). Я обычно должен сделать что-то вродеxdg-open <file> &> /dev/null &
этого. Есть ли что-нибудь лучше, чем xdg-open в этом отношении?&
не нужен. Что касается «нескольких линий диагностики», то они взяты из самого приложения, а не изxdg-open
. Если вам не нужны какие-либо выходные данные, вам&> /dev/null
даже нужно использовать ихevince
напрямую (пример OP), поэтому ваша жалоба является недействительной.xdg-open
это действительно путь.xdg-open
вина, если они болтливы. И подавление таких сообщений должно быть выбором пользователя , а не XDG. Так что это пустая жалоба просить что-то «лучше», чемxdg-open
. Кроме того, если у Macopen
нет возможности выводить эти сообщения, я бы сказал, чтоopen
это гораздо хуже, чемxdg-open
, поскольку, когда вы используете командную строку для запуска файлов, вы обычно заинтересованы в этом выводе (в противном случае, почему бы просто не дважды щелкнуть файл в браузере, как Nautilus?)alias open='xdg-open &>/dev/null'
приводит примерно к желаемому поведению (хотя ошибки самого xdg-open (в отличие от только что запущенной программы) также будут игнорироваться, что нежелательно).Вы ищете эквивалент
xdg-open
, который можно использовать так же, какopen
команду OS X. Например:Тем не менее, это действительно трудно набрать быстро и точно. Вместо этого вы должны создать псевдоним xdg-open, что значительно ускоряет процесс.
Конечно, вы можете использовать псевдоним, чтобы
open
он соответствовал OS X (вы можете выбрать все, что захотите), но лично я использую правую квадратную скобку (]
) для быстрого доступа по соображениям скорости. Чтобы использовать это, добавьте следующее в ваш.bashrc
файл:Затем, чтобы открыть любой ресурс, используйте его как любой из этих примеров:
Также это позволяет открыть файловый браузер (например, Nautilus) в текущем каталоге:
По опыту я обнаружил, что однобуквенные псевдонимы лучше всего подходят для вышеупомянутого ярлыка. В конце концов, цель - эффективность. И вы можете вернуться и сделать тот же псевдоним на OS X - я оставляю это в качестве упражнения для читателя. :-)
источник
xdg-open
открывает приложение по умолчанию для вашей системы. В вашем случае.url
файлы открываются в gedit. Если вы хотите изменить это, щелкните правой кнопкой мыши файл в Nautilus и перейдите в Свойства> Открыть с помощью, чтобы изменить приложение по умолчанию, и оноxdg-open
будет работать соответствующим образом.Я сам разобрался с этим, так что подумал, что напишу, как я это сделал, что особенно важно для того, что просила Суан. Эти шаги позволяют вам просто напечатать "open", а не ваш терминал, покрытый сообщениями, которые вам не нужны:
Создайте скрипт с именем
open
in~/bin
, содержимое просто:Сохраните и закройте скрипт, затем введите «source .profile» (или .bash_profile, если необходимо). Вот так, набрав «open Music», вы откроете вашу музыкальную папку в графическом интерфейсе nautilus и не должны ничего вводить в ваш терминал.
источник
open
и поместите его в свой PATH (обычно в$HOME/bin/open
)PATH
чем в/bin
. По соглашению, если он у вас есть,$HOME/bin
он будет добавлен в начало PATH, перед любыми системными каталогами. Как правило, это сделано вашим.profile
или подобным. Например, по умолчанию.profile
в Ubuntu делает именно это./dev/null
это немного капризно; возможно, вы могли бы перенаправить вывод$HOME/.xsession-errors
или что-то в этом роде, чтобы диагностика не была полностью потеряна в случае необходимости устранения неполадок.xdg-open
, это проблема оболочки.Традиционно вы можете использовать команду «видеть». Который просто использует run-mailcap. Это будет работать без Gnome, X и т. Д.
источник
run-mailcap
(и во многих его псевдонимах) используется отдельная (и ужасно устаревшая) база данных ассоциации приложений. Например, в моей системе, хотя.mp3
песни правильно открываются в VLC,.txt
файлы открываются меньше (вместо gedit), а.pdf
файлы просто не открываются! (Ошибка: не найдены правила «просмотра» mailcap для типа «application / pdf»)run-mailcap
их распознавали.xdg-open
внутреннее использованиеgvfs-open
(в системах Gnome, таких как Ubuntu), которое, в свою очередь, использует спецификацию базы данных mime базы данных xdg, которую используют гораздо больше приложений.gimp
для меня. Я буду придерживатьсяxdg-open
.less
x''Dгном открыть
источник
xdg-open
если пользователь был в Gnome (теперь он используетgvfs-open
)Если у вас правильно настроены мимы, вы можете использовать
mimeopen
. Проверьте его справочную страницу, так как она имеет несколько полезных опций.источник
В среде Gnome Desktop я использую следующую команду:
Это похоже на «открытый». команда в Mac
источник
.
вместо "pwd
" C) если вы изменитеpwd
файл, пользователю все равно нужно будет нажать ENTER после того, как Nautilus откроет D) Открытие nautilus первым только для того, чтобы открыть файл, является очень косвенным решением.