pwd
현재 작업 디렉토리를 출력(Print Working Directory)한다.

pwd (Language : text)
#pwd
/Documents
#


cd
디렉토리를 변경 할 수 있는 명령어로써 자신이 있는 위치에서 절대경로나 상대경로를 이용하여서 디렉토리를 변경한다. 디렉토리 이름을 주지 않고 수행하면 사용자의 홈 디렉토리로 이동한다.
절대경로 : /root, /usr, /home/user 등과 같이 전체 경로명을 적어 주는 것이다.
상대경로 : 현 위치에서 ./이나 ../을 이용하여 예를 들면 ../temp는 상위 디렉토리의 temp라는 디렉토리를 가리킨다.

cd (Language : text)
[/Documents]cd imsi
[/Documents/imsi]pwd
/Documents/imsi
[/Documents/imsi]cd ..
[/Documents]cd imsi
[/Documents/imsi]cd ../temp
[/Documents/temp]
 


jobs
백그라운드로 돌고 있는 작업들을 작업 번호와 함께 보여준다. 참고로 작업(job)과 프로세스에 대해서 혼돈하기 쉬운데, kill, disown, wait같은 내장 명령은 작업 번호나 프로세스 번호 둘 다 인자로 받아들인다. 하지만 fg, bg, jobs는 오직 작업 번호만 받는다.
작업번호는 한 사용자의 작업에 대한 것으로, 1번부터 순서대로 부여되지만 다른 터미널의 다른 사용자도 같은 번호의 job을 가지는 것이다. 또한 이 작업 번호는 중지되었거나 백그라운드에 있는 것들만이 작업 번호가 주어진다는 점이다. 프로세서 번호는 시스템 중심적이고, 작업 번호는 사용자 중식적인 번호인 것이다.

사용법
jobs -l

옵션
-l : 프로세서 번호를 추가해서 보여준다.

jobs (Language : text)
[/Documents/temp]sleep 10000 &
[1] 4883
[/Documents/temp]jobs
[1]+  Running                 sleep 10000 &
[/Documents/temp]jobs -l
[1]+  4883 Running                 sleep 10000 &
[/Documents/temp]
 


kill
현재 수행중인 프로세서에게 시그널을 보낸다. 보통 kill 명령은 프로세서를 죽이는 데에 사용된다. 그래서 이 유틸리티의 이름도 kill이 되었다. 시그널의 종류를 지정하지 않으면 프로세서를 종료시키는 의미로 디폴트 시그널 ID 15번을 보내게 된다. 예를 들면 시스템을 사용을 마치고 로그아웃할 때는 시그널 ID 1번의 HUP(hang up) 시그널이 시스템으로 전달되며, 이 시그널은 셸 상태에서 실행중인 모든 프로세서를 종료시키고 로그아웃하게 된다.

사용법
kill [ -signalID ] PID

옵션
-signalID : 프로세서에게 보낼 시그널을 지정한다.

kill (Language : text)
[/Documents/temp]sleep 10000 &
[1] 4888
[/Documents/temp]kill 4888
[/Documents/temp]jobs
[1]+  종료됨(Terminated)      sleep 10000
[/Documents/temp]
 


tail
파일의 마지막 부분을 표준출력으로 보여 준다.(기본적으로 10줄). 보통, 시스템 로그 파일의 변경 사항을 추적할 때 쓴다.

사용법
tail [ -nlbcf ] file_name

옵션
-n : 출력할 라인의 개수이며 기본은 10개의 라인이다.
-l : 출력크기를 라인단위로 지정한다.
-b : 출력크기를 블록단위로 지정한다.
-c : 출력크기를 문자단위로 지정한다.
-f : 파일 뒤에 추가되는 라인을 계속적으로 보여준다.

tail (Language : text)
[/Documents/temp]cat mudchobo.mud
mudchobo
mudchob
mudcho
mudch
mudc
mud
mu
m
[/Documents/temp]tail -3 mudchobo.mud
mud
mu
m
[/Documents/temp]
 


grep
정규 표현식을 쓰는 다목적 파일 검색 도구로서, 원래 예전의 라인 에디터인 ed의 명령어나 필터였던 g/re/p에서 따온 것으로 global - regular expression - print란 뜻이다.
대상 파일에서 보통 텍스트이거나 정규 표현식인 pattern 을 찾아 주고 대상 파일이 주어지지 않ㅅ는다면 파이프에서 쓰여서 다른 명령어의 표준출력에 대한 필터로 동작한다.

사용법
grep [ -vclhnief ] 'pattern' file_name

옵션
-i : 대소문자 구분 없이 찾도록 해준다.
-l : 일치하는 줄이 아니라 일치하는 줄이 들어 있는 파일만 보여준다.
-n : 일치하는 줄과 그 줄번호를 같이 보여준다.

grep (Language : text)
[/Documents/temp]cat mudchobo.mud
mudchobo
mudchob
mudcho
mudch
mudc
mud
mu
m
[/Documents/temp]grep mudchob mudchobo.mud
mudchobo
mudchob
[/Documents/temp]
 


tar
유닉스의 표준 아카이브(archive)유틸리티. 원래는 Tape ARchiving 프로그램에서 왔는데, 이 프로그램은 테입 드라이브부터 보통 파일, 심지어는 표준출력까지 포함하는 모든 종류의 디바이스에 대해서 모든 종류의 아카이브를 다룰 수 있도록 만들었다. GNU tar는 오래전부터 gzip 압추긍ㄹ 다룰 수 있는 옵션이 패치되었다.

사용법
tar [ -x(c)vtf ] file_name.tar

옵션
-c : 새 아카이브 파일을 만든다.
--delete : 아카이브에 들어 있는 파일 지우기
-r : 파일을 아카이브로 추가한다.
-t : 아카이브 내용 목록을 보여준다.
-u : 아카이브 업데이트한다.
-x : 아카이브에 들어 있는 파일 뽑아낸다.
-z : 아카이브를 gzip으로 압축한다.

tar (Language : text)
[/Documents/temp]tar cvf test.tar *
a mudchobo.mud 1K
a test.file 1K
[/Documents/temp]ls
mudchobo.mud  test.file     test.tar
[/Documents/temp]
 

gzip
표준 GNU/UNIX 압축 유틸리티로서, 성능이 떨어지고 특허가 걸려 있는 compress를 대신한다. 압축 풀기 명령어는 gunzip으로써, gzip -d와 같다.
gzip으로 파일을 압축하게 되면, .gz 확장자를 갖는 압축파일을 생성한다. 파일의 소유권, 권한, 수정시간등 속성들은 그대로 보존된다.
zcat 필터는 gzip으로 묶인 파일의 압축을 풀어 표준출력으로 내보내기 때문에 파이프의 입력이나 재지향에서 쓰일 수 있다. 즉, 실제로는 압축 파일에 대해서 동작하는 cat이라고 보면 된다.(옛날 compress로 묶인 파일도 포함). zcat은 gzip -dc와 같다.

gzip (Language : text)
[/Documents/imsi]ls
mudchobo.mud
[/Documents/imsi]gzip mudchobo.mud
[/Documents/imsi]ls
mudchobo.mud.gz
[/Documents/imsi]gunzip mudchobo.mud.gz
[/Documents/imsi]ls
mudchobo.mud
[/Documents/imsi]

 


file
파일이 어떠한 형태의 파일인지 알아낸다. 파일이 텍스트 문서인지 실행할 수 있는 파일인지 아니면 데이터 파일인지 등을 인식한다. 에디터를 사용해서 보거나 수정될 수 있는 파일인가 알아보는 데에 많이 사용된다.

file (Language : text)
[/Documents/imsi]file mudchobo.mud
mudchobo.mud:   아스키 텍스트
[/Documents/imsi]gzip mudchobo.mud
[/Documents/imsi]file mudchobo.mud.gz
mudchobo.mud.gz:        gzip 압축된 데이터 - 압축 방법 , 원래 파일 이름
[/Documents/imsi]

 

du
지정된 특정 디렉토리나 파일들이 차지하는 공간을 보고한다. 디렉토리나 파일을 지정하지 않으면 현재 디렉토리로 간주된다. 크기는 1k 바이트 크기의 블록으로 보고한다.

사용법
du [ -sabxL ] file or directory

옵션
-s : 총 합계만을 따진다. 하위 디렉토리의 숫자 등은 나오지 않는다.
-a : 크기가 계산된 각 파일의 크기를 보인다.
-b : 바이트 크기로 출력한다.
-x : 현재 디렉토리에 마운트된 파일 시스템만 검사된다.
-L : 심볼릭 링크 자신의 공간 대신 연결된 파일의 크기를 다룬다.

du (Language : text)
[/Documents]du imsi
4       imsi
[/Documents]du vim-7.1-sol10-x86-local
35488   vim-7.1-sol10-x86-local
[/Documents]
 


df
디스크의 여유 공간을 검사하여 보고한다.

ps
프로세스 통계(Process Statistics)를 나타낸다. 현재 실행중인 프로세스들을 사용자와 PID(프로세스 아이디)에 의해서 보여준다.

사용법
ps [ -auxlujsm ]

옵션
-l : 긴 형식으로 출력한다.
-u : 실행 유저와 실행 시간 표시한다.
-j : 작업 제어(job control) 형식으로 출력한다.
-s : 시그널 형식으로 출력한다.
-m : 메모리 정보를 보여준다.
-a : 다른 사용자의 프로세스 현황을 보여준다.

ps (Language : text)
[/Documents]ps
   PID TTY         TIME CMD
  4951 pts/3       0:00 ps
  4873 pts/3       0:00 bash
[/Documents]ps -a
   PID TTY         TIME CMD
  4632 pts/2       0:03 gnome-se
  4594 pts/2       0:00 bash
  4624 pts/2       0:00 Xsession
  4952 pts/3       0:00 ps
  4676 pts/2       0:01 xscreens
  4672 pts/2       0:00 gnome-ke
[/Documents]
 
 
Posted by 머드초보
,
 

많은 검색 삽질 끝에 알아냈습니다.

env나 set이라고 치면 환경변수가 나오는데 이곳에 등록을 하는 법을 배워봅시다.

매우 간단합니다.




#원하는환경변수명=원하는경로
#export 원하는환경변수명


EXAMPLE (Language : text)
JAVA_HOME 환경변수로 추가

#JAVA_HOME=/usr/jdk/instances/jdk1.5.0
#export JAVA_HOME

#env
.
.
JAVA_HOME=/usr/jdk/instances/jdk1.5.0
.
.
 

export를 하는 것을 몰라서 2시간을 헤맸습니다.
저 같은 삽질자가 나오지 않길 바라며-_-;

기존에 있는 PATH같은 것을 추가하려면 이렇게 하면 됩니다. 이때에는 export가 필요없습니다.
#PATH=$PATH:/추가경로

※참고사항
저렇게만 치면 재부팅하면 사라져버립니다.
계속 등록하고 싶으면 /etc/profile이라는 파일 맨 끝에다가 저 내용을 추가하면 됩니다.

/etc/profile (Language : text)
.
.
umask 022
trap  2 3

JAVA_HOME=/usr/jdk/instances/jdk1.5.0
export JAVA_HOME


 
Posted by 머드초보
,
 


 

uname [options]
사용하는 OS(운영체계)에 대한 정보를 보여준다.
-a : 시스템의 기본 정보를 보여준다.
-X : 시스템의 모든 정보를 보여준다.

date [[mmdd]HHMM | mmddHHMM[cc]yy][.SS]
아무런 인수 없이 사용하면 시스템의 현재 날짜와 시간을 보여주고, 인수가 주어지면 날짜를 주어진 인수에 따라 설정한다.
단 슈퍼유저만이 시스템 날짜와 시간을 수정할 수 있다.



date (Language : text)
# date
2007년 8월  2일 목요일 오후 10시 34분 04초
# id
uid=0(root) gid=0(root)
# date 0404040404
2004년 4월  4일 일요일 오전 04시 04분 00초
 

cal [[month] year]
현재의 달력을 보고자 할 때 사용한다.

cal (Language : text)
# cal
     2007년 8월
일 월 화 수 목 금 토
          1  2  3  4
 5  6  7  8  9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

# cal 05 1983
     1983년 5월
일 월 화 수 목 금 토
 1  2  3  4  5  6  7
 8  9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
 


banner strings
명령 줄에 입력한 인수를 한 줄에 한 인수씩 커다란 대문자(배너)로 보여준다.

banner (Language : text)
# banner mudchobo

 #    #  #    #  #####    ####   #    #   ####   #####    ####
 ##  ##  #    #  #    #  #    #  #    #  #    #  #    #  #    #
 # ## #  #    #  #    #  #       ######  #    #  #####   #    #
 #    #  #    #  #    #  #       #    #  #    #  #    #  #    #
 #    #  #    #  #    #  #    #  #    #  #    #  #    #  #    #
 #    #   ####   #####    ####   #    #   ####   #####    ####
 


man command
도움말이다. man하고 명령어 치면 도움말이 나온다.

who
현재 시스템에 접속한 모든 사용자를 보여준다.

whodo
시스템에 로그인한 사용자가 어떤 명령어를 실행하고 있는지 알아보는 명령어로 /var/adm/utmpx와 /tmp/ps_data 파일 그리고 /proc 디렉토리로부터 사용자에 대한 정보와 실행중인 명령어에 대한 정보를 추출해낸다.

id [user_name]
사용자의 정보(user ID와 group ID)를 보여준다.

 
Posted by 머드초보
,
 


공유기를 쓰거나 유동IP인 사람들은 DHCP로 설치를 해야지 네트워크를 사용할 수 있습니다. 그런데 DHCP로 설정하면 호스트네임이 unknown으로 나타납니다. 이것을 고쳐보도록 합시다.

/etc/nodename
이 파일이 없으면 생성해주도록 합시다.
생성해서 다음과 같이 입력합니다.

Hostname <- 사용하고 싶은 hostname을 써주시고 저장합니다.

ex)
mudchobo

/etc/hostname.네트워크식별자
이 파일을 열어서 편집합시다.
Hostname <- 사용하고 싶은 hostname을 써주시고 저장합니다.

ex)
mudchobo

/etc/inet/hosts
이 파일을 열어서 편집합시다.
#
# Internet host table
#
127.0.0.1       localhost
192.168.0.3    unknown        # Added by DHCP

파일 내용이 저렇게 되어있을텐데 unknown을 바꾸고 싶은 hostname으로 변경합니다.

ex)
192.168.0.3 mudchobo # Added by DHCP

/etc/inet/ipnodes
이 파일을 열어서 편집합시다.
#
# Internet host table
#
127.0.0.1       localhost
192.168.0.3    unknown        # Added by DHCP

파일 내용이 저렇게 되어있을텐데 unknown을 바꾸고 싶은 hostname으로 변경합니다.

ex)
192.168.0.3 mudchobo # Added by DHCP

/etc/net/ticclts/hosts
이 파일을 열어서 편집합시다.
#
# Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
# ident "@(#)hosts 1.3 03/12/07 SMI"
#
# NOTE: This file is no longer consulted and may be removed from a future
#  release of Solaris.
#
hostname hostname <- 이곳에 사용하고 싶은 hostname을 두번적어줍니다.

ex)
mudchobo mudchobo

cat /etc/net/ticots/hosts
이 파일도 위와 같이 똑같이 hostname을 두번 적어줍니다.

/etc/net/ticotsord/hosts
이 파일도 위와 같이 똑같이 hostname을 두번 적어줍니다.

재부팅하면 hostname이 변경되어 있을 것 입니다.
 
Posted by 머드초보
,
 


VMware라는 좋은 유틸이 있는 줄 몰랐습니다. 유닉스를 꺼리게 된 이유가 예전에 설치 시도가 있었는데 그 당시 파티션나누고 뭐 설정하고 어쩌고 하다보니 짜증나서 설치를 안했는데 그 뒤로 설치실패의 두렴움에 의해서 유닉스를 전혀 만져보지 않아서 완전 유닉스 맹이 되버렸습니다.

VMware라는 유틸은 가상머신을 만들어서 하나의 PC를 만드는 개념입니다. 이 유틸만 있으면 리눅스나 유닉스 그리고 윈도우까지도 동시에 설치할 수 있습니다. 자원 같은 것도 그대로 원래 PC에 있는 것을 끌어다가 써서인지 시디롬이나 사운드도 알아서 인식하며, 인터넷속도도 제대로 나오고 그렇게 느리지도 않은 것 같습니다.

이제 유닉스도 공부하면서 테스트를 해봐야겠습니다.

VMware 공식홈페이지입니다. VMware Workstation평가판 받아서 테스트해보세요.(아님 과자를 먹이던지-_-;)
http://www.vmware.com/

선사 공식홈페이지입니다. 여기서 가입하고 Solaris10 을 받을 수 있습니다.
http://www.sun.com/software/solaris/get.jsp

사용법은 매우 쉽습니다. 우선 VMware를 설치하고 새로운 가상머신을 만든 후 CD-ROM부분에서 SUN사 홈페이지에 있는 솔라리스dvd버전을 받은 후에 마운트 시켜서 파워 온을 해버리면 설치가 진행됩니다.




사용자 삽입 이미지

Solaris설치중입니다


사용자 삽입 이미지

Java Desktop System. 윈도우처럼 되어있으며 매우 깔끔합니다



사용자 삽입 이미지

웹브라우저 모습. SUN사 홈페이지가 먼저 뜨는군요.

 
Posted by 머드초보
,