명령 행에 "열기"명령이 있습니까?


24

명령 줄에 파일 형식에 따라 특정 파일을 여는 데 사용되는 권장 프로그램 목록을 가져올 수 있습니까? 예를 들어, .pdf파일은 open with...프로그램 Evince및을 사용하여 권장 사항을 갖습니다 Document Viewer.

대부분의 경우 명령 줄을 사용하지만 때로는 특정 유형의 파일을 여는 데 사용하려는 프로그램 이름을 잊어 버리는 경우가 있습니다.

BTW 우분투 13.10을 사용하고 있습니다.

프로 팁

아래 @slm의 선택된 답변 덕분에 다음 bash 스크립트를 파일에 만들었습니다 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-open와 유사하게 작동합니다 xdg-open.
slm

답변:


33

지금까지 본 "열기 ..."역할을하는 명령은 없지만 특정 유형의 파일과 연결된 응용 프로그램에서 명령 xdg-open <file>을 사용하여 열 수 있습니다 <file>.

텍스트 파일 열기 :

$ xdg-open tstfile.txt
$

파일 tstfile.txt열기 결과 gedit:

                         gedit의 ss

LibreOffice Writer 문서 열기 :

$ xdg-open tstfile.odt 
$

tstfile.odtWriter에서 파일 을 여는 결과 :

                         작가의 ss

어떤 앱이 사용됩니까?

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 유형과 관련된 응용 프로그램 목록을 찾기 위해 다른 조회를 수행하는 데 사용됩니다. 당신은 내가 관련이 응용 프로그램이 위의 참조 수로 geditcalibre들어, .txt파일.

xdg-mime연결도 변경할 수 있습니다 . 자세한 내용 man xdg-mime은 참조하십시오.


기본 프로그램 외에 다른 종류의 프로그램을 표시하는 방법이 있습니까? 예를 들어, okularPDF를보기 위해 방금 설치 했지만 위의 예 evince는 .pdf 파일에서 PDF를 실행할 때만 표시 됩니다.
modulitos

1
@Lucas-예 내가 보여준 예제는 위의 주어진 파일 형식과 관련된 응용 프로그램을 보여줍니다. 예를 들어. 유형의 파일은 .txt예를 들어 gedit 및 caliber와 연관됩니다.
slm

.desktop원하는 프로그램에 대한 파일 이 있어야 합니까? 예를 들어, .pdf파일 에서 스크립트를 실행하면 실행할 evince.desktop수도 있지만을 반환 okular합니다.
modulitos

@Lucas-아마도 원래 Q에서 멀어지고 있기 때문에 이것은 아마도 새로운 Q로 묻는 것이 가장 좋습니다.
slm

5

대부분 명령 행에서 작업하는 경우 ranger 또는 vifm 과 같은 curses 기반 파일 관리자를 볼 수 있습니다. 둘 다 파일 형식에 대한 기본 동작을 정의 할 수 있습니다.

예를 들어, 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

    ss # 1

2 단계

#원하는 응용 프로그램을 입력하고를 눌러 목록에서 선택하십시오 enter. 선택한 응용 프로그램에서 파일이 즉시 열립니다.

스크린 샷 # 2 = https://copy.com/um6Rf7zRdceT

    ss # 2

스크린 샷 # 3 = https://copy.com/ytwKCqR6nv8i

    ss # 3

노트

참고 # 1

기본 응용 프로그램이 선택한 응용 프로그램으로 변경되므로 해당 파일 형식을 열 때마다 목록에서 마지막으로 선택한 응용 프로그램에서 열립니다.


스크린 샷 3의 URL에 해시 기호 (#)를 넣으려고 했습니까?
trysis

@trysis 방금 최대 2 개의 URL 제한을 무시하기 위해 사용했습니다.
나를 삭제하십시오

오, 말이 되네요 그래도 여전히 이상하게 보입니다.
trysis

A를 정리하고 세 번째 URL을 추가했습니다.
slm

2

사용중인 유닉스의 맛에 달려 있다고 생각합니다. 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.