Perintah yang setara dengan Linux untuk perintah "terbuka" di Mac / Windows?

46

Berasal dari Mac OS X, Anda dapat mengetik:

$ open yourfilehere.txt

dan file Anda akan terbuka seperti jika Anda membukanya dari Finder.


Di Windows, seseorang dapat mengetik:

> start yourfilehere.txt

dan itu akan terbuka seperti jika Anda membukanya dari Explorer.


Di Ubuntu, saya ingin dapat membuka file dengan cara yang sama di GNOME. Apa perintahnya?

jweede
sumber
1
Dalam sedikit terkait saya menemukan permata kecil ini untuk membuka Finder di jalur tertentu (tidak harus jalur saat ini): open -a Finder. atau buka -a Finder / jalur / Anda / di sini
Mikko Ohtamaa
Saya baru saja melihat bahwa Di Windows, ini adalah startprogramnya. Di OS X, ini adalah openprogramnya. Di Ubuntu Linux, ini adalah seeprogramnya. dalam buku mengotomatiskan-the-boring-stuff-with-python , tapi saya tidak mendapatkan info tentang seeperintah dari Google.
CodyChan

Jawaban:

39

xdg-open adalah apa yang kamu cari.

Anda mungkin menyukai potongan ini yang saya letakkan di file .bashrc saya sehingga apakah saya menggunakan cygwin di windows, linux, atau OSX, saya bisa menggunakan perintah start atau open dan itu berfungsi dengan baik:

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

Komentar yang bagus, xdg-open memang pilihan yang lebih baik daripada gnome-open seperti yang dijelaskan di bawah ini. Saya memperbarui skrip pribadi saya beberapa waktu lalu, tetapi lupa untuk memperbarui jawaban ini.

PERINGATAN: Ini akan mengesampingkan fungsionalitas openvt(terminal virtual) dan startdari init.

Jordan
sumber
1
Naskah BASH itu ide bagus.
jweede
9
cygwin: coba "cygstart"
Doug Harris
13
gnome-open adalah khusus-GNOME. xdg-open tersedia di semua distro yang sesuai dengan Freedesktop.org.
Avdi
@DougHarris, +1. cygstartmungkin lebih disukai, seperti pada bookmark Emacs, memungkinkan seseorang untuk terus menggunakan Emacs. Dengan start, Emacs saya dibekukan.
Brady Trainor
Kemudian, mulailah bagus jika Anda tidak ingin bergantung pada Cygwin yang tersedia. start ""atau "start \"\""hanya bekerja untuk saya. (Kumpulan kutipan "" mencegah Emacs menunggu proses.)
Brady Trainor
34
xdg-open xyz.bar

akan terbuka xyz.bar(mungkin berupa file atau URL) di lingkungan yang kompatibel dengan freedesktop dengan aplikasi yang terdaftar untuk xyz.bartipe itu. Lihat juga dokumentasi di sini (halaman manual xdg-open) .

Dalam practive ini maka harus memanggil kde-open, gnome-open, exo-openatau bahkan mungkin open, tergantung pada lingkungan desktop saat ini (KDE, Gnome, XFCE, OS X).

akira
sumber
3
juga berfungsi. Apa perbedaan antara xdg-opendan gnome-open?
jweede
5
well, xdg-open dikembangkan oleh orang-orang freedesktop.org yang mengklaim membuat "standar", sementara gnome-open dikembangkan oleh orang-orang gnome .. yang hanya Anda dapatkan ketika Anda menginstal gnome. Saya pribadi lebih suka barang freedesktop.org.
akira
2
Memang, xdg-open adalah jawaban yang tepat di sini. gnome-open khusus untuk desktop yang telah menginstal GNOME. xdg-open akan tersedia pada sistem apa pun yang sesuai dengan freedesktop.
Avdi
2
"xdg-open akan tersedia pada sistem apa pun yang freedesktop-compliant" berarti, dalam praktiknya, bahwa tidak peduli apakah Anda menggunakan GNOME, KDE, Xfce, atau lingkungan lain, xdg-openakan melakukan Right Thing , menggunakan tipe file-to pemetaan-program dari lingkungan yang sedang berjalan.
RavuAlHemio
Ini hampir setara dengan perintah "buka" Mac, tetapi tidak cukup - saya menemukan (di bawah Ubuntu 14 setidaknya) bahwa ketika saya menggunakannya pada direktori, direktori terbuka di latar belakang. Saya lebih suka membawa jendela yang baru saja dibuka ke depan. Adakah cara untuk membuatnya melakukannya? (Maafkan saya, saya benar-benar noob Linux.)
Joe Strout
10

Anda bahkan dapat menulis pembungkus kecil di sekitar gnome-open untuk membuka banyak file dengan satu perintah:

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

Masukkan ini ke dalam skrip shell bernama open and

open *.c

akan membuka semua file c di direktori saat ini.

Kim
sumber
2
Skrip yang berguna, tetapi Anda ingin mengganti $ * dengan "$ @" (termasuk tanda kutip) untuk menangani nama file dengan spasi.
pimlottc
1

Anda dapat menggunakan gnome-openperintah di Terminal Anda. Setelah berada di direktori tempat Anda ingin membuka jendela OS, ketikkan Terminal:

gnome-open .

Ini akan membuka jendela yang menunjukkan apa yang ada di folder ini. Demikian pula, Anda dapat menentukan subfolder yang terletak di direktori ini dengan mengganti .dengan nama subfolder.

Perhatikan bahwa jika gnome-opentidak berfungsi, itu mungkin hanya perlu diinstal. Anda dapat melakukannya menggunakan Synaptic ( sudo apt-get updatedan kemudian sudo apt-get install synapticdi terminal Anda, sangat nyaman ketika menginstal paket karena menginstal semua dependensi dengan benar) atau langsung menginstal Gnome Shell di Terminal Anda:sudo apt-get install gnome-shell

LeChat
sumber
-1

Masukkan ini ke terminal: ./yourfile

yourfileadalah nama file yang ingin Anda buka atau jalankan. Anda juga dapat menggunakan perintah ini untuk menjalankan skrip bash. (Ingatlah untuk memasukkan ekstensi file!)

gnome-open adalah apa yang kamu cari.

Kutipan lain dari poster lain.

pengguna113907
sumber