포럼 내용이 있는 곳으로 건너뜀

사과나무 이야기 마당

Mac 사용자 정보 교류 마당 - AppleTree forums for Korean Mac users

로그인하지 않으셨습니다. 로그인 또는 가입해 주세요.

이곳은 Mac 관련 유용한 정보들을 모아 많은 분과 함께 공유하기 위해 운영되고 있습니다. 잠깐 들르시는 나그네라도 자유롭게 글을 올리시고 의견을 나누실 수 있습니다.

새 댓글 작성

새 댓글 작성

새 댓글을 작성합니다.

사용 가능: BBCode 이미지 그림 문자

양식을 전송하기 전에 (필수)라고 표시된 모든 항목을 입력해야만 합니다.

손님인 경우 필수로 요구되는 정보


필수 정보
글 설정 선택사항

글타래 내용 (최신 글 먼저)

11

mkdir와 cd 명령을 한꺼번에

function take {
  if [ ! -n "$1" ]; then
    echo "Enter a directory name"
  elif [ -d $1 ]; then
    echo "\`$1' already exists"
  else
    mkdir $1 && cd $1
  fi
}

보통 mkdir 명령으로 디렉터리를 만든 후에 cd 명령으로 해당 디렉터리로 이동하는 작업을 많이 하는데, 위 함수를 .dotfile에 저장해 놓으면 take 명령만 내려서 한꺼번에 처리할 수 있게 됩니다.

더불어, cd 명령에 관련된 것으로, 아래의 cf 명령은 하위 디렉터리 이름 중에 최소한의 유일한 부분만 입력해도 해당 디렉터리로 자동 이동시켜 주는 함수입니다.

function cf {
  shopt -q nocasematch || resetcase=1
  shopt -s nocasematch
  for i in *; do [ -d "$i" ] && [[ "$i" == *"$1"* ]] && cd "$i" && break; done
  [ $resetcase ] && shopt -u nocasematch
}

10

터미널에서 현재 Finder 최상위에 열려있는 창의 디렉터리로 cd해서 이동하기

# cd into whatever is the forefront Finder window.
# https://github.com/paulirish/dotfiles/commit/e67d1bc03
function cdf {
  cd "`osascript -e 'tell app "Finder" to POSIX path of (insertion location as alias)'`"
}

위 명령을 .bashrc 파일이나 .profile과 같은 .dotfile에 저장해놓으면 다음부턴 일일이 현재 Finder에 열려있는 창의 주소를 일일이 입력하거나 아이콘을 터미널 창에 떨구어서 해당 디렉터리로 cd해서 이동할 필요없이, 그냥 cdf 명령만 내리면 알아서 자동 이동합니다.

9

LSCOLORS code 온라인 생성기

윗글에서 설명된 터미널의 LSCOLORS code를 손쉽게 설정할 수 있게 도와주는 online 생성기가 있군요. - LSCOLORS Generator
눈으로 직접 확인해가면서 지정한 색의 LSCOLORS 값을 바로 뽑아낼 수 있습니다.

8

터미널에서 단어들 간 이동을 위한 단축키 적용 방법

아시다시피, Mac 어플리케이션들에서는 단어들 간의 이동을 위해 ⌥←와 ⌥→ 키 조합을 사용할 수 있습니다만, 터미널에서는 기본적으로 이런 단축키를 사용할 수 없게 되어있습니다.

하지만, 약간의 설정만으로 원하는 단축키 조합을 사용할 수 있답니다.
방법은, 터미널의 창 설정(Window Settings...)에서 키보드 항목을 선택하면 아래와 같은 창이 보입니다.

http://appletree.or.kr/forum/files/terminal_key_bindings.png

여기서 option+left(⌥←)키 조합을 사용해서 이전 단어로 이동할 수 있게 하려면 아래와 같이 새로운 키 매핑 항목을 추가해 줍니다:

http://appletree.or.kr/forum/files/terminal_key_editing_1.png

여기서 \033b를 입력하려면 escape 키(\033)를 누르고 나서 b 키를 누르면 됩니다.

오른쪽 단어로의 이동을 위한 조합 키도 앞에서와 마찬가지로 \033f를 입력해서 적용해 주면 됩니다.

덤으로, control left/right키를 사용해서 문단의 처음/끝으로 이동하도록 만들려면, 각각의 shell 키로는 ⌃A(control A)⌃E(control E)키를 적용하면 됩니다. 참고로, ⌃A키를 누르면 string 값으로 \001가 입력됩니다:

http://appletree.or.kr/forum/files/terminal_key_editing_2.png

적용 후에는 반드시 "Use Settings as Defaults" 단추를 눌러서 설정한 것을 기억시켜 놓습니다.

옮긴 글: TextMate Blog - Word Movement in Terminal

7

Tiger에서 Pico를 대신하는 새로운 Nano 소개

pico는 예전부터 Unix 세계에서는 가장 널리 쓰이던 글자 편집기입니다만, 검색과 치환 기능에서 상당한 제약을 가지고 있다는 약점이 있습니다. 이것이 Tiger에 와서는, GNU 기반인 nano 편집기로 대체되었답니다. Nano는 pico와 호환성을 갖고 있으면서도 여러가지 추가 기능들을 제공합니다.

Nano의 공식 홈 페이지인 www.nano-editor.org 에 가면 nano에 관한 많은 정보를 얻을 수 있으며, Mac OS X 10.4 이전 버전의 사용자들은 공식 홈 페이지에서 nano를 무료로 내려받을 수 있습니다.

설치는 내려받은 파일의 압축을 풀고, 터미널에서 다음과 같은 일반적인 설치 명령을 수행합니다. (여기서 버전 숫자는 다를 수 있습니다):

$ tar xzf nano-1.2.5.tar.gz
$ cd nano-1.2.5/
$ ./configure
  # ...much output here....
$ make
$ sudo make install
Password:
  # ...output here...

그러면, 실행자는 /usr/local/bin/nano에 위치하게 되고, 설명서는 /usr/local/man/에 더해집니다.

Nano의 기능들 중에는 문법 표시 기능(syntax highlighting)이 있는데, <head>와 같은 HTML 꼬리표들(tags)의 색깔을 파란색으로 표시하거나 &와 같은 열외 특수 문자들(escaped characters)을 빨간색으로 표시해 줄 수 있답니다.

꼬리표들의 색깔 지정은 사용자 홈(Home) 디렉토리에 위치하는 .nanorc 파일에 다음과 같이 설정해 줍니다:

#HTML Syntax Highlighting
syntax "HTML" "\.html$"
color blue start="<" end=">"
color red "&[^;       ]*;"

두 번째 줄은 HTML 문법이 이름이 .html로 끝나는 모든 파일들에 적용되도록 지시하는 부분이고, 세 번째 줄은 <와 > 사이에 있는 모든 글자들을 파란색으로 표시하라는 지시입니다. 그리고 네 번째 줄은 &와 ; 사이에 있는 것들(공백과 ;으로 분리되어 있는 것들은 제외)은 빨간색으로 표시하게 합니다. ([와 ] 사이에 있는 글자들은 하나의 공백과 탭(tab) 글자들을 포함하고 있습니다.)

이 곳에 지정해 줄 수 있는 색깔들로는 white, black, red, blue, green, yellow, magenta, cyan 그리고 앞에 제시된 색깔들의 이름 앞에 bright이 붙은 색깔들이 있습니다. 여기서 색깔이 적용될 글자들의 적합성을 판단하는 데는 확장 정규식(extended regular expression)을 사용하게 됩니다.

자세한 .nanorc 파일 설정법은 nano 소스 파일에 포함되어 있는 nanorc.sample 파일을 살펴보면 많은 참고가 되고, 여기에는 여러 설정 가능 항목들과 문법 표시 기능 사용법을 확인하실 수 있습니다.

6

ls 결과를 색깔로 구분해서 표시하기

Mac OS X 10.4 Tiger에 설치되어 있는 ls 명령은 -G 설정 혹은 CLICOLOR 환경 변수와 함께 사용되면, 결과들을 색깔별로 구분해서 나열할 수 있습니다. 여기에 표시되는 색깔들의 구분은 LSCOLORS 환경 변수를 따로 지정해서 사용자의 입맛에 맞게 변경할 수도 있답니다.

그래서, 예를 들어 만약 디렉토리 표시 색깔을 기본 파란색에서 노란색(원래 d값은 갈색을 나타내지만, 실제로는 노란색과 비슷하게 표시됩니다)으로 바꾸려면 터미널 초기 설정 파일(tcsh: ~/.cshrc, bash: ~/.profile)에 다음과 같이 설정해 줍니다.

tcsh shell일 경우:

setenv CLICOLOR 1
# use yellow for directories listing
setenv LSCOLORS dxfxcxdxbxegedabagacad

bash shell일 경우:

export CLICOLOR=1
# use yellow for directories listing
export LSCOLORS=dxfxcxdxbxegedabagacad

여기에 더해서, alias인 alias ls="ls -G" 설정을 추가해 주면 매번 ls 명령을 입력할 때마다, -G 설정을 입력할 필요가 없게 됩니다.

참고로, 기본 LSCOLORS의 설정값은 "exfxcxdxbxegedabagacad"이며, 변수의 속성들은 각기 쌍을 이루며 글자색배경색으로 묶여 있습니다. 여러 속성들의 순서는, 다음과 같습니다:

1. directory  2. symbolic link  3. socket  4. pipe  5. executable  6. block special  7. character special 
8. executable with setuid bit set  9. executable with setgid bit set 
10. directory writable to others, with sticky bit  11. directory writable to others, without sticky bit

그리고, 색깔을 나타내는 지시자들은 다음과 같습니다:

a     black
b     red
c     green
d     brown
e     blue
f     magenta
g     cyan
h     light grey
A     bold black, usually shows up as dark grey
B     bold red
C     bold green
D     bold brown, usually shows up as yellow
E     bold blue
F     bold magenta
G     bold cyan
H     bold light grey
x     bdefault foreground or background

그래서, 예를 들어 기본 설정값인 "exfxcxdxbxegedabagacad"는 일반 디렉토리의 경우, 파란색 글자(e)로 기본 배경색(x)을 바탕으로 표시되고, 심볼릭 링크(symbolic link)는 심홍색 글자(f-magenta)에 기본 배경색(x)을 바탕으로 표시되며, 뒤의 기타 속성들도 이러한 형식을 취합니다.
자세한 ls 관련 설명은 man ls로 설명서를 불러내어 읽어보시기 바랍니다.

5

stdin 내용을 Safari로 전달(pipe)하기

터미널 명령인 open에는 -f 선택사항이 있습니다. 이 놈의 기능은 standard input의 내용을 읽어 들여서 그 결과를 기본적으로 설정되어 있는 글자 편집기를 열어서 보여주는 것입니다. 여기서, input 내용은 EOF(End Of File) 글자를 읽어들일 때까지 계속되거나 혹은 Control-D를 입력해서 멈출 수도 있습니다.

이것과 더불어서, 열리는 어플리케이션을 지정해 주는 -a 선택사항을 사용하면, standard input의 내용을 Safari로 열어서 확인해 볼 수 있답니다.

예를 들어,

echo "<html><body>Hello</body></html>" | open -a /Applications/Safari.app -f

위와 같이 입력하면 standard input의 웹 페이지의 내용을, Safari에서 확일할 수 있게 됩니다.

이와 같은 요령은 HTML 결과를 생성하는 코드를 작성할 때 아주 유용하게 사용될 수 있을 겁니다.

한 가지 문제점이라면,

echo "<?xml version='1.0'?><html><body>Hello</body></html>" | open -a /Applications/Safari.app -f

위의 코드에서와 같이 XHTML 코드를 읽어들일 때, Safari에 표시되는 내용은 간단한 text파일(text/plain 형식)로 읽어들이게 되는데, 이는 open 명령이 -f 선택사항과 함께 사용될 때 output을 .txt의 확장자를 가진 임시 파일에 저장하고 이 파일을 읽어드리면서 생기는 문제입니다.

그래서, Safari가 XHTML 내용을 제대로 표시하게 하려면, 추가로 -m 선택사항과 함께 다음과 같이 올바른 mimi-type(text/html)을 지정해 주면 되겠습니다.

echo '<!-- hello --><html><body>Hello</body></html>' | open -a /Applications/Safari.app -f -m text/html

따옴 - Mac OS X Hints

4

fs_usage -- report system calls and page faults related to filesystem activity in real-time

fs_usage 명령을 실행하는 동안, 모든 filesystem 접근 상황을 실시간으로 표시해 준다고 합니다.
그런데, 무엇에 쓰일고...:?:

사용 예:

sudo fs_usage -f filesys

3

터미널에서 한글 쓰기

AppleForum에서 hwank1980님이 쓰신 글을 옮깁니다.

기본적으로 Mac OS X의 터미널에서는 한글과 같은 2 Byte 문자 언어를 제대로 표시해 주거나 사용할 수 없습니다만, 약간의 편법으로 한글을 입력하고 제대로 표시해주는 방법이 있답니다.

우선, 터미널에서 nano를 사용해서 사용자의 홈(Home) 폴더에 .inputrc 파일을 생성합니다:

nano .inputrc

그리고 다음과 같은 환경 변수들을 입력합니다:

set convert-meta off
set meta-flag on
set input-meta on
set output-meta on

Control+O(Write Out) 입력후 리턴키로 저장하고, Control+X로 빠져 나옵니다. 터미널을 재시동하면 터미널 환경 설정에서 인코딩 방식이 UTF-8으로 되어 있다면, 한글이 깨지지 않고 제대로 입력됩니다.

이제, 남은 문제는 한글 표시인데 이것은 .profile에 다음과 같은 환경 변수를 추가해 주면 됩니다:

alias ls='ls -v'

저장후, 다음과 같은 명령으로 변경된 터미널의 환경 설정을 다시 불러오면 바로 효과를 보실 수 있습니다.

source .profile

약간은 번거롭지만 완벽하게 한글을 지원해 줄 때까지는 그럭저럭 쓸 만 하군요. :thumbup:

덧붙여서, 터미널 환경의 언어 변수를 바꾸는 방법은 우선 터미널에서 locale -a 명령으로 설치되어 있는 모든 사용 가능한 언어들을 확인하고, 원하는 언어 변수를 다음과 같이 터미널 환경 설정 파일(~/.profile)에 추가해서 저장해 놓습니다.

export LC_ALL=ko_KR.UTF-8

그런데, Mac OS X 10.4에 포함된 bash 버전에는 이상한 버그가 있어서 .profile 파일의 export 지시자에 설정되어 있는 LC_CTYPE 환경 변수를 올바로 읽어오지 못한답니다. 그래서 잘 알려져 있지 않은 environment.plist 파일을 사용해서 이것을 고쳐주어야 합니다.

방법은, ~/.MacOSX/environment.plist 파일에다 LC_CTYPE의 키와 함께 ko_KR.UTF-8 값을 추가해 주면 됩니다. 만약 이 파일이 존재하지 않는다면, 터미널에서 다음과 같은 명령을 실행해 줍니다:

mkdir ~/.MacOSX
echo "{ LC_CTYPE = \"ko_KR.UTF-8\"; }" > ~/.MacOSX/environment.plist

혹은 개발자 도구와 함께 설치되는 Property List Editor.app을 사용하실 수도 있습니다. 이렇게 해서 다시 로그인하면 바뀐 설정을 적용할 수 있습니다.
이렇게 하면, 한글 이름의 파일들도 터미널에서 복사가 잘 되는군요. smile

Mac OS X Hints의 터미널 UTF-8 설정 관련 글

2

터미널 창의 “Welcome to Darwin!” 문장 바꾸기

터미널을 열 때마다, "Welcome to Darwin!"이라는 문장이 표시되는 것을 매번 보셨을 겁니다. 이것을 좀 더 의미있거나 혹은 재미난 것으로 바꾸고 싶으신 적이 있으셨겠죠? 방법은 생각보다 간단합니다. 그냥 /etc/motd 파일을 원하시는 것으로 수정만 해주시면 됩니다. Mac OS X 소유의 파일이기 때문에, sudo 명령과 함께 pico 편집기를 사용해서 다음과 같이 터미널에 입력합니다:

sudo pico /etc/motd

원하시는 문장으로 대치하고 저장하면, 터미널 창을 열 때나 혹은 외부에서 shell 환경으로 접속할 때마다 새로 바뀌어진 문장이 표시되는 것을 확인하실 수 있습니다.

"Save the World! You Superman.", "Cower in Fear, All Ye Who Enter Here.", "This computer system is private. Unauthorized usage is strictly prohibited, and all activity is logged. If you are here by mistake, please close your connection window now."...

1

마우스를 창 위로 가져가서 해당 터미널 창을 저절로 활성화 시키기

여러 개의 터미널 창들을 띄워놓고 작업할 때 편리한 기능입니다.

터미널을 열고 다음과 같이 입력합니다:

defaults write com.apple.Terminal FocusFollowsMouse -string YES

터미널 창을 닫고 다시 새로운 Shell을 열면, 마우스 위치에 따라 터미널 창이 자동 활성화 되는 효과를 보실 수 있습니다. (해당 사용자의 계정에서만 효과를 보실 수 있으며, 시스템 전체에는 적용되지 않습니다.)
다시, 원래의 상태로 돌아가려면, 위의 명령 중에서 YES 대신에 NO 값을 주고 실행하면 됩니다.

X11에서도 같은 효과를 보려면, X11 명령 창을 열고 다음과 같이 입력합니다:

defaults write com.apple.x11 wm_ffm true


Mac으로 운영됩니다