Unix   

◆ 유닉스의 역사

- 1965 ; AT&T의 Bell연구소는 MIT대학, GE(General Electric)사와 함께 새로운 운영체제인 Multics를 개발할 목적으로 공동연구 착수.

- 1969 ; Bell연구소는 Multics 프로잭트를 취소.
           
             Bell연구소  프로그래머중 Tompson은 Ritchie의 도움으로 DEC사의 PDP-7이라는 시스템에서 프로그램 작업을 수행할 수 있었고,
             그는 파일유틸리티(cp, mv 등)와 쉘(shell)이란 명령어 해석기를 개발.
             이렇게 탄생한 시스템은 Unix란 이름을 붙였다.

- 1971 ; Ritchies는 B언어를 기초로 하여 C언어를 개발. 이때 Unix System(커널)은 PDP-11상에서 실행.
             이 시스템 환경은 16Kbyte 사용자 메모리, 512byte의 디스크 장착.

☞       이 당시 Unix 시스템이 제공하던 기능
         ­ 프로그래밍 환경
         ­ 단순한 사용자 인터페이스
         ­ 강력한 기능을 수행하기 위해 결합가능한 유틸리티
         ­ 계층적인 파일시스템
         ­ 파일 포맷과 일관성 갖는 단순한 장치 인터페이스
         ­ 다중사용자, 멀티프로세서 시스템
         ­ 사용자에게 독립적이고 투명한 시스템구조

- 1973 ; 모든 Unix시스템을  이식성과 속도를 높이기 위하여 C언어로 재 작성.

- 1977 ; Berkely 대학에서 꾸준히 발전시켜 BSD계열의 Unix시스템을 일반에게 배포하여 500개 사이트가 개설

- 1980 ; BSD4.1(Berkely Software Development)이 발표

- 1983 ; SunOS, BSD4.2 System V가 발표

- 1984 ; 다양한 능력을 가진 수많은 플렛폼에서 100,000개의 Unix사이트가 운영

- 1988 ; AT&T와 Sun Microsystems사가 공동으로 System V Release 4 (SVR4)를 개발
             이것이 후에 UnixWare와 Solaris 2로 발전된다.

- 1993 ; Novell사가 AT&T사로부터 UNIX를 구매

- 1994 ; Novell사는 X/OPEN을 "UNIX"로 명명

- 1995 ; SCO(Santa Cruz Operations)사가 Novell로부터 UnixWare를 구매
             SCO사와 HP(Hewlett-Packard)사는 공동으로 64비트 Unix버전을 개발할 것을 발표

- 1996 ; IDC(International Data Corporation)에서는 1997년 3백만개의 유닉스 시스템 배포 예측
 

  

Unix 계통도

 

◆ 현재 사용되는 유닉스의 특징

    . 여러계층으로 구성된 운영체제 (layered OS)
☞      ; 하드웨어 - 커널 -(시스템콜)- 유틸리티 - Aplication

    . 다중사용자(Multi-user), 다중작업시스템(Multi-task)
    . Kernel(커널)시스템
      ; 커널
프로세스(Process;현재하고 있는 작업)와 사용자들을 구분하고,
        각 사용자가 CPU, 메모리, 디스크 및 I/O장치들을 포함한 하드웨어에 접근하는 것을 관리

     커널의 기능은 아래과 같이 크게 몇 부분 구성되어 있다.
        , 시스템의 메모리와 각 프로세스의 할당문제를 관리하는 기능
        , CPU를 사용하는 순서를 정하는 일. 즉 모든 사용자가 원하는 작업을 동시에 할 수 있도록 하는 일
        , 시스템에서 처리되는 각종 데이타를 변환, 전송 하는 기능
        , 쉘과 연관되어 쉘에서 지시한 작업을 수행하고, 그 결과를 쉘로 보내는 일
        , 파일 시스템의 접근 권한을 처리하는 일

       Swap ; Process가 잠시 대기할 때 사용되는 영역(HDD공간)
     
       데몬(Deamons) ; 계속 대기상태의 수행 ; Booting 시(Start)부터 Exit or Logout될 때까지 대기 수행.
                             ex : 프린터...

       프로세스(Process) ; 현재하고 있는 작업. 응용프로그램 수행

       OS(커널) : 소프트웨어와 사용자를 위하여 시스템(H/W)를 제어.


○ 프로세스  ;  유닉스는 기본적으로 멀티테스킹 환경이다.
                      프로그램을 실행하면 프로세스라는 개념으로 유닉스에서 프로그램을 관리하는데,
                      각각의 프로세스는 유일한 PID(Process ID)를 할당받게 된다.
             ps  ; 현재 시스팀에 등록된 프로세스들을 출력한다.
             ps -e  ;  모든 프로세스에 대한 정보를 출력한다.
             ps -f  ;  자세한 정보를 출력한다.
             ps -u ; {ID} ID의 프로세스만 출력한다.
                        ex) ps -u mix1009

       - 가끔 프로그램의 버그 등으로 실행에 차질이 생기고 프로그램을 정상적인 방법으로 종료하지 못하는
          경우가 생기는데 ps로 PID를 확인한 후 kill명령을 이용해서 프로그램을 종료할 수 있다.

           Kill  ;  프로세스를 종료한다.
           kill -9  ; 프로세스를 강제로 종료한다.  ex) kill {PID}

○ Job 제어 (foreground와 background)
                ; 프로그램을 terminal에서 프로그램을 실행시키면 그 terminal에선 다른 프로그램을 실행시킬 수 없다.
                  프로그램이 foreground로 실행되기 때문이다. 보통 terminal을 통한 사용자의 입력이 필요한
                  프로그램을 foreground로 실행하지만 사용자의 입력이 필요없거나,
                  terminal을 통한 입력이 필요없는 X Window application들은 foreground로 실행시키면 terminal은
                  아무 작업도 하지 않으면서 다른 프로그램도 실행시킬수 없게 된다.
                  실행 할때 &를 붙여주면 프로그램이 background로 실행된다.
                  ex)  /home/mix1009> msql2d &


     
◆ 유닉스의 용도

    1) Server  
              웹서버(Web server) (HTTP 서버)
                 메일서버 (SMTP서버)
                 파일전송 서버 (ftp서버)
                 원격접속서버 (telnet서버)
                 도메인 네임서버 (DNS서버)

    2) 워크스테이션 ; 작업을 수행하는 시스템


◆ 유닉스 시스템의 기초

 1) 계정 (Login ID) ; 8자 이내의 숫자나 소문자.        같은 ID 불허

    2) 암호 ; 대소문자 구분, 6자이상
                 권장 ; 문자유형(알파벳, 숫자, 특수문자)을 혼합하여 사용.
                          대 소문자를 혼합 사용
                          적어도 6문자 이상 사용
                          사용자가 기억할 수 있는 암호사용
                          암호를 자주 바꾼다.        
         "passwd" 명령을 이용하여 변경가능
    
     3) 원격접속 ; telnet  ; 윈도우스에서 텔넷을 접근하려면 텔넷 창에서 " telnet 시스템주소"를 입력

     4) 접속해제 ;  logout ; 시스템을 종료
                         exit     ; 쉘을 종료


◆ 유닉스의 쉘(Shell)기능 ; 사용자 프로그램과 커널과의 연결하는 역할.

     Kernel - Shell - 사용자 프로그램

  1) 본 쉘 (Bourne shell)
     2) 콘 쉘 (Korn shell)
     3) C 쉘 (C shell)

     시스템이 처음 로그온 하면 미리 정해진 기본쉘이 동작 (login shell)

     변경시 "csh"라고 치면(C shell로 변경)되고, 원래대로(bach) 갈 때에는 "exit"한다.

☞  쉘이 제공하는 기능
     . 명령라인    . 내장명령어   . 환경변수   .  재 지정(Redirection)   . 파이프 (pipe)
     . 자식(sub)쉘   . 백그라운드 작업    . 명령어 치환   . 히스토리   .스크립트     


◆ 유닉스 파일시스템 구조

 

Unix 파일시스템 구조


◆ UNIX ADMIN  ;  UNIX는 멀티유저 시스팀이기 때문에, 각각의 사용자가 사용하는 디렉토리가 따로 있으며,
                           시스템 실행에 중요한 요소인 실행 화일이나 라이브러리 파일은
                           시스템 관리자만이 지우거나 갱신이 가능하도록 되어있다.
  
                           사용자는 자기의 디렉토리(Home Directory) 밑의 화일에 한해서만 자유로이 접근이 가능하다.
                           Home Directory는 /home/{사용자ID}로 되며 로그인해서 쉘을 실행하면 여기서 시작하게 된다.

wow linux 설치시 HDD용량 배분
    swap   ; 256   ; RAM의 2배 정도
    /          ; 60 MB 정도
    /usr     ; 1600 MB 정도
    /tmp     ; 100 MB 정도
    /var      ; 500 MB ; home과 비례
    /home  ; 나머지

</usr>

/usr는 실제 작업을 위한 응용 패키지들이 설치되어 있는 디렉토리이다. 따라서 많은 서브디렉토리를 포함하고 있다.

</usr/bin>

/usr/bin은 대부분의 실행 화일이 위치하는 디렉토리다. 유닉스에서 제공하는 기본 툴들이 대부분 여기 들어있다.

</usr/lib>

/usr/lib는 공유 라이브러리와 정적 라이브러리를 포함하고 있다. 이 화일들은 일반적으로 사용되는 많은 프로그램에서 호출되는 코드들을 포함하고 있다. 어떤 프로그램이 공유 될 수 있는 루틴을 단독으로 포함하지 않고, 그 루틴을 일반 장소인 /usr/lib 안에 저장한다. 이렇게 함으로서 실행 화일의 크기를 작게 만들어 사용자의 공간을 넓힐 수 있다.

</usr/include>

/usr/include는 C 컴파일러를 위한 include 화일들을 포함하고 있다. 이 화일은 데이터 구조 이름과 서브루틴, 상수 같은 C로 작성된 프로그램에서 사용되는 내용을 담고 있다. printf() 함수가 선언되어 있는 stdio.h 같은 헤더 화일을 찾을 수 있다.  

</dev>

/dev 안의 화일들은 디바이스 드라이버들이다. 이것들은 디스크 드라이브, 메모리, CDROM, audio 등과 같은 시스팀 디바이스나 자원들을 액세스하는데 사용된다. (유닉스에서는 모든 디바이스들을 화일과 같이 취급한다.)

</etc>

/etc는 시스템 설정 화일, 프로그램, 유틸리티 등 다양한 프로그램들을 포함하고 있으며 대부분의 화일들은 관리자에 의해 사용되는 것이다.

</tmp>

많은 프로그램들은 여러 정보가 임시 화일 안에 저장되는 것을 필요로 한다. 이런 화일들이 위치할 장소가 /tmp 이다.

</usr/local>

/usr/local은 /usr에 포함된 것과 매우 유사하고, 시스템에 반드시 필요로 하는 것은 아니지만, 매우 유용한 것들을 포함하고 있다. 일반적으로, 시스팀 관리자가 추가의 프로그램을 인스톨할 때 /usr/local 밑에 인스톨하게 된다.
예: /usr/local/httpd : NCSA Web Server가 설치되어 있는 디렉토리
/usr/local/bin : 추가 설치된 프로그램의 실행화일이 있는 디렉토리

</usr/man>

이 디렉토리는 Manual page를 포함하고 있다. Manual Page는 man이나 xman을 사용해서 볼수 있다.



◆ 유닉스의 파일명
  
    - 대문자(A~Z), 소문자(a~z), 숫자(0~9), 밑줄(_), 마침표(.), 쉼표(,)
    - 14문자 까지만 비교하므로 14문자 이내에서 작성.


◆ 유닉스의 파일유형

    -   일반파일
    d   디렉토리
    l    심볼릭 링크
    b   블록 특수파일
    c   문자 특수파일
    p   "pipe"특수파일


○ . 과 ..  ; .은 자신의 디렉토리,   ..은 부모디렉토리 항목

○ 절대경로명 ; /(루트)부터시작하여 해당파일 까지 모든 경로표시.

○ 상대경로명 ; 현재 작업디렉토리 중심으로 부모디렉토리는 ../../directory 등으로 표시

○ 링크만들기

 - 하드링크(hard link) ; 파일 실제 내용인 inode에 대한 정보를 공유.
                     ex.  ln test.txt testlink.txt   ; test.txt 파일을 testlink.txt 로 하드링크.

                       ◇ inode ; ls -il  ;  i 옵션을 주면 파일 왼쪽에 inode번호가 표시된다.

    - 심볼릭링크(soft link) ; 실제로 링크가 되는 것이 아니고 링크된 파일 정보만 가진다.
                     ex.  ln -s test2.txt testlink2.txt   ; test2.txt 파일을 testlink2.txt 로 심볼릭링크.



◆ 파일 접근권한 (permission)  ;  유닉스의 화일 사용 허가  ;
                     유닉스 시스템은 다중 사용자 시스템이기 때문에 다른 사용자들로부터 각자의 화일들을 보호하기 위하여,
                        화일
사용 허가라 개념을 도입한다. 모든 화일은 특별한 사용자나 그룹에게 소유되어 있다.  
                        ls -al 의 명령을 주면 파일이나 디렉토리의 접근 상태를 보여준다.

 

파일유형

user, owner
(소유자)

group

other

-

r

w

x

r

w

x

r

w

x

일반화일

4

2

1

4

2

1

4

2

1

      r ; read(읽기),  w ; write(쓰기),   x ; execute(실행)

user는 화일을 만든 유저,
group은 화일을 만든 유저와 같은 그룹에 있는 유저,
others는 그 밖의 모든 유저를 말한다.

   ◇ chmod (change file modes) 

 - 기호를 이용 접근권한 변경 방법

기호

접근권한 의미

+

부여

chmod o+rw test.txt  ; 파일 test.txt을 사용자에게 읽기와 쓰기 권한부여

-

제거

chmod g-rw test.txt  ; 파일 test.txt을 그룹에게 읽기와 쓰기 권한제거

=

설정

chmod u=rw test.txt  ; 파일 test.txt을 유저에게 읽기와 쓰기 권한설정

chmod u+rw file명 : user에게 read, write 권한을 준다.
(user에게 write권한이 없으면 화일을 지울수도 없다.)
chmod a+r file명 : user, group, other에 read 권한을 준다.
chmod go-wx file명 : group, other에게서 write, execute 권한을 뺐는다.

 - 숫자를 이용 접근권한 변경 방법

 

user

group

other

-

r

w

x

r

w

x

r

w

x

 

4

2

1

4

2

1

4

2

1

7

6

6

chmod 766  ; user에게는 읽기와 쓰기 실행 권한을 부여
                     group에게는 읽기와 쓰기 권한을 부여
                     other에게는 읽기와 쓰기 권한을 부여

  ◇ umask ; 사용자가 파일을 생성 할 때 부여되는 기본 접근 권한 ; 8진수의 보수값으로 설정
                   ex.  umask 011  ; 파일 생성시 permission 766값으로 설정된다.


☞  
◆ ftp ; ftp 사이트에 접속 했을 때 다음과같은 명령사용

명령어

기능

 

dir

디렉토리 보기

 

cd

디렉토리 바꾸기

 

lcd

로컬(client)컴퓨터(내컴퓨터)의 디렉토리 변경

 

hash

다운로드 상태 표시

 

get

파일 다운로드 받기

 

mget

여러개의 파일 다운로드 받기

 

put

파일 올리기

 

mput

여러개의 파일 올리기

 

ascii

아스키모드로 전송하기

 

binary

바이너리 모드로 전송하기

 

!

ftp접속중 내 컴퓨터 명령 실행시 명령어 앞에 붙인다

 

prompt

대화식 모드

 

bye

종료

 

◆ Ws_Ftp  ; http://www.ipswitch.com   ; 대체로 많이 사용하는 FTP

◆ ALFTP  ;
http://www.altools.co.kr   ; 국내에서 만든 FTP

◆ Anonymous FTP ; 누구나 파일일 다운하고 파일을 올릴 수 있는 서비스.
                                ex. 서울대학교  
ftp.snu.ac.kr
                                      데이콤  
ftp.dacom.co.kr

◆ 새롬데이터맨 ; http://www.serome.co.kr  ; telnet접속을 위해 많이 사용되는 애물레이터.

◆ X-manager  ; 네트워크로  연결된 UNIX시스템의 응용프로그램을 Windows에서 실행시키는 소프트웨어.
                        
http://www.netsarang.co.kr

◆ ptk laek gul
cks@disys.korea.ac.kr




- UNIX 기본 명령어 

Linux/Unix 명령어

설 명

MS-DOS 비교

./x

x 프로그램 실행
(현재 디렉토리에 있는 것)

x

/

이전에(↑) / 다음에(↓) 입력했던 명령어

doskey

cd x (또는 cd /x)

디렉토리 X로 가기

cd

cd .. (또는 cd ../ 또는 cd /..)

한 디렉토리 위로 가기

cd..

x 다음 [tab] [tab]

x 로 시작하는 모든 명령어 보기

-

adduser

시스템에 사용자 추가

/

ls (또는 dir)

디렉토리 내부 보여주기

dir

cat

터미널 상의 텍스트 파일 보기

type

mv x y

파일 x를 파일 y로 바꾸거나 옮기기

move

cp x y

파일 x를 파일 y로 복사하기

copy

rm x

파일 지우기

del

mkdir x

디렉토리 만들기

md

rmdir x

디렉토리 지우기

rd

rm -r x

디렉토리 x를 지우고 하위도 다 지우기

deltree

rm p

패키지 지우기

-

df (또는 df x)

장치 x의 남은 공간 보여주기

chkdsk ?

top

메모리 상태 보여주기(q는 종료)

mem

man x

명령어 x에 관한 매뉴얼 페이지 얻기

/

less x

 텍스트 파일 x 보기
(리눅스에서는 더 많은 필터 적용 가능)

type x | more

echo

어떤 것을  echo 화면에 인쇄한다.

echo

mc

UNIX를 위한 노턴 커맨더

nc

mount

장치 연결(예: CD-ROM, 연결을 해제하려면 umount)

-

halt

시스템 종료

-

reboot ([ctrl] + [alt] +[del])

시스템  다시 시작하기

[ctrl] + [del] + [del]

 

고급 명령어

 

chmod <권한> <파일>

파일 권한(permissions) 변경

ls -l x

파일 x의 자세한 상황을 보여줌

ln -s x y

 x에서 y로 심볼릭 링크를 만들어 줌

find x -name y -print

디렉토리 x안에서 파일 y를 찾아서 화면에 그 결과를 보여줌

ps

지금 작동중인 모든 프로세스들을 보여줌

kill x

 프로세스 x를 종료 (x는 ps 명령으로 알 게 된 PID)

[alt] + F1 - F7

 터미널 1-7까지 바꾸기 (텍스트 터미널에서; F7은 X-윈도우(시작될때))

lilo

 부트 디스크를 만듦

 

용어

 

symlink

다른 파일이나 디렉토리로 심볼릭 링크. 윈도유98의 바로가기 같은 것

shell script

여러 명령어들을 차례로 수행하게 한 것. MS-DOS의 배치 파일 같은 것

 

 

♣ ls  ; 도스의 dir 과 같이 현재 디렉토리 안의 모든 파일과 디렉토리명을 표시.
   자세한 정보를 보려면 ls -l 을 사용 합니다  ex) ls -l test.*

   ls -al >test.txt  ; 현재 디랙토리 리스트를 test.txt라는 파일로 출력
   ls -al > lpr  ;  프린터로 바로 출력
   ls  >> test.txt  ; 이전test.txt의 내용에 ls내용을 추가하여 기록.
   ls | sort  ;
   ls -l    ; 화일 허용 여부, 소유자, 그룹, 크기, 날짜 등을 출력한다.
   ls -F   ; 화일의 형태와 함께 출력한다. (/ : 디렉토리, * : 실행화일, @ : 심볼릭 링크 )
   ls -R  ;  서브 디렉토리의 내용을 포함하여 출력한다. 

♣ ls -F ; 이 명령을 주었을 때 파일명 뒤에 붙는 문자로 파일유형을 알 수 있다.
              "/"는 디렉토리, "*"는 실행가능한 파일, "@"는 심볼릭링크
 
♣ mkdir  ; MaKe DIRectory  ; 디렉토리 생성   ex. mkdir home1  ; home1디렉토리 생성

♣ pwd ; print working directory ; 현재 작업 디렉토리를 알려준다.

♣ reboot ;

♣ cd  ; 도스의 cd 명령과 같이 디렉토리를 이동할때 사용 합니다. 이때 도스명령과는 달리
           cd 와 .. 사이에 스페이스를 넣어야 합니다ex) cd ..

♣ cd  ; logon directory로 간다.

♣ cd /  ;root(/)로 간다.

♣ pwd ; 현재 디렉토리를 확인 할때 사용 합니다.

♣ cp ;  화일(들)을 다른 화일 이름으로 복사하거나 다른 디렉토리로 복사한다.
   복사 하려는 파일이 디렉토리일 경우 하위 디렉토리까지 모두 복사 합니다.
            ex) cp -r test1 test2
   cp -i  ; 같은 화일명을 갖는 화일이 있을 경우, 사용자 확인후 복사한다.
   cp -r  ; 서브 디렉토리를 포함한 모든 화일 복사한다.

♣ mv  ; 화일(들)을 다른 화일이나 디렉토리로 이동.
          ex) mv test/data test1/data   ;  test/data 파일을 test1/data 로 이동 합니다.
    mv -f  ; 옮겨질 디렉토리에 존재하는 화일이 있으면 덮어쓴다. (force)
    mv -i  ; 옮겨질 디렉토리에 존재하는 화일이 있으면 확인한다. (interactive)

♣ rm ; 특정 화일(들)을 지우는 명령 . ex) rm test
           유닉스 하에서 화일을 지우면, 복구가 불가능하다.
    rm -i  ; 지우기 전에 확인한다. (interactice)
    rm -r  ; 서브 디렉토리를 포함하여 지운다. (recursive)

♣ mkdir / rmdir  ; 새로운 디렉토리를 만들거나 삭제할때 사용 합니다. ex) mkdir test,   rmdir test

♣ rmdir  ; 비어 있는 디렉토리를 지운다.
               rmdir을 사용할 때는 현재 디렉토리가 지워질 디렉토리 안에 포함되어 있으면 안된다.
               (화일을 포함하고 있는 디렉토리를 지우려면 rm -r을 사용한다.
                이 명령은 많이 사용하지만 사용할때 조심해야하는 명령이다.
                사용자의 디렉토리 전체를 지워버릴수도 있다.)

♣ chmod  ;  파일을 읽고 쓸수있는 권한을 변경할때 사용합니다.
   ex) chmod 666 test
   0 : 모든 허가 안함
   4 : 읽기 허가
   5 : 읽기/실행 허가
   6 : 읽기/쓰기 허가
   7 : 읽기/쓰기/실행 허가

♣ cat  ; 현재 파일의 모든 내용을 출력 합니다   도스의 type 문과 같습니다.
            cat >  or   cat >>  는 DOS에서의 copy con 과 같다.


♣ du  ; 현재 디렉토리와 포함된 서브 디렉토리의 사용 용량을 출력한다.
           ex)  du -k : KByte 단위로 표시

♣ df  ; 하드의 전체 용량 및 남은 용량을 출력한다.
           ex)  df -k : KByte 단위로 표시

♣ adduser  ; root에서 user추가로 만들 때 사용   ex.  adduser study  ;study ID작성

♣ su  ;  ex. su study ; study root로 들어감

♣ passwd  ; password 작성

♣ ls -al  ; 숨김 화일까지 보여준다.

♣ ls -F  ; 이 명령을 주었을 때 뒤에 붙어있는 문자가 "/"는 디렉토리, "*"는 실행가능한 파일, "@"심볼릭 링크의 뜻.

♣ !!  ; 바로 앞 실행을 다시 실행.

♣ 명령어 뒤에 &사용 (백그라운드 작업)  ; 시스템 여유시간에 수행지시.
    
♣ 파이프명령어(|)  ; ex.  ls | sort ; 리스트를 소트
 
♣ alias ; 명령어 치환기능
   alias kk ls -al  ; "ls -al"을 kk로 바꾸어 수행하는 경우

♣ history ; 이전에 사용한 명령을 보여준다.
   ! history번호를 치면 수행

♣ echo $SHELL  ; 사용 shell보기

♣ chsh  ; shell바꾸기

♣ setenv  ;

♣ shutdown

♣ shutdown -r  now

♣ cron  ; 분 시 일 월 요일  ex. 30 4 1 * * ; 매월 1일 4시 30분에 cron 명령실행

♣ floppy disk사용하기
            mnt/floppy 에 설치하는 경우 (root에서)
                            mount  /dev/fd0  /mnt/floppy
                            ls  /mnt/floppy     ; 확인
                            cd  /mnt/floppy
                            ls -al                   ; floppy disk 내용이 보인다


♣ more  ;  주어진 화일의 내용을 한 화면씩 출력시킨다.

♣ man ;  주어진 명령이나 자원들의 매뉴얼을 출력한다.

♣ grep  ;  주어진 패턴(찾을문자)을 포함하는 화일의 라인을 출력시킨다.
               ( -i  ; 대 소문자 무시, -n ; 라인 앞부분에 행번호 붙인다)
              ex)  grep main *.c   ;  *.c 화일 내용중에 main을 포함하는 문자열을 찾아서 화일명과 라인, 그 내용을 출력한다.


♣ find  ;  화일을 찾아주는 유틸리티.
             ex)   find . -name "*.tex" -print  ; 현재 디렉토리(.)에서 그 이하의 모든 디렉토리에서 확장자가 tex인
                                                             확장자를 가진 모든 화일을 찾아서 화면에 출력해준다.


♣ Redirection   ; [ > {file명} , >> {file명} ]
                          이를 이용함으로써 명령의 결과를 화일로 얻을 수가 있다.
                   ex)  /home/mix1009> ls > file-list  ; ls의 결과를 file-list 화일에 저장한다.
                          /home/mix1009> ls -l >> file-list  ;  ls -l의 결과를 file-list에 추가(append)한다.

♣ 파이프(Pipe) ; [ | {명령어} ]
                          파이프라는 것은 여러 명령을 혼합하여 사용할 때, 한 명령의 결과가 다른 명령으로 전송되는 통로라고 이해할 수 있다.
                   ex)  /home/mix1009> ls | sort
                          /home/mix1009> ls -l /usr/bin | more
                          /home/mix1009> ls -al | grep rc | sort


♣ nslookup  ;

♣ arp  ;

♣ ping  ;

♣ rlogin  ;

♣ telnet  ;

♣ netstat  ;

♣ traceroute  ;

♣ iconfig  ;

♣ FTP(File Transfer Protocol)  ;

♣ whois  ;

 

*****************************************************************************************************************************

리눅스에서 자주 쓰이는 명령어들입니다.. 간단한 설명해 둔것입니다..

alias(명령어 간소화하기)
apropos(관련된 명령어 찾기)
arch(컴퓨터 종류 알기)
arp(같은 서브넷의 IP 보여주기)
at(작업 시간 정하기)
atd(계획성 있는 작업 실행하기)
awk(특정 패턴 문자 처리하기)
a2p(펄 파일로 바꾸기)
badblocks(배드 블럭 검사하기)
bc(계산기)
biff(메일 수신 소리로 확인하기)
bg(후면작업; 배경화면 설정)
bind(키나 함수 순서 결합하기)
break(루프 빠져나가기)
cal(달력보기)
builtin(내부 명령어 알아보기)
case(조건 처리하기)
cat(화면상에서 파일 보기)
cd(디렉토리 변경하기)
cfdisk(디스크 설정하기)
chattr(파일 속성 변경하기)
chfn(사용자 정보 변경하기)
chgrp(파일, 디렉토리가 속했던 그룹 바꾸기)
chmod(파일 권한 바꾸기)
chown(파일 주인 바꾸기)
chsh(지정된 셸 바꾸기)
cksum(CRC값을 점검한다)
clear(화면 청소하기)
clock(CMOS 시각을 조정하기)
cmp(파일 비교하기)
colcrt(문자 변환 필터)
colrm(열 삭제하기)
column(가로 정렬하기)
comm(파일 비교 출력하기)
command(명령어 알아보기)
continue(루프 계속돌기)
cp(파일 복사하기)
cpio(복사본 만들기)
crontab(cron을 관리한다)
csplit(파일에 서식, 규칙 정하기)
cut(필요한 필드만 출력하기)
date(날짜 보기)
dd(블럭장치 읽고 쓰기)
debugfs(ext2 파일 시스템 디버깅하기)
declare(변수 선언하기)
df(파일 시스템의 사용량 보기)
dirs(디렉토리 목록 표시하기)
dmesg(부팅 메시지 보기)
dnsdomainname(DNS 이름 출력)
domainname(NIS 이름 출력&설정)
du(디렉토리와 파일의 용량 파악하기)
dumpe2fs(파일 시스템 정보 보기)
echo(표준 출력하기)
eject(장치 해제하기)
elm(메일 관련)
enable(내부 명령어 지정)
env(환경변수 출력하기)
eval(인수 읽기)
exec(셸 명령어 실행하기)
exit(종료하기)
expand(탭을 공백으로 변환하기)
export(변수 지정하기)
e2fsck(파일 시스템 복구하기)
fc(지정된 편집기 받기)
fdformat(플로피 디스크 포맷하기)
fdisk(파티션 나누기)
fg(지정된 작업을 전면 프로세스로 시작하기)
file(파일 종류 보기)
find(파일 찾기)
finger(사용자 정보 알기)
fold(정형화하기)
fmt(정형화하기)
for(반복 실행하기)
free(메모리 사용량 알아보기)
fsck(파일 시스템 검사하기)
fstab(파일 시스템에 대한 고정적인 정보 저장하기)
ftp(파일 전송 프로그램)
fuser(프로세스 ID 출력)
getkeycodes(매핑 테이블 출력하기)
grep(특정 문자(열) 검색하기)
gzexe(실행 파일 압축하기)
gzip(압축하기)
halt(시스템 종료하기)
hash(기억해 두기; index 역할)
head(파일의 앞부분 출력하기)
help(도움말 보여주기)
host(호스트 정보 보기)
history(사용 명령어 목록보기)
hostname(서버 이름 알기)
id(계정 정보 알기)
if(조건문 실행하기)
ifconfig(랜카드에 주소 할당하기)
imolamod(모듈 설치하기)
inetd(인터넷 서비스의 최상위 데몬)
init(실행 단계 정하기)
ispell(철자법 검사하기)
jobs(수행중인 프로세스 알기)
kbd_mode(키보드 모드 출력하기)
kill(프로세스 죽이기)
klogd(커널 로그 데몬)
ldd(공유 라이브러리의 의존성 알기)
less(페이지 단위로 출력하기)
let(정규식 표현하기)
lilo(부팅하기)
ln(링크하기)
locate(패턴에 맞는 파일 찾기)
login(로그인하기)
logger(시스템 로그 기록하기)
logname(사용자 로그인명 보여주기)
logout(로그인 셸 종료하기)
look(특정 단어 검색하기)
losetup(중복 장치 확인하기)
lpd(프린트 데몬)
lpq(현재 프린트 작업 상태 출력하기)
lpr(출력하기)
lprm(대기열에 있는 문서 삭제하기)
ls(디렉토리 내용보기)
lsattr(파일 시스템의 속성 보여주기)
lsdev(하드웨어 장치 출력하기)
lsmod(모듈 정보 출력하기)
mail(메일 관련)
make(컴파일하기)
man(매뉴얼 보기)
mattrib
mbadblocks
mcd
mcopy
mdel
mdeltree
mdir
mesg(메시지를 받을 수 있는지 확인하기)
mformat
minfo
mkdir (디렉토리 만들기)
mke2fs(파일 시스템 생성하기)
mkfs(파일 시스템 만들기)
mknod(특수 파일 만들기)
mkswap(스왑 영역 지정하기)
mlabel
mmd
mmount
mmove
mpartition
mount(장치 연결하기)
more(화면 단위로 출력하기)
mrd
mren
mtoolstest
mtype
mutt(메일 관련)
mv(파일 옮기기)
mzip
netstat(현재 네트웍 상황 보기)
nice(프로세스 우선 순위 변경하기)
od(8진수로 파일 보기)
passwd(암호 입력하기)
pidof(실행중인 프로그램의 프로세스 ID 찾기)
pine(메일 관련)
ping(네트웍 확인하기)
popd(pushd 취소)
ps(프로세스 상태 알기)
pstree(프로세스 상관관계 알기)
pwd(절대경로 보여주기)
quota(디스크 한계량 알기)
rarp(rarp 테이블 관리하기)
rcp(원격 호스트에 파일 복사하기)
rdev(루트, 스왑장치, 램 크기, 비디오 모드를 조사하고 설정하기)
rdate(네트웍으로 시간 설정하기)
reboot(재부팅하기)
rmmod(모듈 지우기)
readonly(읽기 전용으로 표시하기)
renice(프로세스 우선 순위 바꾸기)
reset(터미널 초기화하기)
restore(다시 저장하기)
rlogin(바로 접속하기)
rm(파일 지우기)
rmdir (디렉토리 지우기)
route(라우팅 테이블 추가/삭제하기)
rpm(프로그램 추가/삭제)
rpm2cpio(rpm을 cpio로 변환하기)
rsh(원격으로 명령어 실행하기)
rup(호스트 상태 출력하기)
rusers(호스트에 로그인한 사용자 출력하기)
rwall(호스트 사용자에게 메시지 뿌리기)
script(기록하기)
set(변수값 설정하기)
setup(시스템 관련 설정하기)
showmount(호스트의 마운트 정보 보여주기)
shutdown(전원 끄기)
sleep(잠시 쉬기)
source(스크립트 번역하기)
split(파일 나누기)
ssh(암호화된 원격 로그인하기)
stty(터미널라인 설정 보여주기)
su(계정 바꾸기)
suspend(셸 중단하기)
swapoff (스왑 해제하기)
swapon(스왑 활성화하기)
sync(버퍼 재설정하기)
syslogd(로그인 과정 설정하기)
tac(거꾸로 보기)
tail(문서 끝부분 출력하기)
talk(이야기하기)
tar(파일 묶기)
tcpdchk(tcp wrapper 설정하기)
tcpmatch(네트웍 요청에 대해 예측하기)
tee(표준 입력으로부터 표준 출력 만들기)
telnet(원격접속하기)
test(테스트하기)
times(셸에서의 사용자와 시스템 시간 출력하기)
top(cpu 프로세스 상황 보여주기)
tr(문자열 바꿔주기)
true(종료 코드 리턴하기)
type(유형 보기)
ul(밑줄 처리해서 보여주기)
ulimit(제한하기)
umask(매스크 모드 설정하기)
umount(장치 해제하기)
unalias(별명 제거하기)
uname(시스템 정보 보기)
unexpand(공백 문자를 탭으로 변환하기)
uniq(중복된 문장 찾기)
useradd(사용자 계정 만들기)
userdel(계정 삭제하기)
usermod(사용자 계정정보 수정하기)
unset(설정 변수 해제)
uptime(시스템 부하 평균 보여주기)
users(로그인된 사용자 보여주기)
w(시스템에 접속한 사용자 상황 알아보기)
wait(프로세스 기다리기)
wall(모든 사용자에게 메시지 보내기)
wc(문자, 단어, 라인수 세기)
whatis(명령어의 간단한 설명보기)
while(루프 명령어)
who(사용자 알기)
write(콘솔 상에서 간단한 메시지 보내기)
xcopy(반복적으로 복사하기)
XFree86
ypchfn(NIS에서 사용하는 chfn 명령어)
ypchsh(NIS에서 사용하는 chsh 명령어)
yppasswd(NIS에서 사용하는 passwd 명령어)
zcat(압축 파일 보기)
zcmp(압축 파일 비교하기)
zforce(강제로 gz 만들기)
zgrep(압축 상태에서 grep 실행하기)
zmore(압축 상태에서 more 실행하기)
znew(.Z 파일을 .gz로 다시 압축하기)

*****************************************************************************************************************************

 
압축관련


♣ tar  ; 여러 파일들을 하나로 묶는 역할을 하는 명령.
          ( -c ; 묶음 파일 생성,  -x  ; 하나의 파일명로 묶어진 파일을 푼다. -f ;파일명 보존)
          ex) tar cf {디렉토리 or 파일} {file name.tar}  ; 하나의 파일로 묶을 때
               tar xf {file name.tar}  ; 하나 파일로 풀때
               tar vf {file name.tar}  ; 하나의 파일로된 내용 보여줌
               tar tf {file name.tar}  ; 목록 보기

               ex : tar cfv filename.tar 디렉토리 or 파일
                      tar cfv 0510xxx.tar www    : www디렉토리 모두를 0510xxx.tar로 하나의 파일로 묶을 때


♣ gzip (GNU zip)

♣ compress / uncompress




인증관련

.htaccess  을 아래 내용으로 text파일로 작성하여 해당 디렉토리에 이스키모드로 FTP를 이용하여 올림
                                       (또는 vi 편집기로 작성)
 

AuthName      Name < == 그냥 이름

AuthType      Basic

AuthUserFile /home/user_id/www/folder/.htpasswd <== pwd 명령어로 해당 경로 입력

AuthGroupFile /dev/null

<Limit GET POST>

require       valid-user

</Limit>


telnet 접속하여 아래와 같이 입력 하면
.htpasswd가 생성됨

htpasswd -c .htpasswd 원하는아이디  enter

New password: <== 패스워드 입력
Re-type new password: <== 패스워드 재입력



 

커널(kernel) : 하드웨어와 소프트워어 연결 中 ; Windows 경우 부팅시 구름 그림 화면 나오는 시간에 행해짐

kernel / 커널

운영체제에서 가장 기초적이고 핵심적인 기능을 수행하는 부분으로 운영체제의 다른 부분들에 대한 기본 서비스를 제공하며 주기억 장치에 상주하게 된다.

커널은 주로 UNIX 운영체제에서 사용되는 용어이며, 같은 의미로 nucleus와 core도 많이 사용된다. 커널은 shell과 대조되는데, shell은 운영체제의 가장 외곽 부분으로 사용자들의 커맨드와 대화를 수행한다.

커널은 그 시스템의 모든 자원(하드웨어 및 소프트웨어)을 관리하고, 준비해서 사용자들의 작업이 수행될 수 있게 한다. 커널의 기능은 아래과 같이 크게 몇 부분 구성되어 있다.

  • 시스템의 메모리와 각 프로세스의 할당문제를 관리하는 기능
  • CPU를 사용하는 순서를 정하는 일. 즉 모든 사용자가 원하는 작업을 동시에 할 수 있도록 하는 일
  • 시스템에서 처리되는 각종 데이타를 변환, 전송 하는 기능
  • 쉘과 연관되어 쉘에서 지시한 작업을 수행하고, 그 결과를 쉘로 보내는 일
  • 파일 시스템의 접근 권한을 처리하는 일