한국리눅스유저그룹 - LUG KOREA 토크박스/가입인사 | SW/HW 사용기 | LUG 위키 | wiki 영어공부 | 사이트맵 | 즐겨찾기 | Home
[메일링리스트] - Slashdot | Kernel News | GNOME | KDE | linux.kernel | C++ | wxWidgets | Java | Python | Android
구인/서버,개발자 | 장터 | 리눅스 QA | JSP & JAVA 입문 | 쉘 스크립트 입문 [오타]| gcc/C++ 입문 | CentOS 리눅스구축관리실무 [오타], [찾아보기]
공지 사항 : 유익한 문서/글 자료실 : 보안 : 임베디드 : 안드로이드 : 회원 랭킹 : 한국LUG 소개
2024년 11월 24일 일요일
현재접속자 : 198 (0)
보안 LOGIN :  자동 [ID/PASS 찾기]
총 회원: 20,028명
Today Join: 0명
지역 모임 게시판 : [대구지역] , [서울지역]

[보안로그인 인증서설치]
[회원 이메일 재인증하기]

MY IP : 3.144.42.233





[사이트내 검색]
  ◆ Translation
[ Foreigner Join ]

[ Korean to English ]

[ Korean to Japanese ]

  ◆ 유용한 문서 읽기
  • 리눅스 관련문서
  • 리눅스 맨페이지 검색
  • 리눅스 커널 소스
  • C/C++ Reference
  • C Programing
  • C Socket Programing
  • UNIX IPC
  • Automake/Autotools
  • Python Document
  • wxWidgets Document
  • PHP Document
  • JDK5 API Document
  • JDK6 API Document
  • J2EE API Document
  • JSTL 1.1 Reference
  • MySQL Reference
  • Iptables Tutorial
  • Bash Scripting Guide
  • Android Reference
  • Web Programming
  • JQuery Tutorials
  • node.js guide
  • node.js docs
  •   ◆ LUG 세미나 자료
      ◆ 개발자 게시판 링크
      ◆ 전체 최근게시물
    [ 100일 베스트 100 게시물 ]
    [ 전체 베스트 100 게시물 ]
    * [코][CentOS 리눅스 …
    * [코][CentOS 리눅스 …
    * 가입인사요
    * bacula 백업 서비…
    * 안녕하세요
    * [코]가입인사 드립…
    * [코]debian 원격 CPU …
    * [코]debian 원격 CPU …
    * [코]debian 원격 CPU …
    * [코]debian 원격 CPU …
    * [코]debian 원격 CPU …
    * [코]debian 원격 CPU …
    * debian 원격 CPU …
    * 가입인사 드립…
    * [초대] 아시아 …
      ◆ LUG 회원 동지분들

  • 총회원 : 20,028명

  • 최근 7일간 가입자 : 0명

  • 박원진[경기][10-08]
    권수혁[서울][10-06]
    임호진[서울][10-02]
    손주민[KR][10-01]
    Elliot[KR][09-30]
    김태욱[충남][09-28]
    최선길[서울][09-26]
    조규선[서울][09-26]
    임형규[경북][09-25]
    윤태준[서울][09-24]
      ◆ Recommend Book
    리눅스 입문, 서버운영, 개발입문을 하실분들은 아래 도서를 탐독하시기 바랍니다.

    [ 저자 : 김태용 ]
    1. CentOS 리눅스구축관리실무[출간]
  • [관련자료 링크]
  • [찾아보기(색인)]

    2. 김태용의 gcc와 C++ 기초 입문::gcc로 공부하는 C++ programming과 wxWidgets GUI 개발[출간]
    3. 김태용의 쉘 스크립트 프로그래밍 입문[출간]
    4. 김태용의 JSP 웹 프로그래밍 입문[출간. 2011.01]

  •   ◆ Sponsor
    DNS Powered by DNSEver.com
      ◆ OS, Office 다운로드
    [Download - x86, 32bit]
    CentOS 5.0 커널 업데이트
    * Android Platform
    Linux + Dalvik vm
    * CentOS 5.6
    DVD 넷인스톨시디
    * Fedora 8
    DVD, 라이브시디
    * Fedora 12
    DVD, 라이브시디
    * Fedora 이전버전
    * Ubuntu 9.10 CD
    CD, Kubuntu 9.10
    * VirtualBox
    All Platform
    * 오픈오피스 3.X
    다운로드 사이트
    * Code::Blocks(GCC)
    Code::Blocks 다운로드
    * CodeLite(GCC)
    CodeLite 다운로드
    * 이클립스
    이클립스 다운로드
    * Windows Text Editor
    PsPad
    notepad++
    Komodo Editor, AcroEditor
    * 윈도우용 한글 Putty
    한글 Putty 0.60.h

    [ 한국LUG 소개 ]
    [ Administrator Contact ]
    리눅스용 네이트온 다운로드
      ◆ LUG 접속자 수(IP 수)

    최근 방문자 IP수

    32564
    1137
    1100
    2419
    1297
    1224
    19 20 21 22 23 24
    최대 : 32,564
    전체 : 4,458,201




    Will be Prosumer's Revolution and Technical Revolution in the Future!
    Linux User/Developer is also Windows User/Developer... Cross Platform Engineer...

    "21C 공학인을 대통령, 국회의원으로 만들자!"
    "더욱 더 많은 동지분들이 공학제국 건설에 동참할 수 있도록 널리 알려주세요~" [ F = m * a ]
    과학기술/공학인이 대한민국 국회 의석의 50% 이상을 확보하는 그날을 위하여~ ^___^

  • 한국리눅스유저그룹은 공학인들의 커뮤니티입니다.(http://www.lug.or.kr)
  • 로그인하면 100포인트씩 추가됩니다(1일 1회).
  • 질문을 하기전에 먼저 문서를 검색해서 읽어봅시다! (RTFM : Read The Fine Manual)
  • LUG 동지 여러분께서는 자신이 알고 있는 작은 지식이라도 주저하지 말고 지금 당장 포스팅하시기 바랍니다.
  • 한국리눅스유저그룹 Home ▶ 김태용의 리눅스 쉘 스크립트 프로그래밍 입문
    [본문 프린트하기]
       2.4. 프로세스와 쉘(Process and Shell)
      글쓴이 : 김태용 [PO : 188,338] 
      작성시간 : 2008-08-11 10:10  
      업데이트 :
    2008-08-11 10:10 
      조회 :
    15204 
      태그 : 프로세스와 쉘, 시스템 콜

    2.4. 프로세스와 쉘

    앞장에서 프로세스와 쉘에 대해서 간단히 알아보았다. 이번에는 프로세스와 쉘의 관계에 대해서 알아보자.

    프로세스란 유일한 PID 번호에 의해 식별될 수 있는 실행 프로그램이다. 커널은 프로세스를 제어하고 관리한다. 프로세스는 실행 프로그램의 데이터와 스택, 프로그램 포인터와 스택 포인터 그리고 프로그램을 실행하기 위해 필요한 모든 정보들로 구성되어 있다. 쉘은 로그인 프로세스를 완료했을 때 시작하는 특별한 프로그램이다. 즉 쉘은 프로세스인 것이다. 쉘은 PID 그룹에 의해 식별되는 그룹 프로세스에 소속된다. 오직 하나의 프로세스 그룹은 하나의 터미널을 제어한다. 이 말은 포그라운드에서 실행될 수 있다는 뜻이다. 로그인을 했을 때 쉘은 터미널의 관리를 받고 있으며, 프롬프트에서 명령을 타이핑받기 위해 기다린다.

    로그인을 했을 때 시스템은 GUI를 보여줄 수 있고, 쉘 프롬프트를 보여주는 터미널을 시작할 수도 있다. 만약 리눅스 사용자라면 쉘은 Xwindow 시스템을 시작하기 위한 프로세스를 시작한다. Xwindow가 시작되면 윈도우 매니저 프로세스(gdm, kdm등)가 실행되고 가상 데스크탑을 제공하게 된다. Xwindow가 실행되면 각 윈도우 매니저에서 제공하는 터미널을 사용하여 쉘에 접근할 수 있다.

    다중 프로세스들은 리눅스 커널에 의해 실행되고 모니터링되며, 각 프로세스들은 유저의 눈에 띄지 않고 CPU의 작은 조각에 할당된다.

    2.4.1. 실행중인 프로세스는 어떤 프로세스인가?

    앞장에서 ps 명령에 대한 소개는 잠시 했었다.

    ps 명령은 현재 실행되고 있는 프로세스들의 목록을 보여주는데, 많은 옵션들을 가지고 있다.

    아래 예제는 리눅스에서 유저에 의해 실행되고 있는 모든 프로세스를 보기 위한 옵션이다.

    # ps aux
    # ps -ef

    [root@localhost ~]# ps aux
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root         1  0.0  0.1   2060   624 ?        Ss   04:55   0:00 init [3]
    …중략…
    root      6279  0.0  0.0   1652   424 tty1     Ss+  04:56   0:00 /sbin/mingetty
    root      6280  0.0  0.0   1656   428 tty2     Ss+  04:56   0:00 /sbin/mingetty
    root      6281  0.0  0.0   1652   424 tty3     Ss+  04:56   0:00 /sbin/mingetty
    root      6282  0.0  0.0   1656   424 tty4     Ss+  04:56   0:00 /sbin/mingetty
    root      6290  0.0  0.0   1652   424 tty5     Ss+  04:56   0:00 /sbin/mingetty
    root      6293  0.0  0.0   1652   420 tty6     Ss+  04:56   0:00 /sbin/mingetty
    root      7193  0.0  0.2   6100  1284 pts/0    S    06:32   0:00 su -
    root      7194  1.5  0.2   5868  1448 pts/0    S    06:32   0:00 -bash
    root      7222  0.0  0.1   5452   936 pts/0    R+   06:32   0:00 ps aux
    [root@localhost ~]#

    위의 ps 명령의 결과에서 init 프로세스의 PID가 1번인 것을 확인할 수 있으며, su – 명령이 수행되는 프로세스 번호가 7193번임을 알 수 있다.

    프로세스 목록을 트리형식으로 보기 위해서는 pstree 명령을 사용할 수 있다.
    pstree 명령을 사용하면 부모 프로세스와 자식 프로세스들간의 관계를 쉽게 파악할 수 있다.

    프로세스 트리를 보면 최상위 부모 프로세스인 init 프로세스로부터 수 많은 프로세스들이 자식 프로세스로 생성되어 있는 것을 확인할 수 있으며, 각 자식 프로세스들도 자신들만의 자식 프로세스를 가지고 있는 것도 확인할 수 있다. (아래 예제에서 pstree의 결과값이 너무 길어서 일부분은 삭제했음)

    [root@localhost ~]# pstree
    init─┬─acpid
         ├─atd
         ├─automount───4*[{automount}]
         ├─httpd───8*[httpd]
         ├─kthread─┬─aio/0
         │         ├─ata/0
         │         ├─ata_aux
         │         ├─cqueue/0
         │         ├─kacpid
         │         ├─kauditd
         │         ├─kblockd/0
         │         ├─khubd
         │         ├─2*[kjournald]
         │         ├─kmpathd/0
         │         ├─kondemand/0
         │         ├─kpsmoused
         │         ├─kseriod
         │         ├─kswapd0
         │         ├─nfsd4
         │         ├─pccardd
         │         ├─2*[pdflush]
         │         ├─rpciod/0
         │         ├─scsi_eh_0
         │         └─scsi_eh_1
         ├─6*[mingetty]
         ├─mysqld_safe───mysqld───9*[{mysqld}]
         ├─2*[portsentry]
         ├─python
         ├─sshd───sshd───sshd───bash───su───bash───pstree
         ├─syslogd
         ├─udevd
         ├─vsftpd
         ├─watchdog/0
         ├─xfs
         └─xinetd
    [root@localhost ~]#

    2.4.2. 시스템 콜이란 무엇인가?

    쉘은 다른 프로세스를 생성할 수 있다. 프롬프트 또는 쉘 스크립트로부터 명령을 실행 했을 때 쉘은 빌트인 내부 코드에서 또는 디스크 저장장치에서 명령을 찾고, 실행된 명령을 정렬한다. 이와 같은 작업은 커널에 의해 이루어 지는데, 이것을 시스템콜이라고 한다.

    시스템 콜은 커널 서비스를 요청하고, 시스템의 하드웨어에 접근할 수 있는 유일한 프로세스이며, 다수의 시스템 콜들은 프로세스들을 생성하고, 실행하고, 종료할 수 있다.

    참고 : grep 명령은 "grep [옵션] [패턴]" 형식을 사용하여 패턴에 맞는 문자를 가지고 있는 줄을 찾아내는 명령어이다(print lines matching a pattern). 이와 유사한 명령으로는 egrep와 fgrep가 있다. grep 관련은 "man grep"를 사용하여 맨페이지를 참고하기 바란다.





    현재 쉘의 환경변수값은 env 명령을 사용하면 모두 볼 수 있다.

    [root@localhost ~]# env
    HOSTNAME=localhost.localdomain
    SHELL=/bin/bash
    TERM=xterm
    HISTSIZE=1000
    USER=root
    LS_COLORS=no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:*.cmd=00;32:*.exe=00;32:*.com=00;32:*.btm=00;32:*.bat=00;32:*.sh=00;32:*.csh=00;32:*.tar=00;31:*.tgz=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.bz=00;31:*.tz=00;31:*.rpm=00;31:*.cpio=00;31:*.jpg=00;35:*.gif=00;35:*.bmp=00;35:*.xbm=00;35:*.xpm=00;35:*.png=00;35:*.tif=00;35:
    MAIL=/var/spool/mail/root
    PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
    INPUTRC=/etc/inputrc
    PWD=/root
    LANG=ko_KR.UTF-8
    SHLVL=1
    HOME=/root
    LOGNAME=root
    CVS_RSH=ssh
    LESSOPEN=|/usr/bin/lesspipe.sh %s
    G_BROKEN_FILENAMES=1
    _=/bin/env
    [root@localhost ~]#

    2.4.3. 프로세스 생성과 시스템 콜

     fork 시스템 콜

    fork 시스템 콜에 의해 프로세스가 생성된다. fork 시스템 콜은 콜 프로세스의 복사본을 생성한다. 새로운 프로세스는 부모 프로세스로부터 생성된 자식 프로세스가 된다. 자식 프로세스는 fork가 호출된 다음 실행을 시작하고, 이 두 프로세스는 CPU를 공유하게 된다. 자식 프로세스는 부모 프로세스의 환경, 오픈된 파일, 실제적인 유저 ID, umask, 현재 작업 디렉토리, 시그널의 복사본을 가지게 된다.

    명령을 타이핑했을 때 쉘은 명령 라인을 파싱하고, 첫 번째 단어가 빌트인 명령인지 디스크에 존재하는 실행 명령인지 판단한다. 만약 빌트인 명령이라면 쉘은 곧바로 처리하고, 만약 디스크에 있다면 쉘은 부모 쉘의 복사본을 만들기 위해 fork 시스템 콜을 호출한다. 자식 프로세스는 명령을 찾기 위해 패스(PATH)를 검색하고, 리다이렉션, 파이프, 명령 치환, 백그라운드 프로세싱을 위한 파일 디스크립터를 설정한다. 자식 프로세스가 동작하는 동안 부모 프로세스는 잠시 멈춘다(wait).




     wait 시스템 콜

    부모 쉘은 자식 쉘이 리다이렉션, 파이프, 백그라운드 프로세싱등을 수행하는 동안 잠시 대기상태로 된다. wait 시스템 콜은 자식 프로세스 하나가 종료될 때까지 부모 프로세스를 대기상태를 유지한다. 만약 wait가 성공한다면 자식 프로세스가 종료되고 종료 상태를 가지고 있는 자식 프로세스의 PID를 리턴한다. 만약 자식 프로세스가 종료되기 전에 부모 프로세스가 종료된다면 init 프로세스는 자식 프로세스를 고아가 된 좀비 프로세스(부모 프로세스가 없다.)로 만들어 버린다. wait 시스템 콜은 부모를 대기상태로 만드는 것뿐만 아니라, 프로세스가 정상적으로 종료하도록 보증하는 역할을 한다.

     exec 시스템 콜

    터미널에 명령을 수행한 다음, 쉘은 새로운 쉘 프로세스를 fork한다(자식 프로세스). 앞서 언급한 것과 같이 자식 쉘은 실행하기 위해 타이핑된 명령을 수행해야 한다. 이것을 exec 시스템 콜이라고 부른다. 사용자 명령은 실행가능한 명령임을 기억하자. 쉘은 새로운 프로그램을 위해 패스(PATH)를 검색 한다. 만약 프로그램이 발견되면 쉘은 아규먼트로써 명령의 이름과 함께 exec 시스템 콜을 호출한다. 커널은 이 새로운 프로그램을 메모리에 로드하며, 자식 쉘은 새 프로그램으로 오버랩된다. 새 프로그램은 자식 프로세스가 되고, 실행을 시작한다. 새 프로세스가 자신만의 로컬 변수들과 모든 환경 변수, 오픈 파일, 시그널을 가지고 있지만 현재 작업 디렉토리는 새 프로세스에게 넘어간다. 이 작업이 끝나면 자식 프로세스는 종료하고, 부모 쉘은 대기상태(wait)를 벗어나서 다시 시작된다.

     exit 시스템 콜

    새 프로그램은 exit 시스템 콜을 실행함으로써 언제라도 중지될 수 있다. 자식 프로세스를 종료할 때 자식 프로세스는 sigchild 시그널을 보내고, 자식의 종료상태를 부모 프로세스가 받아들이도록 대기한다. 종료상태는 0에서 255까지의 숫자이다. 종료상태 0은 프로그램이 성공적으로 실행되었다는 의미이며, 0이 아닌 종료상태라면 프로그램 실행이 실패하였다는 의미이다.

    예를 들어 만약 명령라인에 ls 명령을 타이핑했다면 부모 쉘은 자식 프로세스를 fork하고 대기상태가 된다. 그리고 자식 쉘은 ls 프로그램을 exec 시스템 콜을 호출한다. ls 프로그램은 자식으로써 실행되고, 부모로부터 모든 환경 변수, 오픈 파일, 유저 정보, 상태 정보등을 물려받는다. 새 프로세스의 실행이 끝나면 종료되고, 부모 쉘은 다시 깨어나게 된다(wake up). 이제 프롬프트가 스크린에 보여지고, 쉘은 다른 명령을 위해 기다리게 된다. 쉘은 종료된 마지막 명령의 종료상태를 가지고 있는 특별한 빌트인 변수를 가지기 때문에 이 변수를 출력해 보면 프로그램의 종료상태를 알 수 있다. 리눅스 쉘에서의 마지막에 실행한 프로그램의 종료상태 변수를 알고 싶다면 "echo $?"를 실행해 보자.

    아래 예제를 보자.

    [root@localhost ~]# cp ls.txt lscopy.txt
    [root@localhost ~]# echo $?
    0
    [root@localhost ~]# cp 2008 2009
    cp: cannot stat `2008': 그런 파일이나 디렉토리가 없음
    [root@localhost ~]# echo $?
    1
    [root@localhost ~]#

    위 예제에서 cp 명령은 파일을 복사하기 위한 명령이다. 현재 존재하는 ls.txt 파일을 lscopy.txt로 복사한 다음, 종료상태를 보기 위해 "echo $?" 명령을 실행해보면 0을 출력해 주고 있다. 종료상태가 0이므로 프로그램이 정상적으로 실행되었고, 종료되었음을 알 수 있다. 그리고 현재 디렉토리에 존재하지 않는 2008 파일을 2009 파일로 복사하려고 했지만 파일이 존재하지 않기 때문에 에러메시지를 보여준다. 그리고 현재의 종료상태를 출력해 보면 1을 출력해 주기 때문에 앞서 실행한 명령은 정상적으로 실행, 종료되지 않았음을 알수 있다.

     프로세스 종료하기

    앞장에서 잠시 언급한 내용이다. 프로세스는 <Ctrl+c> 또는<Ctrl+\>키를 사용하여 종료할 수 있으며, kill 명령을 사용해서 종료할 수도 있다. kill 명령은 백그라운드 job을 종료할 때와 터미널이 반응이 없을 때 사용하여 프로그램을 종료할 수 있다. kill 명령은 PID, job 컨트롤, job 번호등을 파라미터로 사용하여 프로세스를 종료할 수 있는 빌트인 쉘 명령어이다. PID 번호를 찾기 위해서는 ps 명령을 사용하면 된다.

    아래 예제를 보자.

    [root@localhost ~]# sleep 120&
    [1] 7490
    [root@localhost ~]# ps
      PID TTY          TIME CMD
     7193 pts/0    00:00:00 su
     7194 pts/0    00:00:00 bash
     7490 pts/0    00:00:00 sleep
     7491 pts/0    00:00:00 ps
    [root@localhost ~]# kill 7490
    [root@localhost ~]# ps
      PID TTY          TIME CMD
     7193 pts/0    00:00:00 su
     7194 pts/0    00:00:00 bash
     7492 pts/0    00:00:00 ps
    [1]+  종료됨               sleep 120
    [root@localhost ~]#

    먼저 아무 작업도 하지 않는 sleep 명령을 사용하여 120초 동안 멈추도록 백그라운드로 실행하면 결과에서 보는것과 같이 백그라운드로 실행된 프로세스 번호를 보여준다. ps 명령으로 프로세스 번호를 출력해 보면 7490번 PID로 sleep 명령이 실행되고 있음을 알 수 있으며, kill 7490을 실행하여 7490번 PID 번호를 가지는 프로세스를 종료하고 있다. 마지막으로 ps를 실행해 보면 sleep 120 명령을 종료했다고 알려주고 있다.

    kill 명령의 다양한 옵션과 시그널에 대해서는 앞장을 참고하자.



  • 눈팅만으로는 전체글을 볼 수 없습니다. 로그인하셔야 합니다.

    - 日新又日新 -
    한국LUG: http://www.lug.or.kr
    이메일 :
    페이스북 :
    네이트온 메신저:

    * 2007년 *
    1. CentOS 리눅스 구축관리실무 집필
    2007년 12월 출판 - 출판사 : (주)수퍼유저코리아
    * 2009년 *
    2. 김태용의 C++ 기초 입문 :: gcc로 공부하는 C++와 wxWidgets GUI 집필
    2009년 03월 출판 - 출판사: (주)수퍼유저코리아
    3. 김태용의 리눅스 쉘 스크립트 프로그래밍 입문 집필
    2009년 9월 출판 - 출판사: 제이펍
    * 2011년 *
    4. 김태용의 JSP 웹 프로그래밍 입문
    2011년 1월 출판 - 출판사: 제이펍

  • 인생목표 프로젝트
    - 공학/기술인의 위상을 높이고, 공학과 기술중심의 TechNation Korea 건설을 위한 공학정치 실현
    - 공학/기술인을 대한민국의 수장으로 만들기
    - 1000만 달러 벌기 -> 우수 공학인재 서포팅하기

    서식지 : 대구 어느 골짜기..
    Who am I?

    [한국리눅스유저그룹]의 글을 퍼가실때에는 반드시 [출처]를 표시해 주시는 센스가 필요합니다!
    지금 이시간, 공부하고 있는 당신은 머지않아 최고가 될 것입니다. 즐겁게 공부하시고, 힘내십시오!
    포스팅 글이 유용하셨다면 RSS를 구독하시면 됩니다.
    유용하고, 좋은글 포스팅 바랍니다. 포스팅된 글은 (전세계)? 대부분의 소셜 사이트에 포스팅됩니다.




  • 염진호 [PO : 2,804]   2012-04-06 07:59:13
    몇번을 다시 보게 되네요 ..
    잘 보겠습니다~^^
    [게시판 맨위로]
    최용호 [PO : 1,240]   2011-05-17 11:36:18
    교수님께 배우던 수업이 새록새록 기억이 나네요 ^^ 

    그때는 왜 이렇게 중요하다는걸 몰랐을가요? ㅋㅋㅋ
    [게시판 맨위로]
    고영석 [PO : 226]   2009-07-28 15:21:33
    좋은글 감사합니다.
    [게시판 맨위로]
    [본문 프린트하기]

    [포인트 정책] :: 글읽기 : -10점(글쓴이는 포인트 받음), 글쓰기 : +20점, 코멘트 : +10점, 다운로드 : -200점
    총조회수 : 325,628회 | 전체글 : 123건 | 게시글 : 18건 | 코멘트 : 105건
    번호 제목 글쓴이 날짜 조회
    [오타정정] - 김태용의 리눅스 쉘 스크립트 프로그래… (6) 김태용
    PO : 188,338
    10-12 25546
    [추천사/서평]김태용의 쉘 스크립트 프로그래밍 입문… (41) 김태용
    PO : 188,338
    07-30 73662
    3 man awk | col -b | cat (1) 김태용
    PO : 188,338
    09-04 9983
    2 2.4. 프로세스와 쉘(Process and Shell) (3) 김태용
    PO : 188,338
    08-11 15205
    1 김태용의 리눅스 쉘 스크립트 입문 도서를 위한 게시… 김태용
    PO : 188,338
    08-09 11190
     1  2
    [게시판 맨위로]
    한국LUG는 대한민국의 리눅스 지식인[사용자/개발자]들의 커뮤니티입니다. [매년 1~2회의 공개세미나 개최]
    한국LUG : 울산 - 광주 - 전북 - 인천 - 대전 - LUG 위키

    [Linux Distribution] : CentOS | Ubuntu | Fedora | WhiteBox | Debian | Slackware | Gentoo | openSuSE

    "Linux" is a registered trademark of Linus Torvalds. "Linux is Kernel"
    - 리눅스는 공짜가 아니라 자유[Free & Effort]입니다 -
    [인터넷 서점/출판사 링크] : 강컴 | 알라딘 | 인터파크 | 예스24 | 교보문고 | 수퍼유저코리아 | 제이펍
    한국LUG 사이트는 1024 x 768 해상도(운영자 노트북:14")에 최적화 되어 있습니다. : LINUX FANSITE
    WWW.LUG.OR.KR Server is made by CentOS Linux, P4 1.8G, Memory 512MB, Main HDD 160GB, Backup HDD 40GB and LAMP, qmail MTA.
    CentOS Linux & Mozilla Firefox UTF-8 Base Created.
    visitor stats
    1998-2024 www.lug.or.kr   Directed By Great Dragon, Kim.   Top
    LUG 포인트 정책 : [회원가입 : +100점] [로그인(하루한번) : +100점] [글쓰기 : +20점] [코멘트 : +10점] [다운로드 : -200점] [질문 포인트 : 최소 200점]
    데스크탑 프로그래밍(gcc, g++, wxGTK[wxWidgets] 등)은 "Fedora"를 사용하고, 서버 운영(WEB, FTP 등)은 "CentOS"를 사용하시길 권장합니다.
    도전하는자, 자신을 투자하는자만이 뜻하는바를 이룰 수 있다.
    Information should be Exchanged with Interactive, not One Way Direction.
    준회원, 정회원, 우수회원, VIP회원, 기업회원, 관리자
    Be Maker!
    인생에서, 100% 순이익을 보장하는건 없다. 1%의 지식을 나눔으로써, 가끔씩 손해볼 필요도 있다.
    그대가 가진 1%의 지식만이라도 공공을 위해 포스팅하라. 손해본다는 생각이 앞선다면 그대의 인생은 힘들어질것이다.
    자신이 가진 지식의 1%도 투자하지 않고, 오로지 자신의 이익만 탐하는자와는 동지가 되지마라.
    만나서 대화하면 모두 좋은 사람들이지만, 유독 인터넷에서만 자신을 밝히지 않고, 좀비로 서식하는 사람들이 많다.
    부지불식간[不知不識間], 좀비(하류) 인생이 될지도 모르니, 항상 자신을 경계하도록 하라.
    홈으로~
    [도서 안내]
    1. CentOS Linux
    2. gcc로 공부하는 C++
    베스트셀러 입성^^

    3. 쉘 스크립트 입문
    4. JSP 입문

    아래 배너들은 LUG 세미나 모임에 도움을 주신(실) 멋진 기업들입니다. ^^