2008-11-05 6 views
176

Mac OS X의 "open"명령은 명령 줄에서 매우 편리합니다. "열린 사람"에서 :Mac OS X "open"명령에 해당하는 Linux

open my.pdf 

에서 :

I 기본 PDF 뷰어와 PDF 파일을 열려면입니다

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.

, 난 단지 할 필요가 (미리보기 될 일이) 그러나 리눅스는 명령 행에서 PDF 파일을 열 때 기본 PDF 뷰어가 "evince"(누가 짐작 했습니까?)라고 묻는 사람을 찾아야 만했습니다. (누가 짐작 했습니까?)

evince my.pdf 

그래서 't'에서 'open'명령과 동일한 기능을 수행 할 수 있습니까? 그는 리눅스 명령 줄?

감사합니다.

+6

어쩌면이 질문을 superuser.com으로 옮겨야할까요? – quazgar

+1

슈퍼 사용자가 부적절한 것 같습니다. "일반 사용자"또는 "다른 응용 프로그램을 스크립팅하고 싶은 프로그래머", 즉 자동화를위한 StackOverflow가 있습니까? –

+0

askubuntu가 맞을 수도 있습니다. – Gopherkhan

답변

195

대부분의 Linux 배포판에는 xdg-open을 시도해 볼 수 있습니다. 그것은 파일에 대한 기본 연결된 응용 프로그램을 엽니 다.

참고 https://portland.freedesktop.org/doc/xdg-open.html

+12

그러나이 파일과'open'의 큰 차이점은이 파일/앱이 백그라운드에서 열리지 않는다는 것입니다. 리눅스 응용 프로그램은 매우 수다스러운 것으로 보이며 (실제로 아무 것도 잘못되지는 않았지만) 종종 여러 줄의 진단 및 경고를 터미널에 출력합니다. 나는 보통'xdg-open &>/dev/null &'과 같은 것을해야한다. 이와 관련하여 xdg-open보다 나은 것이 있습니까? – Suan

+11

@Suan : 앱이 실행되는 즉시 터미널에서 계속 작업 할 수있는 방식으로 터미널에서 분리 된 "배경"으로 앱을 엽니 다. 따라서 후행하는'&'는 필요하지 않습니다. "여러 줄의 진단"에 관해서는, 그것들은'xdg-open'이 아닌 어플리케이션 자체에서 나온 것입니다. 출력을 원하지 않는다면'evince '를 직접 사용해도 (OP의 예)'&>/dev/null'이 필요하므로 불평은 없습니다. 'xdg-open'은 실제로가는 길입니다. – MestreLion

+13

@MestreLion Mac의 오픈으로 인해 응용 프로그램 출력이 터미널에 울리지 않으므로 불만 사항이 완전히 무효라고 생각하지 않습니다. –

3

그놈 오픈

+5

gnome-open은 더 이상 사용되지 않으며, 사용자가 Gnome에 있으면'xdg-open'에 의해 이미 내부적으로 사용되었습니다 (이제는'gvfs-open'을 사용합니다). – MestreLion

66

당신이 찾고있는 등가은 OS X의 open 명령과 같은 방식으로 사용할 수 있습니다 xdg-open있다. 예 :

xdg-open ~/Documents/Chubby_Bubbies.odt 

그러나이 작업은 빠르고 정확하게 입력하기가 어렵습니다. 대신 xdg-open에 별칭을 지정해야 프로세스가 훨씬 빨라집니다.

물론 OS X (원하는 항목을 선택할 수 있음)와 일치 시키려면 open으로 별칭을 지정할 수 있지만 개인적으로는 속도상의 이유로 바로 가기에 오른쪽 대괄호 (])를 사용합니다. 어떤 리소스를 열려면 다음 예 중 하나처럼 사용하는, 그리고

alias ']'='xdg-open' 

: (

] www.google.com 
] file.txt 
] ~/Pictures 
] ssh://myserver.local/home/jeremy 

또한이 당신이 파일 브라우저를 열 수 있습니다 이것을 사용하려면, 당신 .bashrc 파일에 다음을 추가 현재 디렉토리에 예를 들어 노틸러스) : 경험에서

] . 

나는 하나의 문자 별명은 위의 바로 가기에 가장 적합한 것으로 나타났습니다. 결국 목표는 효율성입니다. 그리고 당신은 돌아가서 OS X에서 같은 별칭을 만들 수 있습니다 - 나는 그것을 독자에게 연습으로 남겨 둡니다. :-)

+24

별명을 'xdg-open'을 'open'하여 Linux와 Mac 모두에서 일관성을 유지하십시오. –

+1

환상적인 예! – Gerstmann

+0

그게 좋지만 훌륭하지는 않아 .url 파일을 열려고 시도하고 gedit에서 열어 보았습니다. – sorin

10

전통적으로 "see"명령을 사용할 수 있습니다. 그냥 run-mailcap을 사용합니다. 난 그냥 내 자신이 너무 내가 수안 묻는 것과 특별히 관련이있는, 그것을 어떻게 적어 것이라고 생각이 정리

man see 
+2

문제는'run-mailcap' (그리고 그것의 많은 별칭들)은 별개의 (그리고 끔찍하게 구식 인) app association 데이터베이스를 사용합니다. 예를 들어, 내 시스템에서'.mp3' 노래가 VLC에서 올바르게 열리는 반면'.txt' 파일은 (gedit 대신) less에서 열리고'.pdf' 파일은 단순히 열리지 않습니다! (오류 : 유형 "application/pdf"에 대한 '보기'메일 캡 규칙 없음) – MestreLion

+1

여기에서 작동하는 것으로 보입니다. –

+0

내가 말했듯이, 그것은 각 시스템에 달려있다. 'run-mailcap '이 그들을 인식하는 방식으로 등록하는 응용 프로그램은 거의 없습니다. 'xdg-open'은 내부적으로 (gnome 시스템에서 우분투와 같은) gvfs-open을 사용하는데, xdg의 mime-database spec을 사용합니다. – MestreLion

11

이 등 그놈 및 X없이 작동합니다.

~/bin에서 open라는 스크립트를 작성, 내용이 그냥 :

xdg-open "$1" &> /dev/null & 

저장하고 닫습니다 이 단계는 방금 입력 "열기"메시지에 포함되지 터미널이 필요하지 않은 수 스크립트를 입력 한 다음 "source .profile"(또는 해당되는 경우 .bash_profile)을 입력하십시오. "open music"이라고 입력하면 노틸러스 GUI에서 음악 폴더가 열리 며 터미널에 아무 것도 입력하지 않아야합니다.

+0

별칭 및 별난 곳은 무엇인가요? 그냥 스크립트 자체를'open'하고 PATH에 넣으십시오. (보통'$ HOME/bin/open') – tripleee

+0

내 컴퓨터 (우분투 11.10)에서 경로에 'open'스크립트를 추가하고 그렇게하면/bin/open에 의해 덮어 쓰여집니다. 그래서 별칭없이 일할 수있는 방법을 찾을 수 없습니다. – Anake

+0

트릭은 자신의 스크립트를'/ bin'보다는'PATH' 이전에 오는 디렉토리에 두는 것입니다. 규약에 따르면,'$ HOME/bin'을 사용하면 PATH의 시작 부분에 시스템 디렉토리 앞에 추가됩니다. 일반적으로 이것은'.profile' 또는 유사하게 수행됩니다. 예를 들어, 우분투의 기본'.profile'은 정확히 이것을합니다. – tripleee

-2

에서 그놈 데스크톱 환경, 나는 다음과 같은 명령을 사용합니다. "개방"

nautilus `pwd` & 

이 유사한이다 명령

+8

이 답변에는 여러 가지 문제가 있습니다. A) 요청한 사용자가 파일이 아닌 현재 디렉토리를 엽니 다. B)'''''pwd'' 대신'.'를 사용할 수 있습니다. "C) 파일에 대해'pwd'를 변경하면 사용자는 노틸러스가 열리 자마자 ENTER를 누를 필요가 있습니다. D) 노틸러스를 먼저 * it * 파일을 열면 매우 간접적 인 해결책이됩니다. – MestreLion

1

마임을 올바르게 설정 한 경우 mimeopen을 사용할 수 있습니다. 몇 가지 유용한 옵션이 있기 때문에 매뉴얼 페이지를 확인하십시오.

+0

이 답변을 확대하면 좋을 것입니다. 이게 어떻게 작동하는지보고 싶네. – Magnus