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?

jweede
źródło
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.

Jordania
źródło
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).

akira
źródło
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.

Kim
źródło
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

LeChat
źródło
-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.

użytkownik113907
źródło