맥은 unix를 기반으로 하고 있지만, 일반적인 사용자들은 맥을 터미널 환경에서 유닉스로 사용할 일이 거의 없습니다. 하지만 터미널을 이용하면 맥을 유닉스 답게 사용할 수 있고, UI 상에서는 접근할 수 없는 파일이나 디렉토리에 접근 할 수 있어 OS X의 구조를 이해하는데 도움이 됩니다.

C를 공부하시는 분들은 /usr/include 밑의 C 헤더파일 들에서 많은 정보를 얻으실 수 있습니다. C 강좌에서 include하는 stdio.h 파일도 여기에 있습니다.

이제 맥 터미널에서 한글 입출력을 가능하게 하고, 편리하게 사용할 수 있는 몇 가지 작업을 해 보겠습니다.

1. iTerm 다운로드 및 설정
맥에서는 기본적으로 터미널 어플리케이션을 제공합니다. 하지만 빈약한 기능과 한글 사용의 문제로 iTerm을 사용하시는 것이 좋습니다.

iTerm은 터미널에 비해 많은 기능을 가진 코코아로 작성된 맥용 공개 터미널 프로그램입니다. http://iterm.sourceforge.net/에서 iTerm의 최신 버전을 다운 받고 실행합니다.

Bookmarks 메뉴에서 Manage Profiles...를 실행합니다.  Terminal Profiles/Default에서 Type와 Encoding을 아래와 같이 설정합니다.
사용자 삽입 이미지

사용자 삽입 이미지
Bookmarks/Manage Bookmarks...를 실행하고, 하단의 연필 아이콘 버튼을 클릭하여 Display 속성과 필요한 속성들을 변경합니다.

저는 classic iTerm Large이 가장 보기 좋은 것 같아 이것으로 선택하였습니다.







2. vi
1) vi의 기본 사용법

유닉스 계열에서는 에디터로 vi와 emacs를 주로 사용합니다. emacs는 막강한 기능을 가졌지만, 사용법이 vi 보다 복잡하고 어렵기 때문에 여기서는 vi를 예로 들겠습니다.

터미널로 로그인을 하고, 프롬프트 상태에서 vi를 실행(vi [return]) 합니다. 처음 시작되면 아래와 같은 메세지 화면이 나올 것입니다.
사용자 삽입 이미지

vi는 기본적으로 키보드만 가지고 사용되기 때문에, 입력 모드와 명령 모드로 나누어져 동작합니다. 일단 vi를 종료해 보겠습니다. 명령행 모드는 [esc] 키를 누르면 실행됩니다.

사용자 삽입 이미지
처음 시작시 명령 모드 이기 때문에, ":"를 입력하면 vi 좌측 하단에 ": "가 출력됩니다.  이 때 vi를 종료하는 q를 입력하고 [return]을 치면 vi가 종료됩니다.



이번엔 파일을 하나 만들어 보겠습니다. > vi text.txt 로 vi를 실행합니다. 여기서 i를 입력하면 입력모드가 실행됩니다. 아직 한글은 제대로 입력되지 않기 때문에 영문과 숫자를 입력해 봅니다.

입력이 완료되면 [esc]를 눌러 명령 모드로 변경하고, 위와 같이 ":wq"를 입력하고 [return]을 입력합니다. wq는 파일을 저장하고 종료하라는 명령어입니다.

설정을 위한 아주 기본적인 명령어만 알아 보았습니다. vi는 이외에도 사용을 편리하게 해주는 많은 명령어들이 있습니다. 하지만 기본적으로 15개 정도만 알아도 사용하는데 지장은 없습니다.


2) .vimrc 설정

이제 vi에서 한글입력이 가능하고, 사용하기에 편리하도록 만들어 보겠습니다. 계정의 루트 디렉토리(터미널 실행시 기본 디렉토리 이며, 프롬프트 상에서 cd[return]을 치면 됩니다)로 가서 vi .vimrc를 입력하고 실행합니다.

vi가 실행되면 아래의 내용을 복사하고 i로 입력모드로 만든 후 붙여 넣습니다. 그 후에 위와 같이 esc -> :wq[return]으로 저장하고 나옵니다.

set enc=UTF-8
set fileencodings=UTF-8

set nocompatible
set backspace=indent,eol,start

set tabstop=4
set shiftwidth=4
set cindent
set autoindent
set smartindent
set history=15
set ruler
set showcmd

set background=dark
set paste
set nu
set ai
syntax on
언어를 UT-8로 설정하고 코딩을 위한 들여쓰기, 탭크기, 문법 구분 등을 설정합니다. 이외에 자료를 찾아 보시고 개인별로 용도에 맞게 수정해서 사용하시면 됩니다.


3. 쉘 환경 설정

1) .bash_profile

다시 계정의 루트 디렉토리에서 vi .bash_profile을 입력합니다. .bash_profile은 사용자 별로 터미널 쉘 환경 설정을 저장하는 파일로 보시면 됩니다. 파일 앞의 "."을 꼭 입력하셔야 합니다. 아래의 내용을 복사하여 붙여 넣습니다.

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

alias ls='ls -vGF'

PS1="[\u@\h \W]\\$ "

처음 세 명령어는 삭제, 복사/이동시 같은 파일이 있을 경우 사용자에게 확인을 받도록 합니다.

alias ls='ls -vGF'
파일 목록을 보여주는 ls 명령어 실행시, 디렉토리를 한글명으로 표시하고 색상을 보여주도록 합니다.

PS1="[\u@\h \W]\\$ "
프롬프트 출력을 변경합니다. u는 사용자, h는 호스트명, W는 현재 디렉토리를 의미합니다.

이제 이전과 같은 방법으로 .bash_profile를 저장하고 나옵니다.


2) .inputrc

위와 같이 vi .inputrc를 열고 아래의 내용을 복사하고 저장합니다.
set convert-meta off
set meta-flag on
set output-meta on

위의 명령들로 프롬프트 상태에서 한글이 올바르게 입력되도록 합니다.

위의 변경된 사항들이 적용되게 하기 위해, 터미널을 닫고 다시 실행하여 로그인 합니다. 이제 터미널에서 제대로 한글이 보이고, 터미널 및 vi에서 한글을 입력하고 출력되는 것을 확인 할 수 있습니다.


3)  로그인 메시지 및 호스트 명 변경

이제 터미널로 로그인 시 출력되는 메시지를 변경해 보겠습니다.

sudo vi /etc/motd [return]
sudo는 루트권한을 사용할 수 있게 하는 명령어로 위와 같이 입력하면 패스워드를 확인합니다. 여기서는 프로그램 인스톨 시나 업그레이드시 입력하는 본인의 패스워드를 입력하면 됩니다.

저는 아래와 같이 입력하고, 저장하였습니다.
사용자 삽입 이미지

sudo scutil --set HostName iMac [return]
프롬프트에 나오는 호스트 명을 변경하고 싶을 때는 위와 같이 변경합니다. 위의 iMac 부분을 원하시는 호스트 명으로 변경하시면 됩니다.

이제 다시 로그인을 하면 아래와 같이 환영 메시지와 함께, 호스트 이름이 iMac으로 변경되어 있는 것을 확인할 수 있습니다.
사용자 삽입 이미지


4. 루트계정 활성화
root 권한으로 해야 할 작업이 많을 경우에는 sudo만으로는 불편함이 있습니다. 맥에서는 기본으로 root 계정을 사용할 수 없기 때문에, root 계정을 사용할 수 있도록 변경합니다. root는 중요한 파일을 실수로 삭제하면 시스템에 치명적일 수 있기 때문에, 이 부분은 필요성을 느끼는 분들만 변경하시면 됩니다.

사용자 삽입 이미지
어플리케이션/유틸리티에서 NetInfo 관리자를 실행합니다. 상단 메뉴의 보안에서 인증을 한 후, 보안 메뉴 하단의 루트계정 활성화을 클릭한 후 사용할 패스워드를 입력하고 활성화 합니다.



이제 위에서 입력한 패스워드로 루트 계정을 사용할 수 있습니다. 루트 계정 사용은 프롬프트 모드에서 su를 입력하고 위에서 설정한 패스워드를 입력하시면 됩니다.
모든 댓글을 환영합니다. (욕설과 광고는 삭제합니다.)
  1. Favicon of http://plan9.co.kr/tt2 BlogIcon 주성치 2007.06.23 14:01  댓글주소  수정/삭제  댓글쓰기

    맥북사고 이것저것 설치하고 있는데 잘봤습니다.

    저는 우분투를 많이써서 sudo명령도 별로 안불편하네요 ^^;

    • Favicon of https://www.cocoadev.co.kr BlogIcon cocoadev 2007.06.23 14:33 신고  댓글주소  수정/삭제

      맥북을 구입하셨다니 축하 드립니다.

      맥프로는 비싸고 크기도 부담이 가서 저도 맥북을 노리고 있습니다. 그냥 생각없이 질렀어야 됬는데, 이젠 레오파드 나올 때까지 기다릴려고 합니다. ^^

  2. gnome 2007.09.14 12:24  댓글주소  수정/삭제  댓글쓰기

    여기 나온데로 설정을 했는데요~~~
    문제는 그 이후로 소문자 e 가 타이핑이 안됩니다.....ㅠㅠ

    • Favicon of https://www.cocoadev.co.kr BlogIcon cocoadev 2007.09.14 15:11 신고  댓글주소  수정/삭제

      특정 영문자가 입력이 안되는 경우는 처음 보는 경우네요. 일단 위에 설정 파일들의 내용이 정확히 입력 되었는지 확인해 보셔야 할 것 같습니다.

      별다른 도움이 되지 못해 죄송합니다.

  3. gnome 2007.09.15 09:46  댓글주소  수정/삭제  댓글쓰기

    위에 내용을 다시 다 지우고 그냥 영문으로 쓸수 밖에 없게 되었네용~~
    참 신기하게도 소문자 e 만 안됩니다..
    소문자 e를 누르면 오류 효과음이라고 해야 하는지 딩 거리는 소리가 납니다 누룰때 마다 되지는 않고....일단은 위에서 만든 파일을 지우고쓰고 있습니다...^^

  4. Favicon of http://www.pragmatic.kr BlogIcon 김성안 2007.09.23 15:58  댓글주소  수정/삭제  댓글쓰기

    한글 입력 관련해서 불편했었는데 정리가 잘 되어있어서 바로 적용했어요. 좋습니다. ^^

  5. Favicon of http://taizyeris.tistory.com BlogIcon ERIS 2007.10.14 03:48 신고  댓글주소  수정/삭제  댓글쓰기

    맥에서 이런 방법이 있었네요.
    소준한 정보 감사합니다.

  6. DarkStar 2007.12.16 01:19  댓글주소  수정/삭제  댓글쓰기

    저는 초보 맥사용자입니다. 제가 하고 싶었던 바로 그 일을 헤매지 않고 쉽게 할 수 있게 도움이 되었습니다 . 감사합니다.

  7. Favicon of http://yjsong.net BlogIcon DJ Duck 2008.01.31 11:24  댓글주소  수정/삭제  댓글쓰기

    안녕하세요, 저도 아직 스위칭한지 6개월여밖에 안되는 초보인데요, 제가 해결하려던 rsync을 사용해보려 하나씩 배워가다가 애포를 통해 이곳을 찾아 여기까지 왔습니다. 설명해주신대로 설치도 잘 됐고 한글 폰트도 읽히는데, 두가지 문제가 있어서 문의차 글을 남깁니다.

    1. 소문자 알파벳 e가 타이핑이 안됩니다. ㅜ.ㅜ 다른 문자는 다 되고요... 무슨 설정문제인지... 아니면 iTerm을 다시 인스톨하면 되는지요. 단 vi로 편집할 때에는 입력이 다 되더군요.

    2. 터미널에서 한글 읽히는 것은 가능한데 한글을 쓰려고 하면 안되더군요. 물론 이 것도 vi편집시에는 타이핑도 잘 됩니다.

    이번 기회에

    • Favicon of https://www.cocoadev.co.kr BlogIcon cocoadev 2008.01.31 12:54 신고  댓글주소  수정/삭제

      안녕하세요.

      iTerm을 재설치할 필요는 없을 것 같습니다. e가 입력이 안되는 경우는 위에 댓글 주신 분과 같은 현상인 것 같은데 저도 정확한 이유는 모르겠습니다. 혹시 해결하시면 원인을 댓글로 부탁 드리겠습니다. ^^;;

      한글 입력은 위의 포스팅 중에 3. 쉘 환경 설정의 .bash_profile과 .inputrc 내용이 정확한지 확인해 보셔야 할 것 같습니다.

      정확한 답변 드리지 못해 죄송합니다.

  8. orangecrs 2008.02.27 00:38  댓글주소  수정/삭제  댓글쓰기

    보기 좋은 글들이 많군요. 많이 배우고 갑니다.
    위 설명중 루트계정을 활성화 시키는 것보다 터미널에서 sudo su라고 하시면 일반 계정에서 su사용할수 있습니다.

  9. 나그네 2008.05.05 16:39  댓글주소  수정/삭제  댓글쓰기

    궁금한 점이 하나 있는데요,.
    위와 같이 설정하면 한글 입출력은 대부분 잘 되는데 쉘 프롬프트 상에서 명령어에 한글이 들어가게 치다가 delete 키를 이용하여 명령어를 싹다 지우면 뭔가 좀 안맞는거 같아요 (명령어 첫 글자를 지나 호스트 이름이랑 아이디 까지 다 지워지네요) 이건 원래 이런건가요? 아니면 저만 이런건가요?;;
    인터넷에서 찾아봐도 관련 내용이 없어서 여기에 글 남깁니다 ^^;

    • Favicon of https://www.cocoadev.co.kr BlogIcon cocoadev 2008.05.06 08:57 신고  댓글주소  수정/삭제

      저도 해 보니까 동일한 현상이 일어 났습니다. 설정상의 문제인지 아이텀의 버그인지는 확실히 모르겠습니다. 문제의 해결책을 알게 되면 글을 올려 놓겠습니다.

      혹시 아시는 분 안계신가요? ^^;

    • 나그네 2008.05.07 00:55  댓글주소  수정/삭제

      아마도 iTerm 버그인것 같습니다. leopard 내장 터미널로하니 아무 문제 없네요 ^^
      leopard 들어와서는 내장 터미널도 많이 좋아져서 오히려 iTerm 을 쓸 필요가 없을거 같네요.
      답변해주셔서 감사합니다 ^^

    • Favicon of https://www.cocoadev.co.kr BlogIcon cocoadev 2008.05.07 09:02 신고  댓글주소  수정/삭제

      그렇군요. 좋은 정보 감사합니다. 전 아직도 타이거라 레오퍼드 빨리 써보고 싶네요. :)

  10. Favicon of http://www.busari.net BlogIcon 부사리 2016.02.25 16:24  댓글주소  수정/삭제  댓글쓰기

    안녕하세요. 정보감사합니다.
    출처표기하고 제 블러그로 복사 좀 하겠습니다. ^^