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 머드초보
,
 

나중에 필요할 때 찾아 쓰기 위해서 올립니다.



ls
파일 시스템 상의 파일 목록을 보여준다.

사용법
ls [ -aCxdlstucriFR ] (file_name)

옵션
-a : 도트로 시작되는 이름을 가진 파일명도 전부 보여준다.
-C : 가로 순서로 나열하여 출력한다.
-l : 각 파일들에 대한 소유자, 권한, 갱신일 등의 자세한 정보
-R : 현 디렉토리의 내용은 물론이고 서브 디렉토리의 내용까지 전부 보여준다.
-i : 파일의 inode 번호를 보여준다.
-u : 엑세스(access)한 날짜 순서대로 정렬한다.
-r : 정렬된 순서의 역으로 출력한다.

ls (Language : text)
# ls -l
총 228
lrwxrwxrwx   1 root     root           5  7월 28일  01:45 5bin -> ./bin
drwxr-xr-x   5 root     sys          512  7월 28일  02:11 SUNWale
lrwxrwxrwx   1 root     root           9  7월 28일  01:40 X -> ./openwin
drwxr-xr-x   7 root     bin          512  7월 28일  02:08 X11
lrwxrwxrwx   1 root     root           3  7월 28일  02:08 X11R6 -> X11
lrwxrwxrwx   1 root     root          10  7월 28일  02:12 adm -> ../var/adm
drwxr-xr-x  10 root     bin          512  7월 28일  02:05 apache
 


cp
파일을 현재의 위치나 다른 디렉토리로 복사(copy)한다. 만약 파일이 존재한다면 기존에 있던 파일은 사라지고 새로운 복사본 파일로 바뀐다.

사용법
cp [ -abdfilPprsuvxR ] file_name1 file_name2

옵션
-a : 가능한한 원 파일의 구조와 속성을 그대로 복사한다.
-R : 디렉토리를 재귀적(recursive)으로 복사한다.
-b : 복사할 때 덮어쓰게 되는 파일은 백업을 만든다.
-P : 원본 파일의 소유자, 그룹, 권한, 시간 기록을 그대로 복사한다.
-d : 심볼릭 링크는 심볼릭 링크로 복사한다. 그리고 원본 파일과의 하드 링크 관계를 유지한다.
-f : 복사 위치에 존재하는 파일을 제거하고 복사한다.

cp (Language : text)
# ls
apache-tomcat-5.5.23.tar
# mkdir copydir
# ls
apache-tomcat-5.5.23.tar  copydir
# cp apache-tomcat-5.5.23.tar copydir
# cd copydir
# ls
apache-tomcat-5.5.23.tar
#
 


mv
파일 이동(move)이나 이름변경 명령어이다. cp와 rm을 합친 것과 동일하고 여러 개의 파일을 한 디렉토리로 옮기거나 디렉토리 이름을 바꿀 때 쓰일 수도 있다.

사용법
mv [ -bfiuv ] source dest_dir(or name)

옵션
-b : 대상 파일이 지워지기 전에 백업 파일을 만든다.
-f : 대상 파일의 접근허가와 관계없이 무조건 파일을 이동한다.
-i : 대상 파일이 기존 파일이면, 덮어쓸 것인지 물어본다.
-u : 대상 파일보다 원본 파일이 최근의 것일 때 업그레이드한다.
-v : 파일 옮기는 과정을 자세하기 보여준다.

mv (Language : text)
# ls
test.tet  testdir
# mv test.tet testdir
# cd testdir
# ls
test.tet
# mv test.tet rename.tet
# ls
rename.tet
#
 


rm
파일을 삭제한다. -f옵션으로 디렉토리까지 삭제한다.

사용법
rm [ -firv ] file 또는 directory

옵션
-f : 지울 파일이 있을 경우 강제로 삭제
-i : 지울 파일이 있을 경우 지울 것인지 물어봄
-r : 하위 디렉토리에 있는 모든 파일을 삭제
-v : 지우는 파일 정보를 출력

rm (Language : text)
# ls
rename.tet
# rm rename.tet
# ls
#
 


chmod
파일의 모드를 바꾼다. 파일의 모드는 권한(permission)을 제어한다. 여기서 사용되는 모드는 파일의 권한을 8진수로 표현한 값이 된다.
파일의 권한은 세 가지가 있기 때문에 각 특성을 하나의 비트로 표현하면 0부터 7까지의 수로 표현할 수 있다.
ex) 754의 경우
첫째자리는 Owner권한. 7을 이진수로 바꾸면 111 읽기, 쓰기, 실행 전부 가능.
둘째자리는 Group권한. 5를 이진수로 바꾸면 101 읽기, 실행 가능.
셋째자리는 Public권한 4를 이진수로 바꾸면 100 읽기만 가능.

숫자를 사용하지 않고 ls 등을 사용할 때 실제로 볼 수 있는 기호 문자를 사용한다는 것과 특정 권한을 줄 것인가 뺄 것인가를 지정할 수 있다는 장점이 있다.

사용법
chmod [ -cfvR ] 모드 파일명(들)

옵션
-c : 실제로 파일의 권한이 바뀐 파일만 자세히 기술한다.
-f : 파일의 권한이 바뀔 수 없어도 에러메시지를 출력하지 않는다.
-v : 변경된 권한에 대해서 자세히 기술한다.
-R : 디렉토리와 파일들의 권한을 재귀적으로 모두 바꾼다.

chmod (Language : text)
# ls -l
총 2
-rw-r--r--   1 root     root           9  8월  5일  01:22 mudchobo.cat
# chmod 777 mudchobo.cat
# ls -l
총 2
-rwxrwxrwx   1 root     root           9  8월  5일  01:22 mudchobo.cat
#
 


find
원하는 특정 파일을 디렉토리를 탐색하여 찾는다. find는 매우 강력한 도구로 특정 디렉토리들을 순회하면서 지정된 조건에 만족하는 파일을 찾는다.
파일의 조건은 이름이나 크기, 날짜 등 다양하게 지정할 수 있다.

사용법
find [ 디렉토리 ] 탐색 조건

옵션
-name 파일명 : 찾고자 하는 파일의 이름을 정한다. 와일드 카드도 가능하다.
-perm 모드 : 파일 권한(permission)이 일치되는 것을 찾는다. 원하는 권한은 ls로 볼 수 있는 형태와 같이 지정한다.
-type ? : 형태가 같은 파일을 찾는다. 물음표(?) 부분에 디렉토리는 d, 파이프는 p, 심볼릭 링크는 l, 소켓은 s, 블록 파일은 b, 일반 파일은 f 등의 기호를 사용한다.
-links ? : 특정 개수의 링크를 가진 파일을 찾는다. 물음표 부분에 링크의 숫자를 표기한다.
-size ? : 파일의 크기가 일치하는 것을 탐색한다. 파일 크기는 블록단위로 물음표 부분에 지정한다. 한 블록은 512바이트로 내정되어 있지만 블록 숫자 뒤에 단위로 k자를 붙이면 1킬로바이트 크기의 블록 숫자로 간주된다.
-user 사용자 : 파일 사용자의 ID에 따라서 검색한다. 로그인 이름이나 번호 모두가 가능하다.
-atime ? : 최근 며칠내에 엑세스한 파일을 검색한다. 날짜 수는 ?에 명시한다.
-exec 명령 : 원하는 검색 조건에 맞는 파일을 찾으면 명시된 명령을 실행한다. 명령의 끝은 \;을 사용하여 끝낸다. find가 검색해낸 파일의 이름을 인수로 사용하고 싶다면 그 위치에 {}를 사용한다.
-newer 파일 : 어떤 파일보다 최근에 갱신된 모든 파일을 검색한다.

find (Language : text)
# ls
copydir       mudchobo.mud
# pwd
/Documents
# find /Documents -name m*
/Documents/mudchobo.mud
#
 

 
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 머드초보
,