태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

1. 유닉스 명령어 사용법

* 기본지식 및 목적
본장은 실질적인 명령어 사용법을 다루었습니다. 유닉스를 처음 접하시는 분이더라도 사용할수 있도록 하였으나, 혹시 컴퓨터 경험이 전혀 없는 분이라면 기본적인 컴퓨터 용어를 미리 익히시는 것이 도움이 될것입니다.
    2.0. 유닉스 계정에서의 사용자관리
      대부분의 시스템에서 시스템의 권한, 즉 계정을 부여하는 일을 맡고 있는 사람을 시스템 관리자라고 합니다. 시스템 관리자, 흔히 수퍼유저(superuser)라고 불리우는 루트(root)는 시스템에 대해서 모든 사용권한을 갖고 있습니다. 루트를 포함한 유닉스에 계정을 갖고 있는 사용자 모두는 시스템을 사용하기 위해서 아래와 같은 절차를 밟아야 합니다.

      /

      명령어

      내용

      히든파일

      1

      login 계정명 유닉스 시스템은 기본적으로 멀티유저 개념이기 때문에 시스템을 이용하기 위해서는 반드시 로그인을 하여야 합니다. 로그인은 PC통신에서도 많이 사용하였듯이 일종의 ID를 입력하는 과정입니다. 바로 이것이 컴퓨터의 사용권한을 얻는 행위입니다. 이미 학습자가 알고 있듯이 유닉스는 영문자의 대소문자 구별이 엄격합니다. 따라서 정확히 입력하여야 주의 하여야 합니다. .login

      2

      passwd 패스워드는 완성된 단어보다는 단어 중간에 숫자나 키보드의 ^, $, #, ' 등과 같은 쉽게 연상할 수 없는 기호를 삽입하여 만들어 주는 것이 좋습니다. .

      3

      logout 유닉스 시스템의 사용이 끝나면 기본적으로 "logout" 또는 "exit"를 입력하여 빠져나옵니다. .logout
      * telnet실행후 해당서버에 접속하여 실습을 합니다.

      텔넷-(없음)
      연결(C) 편집(E) 터미널(T) 도움말(H)
      login: yskang password : ............아래참조.......... yskang%> logout

      <-본인의 유닉스계정(ID)을 입력합니다.
      <-보안을 위해 입력한 문자는 보이지 않게 됩니다.
      <-작업에는 항상 로그아웃하는 것이 좋습니다.
    2.1. 기본적인 명령어 사용하기
       

      의 미

      명 령 어

      내 용

      4 list ls 디렉토리와 파일의 리스트를 보여줍니다.
      ls -al a옵션은 Hidden속성의 파일을 표시해주고 l옵션은 파일의 종류, 사용권한등 자세한 정보를 보여줍니다.
      ls -aC a옵션의 기능과 함께 C옵션은 도스의 dir/w명령과 같이 한줄에 여러개의 정보를 보여줍니다.
      ls -R R옵션은 서브디렉토리의 모든 파일들의 정보를 보여줍니다.
      5 make directory mkdir 새로운 디렉토리를 만듭니다.
      6 remove directory rmdir 기존의 디렉토리를 지웁니다.
      7 changedirectory cd 현재 사용하고 있는 디렉토리를 변경해줍니다. 도스에서 같은 쓰임새이나 유닉스에서는 반드시 뒤에 한칸 띄우고 '\' 대신에 '/'를 사용한다는 것입니다.
      8 copy cp 디렉토리와 파일을 복사합니다.
      9 move mv 디렉토리와 파일을 옮깁니다. 또한 재명명의 효과도 있습니다.
      10 remove rm 파일을 삭제합니다. 유닉스에서는 일단 삭제된 파일을 복구할 수 있는 방법이 없으므로 항상 중요한 파일들은 예비용으로 복사를 해두거나 삭제를 할 때 주의를 기울여야 합니다.
      rm -i 파일을 삭제하기 전에 사용자에게 삭제하려는 파일이 맞는지 확인하는 메시지를 화면에 출력해줍니다.
      rm -r * 현재의 디렉토리와 하위 디렉토리를 포함하여 모든 파일들을 삭제합니다.
      * 본인의 계정에 접속하여 실습을 합니다.


      yskang%>ls
      yskang%>mkdir 파일명
      yskang%>cd 디렉토리명
      yskang%>cp
      yskang%>mv
      yskang%>rmdir 디렉토리명
      yskang%>rm 파일명


    2. 접근권한
      유닉스는 멀티유저용 운영체제이기 때문에 접근하는 사람이 누구냐에 따라 접근권한에 대한 차별화가 이루어집니다. "ls -al"을 사용하여 파일과 디렉토리의 정보를 살펴봅시다.
       
      -rw-r--r-- 1 yskang student 162 5월12일 20:39 .history drwx------ 2 yskang student 512 5월 6일 15:52 Mail -rw-rw---- 1 yskang student 21868 4월19일 17:52 kang.hwp
      접근권한 링크수 소유자 그룹 크기 작성일 작성시간 파일이름

      파일의 접근권한은 아래와 같이 표시되며, 접근권한을 변경하기 위해서는 "chmod"명령을 사용합니다.
      A가 -이면 일반파일, d이면 디렉토리 화일, l이면 링크화일 등을 의미하며
      B는 소유자(u)의 권한,
      C는 소유자가 속한 그룹(g)의 권한,
      그리고 D는 타인(o)의 읽기(r:1), 쓰기(w:2), 수행하기(x:3)의 권한을 나타냅니다.

      읽기 가능여부는 r과 -로, 쓰기의 여부는 w와 -로, 그리고 수행하기의 가능여부는 x와 -로 표시됩니다.
      변경을 원할때는 "chmod 변경내용 파일명"을 입력하면 됩니다.
       

      A B1 B2 B3 C1 C2 C3 D1 D2 D3
      d r w x r w x r w x
       

      -허가권

      / user group other
      설 정 2 진수 8 진수 rwx r-x --x 111 101 001 7 5 1
      예: yskang%> chmod 644 . (.는 현재디렉토리) yskang%> ls -ld . drw-r--r-- * 파일 유형
      yskang%>file test.txt test.txt: ascii text

      * 파일 허가권

      -원래 허가권 설정 : umask fd = fopen ("myfile", O_CREAT | O_RDWR, 0666); 와 같이 시스템 호출을 합니다.
      -셀이 ">"을 실행할 때 8진수 허가권 0666을 가진 파일을 구축합니다. 하지만 사용자가 ">"을 사용하면 그 파일 허가권 은 644로 설정되게 됩니다. 왜냐하면 유닉스 프로세스가 umask라는 특별한 값을 갖고 있기 때문입니다. umask값은 파일이 생성될 때 요구되는 허가권 설정을 제한하는데 사용되기 때문이지요. (8진수로 0022) umask값의 설정 비트들은 요청된 허가설정비트들과 mask됩니다. 따라서 요청된 0666을 디폴트 umask값인 0022로 마스크하여 최종적인 허가권 0644로 생성하게 하는것입니다. (⇒ -rw-r--r--)

      원래값 110110110 (0666) -rw-rw-rw- mask값 000010010 (0022) -----w--w- 최종값 110100100 (0644) -rw-r--r--

      yskang%>umask 22
      yskang%>umask 0
      yskang%>date > date.txt
      yskang%>ls -l date.txt -rw-rw-rw-

    2.2. 알아두면 편리한 명령어 사용하기
      1

      명 령 어

      내 용

      2 man 각 명령어에 해당하는 아주 자세한 help파일을 보여줍니다.
      3 alias 긴 유닉스 명령어를 간단하게 줄여서 사용하도록 돕습니다. [ alias ls 'ls -a' ]등과 같이 사용하며, 계속적인 사용을 원할때는 본인의 홈디렉토리에 있는 ".cshrc(Hidden파일)"에 추가하면 됩니다.
      4 pwd 현재의 디렉토리를 알려줍니다. 현재 작업하고 있는 디렉토리가 어디인지 알수 없을 때 이용하는 명령어입니다.
      5 history 또는 [ h ]라고 입력하면 지금까지 사용자가 입력했던 명령어의 리스트를 어느정도까지 볼수 있습니다. [ !번호 ]와 같이 입력하면 다시 그 명령어가 실행됩니다.
      6 cat head tail
    2.3. 통신관련 명령어 사용하기
      유닉스는 TCP/IP 네트워킹을 완벽히 제공하고 있어 인터넷의 접속이 쉽고 간단히 이루어지며 사용자는 전자메일을 이용하여 세계의 여러나라와 정보를 주고 받을 수 있습니다. 그외 여러 가지 통신관련 명령어들을 알아보면 다음과 같습니다.
      1

      명 령 어

      내 용

      2 finger 상대계정명 ".plan"과 ".project"의 개인의 정보를 출력해 줍니다.
      3 talk 상대계정명 현재 시스템을 사용하고 있는 사람과 채팅을 합니다. 상대도 [talk 나의 계정명]을 입력해야 연결이 됩니다. 화면을 송수신용으로 나누어 양방향 대화가 가능하도록 하는것입니다.
      4 write 상대계정명 한 번에 한줄씩 표준입력을 상대터미널로 복사합니다. 메시지를 모두 쓰고 마지막 줄에 ^D를 입력함으로써 끝냅니다.
      5 wall 지역호스트상의 시스템 사용자에게 메시지를 띄웁니다.
      6 mesg 상태(y or n) 다른 사람과의 통신 수신여부를 나타냅니다. (y or n) [mesg n]인 상태가 되면 talk, write가 원천적으로 불허됩니다. mail의 경우는 mail리스트에 추가되나 수신비프옴이 나지 않습니다. 초기상태는 ".login(Hidden파일)"에 입력하여 설정합니다.
      7 mail 상대계정명 전자우편 메세지를 보냅니다. 시스템 사용자 각자의 홈디렉토리에서 전자우편함(mbox)을 두어 그곳에 메시지를 보내는 명령어이며 LIFO방식 입니다. 또한 잘못된 메시지는 dead.letter에 보관됩니다. 홈디렉토리에 있는 ".mailrc(Hidden파일)"에 아래와 같이 입력해두면 같은 그룹(cs)의 모든 사용자에게 전자우편을 보낼수 있습니다. group cs jeff richard kelly bev





출처: http://blog.naver.com/oedipus31/140002550648


--------------------------------------------------------------------------






유닉스 명령어

다음은 대부분의 유닉스 머신에서 사용되는 기초적인 명령어들이다.


cal [[month] year]

달력을 출력한다.

date [MMDDHHmm[[yy] | ccyy]]

컴퓨터의 시각을 알 수 있다.

df [-lt][-f][{}]

슈퍼블록에서 카운트하고 있는 마운트된 파일 시스템, 디렉토리에서 사용가능한
디스크블록과 freeinode수를 알려 준다.

du

사용자 자신의 디스크 사용 상황을 블록 단위로 출력해준다.

grep [option] limited regular expression [file]

파일에서 특정한 패턴을 찾는데 사용되며, 그 패턴을 포함하고 있는 모든 행을 출력한다.

kill [-sihno] PID

지정한 프로세서에게 종료신호를 보내는 명령어이다.

ps

컴퓨터 시스템에서 활동중인 프로세서의 상태를 알려주는 명령이다.

touch [-amc][MMddhhmm[yy]]files

지정된 파일에 접근하여 최종적으로 수정된 시간을 갱신한다.

tr [-option][string1[string2]]

표준 입력의 특정 문자들을 삭제하거나 치환하여 표준 출력으로 내보내는 명령어이다.

tty

컴퓨터 시스템에 연결하여 사용하고 있는 터미널의 이름을 알려준다.

umask [###]

파일이 만들어질 때 적용되는 파일접근 허용모드를 설정한다.

cd

현재 디렉토리를 바꾼다.

ls [-option][file/directory]

디렉토리의 내용을 화면에 출력한다.

mkdir [-m]mode[-p]<경로><디렉토리 이름>

새로운 디렉토리를 만든다.

rmdir [-ps]<디렉토리이름>

지정된 디렉토리를 제거한다.

pwd

현재의 작업디렉토리를 화면에 출력한다.

cat

파일의 내용을 표준 출력 장치로 내보내는 명령어이다.

cmp [-l][-s]file1 file2

두개의 파일을 비교하여 차이점을 화면에 출력한다.

comm [-[123]]file1 file2

지정된 두개의 파일을 비교하여 공통부분을 삭제 혹은 선택할 때 사용된다.

cp file1 [file2] target

지정된 파일을 다른 이름으로 복사한다.

cut -clist[files]

파일의 각 행에서 선택된 필드를 절단한다.

dd[option=value]

파일을 변환 혹은 복사한다.

diff

지정된 두개의 파일간의 차이를 비교하여 두개의 파일이 일치되기 위해 필요한
정보를 제공한다

fgrep [option] string[file]

문자열에 따라 파일을 검색한다.

find path list expression

어떤 파일이 어느 디렉토리에 있는지를 찾아준다.

join [option]file1 file2

관계형 데이터베이스 조작 명령으로 지정된 파일의 관계를 결합하여 결과를
표준 출력장치로 출력한다.

ln [-f][-n][-s]file1[file2] target

두개의 파일을 연결하여 사용하게 한다.

mknod name b/c major-No minor-No

특수 파일을 위한 디렉토리 항목과 이에 대응하는 i-node를 생성한다.

mv <현재 이름> <변경될 이름>

디렉토리 또는 파일의 이름을 변경한다.

paste file1 file2

여러 개의 파일에 있는 같은 행의 내용을 병합한다.

pr -option files

파일을 표준출력으로 보여주고 현재의 시각, 파일명, 페이지 등을 같이 보여준다.

rm [-f][i]file

파일 혹은 디렉토리를 삭제한다.

sort [option]files

파일을 정렬 혹은 병합한다.

tail

지정된 파일의 끝 부분을 출력한다.

tar [-]{txruc}[vwfblm][0-7[lmh]][tapefile][blocksize]file1 file2

파일들을 자기 테이프에 저장 또는 불러오기 위한 명령어이다

ulimit

v 사용자 범위의 출력, 설정, 프로세서의 보통 파일 크기 범위를 출력한다.

umask[xxx]

v 파일 생성 마스크의 설정과 출력을 위해 사용된다.

uniq [-udc [+n][-n]][input[output]]

중복되는 행을 삭제하는 명령이다.

wc file

텍스트 파일에 담겨져 있는 문자 수, 단어 수 및 라인 수를 화면에 출력하는 명령이다.

bc

간단한 산술 계산을 할 수 있게 한다.

enable, disable

프린터의 사용을 허용 혹은 불가능하도록 설정한다.

factor [integer]

지정된 정수를 소인수 분해하여 화면에 출력한다.

mesg [-n][-y]

다른 사용자가 메세지를 보낼 때 수신여부를 결정한다.

mount [-v | -p]

이미 만들어져 있는 파일 시스템을 연결하는 명령이다.

passwd

자신의 암호를 등록하거나 변경할 때 사용된다.

stty [-a][-g][option]

현재 단말기나 콘솔의 입/출력 선택 항목을 설정한다.

tee [-l][-a][file]

파이프를 접속한다.

tr [-option][string1[string2]]

표준 입력의 특정 문자들을 삭제하거나 치환하여 표준 출력으로 내보내는 명령이다.

wall

모든 사용자에게 동일한 메세지를 전송한다.

write user[terminal]

다른 사용자에게 1대1 메시지를 전송한다.

chgrp group file

지정된 파일의 소유권자 그룹을 바꾸는 명령이다.

chmod mode file

지정된 파일에 대한 사용 권한을 변경하고자 할 때 사용된다.

chown owner file

파일의 소유권자를 변경한다

--
nirvana


--------------------------------------------------------------------------------
  4장. UNIX 시스템 사용 명령어

4.1 시동과 종료
4.2 파일과 디렉토리
4.3 기본적인 명령어
4.4 압축유틸리티 사용법
4.5 작업제어 관련 명령어


4.1 시동과 종료

4.1.1 login
: login은 사용자가 console을 이용할 때와 터미널을 이용할 때는 다소 차이가 있지만 그렇지 않는 경우도 있다. 예를 들자면 어떤 telnet 접속프로그램으로 접속할 경우 뜨지 않던 openwindows가 다른 프로그램에서는 뜰수도 있다.

4.1.2 command line의 입력형식
: UNIX는 명령어 입력 시에 대소문자 구분이 있다는 점과 항상 명령어의 사용법에 있어서 자신이 없을 때에는 아래의 형식으로 도움말을 이용토록 한다. 그리고 앞으로 나오는 프롬 프트는 '#'로 통일한다. 이러한 프롬프트에 대해서는 크게 연연하지 않아도 된다. 예를 들자면 시스템에 Solaris 2.5를 설치한 다음 처음 뜨는 root용 프롬프트는 '#'이다. 하지만 이것을 수정할 수도 있다. Solaris를 설치하게 되면 먼저 root는 Sun Shell(이하 sh)로 셋팅이 되어 있어서 그렇게 뜬다. 하지만 C Shell(이하 csh)로 설정할 경우 틀려진다. 그리고
자신만의 Shell파일(.cshrc)에서 set prompt문법을 이용하여 아예 프롬프트를 바꿀 수도 있으므로 이 부분에 대해서는 크게 신경을 쓰지 않도록 하자.

# man ls

4.1.3 비밀번호의 설정과 변경
: 비밀번호는 시스템을 사용함에 있어서 가장 소중히 다뤄야 할 부분이다. 쉽게 알 수 없는 즉 자신의 신상명세와 연관없는 것을 고르고 남들이 알지 못하도록 해야 한다. 예를 들자면 규칙을 이용하여 암호를 설정하는 습관을 가지는 것도 도움이 된다. 다음의 명령어로 암호 를 바꿀 수 있다.

# passwd

Enter New password :
Re-enter New password :

4.1.4 logout
: 시스템 사용을 종료할 때에는 실행중인 프로세스가 없는지 확인을 하고 종료한다.

# ps -a
.............

# logout

종료할 때에는 logout 과 exit 또는 Ctrl + D 이다.

4.2 파일과 디렉토리

4.2.1 파일의 종류

(1) 정규파일
: 정규파일이란 .login 이나 a.txt 같은 보통파일을 말한다.

(2) 디렉토리 파일
: UNIX에서는 정규파일과 디렉토리 파일을 다해서 파일이라고도 부른다. 디렉토리 파일은 ./data 같은 디렉토리를 의미한다.
다음의 표에서는 / 밑에 있는 디렉토리를 성격별로 나타낸 것이다.


/ : UNIX 커널의 실행화일 및 시스템 관리에 중요한 .login, .profile드의 파일이 포함된다.
/bin : UNIX의 기본 커맨드 파일들이 위치한다.
/etc : init, passwd등 시스템 관리용의 커맨드나 데이터 파일들이 위치한다.
/lib : 커맨드들이 사용하는 기본적인 파일들이 배치된다.
/temp : 커맨드 실행 중에 필요한 임시 파일들을 위치시키기 위하여 사용되는 디렉토리이
다.
/usr : 일반적으로 시스템 관리자의 파일들이 배치한다.
/usr/bin : 워드, 데이터 베이스관리 프로그램들과 개발된 프로그램등이 포함된다.
/usr/home : 사용자들의 홈 디렉토리로서 대표적으로 지정하는 것이나 시스템을 설치할
때 다른곳으로 정해줄수도 있으며 사용자계정을 만들 때에 다른 곳으로 만들어 줄 수도
있다.
/usr/include : C언어의 header 파일들이 포함된다.
/usr/man : UNIX의 매뉴얼이 위치한다.
/usr/spool : CPU와 주변장치를 중첩하여 수행시키기 위하여 주변장치로 출력되는 데이터
파일들을 임시로 저장하는 스풀용의 디렉토리다.
/usr/adm : UNIX의 사용자와 프로세스의 작동을 monitor하는 accounting error reports
같은 프로그램들이나 데이터 파일들이 포함된다.


(3) 특수화일
/dev밑의 파일들을 일컽는데 이곳에는 입출력장치의 제어기를 이곳에서 맞추어 장치를 연결할 수 있게 한다. 예를 들면 /dev/tty12는 12번 터미널을 의미한다. 이곳에서는 자신이 가지고있는 장치가 /dev 디렉토리내의 어떤 형식의 장치를 가지고 있는가를 알고만 있어도 장치를 인식할 수 있다.
4.2.2 파일명과 경로명
: UNIX 시스템의 파일명은 255문자이내에서 사용 가능하다. 주의할 것은 대·소문자를 구별 한다는 것이다. 또 한가지 "." 나 "_"로 시작되는 파일명은 시스템 파일들이 많이 사용하기 때문에 사용하지 않는 것이 바람직하다.

(1) 상대경로명
: 만약 현재의 /home/pctop/pub 에서 /home/pctop/data 로 이동하려고 할 때 cd ../pub 라고 입력하면 된다. 이때 쓰이는 방식이 상대경로 이동방식이다.

(2) 절대경로명
: 만약 현재의 /home/pub 에서 /home/a 로 이동하려고 할 때 cd /home/a 라고 입력하면 된다. 이때 쓰이는 방식이 절대경로 이동방식이다.

4.2.3 파일의 특성
파일의 보안성을 유지하기 위해서는 무엇보다도 첫째, 허가모드를 중요시 여겨야 한다. 파일의 허가모드의 순서는 다음과 같다.


user group others
rwx rwx rwx


파일의 유형에는 다음의 7가지에 한한다


- : 정규파일
d : directory
l : symbolic link
c : character type
b : block type
s : socket
p : named pipe


이 허가모드를 변경하기 위해서는 chmod 명령어를 이용해야 하며 그에 대한 상세한 설명은 4.3의 기본적인 명령어중 chmod를 참조하기 바란다.
4.3 기본적인 명령어

기본적으로 UNIX는 대소문자를 구별한다. 그리고 alias가 되어있지 않는한 소문자로 명령어 를 입력하는 것이 일반적이므로 이에 주의하여야만 한다.

id : 사용자의 이름과 번호의 표시(사용자가 속한 group id와 user id를 표시함)
# id

pwd : 사용자의 현재의 디렉토리 표시
# pwd

tty : 사용자 단말기의 장치파일명 표시
# tty

stty : 터미널 제어특성의 표시 및 지정, 현재 컴퓨터 시스템과 연결되어 있는 단말기나 콘솔의 입출력을 논리적으로 변경
#stty

date : 시스템의 날짜와 시간의 표시
#date

cal : 현재의 달력을 보고자 할 때 사용한다.
#cal

who : 현재 접속되어 있는 사용자들 표시
#who

whoami : 현재 접속해 있는 자신의 id를 표시
#whoami

finger : 시스템 사용자의 개인 정보표시(이 정보에서 이름은 가입할 당시의 comment만 찍
힘)를 위한 것이지만 이렇게 안 나올 경우도 있다.
#finger root

그것은 자신이 시스템에 오래 접속하지 못할 사정이 생겨서 다른 사용자가 이 명령어를 이용하여 검색할 때 '지금 저는 출장중입니다' 라는 메시지가 나오도록 한다면 얼마나 좋을 것인가. 자! 방법이 있다. 자신의 로그인 디렉토리(이하 홈 디렉토리)에 .plan 이라는 파일을 만들어 보자. 이때는 일반 텍스트편집기를 사용하면 된다. 예를 들면 VI Editor 같은 것이다. VI를 이용하여 '저는 출장중입니다' 라는 메시지를 쓰고 저장후 종료하면 .plan 이라는 파일을 cat을 이용하여 내용을 확인한 후 명령프롬프트 상에서 시험해보자.
만약 자신의 id가 kcs 라면 'finger kcs'를 입력해본다. 그러면 '저는 출장중입니다'라는 메시지가 뜰 것이다. 잠깐! 한글로 썼을 경우 안나타날수도 있다. 그러면 영어로 써야한다

그것은 자신이 시스템에 오래 접속하지 못할 사정이 생겨서 다른 사용자가 이 명령어를 이용하여 검색할 때 '지금 저는 출장중입니다' 라는 메시지가 나오도록 한다면 얼마나 좋을 것인가. 자! 방법이 있다. 자신의 로그인 디렉토리(이하 홈 디렉토리)에 .plan 이라는 파일을 만들어 보자. 이때는 일반 텍스트편집기를 사용하면 된다. 예를 들면 VI Editor 같은 것이다. VI를 이용하여 '저는 출장중입니다' 라는 메시지를 쓰고 저장후 종료하면 .plan 이라는 파일을 cat을 이용하여 내용을 확인한 후 명령프롬프트 상에서 시험해보자.
만약 자신의 id가 kcs 라면 'finger kcs'를 입력해본다. 그러면 '저는 출장중입니다'라는 메시지가 뜰 것이다. 잠깐! 한글로 썼을 경우 안나타날수도 있다. 그러면 영어로 써야한다.

주사용 명령어.


where 찾고자 하는 파일이나 디렉토리의 위치를 알려준다 # where index.html

ps process의 상태표시 # ps -ajx
option)
-a : 다른 사람에 의해 소유된 프로세스에 대한 정보를 포함
-c : command 이름을 표시
-C : %cpu field내에 decaying average 대신에 raw CPU time을 표기
-e : argument 외에도 환경을 표기
-g : 이 option이 없으면 interesting 프로세스만 프린트
-j : PPID, PID, PGID, SID, TT, TPGID, STDT, UID, TIME정보 포함 표기
-u : USER, %CPU, %MEN, SZ, RSS, START field 포함
-x : no controlling terminal 가진 프로세스 포함
중간용어설명)
PPID : process의 parent의 number id
PGID : process group id of process
SID : process 가 속해있는 session의 number id
TPGID : TT 아래 명시된 터미널과 관계 있는 process group의 number id
UID = 0 : Super-User


df 디스크의 사용가능한공간표시 # df -u
cp copy # cp index.html index_old.html
mv move # mv index.html index_new.html
rm remove # rm index.html
rmdir remove directory # rmdir ./images
mkdir make directory # mkdir photo
chdir change directory # chdir /usr/local
cd change directory # cd /usr/local/bin
du 디스크의 사용공간 표시(옵션이 없으면 현재의 위치에서 하위의 모든 파일들의 공간표시) # du ./

hostname 현재 접속해 있는 host의 이름을 표시 # hostname
man 해당하는 command의 manual을 참조하고자 할 때, 단 /usr/man에 그 항목이 있어야만 한다. # man ls

& background 처리를 위하여 명령어 뒤에 붙여준다. # test &

alias 특정한 명령어를 자신이 임의로 수정 # alias cx chmod
위와 같이 하면 cx는 chmod명령어를 대신한다. 이러한 작용을 shell에 추가시킬때는 다음과 같이 추가한다.
alias cx 'chmod'
alias를 해제하고자 할 때는 unalias를 사용한다.
ex) # unalias cx
그리고 현재 설정된 alias들을 보고 싶을때는 alias를 입력하면 된다. 다음은 한 예이다

path 경로를 지정
일반적을 shell에 지정하지만 명령어로서 수정할 수도 있다. 추가하는 방법은 다음곽 같다
set path = ( ~/bin /bin /usr/bin /usr/local . )
%set path = ( $path /usr/bin /usr/local /usr/local/etc )
두 번째 라인의 %set 명령어는 기존의 path에 추가할 때 사용하는 방법이다.

find 디렉토리를 탐색하여 지정화일의 위치표시 # find index.html
cat 파일의 내용을 표시, DOS에서의 type명령어와 유사 # cat index.html

more 파일의 내용을 한면씩 화면에 표시 # cat index.html | more
pg 파일의 내용을 표시 # pg index.html
head 파일의 처음 부분을 표시(기본값은 10라인) # head index.html
tail 파일의 마지막 부분을 표시(기본값은 10라인) # tail index.html
lp 파일의 내용의 인쇄요청 # lp index.html
pr 인쇄를 위한 파일의 페이지화, 파일을 인쇄하기 위한 준비로서 페이지를 분리한다. 각 페이지는 파일명, 날짜, 시간 및 페이지 번호를 표시하는 header를 포함한다. # pr index.html

chmod change mode # chmod 755 ./htdocs
위에서 755가 의미하는 것을 해석해보면 만약 "ls -al "을 입력했을 때 다음의 형식으로 나타났다고 가정하자
# ls -al
drwxrw-rw- ./htdocs
lrwxr--r-- ./pub ----> ./public_html
위와 같이 나나났다면 처음의 d는 디렉토리를 의미하며 다음의 rwx 는 ./htdocs에 대한 소유주의 권한이 read,write,excute 의 세 가지 권한이 다 주어진 것이다. 다음의 rw- 는 소유주가 속한 그룹에게 주어진 권한이며, 다음의 rw- 는 그룹이외의 사용자에게 주어진 권한이다. 즉, 디렉토리이면서 소유주는 읽기·쓰기·실행이 가능하며 그룹에게는 읽기·쓰기 가능, 이외의 사용자는 읽기·쓰기가 가능하다. 여기서 각 권한블럭마다 3비트를 할당하고 있음을 알 수 있다. 즉 소유주에 대한 권한 rwx 를 2진으로 바꾼다면 1112 이다. 이것을 10진수로 바꾸면 7이며, 그룹에 대한 권한 rw- 를 2진으로 바꾼다면 1102 이며 10진수는 6이다. 그룹이외의 사용자도 마찬가지로 10진수 6이다. 그러므로 이 디렉토리에 대한 권한을 숫자로 표기한다면 766이다. 이것을 소유주는 읽기·쓰기·실행이 다 가능하면서 그룹과 이 외의 사용자는 읽기·실행만 가능하게 한다면 십진수로 755가 될 것이다. 그러므로 변경을 위해서는 chmod 755 ./htdocs 를 입력하면 된다. 모드부분에서 "lrwxr--r--"중 'l' 부분은 link를 의미하는 것으로서 ./public_html과 링크 되어 있음을 의미한다.
이것을 보다 쉽게 바꾸는 방법도 있다. 그룹은 g를 이 외의 사용자는 o로 나타낼 수 있는데 현재의 권한 766에서 744로 변경하고자 할 때에는 그룹이 가지고 있는 쓰기 권한을 박탈하는 동시에 이 외의 사용자에게도 쓰기 권한을 박탈해야만 한다. 이때 사용하는 용법은 다음과 같다.

chown change owner # chown webadm ./htdocs
chgrp change group # chgrp student webadm
ln link, 예 : ln -s list3 /tmp/list # ln -s /usr/local/etc/httpd/htdocs ./htdocs
UNIX에서의 link는 공간의 절약을 꾀할 수 있으나 연결상태를 잘 파악하고 사용하여야 한다. ln의 option중에서 -s의 의미는 다른 file system에 있는 것도 link할 수 있는 symbolic link를 사용함으로서 유용한 option이다.



4.4 압축 유틸리티 사용법
4.4.1 .tar
tar는 정확히 말하자면 압축유틸리티가 아니다. 이것은 단순히 여러 개의 파일을 하나의 덩어리로 결속시키는 것이다. 이렇게 해서 하나의 덩어리로 만든 다음에 압축을 하는 것이 대개의 과정이다. 결속 할 때의 사용법은 다음과 같다.

# tar -cvf <만들 파일이름>.tar <묶고자하는 파일이름>
결속된 .tar 파일을 풀고자 할 때의 사용법은 다음과 같다.
# tar -xvf <묶여있는 파일이름>.tar

4.4.2 .tar.z
위에서 .tar를 살펴본 것처럼 .tar로 결속을 시킨 다음 압축을 이행한다. 이때는 compress 라는 유틸리티를 이용하게 된다. 그렇게 하여 압축을 하면 원래의 파일에 .z가 추가적으로 붙게 된다. 압축하는 과정과 푸는 과정은 다음과 같다.

# compress filename
# uncompress filename

4.4.3 .gz 또는 .z
compress외에 gzip이라는 유틸리티도 이용되는데, 사용법은 다음과 같다.

#gzip filename (압축할 때)
# gzip -d filename

4.5 작업제어 관련 명령어

4.5.1 background 작업 프로세스의 정지와 삭제
정지는 아래의 stop 명령어로 제어될 수 있다. 그리고 현재의 진행중인 작업을 보려면 jobs라는 명령어로 체크할 수 있다. %job_number는 현재 실행중인 프로세스 번호를 적는 것 으로서 pid와 동일한 값을 갖는다.
# stop %job_number
# jobs (show job#)

삭제를 위해서는 명령어를 사용하는데 사용법은 다음과 같다. 여기서 pid는 프로세스 id이며, 'ps -a' 명령어로 알 수 있다.
# kill -9 pid

4.5.2 foreground 작업 프로세스의 정지와 삭제
현재 작업중인 프로세스를 background작업으로 돌리기 위해서는 'Ctrl + z '를 입력한다. 그리고 이렇게 background로 전환된 작업은 다음의 명령어로 제어될 수 있다.

# fg ☞ foreground 로 다시 전환시킴
# \ ☞ 종료를 시킴
# bg ☞ 계속 진행시킴

4.5.3 기타 작업제어 관련 명령어
# command& ☞ background 작업개시
# ps ☞ 현재 실행중인 프로세스 id 디스플레이
# jobs ☞ background 작업번호 및 상태 디스플레이
# nohup command& ☞ logout 후에도 명령 실행 계속유지
# fg ☞ 현재작업을 foreground 로 전환시킴
# fg %n ☞ n 번 작업을 foreground 로 전환시킴

4.5.4 history
이전에 사용된 명령어를 호출하는 명령어이다. history의 개수지정은 자신의 shell에서 변수로 지정할 수 있으며, 지정하는 방법은 다음과 같다. 개수를 50개로 한다면,

set history=50




출처: http://blog.naver.com/air5252/60011086489


------------------------------------------------------------------------------






cal [[month] year]

달력을 출력한다.

date [MMDDHHmm[[yy] | ccyy]]

컴퓨터의 시각을 알 수 있다.

df [-lt][-f][{}]

슈퍼블록에서 카운트하고 있는 마운트된 파일 시스템, 디렉토리에서 사용가능한
디스크블록과 freeinode수를 알려 준다.

du

사용자 자신의 디스크 사용 상황을 블록 단위로 출력해준다.

grep [option] limited regular expression [file]

파일에서 특정한 패턴을 찾는데 사용되며, 그 패턴을 포함하고 있는 모든 행을 출력한다.

kill [-sihno] PID

지정한 프로세서에게 종료신호를 보내는 명령어이다.

ps

컴퓨터 시스템에서 활동중인 프로세서의 상태를 알려주는 명령이다.

touch [-amc][MMddhhmm[yy]]files

지정된 파일에 접근하여 최종적으로 수정된 시간을 갱신한다.

tr [-option][string1[string2]]

표준 입력의 특정 문자들을 삭제하거나 치환하여 표준 출력으로 내보내는 명령어이다.

tty

컴퓨터 시스템에 연결하여 사용하고 있는 터미널의 이름을 알려준다.

umask [###]

파일이 만들어질 때 적용되는 파일접근 허용모드를 설정한다.

cd

현재 디렉토리를 바꾼다.

ls [-option][file/directory]

디렉토리의 내용을 화면에 출력한다.

mkdir [-m]mode[-p]<경로><디렉토리 이름>

새로운 디렉토리를 만든다.

rmdir [-ps]<디렉토리이름>

지정된 디렉토리를 제거한다.

pwd

현재의 작업디렉토리를 화면에 출력한다.

cat

파일의 내용을 표준 출력 장치로 내보내는 명령어이다.

cmp [-l][-s]file1 file2

두개의 파일을 비교하여 차이점을 화면에 출력한다.

comm [-[123]]file1 file2

지정된 두개의 파일을 비교하여 공통부분을 삭제 혹은 선택할 때 사용된다.

cp file1 [file2] target

지정된 파일을 다른 이름으로 복사한다.

cut -clist[files]

파일의 각 행에서 선택된 필드를 절단한다.

dd[option=value]

파일을 변환 혹은 복사한다.

diff

지정된 두개의 파일간의 차이를 비교하여 두개의 파일이 일치되기 위해 필요한
정보를 제공한다

fgrep [option] string[file]

문자열에 따라 파일을 검색한다.

find path list expression

어떤 파일이 어느 디렉토리에 있는지를 찾아준다.

join [option]file1 file2

관계형 데이터베이스 조작 명령으로 지정된 파일의 관계를 결합하여 결과를
표준 출력장치로 출력한다.

ln [-f][-n][-s]file1[file2] target

두개의 파일을 연결하여 사용하게 한다.

mknod name b/c major-No minor-No

특수 파일을 위한 디렉토리 항목과 이에 대응하는 i-node를 생성한다.

mv <현재 이름> <변경될 이름>

디렉토리 또는 파일의 이름을 변경한다.

paste file1 file2

여러 개의 파일에 있는 같은 행의 내용을 병합한다.

pr -option files

파일을 표준출력으로 보여주고 현재의 시각, 파일명, 페이지 등을 같이 보여준다.

rm [-f][i]file

파일 혹은 디렉토리를 삭제한다.

sort [option]files

파일을 정렬 혹은 병합한다.

tail

지정된 파일의 끝 부분을 출력한다.

tar [-]{txruc}[vwfblm][0-7[lmh]][tapefile][blocksize]file1 file2

파일들을 자기 테이프에 저장 또는 불러오기 위한 명령어이다

ulimit

v 사용자 범위의 출력, 설정, 프로세서의 보통 파일 크기 범위를 출력한다.

umask[xxx]

v 파일 생성 마스크의 설정과 출력을 위해 사용된다.

uniq [-udc [+n][-n]][input[output]]

중복되는 행을 삭제하는 명령이다.

wc file

텍스트 파일에 담겨져 있는 문자 수, 단어 수 및 라인 수를 화면에 출력하는 명령이다.

bc

간단한 산술 계산을 할 수 있게 한다.

enable, disable

프린터의 사용을 허용 혹은 불가능하도록 설정한다.

factor [integer]

지정된 정수를 소인수 분해하여 화면에 출력한다.

mesg [-n][-y]

다른 사용자가 메세지를 보낼 때 수신여부를 결정한다.

mount [-v | -p]

이미 만들어져 있는 파일 시스템을 연결하는 명령이다.

passwd

자신의 암호를 등록하거나 변경할 때 사용된다.

stty [-a][-g][option]

현재 단말기나 콘솔의 입/출력 선택 항목을 설정한다.

tee [-l][-a][file]

파이프를 접속한다.

tr [-option][string1[string2]]

표준 입력의 특정 문자들을 삭제하거나 치환하여 표준 출력으로 내보내는 명령이다.

wall

모든 사용자에게 동일한 메세지를 전송한다.

write user[terminal]

다른 사용자에게 1대1 메시지를 전송한다.

chgrp group file

지정된 파일의 소유권자 그룹을 바꾸는 명령이다.

chmod mode file

지정된 파일에 대한 사용 권한을 변경하고자 할 때 사용된다.

chown owner file

파일의 소유권자를 변경한다



출처: http://blog.naver.com/air5252/60011086499


------------------------------------------------------------------------





stty -  터미널의 특성 변경하기

  • erase : 한 문자를 지움
  • kill : 현재 작업중인 줄을 모두 지움
  • intr : 코어 덤프 없이 작업 중지
  • stop : 터미널 출력을 정지/재 시작

빽스페이스로 입력 문자를 지울 수 있도록 변경하는 방법은 터미널에서 그냥 stty erase ^h 라고 치면 된다. ^h 는 빽스페이스를 뜻한다.


ls : 디렉토리 내용 보기

Options ;

  • -a : 숨겨진 파일 리스트
  • -ㅣ : 자세한 정보를 긴 목록으로 보여준다
  • -F : 파일의 이름 뒤에 파일의 특성을 나타낸다. (디렉토리'/', 실행화일'*')
  • -R : 디렉토리의 내용과 그 서브 디렉토리의 내용을 재귀적으로 보여준다.

보통 ls -alF나 ls -al을 많이 사용합니다.


vi : 파일 편집기

  • ctrl-f  : 한 화면 아래로
  • ctrl-b : 한 화면 위로
  • /sss : 현재 위치에서 파일의 뒤쪽으로 문자열 sss를 탐색
  • :<range>s/ sss/ ttt/g : 문자열 sss가 발견되면 ttt로 모두 치환 ( :%s/hello/hi/g  )
  • xG : x행으로 이동 ( 10G, 1G, G:마지막행으로 이동)
  • :set nu : 행번호를 보여준다.
  • :set noai : 자동 들여쓰기 끄기
  • shift-j : 밑에 줄을 위로 끌어 올리기

grep : 패턴 여과

  • find / | grep 문자열 : 루트부터 파일을 탐색하여 문자열과 매치되는 파일을 찾는다.
  • grep -v 문자열 : 지정한 문자열을 제외시킨다.

tar : 파일 묶기

  • tar -cvf  소스파일   목적디렉토리/파일  : tar파일 생성
  • tar -xvf  파일이름  : tar파일 추출
  • tar -tvf   파일이름  : tar파일 목록
  • tar -rvf   파일이름  추가할 파일  : tar파일 추가

su : 사용자 대치 ( subsititute user )

  • su - : 슈퍼 유저로 변경
  • su - userName : userName 으로 변경
  • su userName : - 옵션을 주지 않으면 환경 설정을 가지지 않고 사용자가 변경된다.

dbx : 유닉스 표준 디버거

사용예 ;

  • dbx a.out
  • dbx a.out core

명령어 ;

  • stop at linenumber : linenumber에 breakpoint를 설정한다.
  • stop in myroutine : myroutin에 breakpoint를 설정한다.
  • run < infile  : infile로부터 프로그램 실행
  • run args  : args로 프로그램 실행
  • next  :  다음 단계 실행
  • step : 함수 안으로 진입
  • print var  : var의 값을 프린트한다.
  • whatis var : 변수 var의 선언 형태를 보여준다.

디버깅이 끝났을 때 실행 파일인 a.out의 크기를 줄이기 위해서는 불필요한 정보를 제거해야 한다.

  • strip a.out

ftp : 파일 업/다운로드

  • hash(ha) : 파일의 다운로드 상황을 '#'문자로 디스플레이한다.
  • prompt : 다수의 파일을 다운로드 할 때 매번 사용자의 응답을 물어보지 않는다.
  • binary(bi) : 전송모드를 바이너리 모드로 설정
  • as / ascii : 전송모드를 아스키로 설정
  • type : 현재의 전송모드를 보여준다.
  • mget : 복수의 파일을 다운로드한다.
  • mput : 복수의 파일을 업로드한다.
  • lcd : 로컬의 현재 경로를 보여준다.
  • pwd : 원격의 현재 경로를 보여준다.
  • user : 원격에 접속한 ID를 보여준다.

snoop : 네트워크 패킷 Capture 또는 패킷을 정밀 조사하는 유틸리티.

  • #snoop -x 0,10 -c 10 port xxx
    특정한 포트를 경유하는 패킷의 내용을 길이 n만큼 10개만 보고자 할 때 ( 헤더 분석에 유용 )
  • #snoop -o cap  funky pinky
    funky와 pinky사이의 오가는 패킷을 Capture해서 cap이란 파일로 저장한다.
  • #snoop udp
    udp 패킷을 보고자 할 때( tcp, icmp, ip, arp, rarp, broadcast, multicast 마찬가지 )

ps : report process status

  • ps -ef | grep 프로세스이름
    원하는 프로세스가 현재 실행중인지를 알고자 할 때
  • ps -fu <user>
    user가 실행 중인 프로세스의 정보를 보여준다.

useradd  : 사용자 추가 ( SUN Solaris )

  • useradd -m -g [group] [account]
    -m 은 사용자의 홈 디렉토리를 생성하고 -g는 사용자의 그룹을 지정합니다.

find :

  • find . | grep <검색어>
    현재 디렉토리 밑에서부터 하위디렉토리를 모두 검색하여 검색어를 포함한 파일을 찾는다.
  • find / -name <검색어> -exec rm "{}" \;
    파일 시스템에서 길이가 0인 파일들을 모두 제거


출처: http://blog.naver.com/air5252/60011086517


------------------------------------------------------------------------





서버 관리를 위한 Unix의 사용법
서버와 접속을 위한 Telnet 사용법
서버에 데이터를 Upload하거나 Download하기 위한 FTP 사용법

1. 유닉스 명령어

    가. 파일 관련 명령어

     (1) cat
    ●기능 : 파일의 내용을 출력하거나 새로운 파일에 내용을 저장한다.
    ●사용법 : cat[option]...
    ●옵션
     -n 행번호를 붙여서 출력시킨다.
     -u 버퍼를 통하지 않고 출력시킨다.
    ●사용 예
     cat /temp/readme
     /temp 디렉토리의 readme 내용을 표준출력을 통해서 본다.

     (2) cd
    ●기능 : 작업 디렉토리를 변경한다.
    ●사용법
     cd <디렉토리>
    <디렉토리> 항에는 바꾸고자 하는 디렉토리를 입력하는데, '.'은 현재 디렉토리이고 ".."은 상위 디렉토리를 말하며 이 항에 아무것도 없으면 (cd 명령어만을 사용한 경우)사용자가 처음에 로그인 한 디렉토리($HOME으로 표시됨)로 이동하는 것을 뜻한다.
    사용 예 : cd  ../home/foo (현재 디렉토리의 상위 디렉토리에 있는 /home/foo로 이동)
    cd ..  부모 디렉토리로 이동
    cd  처음에 로그인 한 디렉토리로 이동

     (3) chmod
    ●기능 : 파일이나 디렉토리에 대한 접근허가(permission)를 변경하는데 사용
    ●사용법
      chmod[absolute-mode]
      chmod[symbolic-mode]
    ●주요 옵션
      absolute-mode: 4(읽기 허가), 2(쓰기 허가), 1(실행 허가)
      symbolic-mode: r(읽기 허가), w( 쓰기 허가), x(실행 허가)
    ●기타 옵션
      u 파일의 소유자(user)
      g 그룹(group)
      o 기타(other)
      a 전체 사용자 (all)
    ●사용 예
     chmod 755 현재 디렉토리(.)를 소유자가 읽기, 쓰기, 실행가능
     chmod a+r* 현재 디렉토리의 모둔 파일을 모든 사용자가 읽을 수 있음
     chmod +r* 현재 디렉토리의 모든 파일을 읽을 수 있음을 뜻하는데  a,u,g,o가  정해져 있지 않으면 모든 사용자가 해당
     chmod o-r, o-w* 현재 디렉토리의 모든 파일을 기타 사용자는 읽거나 쓸 수 없다.
     chmod og-x stuff 파일 소유자 이외의 다른 사용자는 이 파일을 실행 할 수 없다.
     chmod u+rwx stuff 소유자가 읽기, 쓰기, 실행이 가능하게 한다.
     chmod a=r *.c .c로 끝나는 모든 파일을 전체 사용자가 읽을 수만 있게 한다.

     (4) cp
    ●기능 : 파일을 다른 이름의 파일로 복사하거나 다른 디렉토리로 복사한다.
    ●사용법 : cp ... [destination]
    ●사용 예
     cp foo backup
     foo라는 파일을 backup이라는 파일로 복사한다.
     cp .cshrc temp.cshrc
     cshrc 파일을 temp.cshrc 라는 파일로 복사한다.
     cp ../home/tmp/*.
     상위 디렉토리의 /home/tmp 디렉토리 밑의 모든 파일을 현재의 디렉토리로 복사한다.

     (5) find
    ●기능 : 해당하는 파일을 찾는다.
     사용법 : find<경로명> [expression]
    ●사용 예
     % find ./ -name "*.doc" -print
     사용자가 디렉토리에 있는 파일 중에서 .doc로 끝나면 모든 파일을 보여준다.

     (6) In
    ●기능 : 링크를 만든다.
    ●사용법
     In file1[file2]
     In file1,file2,fileN  directory
     위의 사용법은 file1에 file2라는 링크를 만드는데, file2가 명시되어 있지 않은 경우에는 현재 디렉토리 내에 file1의 이름으로 링크를 만든다.
    ●사용 예
     In/user/base /usr/lock
     /usr/base에 /usr/lock 라는 링크를 만든다.
     In com1 com2 com3 /bin
     /bin에 com1, com2, com3의 링크를 만든다.

     (7) ls
    ●기능 : Dos의 dir과 비슷한 명령으로 파일과 디렉토리를 보여 주며 옵션에 따라 다양한
     정보와 함께 출력된다.
    ●사용법
     ls[option]...
    ●옵션
    -a 디렉토리 내의 모든 파일을 출력한다.
    -i 파일의 inode와 함께 출력한다.
    -l 파일의 사용권한, 소유자, 그룹, 파일의 크기 날짜 등을 출력한다.
    -m 쉼표로 구분하여 파일을 가로로 출력한다.
    -r 정렬에 관한 옵션이 선택되어진 경우에 역순으로 출력한다.
    -s 킬로바이트 단위의 파일크기를 출력한다.
    -t 최근에 생성된 파일 순으로 출력한다.
    -x 세로로 파일을 출력한다.
    -F 파일의 형태와 함께 출력되는데 출력되는 파일의 형태는 *,@,|,=등이며 이것은 각각 실행파일, 심볼릭 링크,FIFO 소켓을 나타낸다.
    -R 서브 디렉토리의 내용을 포함하여 파일을 출력한다.
    -S 크기가 큰 파일부터 출력한다.
    -U 정렬하여 출력한다.
    -1 1개의 라인에 1개의 파일을 출력한다.
    -help 도움말을 출력한다.
    -version ls의 파일버전을 함께 출력한다.
    ●사용 예
     ls-alF  /home/foo
     /home/foo 디렉토리에 있는 모든 파일을 파일의 사용권, 소유자, 그룹, 파일의 크기, 날짜 등을 포함하여 파일의 형태와 함께 출력한다.

     (8) mkdir
    ●기능 : 디렉토리를 만든다
    ●사용법 : mkdir[option]...
    ●옵션
     -p 지정된 모든 서브디렉토리까지 함께 생성한다.
     -m mode mode에 해당하는 사용허가로 디렉토리를 생성한다.
    ●사용 예 : mkdir/home/foo/tmp
     /home/foo 디렉토리 밑에 tmp디렉토리를 만든다.

     (9) more
    ●기능 : 주어진 파일의 내용을 한 화면씩 출력한다.
    ●사용법 : more...
    ●옵션
     UNIX 상에서 more는 DOS 와는 다르게 실행 중에 명령어가 제공되어 이 명령어를 이용하여 파일의 이름을 편리하게 볼 수 있다.
    h                   도움말
    [space],z      다음 페이지를 출력
    [Return]        한 라인씩 스크롤 시킴
    d,     반 페이지씩 스크롤 시킴
    q,Q               종료
    f                   다음 페이지를 출력
    b,    앞 페이지를 다시 출력
    /pattern       검색
    =                 현재 라인을 출력
    :!   에 의해 주어진 명령어를 출력
           화면을 다시 출력
    :f                 현재 파일이름과 라인을 출력
    ●사용 예
    more/home/foo/readme  /home/foo readme

     (10) mv
    ●기능 : 파일을 다른 파일이나 디렉토리로 이동시킨다. 이 명령은 cp와 비슷하지만 원래의 파일이 없어진다는 점이 다르다. 따라서 파일의 이름을 바꾸는 경우에도 사용한다.
    ●사용법
    mv[option]...
    옵션
    -b 파일을 지우기 전에 백업 본을 만든다.
    -f 옮겨질 디렉토리에 같은 파일이 있으면 덮어쓴다.
    -i 옮겨질 디렉토리에 같은 파일이 있는지 확인한다.
    -u 옮겨질 디렉토리에 구버전의 파일이 있는 경우에만 옮긴다.
    -v 파일을 옮기기 전에 파일이름을 출력한다.
    ●사용 예
    mv-v /home/foo/readme  /home/foo/tmp
    /home/foo 디렉토리의 readme 파일을 /home/foo/tmp 디렉토리로 readme 파일이름을 출력하면서 옮긴다.
    mv /home/foo  /home/bar
    /home/foo 디렉토리를 /home/bar 디렉토리로 이름을 바꾼다.

     (11) rm
    ●기능 : 파일을 지운다.
    ●사용법 rm[option]...
    ●옵션
      -d 'unlink'디렉토리를 지우는데 사용하는데 이 옵션은 수퍼유저만이 사용가능하고, 이 옵션을 사용한 후에는 fsck(파일시스템체크)가 필요하다.
    -f 존재하지 않는 파일을 지우는 경우에도 에러 메시지를 출력하지 않는다.
    -i 지우기 전에 확인을 한다.
    -r 서브디렉토리를 포함하여 지운다.
    -v 지워지는 파일이름을 출력한다.
    -R -r과 같은 기능을 한다.
     ●사용 예
    rm-i/home/foo/readme  /home/foo/readme.doc
    /home/foo 디렉토리의 readme 와 readme.doc 파일을 지울지 확인한 후 지운다.
    rm history .history파일을 지운다.

     (12) rmdir
    ●기능 : 디렉토리 이름만이 존재하고 파일을 포함하지 않는 디렉토리를 지운다.
    ●사용법 : rmdir[option]...
    ●옵션
     -p 지우고자 하는 디렉토리의 상위 디렉토리까지 지운다.
    ●사용 예
    rmdir /home/foo /home/bar
    foo 디렉토리와 bar디렉토리에 파일이 존재하지 않으면 두 디렉토리를 지운다.
    rmdir-p/home/foo
    /home 디렉토리에도 파일이 존재하지 않는 경우는 /home 디렉토리까지 지운다.

    나. 문서처리 명령어

     (1) ex
    ●기능 : ex문서 편집기를 구동한다.
    ●사용법 : ex[option]...
    ●사용 예 : ex/home/foo : foo라는 파일을 작성하기 위한 편집기 ex를 구동시킨다.

     (2) grep
    ●기능 : 주어진 패턴을 포함하는 파일을 라인을 출력시킨다.
    ●사용법 : grep[option]...
    ●옵션
    -C 패턴과 일치하는 문장의 아래 위 두 라인까지 포함하여 출력한다.
    -V 버전과 함께 출력한다.
    -b 바이트 오프셋(Byte Offset)과 함께 출력한다.
    -c 패턴과 일치하는 라인의 개수를 출력한다.
    -h 파일명을 출력하지 않는다.
    -i 대소문자를 구분하지 않고 패턴과 일치하는 것을 찾는다.
    -l 패턴과 일치하는 내용을 가지는 파일이름만을 출력한다.
    -n 패턴과 일치하는 내용을 가지는 라인번호를 출력한다.
    -s 에러메시지 만을 출력한다.
    -v 패턴과 일치하지 않는 내용을 출력한다.
    -w 패턴과 한 단어로 일치해야 출력한다.
    -x 패턴과 전체라인이 일치해야 출력한다.
    ●사용 예
    grep linux/home/foo/readme
    readme 파일 중 'linux'라는 패턴을 포함하는 모든 라인을 출력한다.
    grep -c/bin/csh  /etc/passwd
    로그인 쉘(login shell)이 c쉘인 사용자의 수를 보여 준다.
    grep -1 MAXPROP*.c
    MAXPROP 이라는 패턴이 들어있는  .c파일의 이름을 출력한다.
    grep -v"^[0-9]readme
    readme 파일에서 숫자로 시작하지 않는 모든 라인을 보여 준다.

     (3) man
    ●기능 : 주어진 명령이나 자원들의 메뉴얼을 출력한다.
    ●사용법 : man[option]
    ●옵션
    -a 모든 매뉴얼 페이지를 출력한다.
    -d 디버깅 정보를 출력한다.
    -f whatis와 같은 기능을 수행한다.
    -h 도움말을 출력한다.
    -k apropos와 같은 기능을 수행한다.

     (4) vi
    ●기능 : 스크린 편집기
    ●사용법 : vi[option]...
    ●사용 예 vi /home/foo/tmp

     (5) wc
    ●기능 : 단어나 문자 또는 행의 수를 센다.
    ●사용법: wc [option]...
    ●옵션
    -c 문자의 수만을 센다.
    -l 행의 수만을 센다.
    -w 단어의 수만을 센다.
    ●사용 예
    wc  /home/foo/readme : readme 파일의 행, 단어, 문자의 수를 출력한다.
    who wc -1 : 현재 시스템에 로그인 한 사람의 수를 보여준다.

    다. 시스템 상태 명령어

     (1) date
    ●기능 : 시스템의 날짜와 시간을 표시한다.
    ●사용법 : date

    (2) id
    ●기능 : 사용자와 그룹의 ID를 보여준다.
    ●사용법 : id

     (3) kill
    ●기능 : 프로세스를 강제로 종료한다.
    ●사용법 : kill[-single_number]
    ●사용 예
    kill546     546 프로세스를 종료한다.
    kill -9 546 546 프로세스k에 -9신호를 보낸다.

     (4) ps
    ●기능 : 사용자나 시스템 프로세스의 상태에 관한 정보를 알려준다.
    ●사용법 : ps
    ●사용 예
    ps : 사용자의 현재 프로세스 상태를 보여준다.
    ps -ef|uts : 시스템 상의 모든 프로세스의 상태를 보여준다.

     (5) pwd
    ●기능 : 현재 작업하고 있는 디렉토리의 완전 경로명을 보여준다.
    ●사용법 : pwd

     (6) stty
    ●기능 : 단말기의 특성을 지정하거나 보여준다.
    ●사용법 : stty[option]

     (7) su
    ●기능 : 시스템을 사용하고  있는 상태에서 다른 사용자 ID로 login한다.
    ●사용법 su
    ●옵션
    ●사용 예
      su root계정으로 시스템에 login한다.
      su ddol 현 상태에서 ddol이라는 또 다른 ID로 login 한다.

     (8) tty
    ●기능 : 현재 단말기가 해당하는 장치명을 나타낸다.
    ●사용법 : tty

     (9) who
    ●기능 : 시스템에 어떤 사람들이 로그인하고 있는가를 보여준다.
    ●사용법 : who


 2. Telnet 과 FTP
     가. Telnet 접속

     Telnet은 원격 접속을 위한 유닉스 명령어로 네트워크로 연결된 다른 호스트에 접속할 때 사용된다.Telnet명령으로 네트워크에 접속하면 사용자의 권한에 대한 모든 기능을 수행할 수 있다. 예를 들어 Supervisor 의 권한을 가진 사용자가 원거리에서 자신의 호스트에 접속하면 시스템을 다시 설치하는 것만을 제외하고 모든 일을 수행할 수 있다.
    Telnet은 다음과 같은 방법으로 실행한다.
    Telnet[IP 주소]
    Telnet[도메인명]
      Telnet접속을 한 후 login 프롬프트에서 사용자 ID를 입력하고, 암호를 입력하면 된다. 그리고 난 후에는 유닉스 명령 프롬프트 상태이다. Telnet을 사용하기 위해서는 유닉스 사용법을 알아야 한다.

    나. FTP 접속

     유닉스에서 파일을 공유하기 위한 명령어인 FTP(File Transfer Protocol)는 접속하려는 컴퓨터에 원격접속을 하여 파일을 복사한다. FTP를 사용하기 위해서는 몇 가지 필요한 것이 있다.
     접속하려는 컴퓨터의 사용권 즉 ID가 있어야 한다.
     파일을 복사하거나 복사해 넣으려는 컴퓨터의 파일시스템 IP 어드레스, 혹은 도메인명(DNS)을 알아야 한다.

     (1) FTP 실행
     FTP명령을 실행하는 것은 아주 간단하다.
     ftp[ip Address]  혹은, ftp[도메인명]
     예를 들어, ftp 203.255.208.22라고 입력하면 해당 IP 주소의 컴퓨터에 접속하게 된다. 또한  ftp sunsite.snu.ac.kr라고 입력하면 서울대학교의 SUN 사이트의 ftp 서버에 접속하게 된다.
     또한 위와 같이 IP주소와 도메인명을 적지 않고 단순히 ftp만을 실행하고 ftp프롬프트 상에서 명령어를 사용하여 접속할 수 있다.
     ftp
    ftp>open sunsit.snu.ac.kr

    (2) FTP 명령어
     ㉮ prompt
     mget이나 mput 명령으로 파일을 전송하고 받으려 할 때 파일마다 전송을 할 것인지를 묻고 사용자가 'y'를 입력해야만 파일을 전송하는데, prompt명령을 사용하면 이러한 과정이 없이 무조건 파일을 전송한다.

     ㉯ bye, quit
     ftp 접속을 끊고 프로그램을 종료한다.

     ㉰ close, disconnect
     ftp접속을 해제한다.

     ㉱ cd
     디렉토리를 바꾼다. 유닉스와 도스의 cd 명령과 같다.

     ㉲ ls
     파일의 리스트를 보여준다. 유닉스의 명령어인 ls 와 같다.

     ㉳ lcd
     로컬 디스크의 디렉토리를 바꾼다. 즉, 현재 사용중인 컴퓨터 내부의 하드디스크의 디렉토리를 변경한다.
     !
     쉘 프롬프트로 잠시 빠져 나간다. 대부분의 도스 응용프로그램의 기능 중 하나인 도스쉘과 같은 기능이다. 다시 FTP로 들어가려면 exit를 입력한다.

     ㉴ delete[remote file]
     리모트 접속한 컴퓨터의 파일을 삭제한다.

     ㉵ mdelete[remote file]
     리모트 접속한 컴퓨터의 파일을 한꺼번에 삭제한다.

     ㉶ bin
     ftp를 통해 전달되는 데이터의 형태는 ascii형태이다. 즉, 7비트로 데이터가 전송되는데, 일반 텍스트 이외의 파일은 대부분이 바이너리 파일로 8비트로 데이터를 전송해야 한다. 그래서 바이너리 형태의 데이터를 받으려면 bin 명령을 실행해야 한다.

     ㉷ ascii
     데이터의 전송을 바이너리에서 아스키형태로 변환한다.

     ㉸ hash on
     데이터의 전송상태를 보여준다. hash명령을 사용하지 않으면 데이터가 현재 얼마나 전송되고 있는지 알 수 없다. hash명령을 실행하고 데이터를 받거나 전송하면  # 이 증가하게 되어 전송되고 있는 상황을 보여준다.

     ㉹ get
     파일을 다운로드 받는 명령이다. get명령은 선택한 하나의 파일만을 다운 받는다.

     ㉺ mget
     파일을 여러 개를 동시에 다운 받을 때 사용하는 명령이다. get명령은 한 번에 하나의 파일만을 받을 수 있으나 m(multi)get명령은 와일드카드 즉 * 와 ~를 파일을 선택할 때 사용할 수 있어서 여러 개의 파일을 받을 수 있다.

     ㉻ put/mput
     put은 파일을 업로드하는 명령이다. 한 번에 하나의 파일만을 업로드한다. 현재 자신의 디스크의 파일을 원격 접속한 컴퓨터의 하드디스크에 파일을 복사한다. mput은 한꺼번에 여러 개의 파일을 업로드하는 명령이다. mget과 마찬가지로 와일드카드를 사용하여 파일을 업로드한다.



출처: http://blog.naver.com/lastcanival/40013905295


----------------------------------------------------------------------





2. 유닉스 기본

2.1. 개요

   유닉스 시스템은  1960 년대 말  컴퓨터과학의 실험용으로 개발되어  오늘날
가장 널리 이용되고 있는 운영체제입니다. 먼저 그 역사를 간략히 살펴보면 유
닉스의 효시는 1960년대 말 초기의 시분할 시스템인 MULTICS  로 거슬러 올라갑
니다. 이 MULTICS는 오늘날 멀티태스킹 시스템의 기반이  되는 대부분의 아이디
어를 구현했으나 필요이상으로  복잡하고 조잡하여 AT&T의 켄 톰슨, 데니스 리
치 등을 일부 MULTICS 개발자들이 MULTICS를 간단화하고  여러가지 새로운 기능
들을 추가한 것이 바로 유닉스 시스템입니다. 그 이후로도 유닉스 시스템은 다
양한 부류의 그룹에  의해 계속 발전을 거듭해  왔는데 이들은 크게 AT&T  사의
System V  계열과 버클리대학의  BSD(Berkeley Standard Distribution)  계열의
두 주류로 나눌 수  있으며, 현재 주로 사용되고 있는 버젼은 System V의  경우
릴리즈 4 (SVR4)이며 BSD의 경우 4.3 (4.3BSD) 입니다.

   또, 유닉스 시스템은 하드웨어 제조업체에 따라 자신의 플렛폼에 맞게 약간
의 수정을 가하여  나름대로의 이름으로 부르는 경우가 많습니다. 대표적인 예
를 몇가지 들면 SUN사의 SunOS, Solaris, IBM사의 AIX,  SGI사의 IRIX, DEC사의
ULTRIX, HP사의 HP-UX 등을 들 수 있습니다.

   유닉스 시스템의 중요한 특징을 몇가지 요약하면 다음과 같습니다.

▷ 뛰어난  통신기능 : 일반적으로  대부분의 유닉스 시스템은  인터넷
표준 프로토콜인 TCP/IP에  기반한 통신기능을 운영체제 자체에 포함하고  있으
며, 이러한 강력한  통신기능은 오늘날 유닉스를 가장 인기있는 운영체제로 만
든 가장 큰 요인의 하나라 할 수 있습니다.

▷ 복수 사용자와  멀티태스킹의 지원 : 유닉스 시스템은 시분할  방식
의 멀티태스킹환경을  제공하므로 동시에 여러명의 사용자가 여러개의  작업을
처리할 수 있습니다.

▷ 뛰어난 호환성  : 유닉스 시스템은 PC에서 마이크로컴퓨터,  메인프
레임에 이르기 까지 거의 모든 종류의 하드웨어 플랫폼에  장착이 가능하며, 이
들 상호간에 거의 완벽한 호환성을 제공합니다.

▷ 뛰어난 유연성  : 유닉스 시스템은 필요에 따라 유틸리티를  구입하
거나 만듦으로써 쉽게 변경될 수가 있습니다. 즉 사용자는 자신의 목적이나 구
미에 맞도록 시스템을 쉽게 확장 또는 변경할 수 있습니다.

2.2. 로그인/로그아웃

   유닉스 시스템의 사용을  위해 최초 접속하는 것을 로그인(login)이라  하고
작업을 종료하고 빠져나오는 것을 로그아웃(logout)이라 합니다.

   유닉스 시스템을 이용하기 위해서는 먼저 해당 시스템에  자신의 계정(id)이
있어야 합니다. 자신의 계정이 있는 시스템에 연결된 터미널  상에서 리턴 키나
엔터 키를 누르면 다음과 같은 로그인 프롬프트가 나옵니다.

login:

   위에서 자신의 계정을 입력하면 시스템은 다시 그 id에 대한 암호를 묻습니
다. 자신의 암호를 입력하고 나면 비로소 해당 시스템에  로그인이 완료되어 이
제 부터 그 시스템을 사용할 수 있습니다(사용자가 암호를 입력할 때 입력하는
내용은 화면에 표시되지 않습니다). 다음은 kimys란 id를 가진 사용자가  로그
인하는 예입니다.

login: kimys  
Password: ________  

   로그아웃은 다음의 명령어 중 하나를 입력하면 됩니다.

logout

exit

   한가지 주의할 것은 유닉스 시스템은 PC의 DOS와는  달리 대문자와 소문자를
구분합니다. 대부분의 유닉스  명령어와 사용자 id는 소문자 이므로 입력할 때
대문자로 입력하지 않도록 주의하셔야 합니다.

2.3. 유닉스 명령어 기본

2.3.1. 유닉스 쉘

   유닉스 쉘은 사용자와  운영체제 커널 사이에 위치하는 명령어 해석기  입니
다. 쉘은  사용자의 입력을 받아서 이를  해석한 후 상응하는 동작을  취해주는
사용자와 시스템 사이의 인터페이스이며 일반 프로그래밍 언어의 기능도  포함
하고 있어서  사용자는 이를 이용하여 응용  프로그램도 만들 수 있습니다. 이
쉘에 다양한 기능들을 추가하기  위해 많은 연구들이 있었으며 따라서 쉘도 하
나가 아닌 다양한  종류의 쉘이 존재합니다. 유닉스 시스템에서 기본적인  쉘은
Bourn Shell(/bin/sh)과 C Shell(/bin/csh)인데  일반적으로 시스템  관리자의
경우 sh을 일반사용자의 경우 csh이 로그인될 때  기본으로 작동됩니다. 따라서
여기서는 csh을 기본으로 가정합니다.

2.3.1. 명령어 문법

   일반적인 유닉스의 명령어는 다음의 형식입니다.

command [-options] [parameters]

   여기서 명령어는 쉘 내부의 내장(built-in) 명령어 이거나  별도의 실행가능
한 화일로 존재하는  외장 명령어입니다. 옵션은 명령어의 기본적인 동작을 바
꾸기 위해 사용되는 것이며, 일부 명령어는 사용자가 화일명을  명시할 것을 요
구하는데 파라메터는 이처럼 주로 화일명을 명시하는데 사용됩니다.  다음은 화
일의 리스트를 보는  ls 명령어를 이용하여 "abc"란 화일의 상세정보를  보고자
할 경우의 실제 예입니다.

% ls -l abc
|  |  | -+-
|  |  |  +-- 파라메터(화일명)
|  |  +----- 옵션(long, 상세정보)
|  +-------- 명령어
+----------- 프롬프트



2.3.2. 화일명의 확장

   유닉스 쉘은 여러가지 메타문자를 이용한 다양한 화일명의  확장을 허용합니
다. 메타문자와 그 의미는 다음과 같습니다.

*     0개 또는 그 이상의 문자와 대응
?     정확하게 하나의 문자와 대응
[]    리스트 또는 명시한 범위내의 모든 문자와 대응
{}    명시된 리스트 항목으로 대치
~     사용자의 홈디렉토리

   현재 디렉토리에 다음과 같은 화일이 있다고 가정하고

+-------------------------------------------------+
| a.dat a3.dat    a4c.dat   c.dat   |
| a.old a4.dat    a5d.dat   d.dat   |
| a1.dat a4a.dat   b.dat     e.dat   |
| a2.dat a4b.dat   b.old   |
+-------------------------------------------------+

화일을 삭제하는 명령어인 rm  을 이용하여 위의 메타문자를 이용한 화일명 확
장의 예를 보이면 다음과 같습니다.

   명령     삭제된 화일
---------------------------------------------------------------
rm * 모든 화일
rm a* "a"로 시작하는 모든 화일
rm *.dat ".dat"로 끝나는 모든 화일
rm a4*.dat "a4"로 시작하고 ".dat"로 끝나는 화일
즉 a4.dat, a4a.dat, a4b.dat, a4c.dat

rm a?.dat a1.dat, a2.dat, a3.dat, a4.dat
rm ?.dat a.dat, b.dat, c.dat, d.dat
rm ??.dat a1.dat, a2.dat, a3.dat, a4.dat

rm [a-c]* "a", "b", "c" 로 시작하는 모든 화일
rm [acd]* "a", "c", "d" 로 시작하는 모든 화일
rm [a-c,e]* "a", "b", "c", "e"로 시작하는 모든 화일
rm a[2-4].dat a2.dat, a3.dat, a4.dat

rm a.{dat,old} a.dat, a.old
rm {a4*,b}.dat a4.dat, a4a.dat, a4b.dat, a4c.dat, b.dat

   "~"는 사용자의 홈디렉토리를  명시하는 메타문자인데 예를 들어  "kimys"란
사용자의 홈디렉토리가 "/home/staff/kimys"이라면,

  표현식    쉘에의한 확장결과
-----------------------------------------------------------------
~ /home/staff/kimys
~/work /home/staff/kimys/work
~jyong/doc /home/staff/jysong/doc

와 같은 결과를 얻을 수 있습니다.

2.3.4. 입출력 방향 전환

   유닉스 시스템은 기본적으로  키보드로 부터 입력을 받아서, 화면상으로 그
결과를 출력합니다.  유닉스에서는 이러한 입출력 방향도 다음과 같은  기호를
이용하여 적절히 바꿀 수 있습니다.

command < fn 화일 fn 으로 부터 입력을 받는다.
command > fn 화일 fn 으로 출력한다.
command >> fn 화일 fn 의 끝에 그 결과를 추가한다.
command1 | command2   command1의 결과를 command2의 입력으로
보낸다.

   몇가지 예를 들면 다음과 같습니다.

% ls > list ; 화일의 리스팅 결과를 "list"란
  화일로 저장
% sort < in_file > out_file ; "in_file"의 내용을 정렬하여
  "out_file"로 저장
% ls | more ; 화일의 리스팅 결과를 한 페이지
  단위로 봄


2.3.5. 작업제어(Job Control)

   유닉스 시스템은 멀티태스킹을  지원하므로 동시에 복수의 사용자가  여러개
의 작업을 수행할 수 있고, 사용자는 이 작업들을 제어할  수 있습니다. 일반적
으로 태스크 또는  프로세스는 현재 실행중인 프로그램을 의미합니다. 현재 유
효한 프로세스의 상태를 알아보는 명령어로 "ps"가 있습니다.

% ps
   PID TT    STAT TIME    COMMAND
   6656  ttyp0 S    0:12    vi memo
   5657  ttyp0 S    0:01    csh
   6764  ttyp0 R    0:00    ps

   위의 예에서 PID는  시스템에 의해 각 프로세스에 할당된 유일한  번호이며,
TT는 그 프로세스를 수행중인 터미널을 나타내는 것이고  TIME은 프로세스가 생
겨난 이후 사용한 총  CPU 시간, COMMAND는 실제 그 프로세스의 내용을  나타내
는 것입니다.

   일반적으로 프로세스는 포그라운드로 수행되는데 사용자는  이를 백그라운드
로 수행하도록  할 수 있습니다. 아주  실행시간이 긴 포그라운드 작업의  경우
그 작업이 종료되기 전 까지는  아무 작업도 할 수 없습니다. 이 경우 그  작업
을 백그라운드로 실행하면 그 작업과 함께 동시에 다른 작업을  수행할 수 있습
니다. 어떤  작업을 백그라운드로 실행하는  방법에는 다음의 두가지가  있습니
다.

▷ 처음부터 백그라운드로 실행 ; 이 방법은 애초 명령어를 입력할 때
   명령어 입력행의 제일 끝에 "&" 기호를 붙여 강제로 백그라운드로
   실행도록 하는 것입니다.

   예) % du > usage &

▷ 처음에는 포그라운드로 실행하고 나중에 백그라운드로 전환 ; 이
   방법은 처음 포그라운드로 수행했다가 그 작업이 너무 길어질 것
   같은 경우 주로 수행하는 방법으로 절차는 다음과 같습니다.

   - 포그라운드로 수행
   - Ctl-Z 를 눌러 포그라운드 작업을 일시 정지시킴
   - "bg" 명령을 이용하여 일시정지된 작업을 백그라운드로 만듬

   백그라운드로 수행중인 작업을  다시 포그라운드로 되돌리려면 "fg"  명령을
이용하면 되고, 특정 프로세스를 죽이려면 "kill" 명령을 이용합니다.


2.4. 화일관련 명령어

   이 절에서는 유닉스  시스템에서 화일의 조작과 관련된 주요 명령어들을 살
펴 보겠습니다.

2.4.1. cat 명령어

   cat은 특정화일을 읽어서  화면에 출력하는 명령이나 이외에도 다양한  용도
로 사용됩니다.

▷ 화일의 화면 출력
   % cat file_name

▷ 화일의 생성
   % cat > new_file
   ... 화일의 내용을 입력 ...
   ^D (입력종료)
   %

▷ 복수개의 화일을 하나의 화일로 결합
   % cat file1 file2 file3 > all_file

2.4.2. mv 명령어

   mv 는 화일의 위치를 옮기거나 이름을 바꾸는데 사용됩니다.

▷ 이름변경
   % mv old_name new_name

▷ 화일의 위치변경
   % mv file ../doc/new_file

2.4.3. cp 명령어

   화일을 복사하는 명령어입니다.

% cp file.org file.cp
% cp file.org ../doc ; doc이 디렉토리일 경우 ../doc 디렉토리에
  file.org 란 이름으로 복사된다.
% cp file.org ../doc/file.cp ; ../doc 디렉토리에 file.cp 로 복사

2.4.4. rm 명령어

   rm 은 화일을 삭제하는 명령어입니다.

% rm a.dat
% rm -r ../doc ; ../doc 디렉토리 전체를 삭제 (recursive)
% rm -i a.* ; "a"로 시작하는 모든 화일을 일일이 삭제할 것인지
  확인하면서 삭제 (interactive)

2.4.5. ls 명령어

   ls 는 화일의 목록을 보는 명령어입니다. 이 명령어에는 40  여개가 넘는 옵
션이 있으며 그 중 중요한 몇개를 보이면 다음과 같습니다.

-F  화일 유형을 나타내는 기호를 화일명 끝에 표시(디렉토리의 경우
    "/", 실행화일의 경우 "*", 심볼릭 링크화일의 경우 "@"를)
-l  화일에 관한 더 상세한 정보를 출력
-a  dot 화일(.cshrc 등)을 포함한 모든 화일을 리스트
-t  화일이 생성된 시간별로 리스트

2.4.6. grep 명령어

   grep은 화일내에서 특정 항목을 찾는데 이용되는 명령어입니다. grep 의 첫
번째 파라메터는 찾고자 하는 내용에 대한 표현식이고  나머지 파라메터는 찾을
화일명들입니다. 그 사용예는 다음과 같습니다.

% grep smith *.doc ; ".doc" 으로 끝나는 모든 화일에서
  "smith"를 포함하는 모든 행을 출력

2.4.7. more/tail 명령어

   more 명령어는 한  화면이 넘는 화일을 한 화면단위로 보여주는 명령어입니
다. 스페이스바를 누르면 다음 화면으로 넘어가고 "q"를  누르면 출력을 중간에
서 종료하게 됩니다. 이 외에도 많은 more 의 내부 명령어가 있으며  이들에 관
한 간략한 설명은 "h" 를 누르면 얻을 수 있습니다.

   tail 명령어는 화일의 뒷부분을 출력해주는 명령어입니다. "-"  다음에 화일
의 끝에서 부터 출력하고자 하는 행 수를 명시할 수 있습니다.

% tail letter.doc
% tail -100 letter.doc ; letter.doc 화일의 마지막 100 행을 출력

2.4.8. chmod 명령어

   chmod 는 사용자에 대한 화일의 접근을 제한하는데  사용됩니다. 유닉스에서
각 화일은 읽기(r,  read), 쓰기(w, write), 실행(x, executiuon)에 관한  권한
을 소유자(u, user), 그룹멤버(g, group), 일반사용자(o, other)  로 나누어 할
당할 수  있습니다. 다음은 "note.doc" 화일에  대한 "ls -l" 명령을  수행하여
그 화일의 상세정보를 출력한 예입니다.



-rwxrwxrwx  kimys  staff  7631 May 31 09:21 note.doc
| || || |  -----  -----  ---- ------------ --------
+-++-++-+  소유주 그 룹  크기 마지막 갱신  화일명
  u  g o

   위에서 제일 처음의  "-"는 일반화일을 의미하는 것이며 디렉토리일  경우에
는 "d"가 표시됩니다.

   chmod 명령의 사용법은 다음과 같습니다.

      ----------------------------------------------------
chmod [augo][+-=][rwx] file_name
       -+--  -+-  -+-
   +----+     |    +---------+
   | +-a all  |  +-+ add     | +-r read
   +-+ u user +--+ - remove  +-+ w write
     | g group +-= set       +-x excute
     +-o other
      ----------------------------------------------------

   몇몇 사용예를 보이면 다음과 같습니다.

% chmod u+x note.doc ; note.doc 화일의 소유자에게 실행할 수 있는
       권한을 부여
% chmod go-rwx *     ; 모든 화일에 대해 그룹/일반 사용자에게 모든
       권한을 박탈


2.5. 통신관련 명령어

   유닉스 시스템의 가장 주요한 특징 중의 하나는 컴퓨터망을  통한 다른 시스
템 사용자  또는 자신의 시스템내의  다른 사용자와의 뛰어난  통신기능입니다.
이 절에서는 이들중 기본적인 것들에 대해 살펴보겠습니다.

2.5.1. who/w 명령어

   자신의 시스템내에 현재 누가, 무엇을 하고 있는지  보는 명령어입니다. who
명령은 누가, 어디에서 들어와서 시스템을 사용하고 있는지 보는  것이고, w 는
누가, 무엇을 하고 있는지 보는 명령입니다. 다음은 그 예입니다.

% who
kimys console  Jun 1 09:08
gglim ttyp0 May 31 10:30  (guru.kotel.co.kr)

% w
User   tty     login@ idle   JCPU  PCPU   what
kimys  console 09:08 02:30 19 8   ctwm
gglim  ttyp0   10:30 14:39 43 9   elm

   위의 who 결과에서 보듯이 현재 이 시스템은 두명이  사용하고 있는데 kimys
란 사용자는 콘솔을 사용하고 있으며 gglim 이란  사용자는 guru.kotel.co.kr에
서 들어와서 해당 시스템을 사용하고 있음을 보여준다. w  결과를 통해 kimys는
ctwm을 수행중이고 gglim은 elm을  통해 전자우편을 검색하고 있음을 알 수 있
다.

2.5.2. finger 명령어

   finger 는  특정 사용자에 관한 정보를  조회하는 명령어입니다. finger 는
사용자에 대한  login 명, 실제 이름,  단말기 이름, 로그인한 시간,  유휴시간
(idle time) 등에 관한 정보를 보여줍니다. 명령어 양식은 다음과 같습니다.

finger [ options ] name

   위에서 name은 정보를 조회하고자 하는 사용자의 id 이며,  여기에 "@" 기호
가 포함한 원격 호스트상의 사용자 id가 오면, 해당  시스템에 접속하여 사용자
정보를 가져  옵니다. 옵션 중 대표적인  것 두가지를 설명하면 다음과  같습니
다.

-s   사용자에 대한 간단한 정보만을 출력
-l   사용자에 대한 상세 정보를 출력(디폴트)

   다음은 그 사용 예입니다.

% finger   ; 시스템을 사용하고 있는 전체 사용자에 대한
    간단한 사용자 정보 출력
% finger -s kimys ; 사용자 kimys에 대한 간단한 정보 출력
% finger gglim@guru.kotel.co.kr ; guru.kotel.co.kr 이란 시스템의
  사용자 gglim에 대한 상세정보 출력
% finger @guru.kotel.co.kr ; guru.kotel.co.kr에 현재 로긴한 가입
    에 대한 정보 출력.
  단 다른 호스트에 대한 finger시 상대방시스템에서 finger를 허용해야됨.

2.5.3. write 명령어

   write는 표준입력으로 부터의 메시지를 특정 사용자의 단말기에 보내는 명
령으로 다음의 형식으로 사용합니다.

write user_name [ ttyname ]

   user_name은 사용자 id로 "@" 기호를 이용하여 원격  시스템의 사용자에게도
메시지를 보낼 수 있습니다.  단 이때 write 명령을 이용하여 어떤 사용자에게
메시지를 보내기 위해서는 그 사용자는 반드시 해당  시스템을 로그인한 상태여
야 합니다(사용자의 로그인  여부를 확인하기 위해서는 위에서 언급한 who, w,
finger 등을 이용하면 됩니다). 지정한 사용자가 해당  시스템에 복수개의 로그
인 세션을  맺고 있는 경우에는 ttyname을  붙여서 어떤 단말로 메시지를  보낼
것인지를 명시합니다. 다음은 그 사용예입니다.

% write gglim@guru.kotel.co.kr
안녕하십니까? 곧 시스템이 다운될 예정이니 -+
지금 곧 로그아웃하여 주십시오.   -+ 메시지 내용
^D
write에 의한 장난을 막으시려면 % mesg -n을 하시면 됩니다.

2.5.4. talk 명령어

   talk는 두 사용자가 컴퓨터  단말을 통해 대화를 나눌 수 있도록 하는  명령
으로 그 형식은 다음과 같습니다.

talk user_name [ ttyname ]

   위에서 보듯이 명령어 형식은 write 와 동일하나 단지 차이점은 talk의 경
우 대화식으로 두  사용자가 통신을 주고받는다는 점입니다. talk 명령을  내리
고 상대방이 대화에 응하여  세션이 성립되면 화면이 상하 두단으로 나누어 지
면서 상단에는  자신이 입력하는 내용이, 하단에는 상대방이 입력하는  내용이
출력되어 서로 통신을 하게됩니다.

2.5.5. ping 명령어

   ping은 네트웍에 연결된  상대 호스트로 패킷을 보내 그 호스트와의  연결상
태를 점검하기 위한 명령으로 형식은 다음과 같습니다.

ping [-s] host_name

   아무런 옵션없이 host_name만 명시하면 네트웍을 통한 그 호스트로의  연결
여부만을 출력하며, "-s"  옵션을 이용하면 매초 한 데이타그램을 해당  호스트
로 보내고 그것에 대한 응답여부 및 통계값을 출력하여 줍니다.

   이 ping 명령은 특정 시스템으로 접속이 안될 경우  네트웍상의 문제를 진단
해 볼 수 있는 가장 유용한 명령의 하나입니다.

2.5.6. 기타 명령어

   이외에도 네트웍  사용을 위한 통신용 명령으로 네트웍상의 다른  시스템을
접속하기 위한 telnet 또는 rlogin, 다른 시스템과의 화일전송을  위한 ftp, 전
자우편을 주고받기 위한 mail  또는 elm 등이 있으며 이들에 관해서는 다른 장
에서 보다 상세히 설명될 것입니다.

출처: http://blog.naver.com/iego108/40013629065
----------------------------------------------------------------
 
 
 

1.편집(Editing) 명령어..

 

  -emacs : Emacs 편집기

  -    ex   : 유닉스 표준 라인 텍스트 편집기

  -    vi    : 유닉스 표준 화면 편집기

  -  view  : vi와 같음, 읽기 전용 모드로

 

2.로그인과 아웃(Logging In and Out)

 

  -  login  : 로그인 셀을 종료하고 새로운 로그인을 초기화

  - logout : 로그인 셀 종료

  -passwd : 로그인 패스워드 변경

 

3.명령어 입력하기(Entering & Command)

 

  -     !    : 지정한 명령 반복

  -     !!   : 이전 명령 반복

  -    ^^   : 치환을 이용한 이전 명령 반복

  -history : 입력한 명령어 디스플레이

 

4.디렉토리(Directories)

 

  -    cd   : 현재 작업 디렉토리 변경

  -chmod : 파일이나 디렉토리 허가 권한 변경

  -    ln    : 링크 만들기

  -    ls    : 파일 정보 디스플레이

  -  mkdir : 디렉토리 만들기

  -   pwd  : 현재 작업디렉토리 경로면 디스플레이

  -    rm   : 파일이나 디렉토리 삭제

  -  rmdir  : 비어있는 디렉토리 삭제

 

5.데이터 디스플레이(Displaying Data)

 

  -  head  : 파일의 첫부분 디스플레이

  -  more  : 데이터를 한 번에 한 화면씩 디스플레이

  -  tail     : 파일의 마지막 부분 디스플레이

 

6.파일 다운로드(Downloading Files)

  -archive : archive/어노니머스 ftp 탐색을 이용하기 위한 클라이언트 프로그램

  -compress : 압축된 .z 파일 생성하기

  -    ftp    : 다른 컴퓨터로부터의 파일전송

  -    tar    : 파일의 집합(archive)을 생성, 해제

  -uncompress : compress에 의한 생성된 .z 파일 해제

 

7.파일(Files)

 

  -chmod : 파일이나 디렉토리 허가 권한 변경

  -   cp    : 파일 복사

  -   ls     : 파일 정보 디스플레이

  -   mv    : 파일 이동이나 재명명

  -   rm    : 파일이나 디렉토리 삭제

 

8.시간과 날짜(Tims and Dates)

 

  -   cal   : 달력 디스플레이

  -  date  : 시간과 날짜 디스플레이

  - xclock : X 윈도우 시계

Posted by 갑빠돌격기

댓글을 달아 주세요

  1. 잘 읽고 갑니다^^ 도움됬ㅇ요

    2008.09.14 16:38 [ ADDR : EDIT/ DEL : REPLY ]