มีคำสั่ง "เปิดด้วย" สำหรับบรรทัดคำสั่งหรือไม่


24

บรรทัดคำสั่งมีวิธีรับรายการโปรแกรมที่แนะนำเพื่อใช้เปิดไฟล์ใดไฟล์หนึ่งตามประเภทไฟล์หรือไม่ ยกตัวอย่างเช่น.pdfไฟล์จะมีopen with...คำแนะนำการใช้โปรแกรมและEvinceDocument Viewer

ฉันใช้บรรทัดคำสั่งสำหรับสิ่งส่วนใหญ่ แต่บางครั้งฉันลืมชื่อของโปรแกรมที่ฉันต้องการใช้เพื่อเปิดไฟล์ประเภทใดประเภทหนึ่ง

BTW ฉันใช้ Ubuntu 13.10

โปรปลาย

ขอบคุณคำตอบที่เลือกของ @slm ด้านล่างฉันสร้างสคริปต์ทุบตีต่อไปนี้ในไฟล์ชื่อopenwith.sh:

xdg-mime query default $(xdg-mime query filetype $1)

เพิ่มเป็นนามแฝงหรือดำเนินการโดยตรงเป็นopenwithคำสั่ง


1
gnome-open fileคุณสามารถลองด้วย ฉันเพิ่มalias o='gnome-open'ของฉัน.bashrcเพื่อความเรียบง่าย
Pål GD

gnome-openxdg-openทำงานคล้ายกับ
slm

เห็นได้ชัดว่าเป็นเช่นgvfs-openนั้น คำถามสิ่งที่ฉันสามารถใช้แทนคำพังเพยเปิดได้? จากการถามอูบุนตู
Pål GD

คำตอบ:


33

ไม่มีคำสั่งที่ฉันเคยเห็นว่าจะทำหน้าที่เป็น "เปิดด้วย ... " แต่คุณสามารถใช้คำสั่งxdg-open <file>เพื่อเปิดคำสั่งที่กำหนด<file>ในแอปพลิเคชันที่เกี่ยวข้องกับไฟล์ประเภทนั้น ๆ

ตัวอย่าง

เปิดไฟล์ข้อความ:

$ xdg-open tstfile.txt
$

ส่งผลให้ไฟล์tstfile.txtถูกเปิดในgedit:

                         เอสเอสของ Gedit

การเปิดเอกสาร LibreOffice Writer:

$ xdg-open tstfile.odt 
$

ส่งผลให้ไฟล์tstfile.odtถูกเปิดใน Writer:

                         เอสเอสของนักเขียน

มีแอพพลิเคชั่นใดบ้างที่ใช้?

คุณสามารถใช้xdg-mimeเพื่อค้นหาระบบเพื่อค้นหาว่าแอปพลิเคชันใดที่เชื่อมโยงกับประเภทไฟล์ที่กำหนด

$ xdg-mime query default $(xdg-mime query filetype tstfile.txt)
gedit.desktop calibre-ebook-viewer.desktop

$ xdg-mime query default $(xdg-mime query filetype tstfile.odt)
libreoffice-writer.desktop calibre-ebook-viewer.desktop

นี่เป็นการดำเนินการ 2 ขั้นตอน ครั้งแรกที่ผมสอบถามสำหรับชนิด mime ของไฟล์ที่กำหนดซึ่งจะกลับมาxdg-mime query filetype tstfile.txt text/plainจากนั้นจะใช้เพื่อดำเนินการค้นหาอื่นเพื่อค้นหารายการแอปพลิเคชันที่เกี่ยวข้องกับประเภท mime นี้ อย่างที่คุณเห็นข้างต้นฉันมี 2 แอพที่เกี่ยวข้องgeditและcalibreสำหรับ.txtไฟล์

คุณสามารถใช้xdg-mimeเพื่อเปลี่ยนการเชื่อมโยงได้เช่นกัน ดูman xdg-mimeรายละเอียดเพิ่มเติมได้ที่


มีวิธีการแสดงโปรแกรมประเภทอื่นนอกเหนือจากโปรแกรมเริ่มต้นหรือไม่? ตัวอย่างเช่นฉันเพิ่งติดตั้งokularเพื่อดูไฟล์ PDF แต่ตัวอย่างของคุณด้านบนจะแสดงเฉพาะevinceเมื่อฉันเรียกใช้ในไฟล์. pdf
modulitos

1
@Lucas - ใช่ตัวอย่างที่ฉันแสดงแสดงแอปพลิเคชันที่เกี่ยวข้องกับประเภทไฟล์ที่ระบุด้านบน สำหรับอดีต ไฟล์ประเภท.txtที่เกี่ยวข้องกับ gedit และความสามารถเช่น
slm

ฉันต้องมี.desktopไฟล์สำหรับโปรแกรมที่ฉันต้องการในรายการหรือไม่ ตัวอย่างเช่นเมื่อฉันรันสคริปต์บน.pdfไฟล์มันจะส่งคืนevince.desktopแม้ว่าฉันจะสามารถรันได้okularเช่นกัน
modulitos

@Lucas - นี่อาจจะเป็นคำถามใหม่ที่ดีที่สุดเนื่องจากเราอยู่ห่างจากเดิม Q ตอนนี้
slm

5

ถ้าคุณทำงานในบรรทัดคำสั่งส่วนใหญ่คุณสามารถมองไปที่การจัดการไฟล์สาปแช่งตามเช่นเรนเจอร์หรือvifm ทั้งสองอย่างอนุญาตให้คุณกำหนดการกระทำเริ่มต้นสำหรับประเภทไฟล์

ใน vifm ตัวอย่างเช่น~/.vifm/vifmrcคุณสามารถกำหนดความสัมพันธ์ดังนี้

" Images
filetype *.jpg,*.jpeg,*.gif,*.tif,*.png,*.bmp sxiv 

" Media
filetype *.flv,*.avi,*.mp4,*.mpeg,*.mpg,*.mov,*.ogg,*.ogv,*.mkv mpv 

" Web
filetype *.html,*.htm,*.shtml /home/jason/Scripts/vimprobtab.sh 

" PDF
filetype *.pdf apvlv

การกดปุ่มEnterเมื่อเคอร์เซอร์บนไฟล์ใด ๆ ด้วยการกระทำที่กำหนดไว้อย่างใดอย่างหนึ่งจะเห็นว่าแอปพลิเคชันที่เกี่ยวข้องเปิดขึ้น อย่างที่คุณเห็นในกรณีของ.htmlไฟล์คุณสามารถทริกเกอร์สคริปต์รวมถึงแอปพลิเคชัน


5

เรียงจาก แต่จะเปลี่ยนแอปพลิเคชันเริ่มต้นของคุณเป็นผลลัพธ์ ฉันไม่แน่ใจว่าระบบปฏิบัติการอื่น ๆ ใช้งานได้ดี แต่คำแนะนำด้านล่างใช้ได้กับ Ubuntu 12.04 - Desktop X86-64 ฉันไม่มีไฟล์ PDF ใด ๆ ที่เป็นประโยชน์ดังนั้นฉันจึงทดสอบกับไฟล์. zip

ขั้นตอนทั่วไป

ขั้นตอนที่ 1

ในประเภทอาคาร:

$ mimeopen -d /home/username/example.zip
สกรีนช็อต # 1 = https://copy.com/qfWSZaZ4FzlA

    เอสเอส # 1

ขั้นตอนที่ 2

เลือกจากรายการโดยการป้อนของโปรแกรมที่คุณต้องการและกด# enterไฟล์จะเปิดทันทีในแอปพลิเคชันที่คุณเลือก

สกรีนช็อต # 2 = https://copy.com/um6Rf7zRdceT

    เอสเอส # 2

สกรีนช็อต # 3 = https://copy.com/ytwKCqR6nv8i

    เอสเอส # 3

หมายเหตุ

หมายเหตุ # 1

แอปพลิเคชั่นนี้จะเปลี่ยนแอพพลิเคชั่นเริ่มต้นเป็นแอพพลิเคชั่นที่คุณเลือกและเมื่อใดก็ตามที่คุณเปิดไฟล์ประเภทนั้นแอปพลิเคชันจะเปิดในแอปพลิเคชันที่คุณเลือกล่าสุดจากรายการ


คุณต้องการใส่เครื่องหมายแฮช (#) ใน URL สำหรับสกรีนช็อต 3 หรือไม่?
trysis

@trysis ฉันเพิ่งใช้มันเพื่อหลีกเลี่ยงการ จำกัด URL สูงสุด 2 รายการ
โปรดลบฉัน

โอ้เหมาะสมแล้ว ยังคงดูแปลก ๆ
trysis

ฉันล้างข้อมูลคุณและเพิ่ม URL ที่ 3 สำหรับคุณ
slm

2

ขึ้นอยู่กับรสชาติของ Unix ที่คุณใช้ฉันเดา ใน OS X คุณสามารถใช้openคำสั่ง:

OPEN(1)                   BSD General Commands Manual                  OPEN(1)

NAME
     open -- open files and directories

SYNOPSIS
     open [-e] [-t] [-f] [-F] [-W] [-R] [-n] [-g] [-h] [-b bundle_identifier]
          [-a application] file ... [--args arg1 ...]

DESCRIPTION
     The open command opens a file (or a directory or URL), just as if you had
     double-clicked the file's icon. If no application name is specified, the
     default application as determined via LaunchServices is used to open the
     specified files.

     If the file is in the form of a URL, the file will be opened as a URL.

...

นอกจากนี้openคำสั่งจะปรากฏครั้งแรกใน NextStep และสืบทอดโดย OS X ดังนั้นจึงอาจมีให้ในบางรูปแบบบนแพลตฟอร์มที่ใช้ OpenStep อื่น ๆ (เช่น AfterStep, LiteStep)
Ionoclast Brigham
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.