Lệnh Linux tương đương với lệnh Open open trên Mac / Windows?


46

Đến từ Mac OS X, bạn có thể gõ:

$ open yourfilehere.txt

và tệp của bạn sẽ mở giống như bạn đã mở nó từ Finder.


Trên Windows, người ta có thể gõ:

> start yourfilehere.txt

và nó sẽ mở giống như bạn đã mở nó từ Explorer.


Trên Ubuntu, tôi muốn có thể mở các tệp theo cách tương tự trong Gnome. Lệnh gì?


1
Trong một ít liên quan, tôi đã tìm thấy viên ngọc nhỏ này để mở Finder trong một đường dẫn nhất định (không nhất thiết là đường dẫn hiện tại): open -a Finder. hoặc mở -a Finder / your / path / here
Mikko Ohtamaa

Tôi chỉ thấy rằng trên Windows, đây là startchương trình. Trên OS X, đây là openchương trình. Trên Ubuntu Linux, đây là seechương trình. trong cuốn sách automate-the-nhàm chán-Stuff-with-python , nhưng tôi không nhận được bất kỳ thông tin nào về seelệnh từ Google.
CodyChan

Câu trả lời:


39

xdg-open là những gì bạn đang tìm kiếm.

Bạn có thể thích đoạn mã này Tôi đặt trong các tệp .bashrc của mình để cho dù tôi đang sử dụng cygwin trên windows, linux hoặc OSX, tôi có thể sử dụng lệnh khởi động hoặc lệnh mở và chúng hoạt động rất tốt:

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

Nhận xét tốt, xdg-open thực sự là một lựa chọn tốt hơn gnome-open như được giải thích dưới đây. Tôi đã cập nhật kịch bản cá nhân của mình một lúc trước, nhưng quên cập nhật câu trả lời này.

CẢNH BÁO: Điều này sẽ ghi đè chức năng của cả openvt(thiết bị đầu cuối ảo) và starttừ init.


1
Kịch bản BASH đó là một ý tưởng tuyệt vời.
jweede

9
cygwin: thử "cygstart"
Doug Harris

13
gnome-open là đặc trưng của Gnome. xdg-open có sẵn trên tất cả các bản phân phối tuân thủ Freedesktop.org.
Avdi

@DougHarris, +1. cygstartcó thể được ưu tiên hơn nữa, như trong dấu trang của Emacs, nó cho phép một người tiếp tục sử dụng Emacs. Với start, Emacs của tôi bị đóng băng.
Brady Trainor

Sau đó, bắt đầu là tốt nếu bạn không muốn dựa vào Cygwin có sẵn. start ""hoặc "start \"\""chỉ làm việc cho tôi. (Tập hợp các trích dẫn "" ngăn Emacs bị treo trong quá trình.)
Brady Trainor

34
xdg-open xyz.bar

sẽ mở xyz.bar(có thể là tệp hoặc URL) trong mọi môi trường tương thích freedesktop với ứng dụng đã đăng ký cho xyz.barloại của. Xem thêm tài liệu ở đây (trang man của xdg-open) .

Trong practive này thì nên gọi kde-open, gnome-open, exo-openhoặc thậm chí có thể open, tùy thuộc vào môi trường máy tính để bàn hiện nay (KDE, Gnome, XFCE, OS X).


3
cũng hoạt động. Sự khác biệt giữa xdg-openvà là gnome-opengì?
jweede

5
tốt, xdg-open được phát triển bởi những người freedesktop.org, người tuyên bố sẽ tạo ra "tiêu chuẩn", trong khi gnome-open được phát triển bởi những người gnome .. mà bạn chỉ nhận được khi cài đặt gnome. Cá nhân tôi thích công cụ freedesktop.org hơn.
akira

2
Thật vậy, xdg-open là câu trả lời đúng ở đây. gnome-open dành riêng cho máy tính để bàn có cài đặt Gnome. xdg-open sẽ có sẵn trên bất kỳ hệ thống tuân thủ freedesktop nào.
Avdi

2
"xdg-open sẽ có sẵn trên bất kỳ hệ thống tuân thủ freedesktop nào", trên thực tế, cho dù bạn đang sử dụng Gnome, KDE, Xfce hay bất kỳ môi trường nào khác, xdg-opensẽ thực hiện Quyền , sử dụng kiểu tệp lập bản đồ chương trình của môi trường chạy.
RavuAlHemio

gần như tương đương với lệnh "mở" của Mac, nhưng không hoàn toàn - tôi đang tìm thấy (ít nhất là trong Ubuntu 14) rằng khi tôi sử dụng nó trên một thư mục, thư mục sẽ mở trong nền. Tôi muốn thay nó mang cửa sổ mới mở ra phía trước. Bất kỳ cách nào để làm cho nó làm điều đó? (Xin thứ lỗi cho tôi, tôi là một người hoàn toàn Linux.)
Joe Strout

10

Bạn thậm chí có thể viết một trình bao bọc nhỏ xung quanh gnome-open để mở nhiều tệp bằng một lệnh:

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

Đặt nó vào một kịch bản shell có tên là open và

open *.c

sẽ mở tất cả các tập tin c trong thư mục hiện tại.


2
Tập lệnh hữu ích, nhưng bạn sẽ muốn thay thế $ * bằng "$ @" (bao gồm cả dấu ngoặc kép) để xử lý đúng tên tệp bằng dấu cách.
pimlottc

1

Bạn có thể sử dụng gnome-openlệnh trong Terminal của bạn. Khi ở trong thư mục mà bạn muốn mở cửa sổ HĐH, hãy nhập Terminal:

gnome-open .

Điều này sẽ mở một cửa sổ hiển thị những gì trong thư mục này. Tương tự, bạn có thể chỉ định một thư mục con nằm trong thư mục này bằng cách thay thế .bằng tên của thư mục con.

Lưu ý rằng nếu gnome-openkhông hoạt động, nó có thể chỉ cần được cài đặt. Bạn có thể làm như vậy bằng cách sử dụng Synaptic ( sudo apt-get updatevà sau đó sudo apt-get install synaptictrong thiết bị đầu cuối của bạn, rất thuận tiện khi cài đặt gói vì nó cài đặt tất cả các phụ thuộc đúng cách) hoặc cài đặt trực tiếp Gnome Shell trong Terminal của bạn:sudo apt-get install gnome-shell


-1

Nhập cái này vào terminal: ./yourfile

yourfilelà tên của tệp bạn muốn mở hoặc chạy. Bạn cũng có thể sử dụng lệnh này để chạy các tập lệnh bash. (Hãy nhớ nhập phần mở rộng tập tin!)

gnome-open là những gì bạn đang tìm kiếm.

Một trích dẫn từ một poster khác.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.