[unix] 명령 행에 “열기”명령이 있습니까?

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

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

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

프로 팁

아래 @slm의 선택된 답변 덕분에 다음 bash 스크립트를 파일에 만들었습니다 openwith.sh.

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

별명으로 추가하거나 명령으로 직접 openwith실행하십시오.



답변

지금까지 본 “열기 …”역할을하는 명령은 없지만 특정 유형의 파일과 연결된 응용 프로그램에서 명령 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은 참조하십시오.


답변

대부분 명령 행에서 작업하는 경우 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파일 의 경우에서 볼 수 있듯이 응용 프로그램뿐만 아니라 스크립트를 트리거 할 수 있습니다.


답변

일종의, 그러나 결과적으로 기본 응용 프로그램이 변경됩니다. 다른 운영 체제가 작동하는지 확실하지 않지만 아래 지침은 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

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


답변

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

...


답변