Mac / Windows'ta “aç” komutu için Linux eşdeğeri komut?


46

Mac OS X'ten geliyorsanız, şunu yazabilirsiniz:

$ open yourfilehere.txt

ve dosyanız, Finder'dan açmışsınız gibi açılır.


Windows’ta şunu yazabilirsiniz:

> start yourfilehere.txt

ve tıpkı Explorer’dan açmışsınız gibi açılacaktır.


Ubuntu'da GNOME'da dosyaları aynı şekilde açabilmek istiyorum. Komut nedir?


1
Biraz ilgili olarak, bu küçük gem'i Finder'ı belirli bir yolda açmak zorunda buldum (mevcut yoldan değil): open -a Finder. veya -a Finder'ınız / your / path / here
Mikko Ohtamaa

Windows’ta startprogramın bu olduğunuopensee gördüm . OS X'te program budur. Ubuntu Linux'ta program budur. kitabında python ile otomat-the-sıkıcı-şeyler-ile , ancak seeGoogle'dan komut hakkında herhangi bir bilgi alamadım .
CodyChan

Yanıtlar:


39

xdg-open aradığın şey bu.

.Bashrc dosyalarımın içine koyduğum bu parçacığı beğenebilirim, böylece windows, linux veya OSX'te cygwin kullanıp kullanmayacağım, ister başlangıç ​​ister açık komutları kullanabilirim ve harika çalışırlar:

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

İyi yorumlar, xdg-open, aslında aşağıda açıklandığı gibi, gnome-open'den daha iyi bir seçenektir. Kişisel scriptlerimi bir süre önce güncelledim, ancak bu cevabı güncellemeyi unuttum.

UYARI: Bu, hem openvt(sanal terminal) hem startde init işlevlerini geçersiz kılar .


1
Bu BASH betiği harika bir fikir.
jweede

9
cygwin: "cygstart" ı deneyin
Doug Harris

13
GNOME açık GNOME özgüdür. xdg-open tüm Freedesktop.org uyumlu dağıtımlarda kullanılabilir.
Avdi

@DougHarris, +1. cygstartEmacs yer imlerinde olduğu gibi, birinin Emacs kullanmaya devam etmesine izin vermesi de tercih edilebilir. İle start, benim Emacs dondurulur.
Brady Trainor

Öyleyse, Cygwin'in hazır bulunmasına güvenmek istemiyorsanız, başlangıç ​​güzeldir. start ""ya da "start \"\""sadece benim için çalıştı. ("" Tırnak işaretleri Emacs'in işlem sırasında askıda kalmasını önler.)
Brady Trainor

34
xdg-open xyz.bar

türüne xyz.barkayıtlı bir uygulamayla freedesktop uyumlu bir ortamda açılacak (bir dosya veya URL olabilir) xyz.bar. Buradaki belgelere de bakınız (xdg-open'in man sayfası) .

Practive bu daha sonra çağırmalıdır kde-open, gnome-open, exo-openhatta muhtemelen ya openmevcut masaüstü ortamında (KDE, Gnome XFCE, OS X) bağlı.


3
ayrıca çalışır. Arasındaki fark nedir xdg-openve gnome-open?
jweede

5
xdg-open, "standart" yaratmayı iddia eden freedesktop.org çalışanları tarafından geliştirilirken gnome-open, yalnızca cüceyi kurduğunuzda aldığınız cüceler tarafından geliştirilmiştir. Ben şahsen freedesktop.org şeylerini daha çok seviyorum.
akira

2
Gerçekten de, xdg-open burada doğru cevaptır. GNOME açık GNOME kurulu masaüstlerine özgüdür. xdg-open, herhangi bir freedesktop uyumlu sistemde mevcut olacaktır.
Avdi

2
"xdg-open herhangi bir freedesktop uyumlu sistemde mevcut olacak", pratikte, GNOME, KDE, Xfce veya başka bir ortam kullanıp kullanmadığınız farketmeksizin , dosya türünü kullanarak Doğru İşixdg-open yapacağınız anlamına gelir . Çalışan çevrenin -program haritalama.
RavuAlHemio

Bu var neredeyse Mac'in "açık" komutuna eşdeğerdir, ama tamamen değil - ben bir dizin üzerinde kullandığınızda, dizin arka planda açar (en azından Ubuntu 14 altında) buluyorum. Yeni açılan pencereyi öne getirmeyi tercih ederim. Bunu yapmanın bir yolu var mı? (Affet beni, Linux
adında biriyim

10

Birden fazla dosyayı tek bir komutla açmak için gnome-open etrafına küçük bir sarmalayıcı bile yazabilirsiniz:

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

Bunu open ve isimli bir kabuk betiğine koyun.

open *.c

Geçerli dizindeki tüm c dosyalarını açacaktır.


2
Faydalı komut dosyası, ancak boşlukları içeren dosya adlarını doğru bir şekilde işlemek için $ * yerine "$ @" (tırnak işaretleri dahil) kullanmak isteyeceksiniz.
pimlottc

1

gnome-openTerminalinizdeki komutu kullanabilirsiniz . Bir işletim sistemi penceresi açmak istediğiniz dizine girdikten sonra Terminal'e şunu yazın:

gnome-open .

Bu, bu klasörde ne olduğunu gösteren bir pencere açacaktır. Benzer şekilde, bu dizinde bulunan bir alt klasörü, alt klasörün yerine koyarak belirtebilirsiniz ..

Çalışmazsa gnome-open, sadece kurulması gerekebileceğini unutmayın. Bunu, Synaptic'i kullanarak ( sudo apt-get updateve ardından sudo apt-get install synapticterminalinizde, paketi kurarken çok rahatça kullanabiliyorsunuz çünkü tüm bağımlılıkları düzgün şekilde kuruyor) ya da doğrudan Gnome Shell'i Terminalinize kurabilirsiniz:sudo apt-get install gnome-shell


-1

Bunu terminale girin: ./yourfile

yourfileaçmak veya çalıştırmak istediğiniz dosyanın adıdır. Bu komutu bash scriptlerini çalıştırmak için de kullanabilirsiniz. (Dosya uzantısını girmeyi unutmayın!)

gnome-open aradığın şey bu.

Başka bir posterden başka bir alıntı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.