멘 페이지 (메뉴얼 페이지의 줄임말) 은 유닉스 플랫폼의 퀵 레퍼런스 시트의 공식적인 모음 입니다. 이러한 페이지들은 라이브러리, 커맨드, 함수등에 빠르게 접근 할 수 있도록 도와 줍니다. 솔라리스의 멘 페이지는 이제 온라인 으로 볼 수 있고 또한 터미널에서 아래와 같은 명령을 입력해도 접근이 가능합니다:
man <command/function> |
모든 멘 페이지 라이브러리들은 섹션으로 조직되어 있습니다. 둥근괄호 안의 숫자는 멘페이지가 위치한 섹션을 가르킵니다. 솔라리스의 멘 페이지는 다음과 같은 방식으로 조직되어져 있습니다:
- 멘 페이지 섹션 1: 유저 커맨드 -- 시스템상의 모든 비-관리 커맨드를 포함하고 있음. Intro(1) 멘 페이지는 유저들을 위한 커맨드 구문, 새로운 멘 페이지를 디자인 하고 있는 개발자들을 위한 가이드라인, 그리고 섹션 1의 서브디비전들에 대한 설명을 제공하고 있음.
- 멘 페이지 섹션 1M: 시승템 관리 커맨드 -- 시스템 유지보수 와 다른 관리 목적을 위한 커맨드들을 포함.
- 멘 페이지 섹션 2: 시스템 콜 -- 솔라리스에서 사용 가능한 다양한 시스템 콜을 위한 프로토타입과 설명을 포함함. 유닉스 시스템을 직접적으로 실행할 수 있는 호출에 촛점을 맞춤. Intro(2) 멘 페이지는 시스템 콜이 리턴할 수 있는 모든 가능한 에러들과 시스템 콜 용어집에 대한 리스트를 제공함.
- 멘 페이지 섹션 3: 라이브러리 -- Intro(3) 멘 페이지 는 섹션 3 의 완전한 조직, 멀티 쓰레드 어플리케이션에 대한 간략한 설명, 그리고 몇몇 기본 정의들을 제공함.
- 라이브러리 인터페이스 와 헤더 -- 다른 카테고리에 맞지 않는 일반 라이브러리를 포함.
- 기본 라이브러리 함수 -- 어플리케이션 개발의 기본적인 코어 C 라이브러리 함수 포함.
- 네트워크 라이브러리 함수 -- LDAP 이나 RPC 같은 네트워크 기술과 관련된 라이브러리 포함.
- Curses 라이브러리 함수 -- 캐릭터와 그래픽을 디스플레이 하기 위한 함수 포함.
- 실시간 라이브러리 함수 -- 실시간 활동을 위한 함수 포함.
- 확장 라이브러리 함수 -- 특수한 라이브러리 함수 포함.
- 멘 페이지 섹션 4: 파일 포맷 -- 파일 포맷에 대한 설명. 파일 포맷의 C 구조체 정의를 제공함.
- 멘 페이지 섹션 5: 표준, 환경, 매크로 -- 잡다한 정보들을 포함. Intro(5) 멘 페이지는 이 섹션의 토픽을 설명함.
- 멘 페이지 섹션 6: 데모 -- 게임과 데에 대한 설명을 포함.
- 멘 페이지 섹션 7: 디바이스 와 네트워크 인터페이스 -- 시스템상의 사용 가능한 다양한 디바이스와 네트워크 인터페이스에 대한 설명을 포함함. Intro(7) 멘 페이지는 이 섹션이 어떻게 조직되어 있는지 설명.
- 멘 페이지 섹션 9 -- 방대한 양을 포함함.
- DDI 와 DKI 드라이버 진입 포인트 -- 솔라리스 커널에서 디바이스 드라이버를 위해 요구되는 Device Driver Interface 와 Driver-Kernel Interface (DDI/DKI) 에 대한 정보를 포함함. Intro(9E) 멘 페이지는 드라이버 진입 포인트에 대한 설명을 제공함.
- DDI 와 DKI 커널 함수 -- 디바이스 드라이버에 의해 사용 가능한 커널 함수에 대한 설명을 포함함. Intro(9F) 멘 페이지는 함수에 대한 요약을 STREAMS 와 비-STREAMS 함수로 분류하여 제공함.
- DDI 와 DKI 속성 및 자료 구조 -- 드라이버와 커널 사이에 정보를 제공하는데 사용되는 자료 구조에 대한 정보를 포함함. Intro(9S) 멘 페이지는 구조체에 대한 요약을 STREAMS 와 비-STREAMS 함수로 분류하여 제공함.
커맨드 라인에서 여러분은 다음과 같은 커맨드를 통해서 커맨드 혹은 함수에 대한 정보를 찾을 수 있습니다:
whereis <커맨드/함수>- 커맨드/함수의 위치 출력.
whatis <커맨드/함수>- 커맨드/함수의 한줄짜리 요약 출력.
which <커맨드/함수>- 커맨드/함수의 경로와 alias 출력.
man <커맨드/함수>- 커맨드/함수에 대한 상세 정보 출력.
man <man>- 멘 페이지에 대한 정보 출력.
멘페이지를 보기 위해 man 을 입력하면 멘 페이지 정보는 윈도우에 너무 많은 정보가 있을때 하나의 스크린에 나타나게 됩니다. 여러분은 다음과 같은 명령어를 멘 페이지를 볼때 사용할 수 있습니다:
<space>- 현재 스크린 사이즈에 대한 더 자세한 정보를 출력.
<return>- 한 줄에 대한 더 자세한 정보를 출력.
/<regular expression>- 파일 상의 정규 표현식에 맞는 다음을 출력.
b- 이전 페이지로 이동.
f- 다음 페이지로 이동.
:f- 현재 파일 이름 및 라인 넘버를 출력.
q- 콘솔로 돌아감/
more에서 빠져 나감. h- "help."의 단축키. 모든 사용가능한 커맨드들을 출력.
각 멘 페이지는 서로 다른 섹션들로 조직되어 있고 각각 라이브러리, 커맨드 혹은 함수 같은 특정한 정보를 제공합니다. 메인 섹션은 다음과 같습니다:
NAME- 커맨드 혹은 한수에 대한 이름을 제공하고 무슨 역활을 하는지 간단한 요약을 제공.
SYNOPSIS- 커맨드 혹은 함수의 구문을 보여 줌. 파일 혹은 커맨드가 표준 경로에 존재하지 않을때에는 전체 경로명을 보여 줌.
[]- 이 괄호 안의 옵션 혹은 매개 변수는 옵션임.
..- 이 표시는 이전의 매개변수가 여러개의 값을 가지거나 여러번 반복 됨을 의미 함.
|- 이 문자로 구분된 매개변수들 중에 하나만 지정될 수 있음
{ }- 이러한 괄호로 닫혀진 모든 옵션과 매개변수는 반드시 단위로 취급되어야 함.
DESCRIPTION- 기능과 동작에 대한 정의.
OPTIONS- 커맨드 옵션을 목록화 해서 무슨일을 하는지, 가능한 매개변수 그리고 기본 값들에 대한 정보를 제공함.
OPERANDS- 오퍼랜드들을 목록화 하고 그것들이 커맨드의 동작에 어떠한 영향을 미치는지 설명함.
OUTPUT- 커맨드에 의해 생성되는 출력의 타입에 대하여 설명함.
RETURN VALUES- 멘 페이지의 함수 에 대한 목록및 리턴 값 설명함.
ERRORS- 함수가 생성할 수 있는 에러 코드를 목록화 하고 각 에러를 유발하는 조건에 대해 설명함.
USAGE- 특수한 규칙, 기능 그리고 커맨드, 수정자, 변수, 표현식, 입력 문법 같은 서브카테고리에 대한 좀 더 자세한 설명이 요구되는 커맨드에 대해 목록화 함.
EXAMPLES- 커맨드와 함수를 어떻게 사용하는지에 대한 설명.
ENVIRONMENT VARIABLES- 커맨드 혹은 함수가 영향을 미치는 환경 변수를 목록화 하고 영향에 대해 간단히 설명함.
EXIT STATUS- 커맨드가 호출한 프로그램에 리턴하는 값을 목록화 하고 이러한 값들이 리턴되는 조건에 대해 설명함.
FILES- 멘 페이지가 참고하고 있는 모든 파일 명들을 간단히 설명하고 목록화 함.
ATTRIBUTES- 속성 타입과 대응되는 값에 대해 정의함.
<man -s 5 attributes>를 입력하면 이 섹션에 대한 자세한 정보를 제공함.Architecture- 프로세서 혹은 특정 하드웨어를 지정함.
Availability- 설명하고 있는 커맨드 혹은 컴포넌트를 포함하고 있는 패키지를 지정함.
CSI (Code Set Independence)- 코드 셋의 OS 유틸리티 와 라이브러리 의존성을 지정함. 어떠한 코드 셋의 속성에 대해서도 의존적이지 않은 OS 유틸리티와 라이브러리는 CSI 활성화 되었다고 함.
Interface Stability- "Stable" 은 표준화 되었다는 것을 의미함. "Unstable" 은 인터페이스가 차후 버전에 바뀔 수도 있음을 의미 함.
MT-Level- 멀티 쓰레드 환경에서 이 커맨드를 사용하는 것이 얼마나 안전한지에 대해 설명함.
Unsafe,Safe,MT-Safe,async-signal safe,MT-Safe with Exceptions,Safe with Exceptions,Fork1-safe, 혹은Cancel-Safe가 될 수 있음.
SEE ALSO- 다른 멘 페이지, OS 내에 포함된 문서와 외부의 문서들에 대한 참고자료를 목록화함.
DIAGNOSTICS- 에러를 유발 시키는 조건에 대한 간략한 설명과 진단 메세지를 목록화 함.
WARNINGS- 작업 조건에 심각하게 영향을 미칠 수 있는 특수한 조건에 대해 설명함.
NOTES- 어떠한 곳에도 속하지 않는 추가 정보를 목록화 함.
BUGS- 알려진 버그 그리고 사용 가능한 workaround 를 설명함.
멘 페이지는 OS에 번들되어 있는 모든 소프트웨어를 위해 제공 됩니다. OS 에 번들되지 않는 소프트웨어의 멘페이지 경로는 반드시 MANPATH 환경변수에 추가되어야 합니다. 썬 스튜디오 소프트웨어를 예를 들어 설명해 봅시다 그리고 썬 스튜디오의 설치 디렉토리가 usr/local/sunstudio 라고 가정해 봅시다. 썬 스튜디오 멘 페이지 디렉토리를 usr/local/sunstudio/man 로 위치 시켜 봅시다. MANPATH 환경변수를 설정하는 것은 다음과 같은 단계를 필요로 합니다:
1. MANPATH 환경변수가 설정되었는지 $echo MANPATH 를 통해 확인 합니다. 만약 아무것도 지정되지 않았거나 빈줄이 출력 되었다면 MANPATH 환경변수가 설정되지 않은 것입니다.
C 쉘 (csh) 유저들은:
여러분의 프롬프트는 machine-name% 혹은 machine-name# 입니다. 만약 여러분의 MANPATH 환경변수가 설정되지 않았다면 .cshrc 파일을 열고 다음을 추가 시킵니다:
setenv MANPATH /usr/local/sunstudio/man:/usr/share/man |
만약 MANPATH 환경변수가 설정 되었다면 .cshrc 파일을 열고 다음을 추가시킵니다:
setenv MANPATH /usr/local/sunstudio/man:$MANPATH |
Bourne 혹은 Korn 쉘 유저들은:
여러분의 프롬프트는 $ 혹은 # 입니다.
홈디렉토리의 .profile 파일을 열고 다음을 추가 시킵니다:
MANPATH=/usr/local/sunstudio/man:${MANPATH:=/usr/share/man}
export MANPATH
|
2. 여러분이 수정한 파일을 저장합니다 (.profile 혹은 .cshrc).
3. 변경된 사항들을 유효화시키기 위해 컴퓨터를 재시작 시키거나 적절한 커맨드를 사용해서 모든 터미널을 재초기화시켜야 합니다.
C 쉘 유저들은:
source ~/.cshrc |
Bourne 과 Korn 쉘 유저들은:
.~/.profile |
이 글은 커맨드, 함수 그리고 파일들을 솔라리스의 멘페이지를 이용해서 어떻게 정보를 찾는지에 대해 설명했습니다. 추가적으로 멘 페이지 조직에 대한 설명과 어떻게 개인 멘페이지가 설정되는지, 멘페이지내에서 어떻게 이동을 하는지, 그리고 새롭게 설치된 소프트웨어 패키지에 접근하기 위해 어떻게 설정하는지에 대해 설명했습니다.
- Roadmap to Sun Developer Documentation
- Sun Studio 10: Installation and Setup Guide for Solaris Platforms
"관리자코너" 카테고리의 다른 글
- 맥북 13인치 코어 2 듀오에 솔라리스10 설치하기 (댓글 2개 / 트랙백 0개) 2008/06/16
- 썬 버추얼 데스크탑 커넥터 1.0(베타)을 사용한 VDI 데모 구축 (댓글 0개 / 트랙백 0개) 2008/01/23
- 솔라리스 Tip Of The Week:SMF (댓글 0개 / 트랙백 0개) 2009/01/23
- GlassFish 를 프로덕션 환경으로 설치하기 (댓글 0개 / 트랙백 0개) 2009/11/23
- 솔라리스 레디 애플리케이션 및 솔루션 (댓글 0개 / 트랙백 0개) 2008/03/13
- 솔라리스 10 에서 TCP Wrapper 사용하기 (댓글 1개 / 트랙백 0개) 2006/01/23
- 시만텍 베리타스 넷백업과 ZFS 스냅샷 통합하기 (댓글 0개 / 트랙백 0개) 2009/07/17
- ZFS, 썬의 최신 파일 시스템(Part 1: 스토리지 무결성, 보안성 및 확장성) (댓글 3개 / 트랙백 1개) 2006/11/23
- USB로 부팅하기 - 설치 (댓글 31개 / 트랙백 1개) 2007/08/20
- 파일과 디렉토리를 안전하게 옮기거나 카피 할 수 있는 방법 (댓글 6개 / 트랙백 0개) 2007/04/23
댓글을 달아 주세요
여차 하면 man 페이지를 뒤졌던 예전 생각이 나네요..
2007/09/10 17:41좋은 글 감사합니다. 긁어 갈께요^^
http://tong.nate.com/flowertt/b1482268
유용한 man 명령어 지금도 잘 쓰고 있답니다.유용한 자료 잘 활용하겠습니다.
2007/09/18 22:19좋은 정보 감사해요~
2007/09/19 03:45좋은 정복 정말 많네요~
2007/09/19 23:08