Odpowiednik polecenia systemu Linux dla polecenia „otwórz” w systemie Mac / Windows?


46

W systemie Mac OS X możesz pisać:

$ open yourfilehere.txt

a plik otworzy się tak, jakbyś otworzył go w Finderze.


W systemie Windows można wpisać:

> start yourfilehere.txt

i otworzy się tak, jakbyś otworzył go z Eksploratora.


Na Ubuntu chciałbym móc otwierać pliki w taki sam sposób w GNOME. Jakie jest polecenie?


1
W małym pokrewnym znalazłem ten mały klejnot, aby otworzyć Findera na pewnej ścieżce (niekoniecznie bieżącej): open -a Finder. lub otwórz - Finder / twoja / ścieżka / tutaj
— Mikko Ohtamaa

Właśnie widziałem, że w systemie Windows jest to startprogram. W OS X jest to openprogram. W systemie Ubuntu Linux jest to seeprogram. w książce automate-the-nudne-stuff-with-python , ale nie otrzymałem żadnych informacji o seepoleceniu od Google.
— CodyChan

Odpowiedzi:


39

xdg-open jest tym, czego szukasz.

Może ci się spodobać ten fragment, który umieszczam w moich plikach .bashrc, dzięki czemu bez względu na to, czy używam cygwin w systemie Windows, Linux, czy OSX, mogę używać poleceń start lub open, które działają świetnie:

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

Dobre komentarze, xdg-open jest rzeczywiście lepszą opcją niż gnome-open, jak wyjaśniono poniżej. Zaktualizowałem skrypty osobiste jakiś czas temu, ale zapomniałem zaktualizować tę odpowiedź.

OSTRZEŻENIE: Zastąpi to funkcjonalność zarówno openvt(terminalu wirtualnego), jak i startinit.


1
Ten skrypt BASH to świetny pomysł.
— jweede

9
cygwin: spróbuj „cygstart”
— Doug Harris

13
gnome-open jest specyficzny dla GNOME. xdg-open jest dostępny we wszystkich dystrybucjach zgodnych z Freedesktop.org.
— Avdi

@DougHarris, +1. cygstartmoże być bardziej korzystne, ponieważ w zakładkach Emacsa pozwala na dalsze używanie Emacsa. Z startmoim Emacsem jest zamrożone.
— Brady Trainor

Zatem start jest przyjemny, jeśli nie chcesz polegać na dostępności Cygwin. start ""lub "start \"\""po prostu dla mnie pracował. (Zestaw cytatów „” zapobiega zawieszaniu się Emacsa.)
— Brady Trainor

34
xdg-open xyz.bar

otworzy się xyz.bar(może to być plik lub adres URL) w dowolnym środowisku kompatybilnym z freedesktop z aplikacją zarejestrowaną dla tego xyz.bartypu. Zobacz także dokumentację tutaj (strona podręcznika użytkownika xdg-open) .

W praktyka oddająca to powinien następnie zadzwonić kde-open, gnome-open, exo-openlub nawet open, w zależności od aktualnego środowiska graficznego (KDE, GNOME, XFCE, OS X).


3
działa również. Jaka jest różnica między xdg-openi gnome-open?
— jweede

5
cóż, xdg-open został opracowany przez ludzi z freedesktop.org, którzy twierdzą, że tworzą „standard”, podczas gdy gnome-open został opracowany przez ludzi gnome… osobiście bardziej podoba mi się freedesktop.org.
— akira

2
Rzeczywiście, xdg-open jest tutaj właściwą odpowiedzią. gnome-open jest specyficzny dla komputerów stacjonarnych z zainstalowanym GNOME. xdg-open będzie dostępny na każdym systemie zgodnym z Freedesktop.
— Avdi

2
„xdg otwarty będzie dostępna w każdym systemie freedesktop zgodny” oznacza w praktyce, że bez względu na to, czy używasz GNOME, KDE, Xfce lub innym środowisku, xdg-openzrobi Right Thing , używając typu pliku do -programowanie mapowania działającego środowiska.
— RavuAlHemio

Jest to prawie równoważne z poleceniem „otwórz” Maca, ale nie do końca - stwierdzam (przynajmniej pod Ubuntu 14), że kiedy używam go w katalogu, katalog otwiera się w tle. Wolałbym, żeby to świeżo otwarte okno znalazło się z przodu. Jakiś sposób, aby to zrobić? (Wybacz mi, jestem totalnym Linuxem).
— Joe Strout

10

Możesz nawet napisać małe opakowanie wokół gnome-open, aby otworzyć wiele plików za pomocą jednego polecenia:

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

Umieść to w skrypcie powłoki o nazwie open i

open *.c

otworzy wszystkie pliki c w bieżącym katalogu.


2
Przydatny skrypt, ale będziesz chciał zamienić $ * na „$ @” (łącznie z cudzysłowami), aby poprawnie obsługiwać nazwy plików ze spacjami.
— pimlottc

1

Możesz użyć gnome-openpolecenia w swoim terminalu. W katalogu, w którym chcesz otworzyć okno systemu operacyjnego, wpisz Terminal:

gnome-open .

Otworzy się okno pokazujące zawartość tego folderu. Podobnie można określić podfolder znajdujący się w tym katalogu, zastępując .nazwę podfolderem.

Pamiętaj, że jeśli gnome-opennie działa, może wymagać jedynie instalacji. Możesz to zrobić za pomocą Synaptic ( sudo apt-get updatea następnie sudo apt-get install synapticw swoim terminalu, bardzo wygodne podczas instalacji pakietu, ponieważ poprawnie instaluje wszystkie zależności) lub bezpośrednio zainstalować Gnome Shell w swoim terminalu:sudo apt-get install gnome-shell


-1

Wprowadź to do terminala: ./yourfile

yourfileto nazwa pliku, który chcesz otworzyć lub uruchomić. Możesz także użyć tego polecenia, aby uruchomić skrypty bash. (Pamiętaj, aby wprowadzić rozszerzenie pliku!)

gnome-open jest tym, czego szukasz.

Kolejny cytat z innego plakatu.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.