Mac OS 파인더에서 터미널 열기 [닫기]


682

Mac OS 용 "Open Command Window Here"Windows Powertoy와 비슷한 것이 있습니까? Google 검색을 통해 몇 가지 플러그인을 찾았지만 개발자에게 가장 적합한 플러그인을 찾고 싶었습니다.


답변:


900

Mac OS X Lion 10.7부터 터미널에는 정확히이 기능이 서비스로 포함되어 있습니다. 대부분의 서비스와 마찬가지로 이러한 서비스는 기본적으로 비활성화되어 있으므로 서비스 메뉴에 표시되도록 활성화해야합니다.

시스템 환경 설정> 키보드> 바로 가기> 서비스

사용 폴더에 새로운 터미널을 . Folder에 New Terminal Tab 도 있습니다.이 탭은 맨 앞 터미널 창에 탭을 만듭니다 (있는 경우 새 창을 만듭니다). 이러한 서비스는 Finder뿐만 아니라 모든 응용 프로그램에서 작동하며 텍스트에서 선택한 절대 경로 이름뿐만 아니라 폴더에서도 작동합니다.

명령 키를 할당 할 수도 있습니다.

서비스는 각 응용 프로그램 메뉴의 서비스 하위 메뉴와 상황에 맞는 메뉴 (폴더 또는 경로 이름에서 Control- 클릭 또는 마우스 오른쪽 버튼 클릭)에 나타납니다.

Finder 에서 폴더를 선택하면 폴더새 터미널 서비스가 활성화 됩니다 . 단순히 폴더를 열고 "제자리에서"서비스를 실행할 수는 없습니다. 상위 폴더로 돌아가서 관련 폴더를 선택한 다음 서비스 메뉴 또는 컨텍스트 메뉴를 통해 서비스를 활성화하십시오.

또한 Lion Terminal은 폴더 (또는 경로 이름)를 터미널 응용 프로그램 아이콘으로 드래그하면 새 터미널 창을 열고 기존 창의 탭 표시 줄로 끌어 새 탭을 만들 수도 있습니다.

마지막으로, 폴더 또는 경로 이름을 탭 (탭 표시 줄의)으로 끌고 포 그라운드 프로세스가 쉘인 경우 자동으로 "cd"명령이 실행됩니다. (이전 버전의 터미널에서와 같이 탭 내에서 터미널보기로 드래그하면 경로 이름 만 입력됩니다.)

명령 행 또는 쉘 스크립트에서이를 수행 할 수도 있습니다.

open -a Terminal /path/to/folder

이것은 폴더 / 경로 이름을 터미널 응용 프로그램 아이콘으로 드래그하는 것과 같은 명령 줄입니다.

관련 참고 사항에서 Lion Terminal에는 맨 페이지 조회를위한 새로운 서비스도 있습니다. 터미널에서 맨 페이지 열기 는 선택한 맨 페이지 항목을 새 터미널 창에 표시하고 터미널에서 맨 페이지 검색 은 선택한 텍스트에 대해 "아 프로포즈"를 수행합니다. 전자는 또한 매뉴얼 페이지 참조 ( "open (2)"), 매뉴얼 페이지 명령 행 인수 ( "2 open") 및 매뉴얼 페이지 URL ( "x-man-page : // 2 / open")을 이해합니다.


8
요세미티에서는 작동하지 않습니다.
Olcay Ertaş

2
@ OlcayErtaş 작동하지 않는 것은 무엇입니까? 내 대답의 모든 내용은 Yosemite 10.10.x에서 작동합니다.
Chris 페이지

2
Finer를 다시 시작해야합니까? 이유는 없지만 폴더 서비스에서 새 터미널을 사용하도록 설정했지만 작동하지 않았습니다.
Olcay Ertaş

13
@ OlcayErtaş 메뉴 항목을 얻으려면 폴더 아이콘을 마우스 오른쪽 버튼으로 클릭해야합니다. 폴더 자체를 탐색하지 말고 상위 폴더를 탐색하십시오.
Jonathan Landrum

2
마우스 오른쪽 버튼 클릭 / 서비스를 통해 사용할 수 있지만 키보드 단축키를 통해 사용할 수는 없습니다.
Can Poyrazoğlu


56

대안으로 없어서는 안될 응용 프로그램은 실제로 응용 프로그램에서 미니 터미널을 여는 DTerm 입니다. 또한 Finder, XCode, PhotoShop 등 모든 것에서 작동합니다.


38

설명 (@ vgm64 덕분에) : 이미 터미널에있는 경우 터미널을 떠나지 않고도 최상위 Finder 창으로 빠르게 변경할 수 있습니다. 이렇게하면 마우스 사용을 피할 수 있습니다.

터미널에 언제든지 .bash_profile입력 할 수 있도록 다음을 추가했습니다 cdff.

function ff { osascript -e 'tell application "Finder"'\
 -e "if (${1-1} <= (count Finder windows)) then"\
 -e "get POSIX path of (target of window ${1-1} as alias)"\
 -e 'else' -e 'get POSIX path of (desktop as alias)'\
 -e 'end if' -e 'end tell'; };\

function cdff { cd "`ff $@`"; };

이것은 이 macosxhints.com 터미널 힌트 입니다.


"open."은 현재 디렉토리에 새로운 Finder 윈도우를 엽니 다
jolvi

2
@ jolvi 그것은이 답변이 제공하는 것과 반대입니다. 요점은에서 파인더 창을 여는 것이 pwd아니라 cd파인더가 열려있는 디렉토리입니다.
Jonathan Landrum

아, 죄송합니다. 물론 그렇습니다.
jolvi

14

여기에서 터미널 열기를 확인하십시오 . "여기에서 명령 창 열기"와 가장 유사 할 수 있습니다. 나는 이것을 사용 >cdto했고 이것은 매우 비슷하지만 이것은 Spaces를 다루는 데 조금 더 나은 것 같습니다 ... 그러나 완벽하지는 않습니다.

아주 좋은 점은 " 응용 프로그램 시작시 키 다운 이벤트를 감지하고이를 사용하여 스크립트 동작을 수정하는 기능 "입니다. 스크립트를 호출하면 맨 앞 터미널 창에서 새 탭을 열 수 있습니다. ⌘ 키를 누른 상태에서 깔끔한 트릭.

PCheese의 답변에 주목하십시오. 아마도 터미널이 많은 사용자에게 더 유용 할 것입니다!


12

vgm64d0k 에 의해 게시 된 매우 훌륭하고 슬림 한 Open Terminal 의 업데이트 된 버전이 있습니다. 제임스 데이비드 로 변경되었습니다 . 그는 자신의 사이트 에 새 버전을 게시했습니다 . OpenTerminalHere.zip을 다운로드하여 압축을 풀고 번들을 Library / Scripts 폴더로 이동 한 다음 Finder 도구 모음으로 드래그하십시오.

특별한 점은 Terminal.app 창이 이미 열려 있으면 항상 새 탭을 여는 것입니다. 매우 유용한! 또한 응용 프로그램의 버튼 스타일은 redacted 가 게시 한 cdto보다 Snow Leopard Finder.app 스타일에 더 적합합니다 .


대단해! Finder 도구 모음 으로 Command + 드래그해야합니다 (위의 게시물에서 설명한대로 드래그하지 않아야 함). 그리고 클릭하면 어떤 폴더에서든 종료되는 아이콘 바로 가기가 있습니다.
B. Nadolson

10

또한 command-C를 사용하여 파인더에서 항목을 복사하고 터미널 (예 : Spotlight 또는 QuickSilver 사용) 유형 'cd'로 이동 한 다음 command-v로 간단히 붙여 넣기


4

파인더 툴바를위한 3 개의 앱으로 번들을 만들었습니다. 다른 두 앱은 다음을 수행합니다.

  • 현재 선택된 텍스트 메이트 열기
  • 현재 폴더로 GitX를 엽니 다

자세한 내용은 여기를 참조하십시오 : http://nslog.de/posts/71


3

Big Cat 스크립트를 설치 한 경우 ( http://www.ranchero.com/bigcat/ ) 하면 고유 한 상황에 맞는 메뉴 (오른쪽 클릭) 항목을 추가 할 수 있습니다. 나는 Open Terminal Here 애플 스크립트와 함께 제공되지 않는다고 생각하지만이 스크립트를 사용합니다 (내가 직접 작성했거나 다른 사람의 예에서 들어 올린 경우 솔직히 기억하지 않습니다).


on main(filelist)
    tell application "Finder"
        try
            activate
            set frontWin to folder of front window as string
            set frontWinPath to (get POSIX path of frontWin)
            tell application "Terminal"
                activate
                do script with command "cd \"" & frontWinPath & "\""
            end tell
        on error error_message
            beep
            display dialog error_message buttons ¬
                {"OK"} default button 1
        end try
    end tell
end main

비슷한 스크립트를 사용하면 마우스 오른쪽 버튼을 클릭하면 파일의 전체 경로를 얻을 수 있습니다.


3

그것은 당신이 요구하는 것보다 조금 더 많지만, Finder가 약간 더 많은 주스를 원했던 사람이라면 Cocoatech의 Path Finder를 추천합니다. 여기에는 현재 디렉토리의 터미널 창을 여는 도구 모음 단추 또는 각 Finder 창의 맨 아래에 터미널 명령 줄이있는 개폐식 패널이 있습니다. 게다가 지금은 살 수없는 많은 다른 기능들. 매우 성숙하고 안정적인 소프트웨어. http://cocoatech.com/


2

좋아, 나는 이것이 조금 늦었다는 것을 알고있다. 아마도이 대안이 게시물을 쓰는 순간에 사용 가능하지 않았을까?

어쨌든 Fink (이 경우 전제 조건, MacPorts를 사용하는 사람들과 비슷한 것이 있습니까?)를 통해 pos 패키지를 설치하는 것이 가장 쉬운 해결책이라는 것을 알았습니다. 두 가지 명령이 있습니다.

  1. posd-맨 앞에있는 Finder 윈도우의 현재 디렉토리를 제공합니다 (별칭으로 cdf = cd posd를 만듭니다).
  2. fdc-맨 앞 Finder 창의 현재 디렉토리를 터미널 pwd로 전환합니다. 이것은 'open'과 약간 다릅니다. 항상 새로운 파인더 창이 열립니다.

예, cdf를 작성하기 전에 터미널 창으로 전환해야하지만 Finder 도구 모음에서 버튼을 클릭하는 것과 비교하면 상당히 저렴합니다. 또한 iTerm에서도 작동하므로 iTerm 창을 여는 별도의 Finder 도구 모음 단추를 다운로드 할 필요가 없습니다. 이것은 PCheese가 제안한 것과 같은 접근 방식이지만 .bash_profile을 어지럽 힐 필요는 없습니다.



1

나는 주로이 기능을 사용한다 :

cf() {
  cd "$(osascript -e 'tell app "Finder" to POSIX path of (insertion location as alias)')"
}

아래 스크립트와 같은 스크립트에 단축키를 지정할 수도 있습니다.

기존 탭을 재사용하거나 새 창을 작성하십시오 (터미널).

tell application "Finder" to set p to POSIX path of (insertion location as alias)
tell application "Terminal"
    if (exists window 1) and not busy of window 1 then
        do script "cd " & quoted form of p in window 1
    else
        do script "cd " & quoted form of p
    end if
    activate
end tell

기존 탭을 재사용하거나 새 탭을 작성하십시오 (터미널).

tell application "Finder" to set p to POSIX path of (insertion location as alias)
tell application "Terminal"
    if not (exists window 1) then reopen
    activate
    if busy of window 1 then
        tell application "System Events" to keystroke "t" using command down
    end if
    do script "cd " & quoted form of p in window 1
end tell

항상 새 탭을 작성하십시오 (iTerm 2).

tell application "Finder" to set p to POSIX path of (insertion location as alias)
tell application "iTerm"
    if exists current terminal then
        current terminal
    else
        make new terminal
    end if
    tell (launch session "Default") of result to write text "cd " & quoted form of p
    activate
end tell

첫 두 스크립트는 10.7에서 추가 된 서비스와 비교하여 두 가지 장점이 있습니다.

  • 먼저 폴더를 선택하지 않고 제목 표시 줄의 폴더를 사용합니다.
  • 명령을 실행하거나 매뉴얼 페이지를 표시하거나 emacs를 실행하는 등 사용 중이 아닌 경우 맨 앞 탭을 재사용합니다.

0

OSX 10.6의 AppleScript에 버그가 있습니다. (2 개의 터미널 창이 열립니다). 활성화 후 닫기 명령을 추가하여이 문제를 해결했습니다. 첫 번째 터미널 창이 닫힙니다.

on run
    tell application "Finder"
        try
            activate
            set frontWin to folder of front window as string
            set frontWinPath to (get POSIX path of frontWin)
            tell application "Terminal"
                activate
                close
                do script with command "cd \"" & frontWinPath & "\""
            end tell
        on error error_message
            beep
            display dialog error_message buttons ¬
                {"OK"} default button 1
        end try
    end tell
end run

2
왜 터미널 창을 닫고 싶습니까? 그게 당신이하고있는 일을 파괴하지 않습니까?
Rob Kennedy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.