제2의 비엔지니어 인생관을 꿈꾸며

Posted
Filed under Study

 1) 리눅스시스템 들어가기와 나가기

  1] 시스템 로그인 - login
   사용자 시스템에 접속할 수 있는 허가를 받는 과정이다. ID 입력과정과 Password입력과정을 거친다.

ex)
---------------------------------------------------------
1. 일반사용자 로그인 시
login: freekgb <---user id 입력
Password: <---password 를 입력 , 보안상이유로 보이지 않음
Last login: Wed Mar  1 14:03:28 from 166.104.37.190
 
[freekgb@hlug ]$  <--로그인 성공. 사용자 프롬프트가 보이는 상태
---------------------------------------------------------
2. root 로그인 시
login: root
Password:
[root@hlug ]# <---일반유저 로그인과 틀린점은 프롬프트가 #이다
  <---프롬프트구분으로서 root로긴 상태임을 구분해줌
---------------------------------------------------------

  2] 시스템 빠져 나가기 - logout
   시스템에서 빠져나오는 과정이다.
   -명령 : logout

ex)
--------------------------------------------------------
[freekgb@hlug ]$ logout
--------------------------------------------------------

  3] 시스템 종료 - shutdown, halt
  시스템을 종료시킨다. 셧다운의 권한은 오직 root만이 가능하다.
  -명령 : shutdown, halt

ex)
---------------------------------------------------------
[root@hlug ]# shutdown -h  20:00 <---h 옵션을 이용하여 시간설정
---------------------------------------------------------
[root@hlug ]# shutdown -r  now  <---now(지금) -r(reboot)
---------------------------------------------------------
[root@hlug ]# halt                      <---강제종료
---------------------------------------------------------

 2) 리눅스 시스템에서 돌아다니기

  1] 디렉토리 이동 - cd (change directory)
  -경로지정방식 :
 상대경로:현재경로에서부터 상대적인 위치
 절대경로:/부터 정확하게 지정해 주는 방법
  -경로 이동명령(change directory)
  -명령 : cd (사용법: cd 상대경로지정 or 절대경로지정)

ex)
---------------------------------------------------------
디렉토리 구조를 다음과 같이 가정
/---a---aa---aaa
 |   |
 |   |---ab---aba
 |
 |---b--ba
 
현재위치 aa라고 가정
[ranma96@hlug ]$cd aaa  <---aaa디렉토리도 이동
[ranma96@hlug ]$cd ..      <---바로 상위 디렉토리인 aa로 이동
[ranma96@hlug ]$cd ../ab/aba    <---바로 상위 디렉토리기준으로 aa/aba로 이동
[ranma96@hlug ]$cd /a/ba <---절대경로 /b/ba로 이동
[ranma96@hlug ]$cd  <---사용자의 홈디렉토리로 이동
[ranma96@hlug ]$cd ~ranma96 <---ranma96 유저디렉토리로 이동
-참고 : .은 현재디렉토리를 의미, ..은 바로 상위 디렉토리를 의미
---------------------------------------------------------

  2] 자신의 디렉토리 확인 - pwd
  자신의 현재위치를 알고 싶을 경우에 사용한다.
  -명령 : pwd

ex)
---------------------------------------------------------
[ranma96@hlug ranma96]$ pwd
/home/ranma96
---------------------------------------------------------

 3) 개인 정보얻기와 관리

  1] 자신의 접속정보 확인 - whoami, who am i
  사용자 확인 명령이다.
  -명령 : whoami, who am i

ex)
---------------------------------------------------------
[freekgb@hlug freekgb]$ who am i
hlug.hanyang.ac.kr!freekgb  pts/0    Mar  1 14:21 (166.104.xx.xxx)
호스트 이름          ID      로그인통로 접속날짜와시간 접속을 요청한 곳
[ranma96@hlug freekgb]$ whoami
freekgb 
---------------------------------------------------------

  2] 접속한 사람 확인 - who, w
  시스템에 접속해 있는 사람들을 확인한다.

ex)
---------------------------------------------------------
[freekgb@hlug freekgb]$ who
freekgb  pts/0    Mar  1 14:21 (166.104.37.190)
sjang    pts/1    Feb 29 17:00 (icsp2.hanyang.ac.kr)
bluehope pts/2    Mar  1 14:25 (muse.postech.ac.kr)
doosie   pts/3    Mar  1 14:51 (ppp21012018956.dial.dacom.co.kr)

[freekgb@hlug freekgb]$ w
 3:11pm  up 3 days, 15:07,  4 users,  load average: 0.00, 0.00, 0.00
USER  TTY  FROM      LOGIN@  IDLE  JCPU  PCPU  WHAT
freekgb pts/0  166.104.60.110 2:21pm   0.00s  0.57s  0.08s  w
sjang   pts/1  icsp2        Tue 5pm 22:09m  0.40s  0.29s  csh
--------------------------------------------------------

  3] 사용자 정보보기 - finger
  사용자의 정보를 자세히 볼 수 있다.

ex)
--------------------------------------------------------
[freekgb@hlug freekgb]$ finger
Login     Name    Tty  Idle  Login Time   Office    Office Phone
bluehope 이민구    /2     49   Mar  1 14:25 (muse.postech.ac.kr)
freekgb  강기봉    /0          Mar  1 14:21 (166.104.37.190)
sjang    Sungjae  /1    22:19  Feb  29 17:00 (icsp2)

[freekgb@hlug freekgb]$ finger freekgb
Login: freekgb                           Name: 강기봉
Directory: /home/freekgb                 Shell: /bin/bash
Office: 한양대학교                       Office Phone: 017-725-xxxx
Home Phone: 02-xxx-xxxx
On since Wed Mar  1 14:21 (KST) on pts/0 from 166.104.37.190
Last login Wed Mar  1 15:04 (KST) on 4 from 166.104.37.190
Mail forwarded to freekgb@netian.com
---------------------------------------------------------

  4] 사용자 정보 변경 - chfn
  사용자 정보를 바꿀 수 있다.

ex)
---------------------------------------------------------
[freekgb@hlug freekgb
Changing finger information for freekgb
Password:
Name [kihwa lee]: 강기봉
Office [Network Computing Lab]: 한양대학교
Office Phone [019-279-8051]: 017-735-xxxx
Home Phone [02-2297-6959]: 02-xxx-xxxx
 
Finger information changed.
---------------------------------------------------------

  5] 현재사용자 변경 - su
  접속한 상태에서 다른 사용자로 변경할 수 있다. 일반 사용자 권한으로 로그인을 해서 활동하다가
root을 권한으로 해야할 작업이 있을 때 많이 사용한다.

ex)
---------------------------------------------------------
[root@hlug /root]# su freekgb    -->(root가 변경하면 암호를 물어보지 않는다.)
[ranma96@hlug freekgb]$       
[ranma96@hlug freekgb]$ su - --->(암호를 물어봄)
Password:
[root@hlug /root]# 
---------------------------------------------------------

  7] 암호변경  - passwd
  자신의 암호를 변경하기 위해서 쓰이는 명령이다. 보안을 위해서 단순한 암호는 가급적 피한다.
 -ex)`qert,$werds,;tedsfs

ex)
---------------------------------------------------------
[freekgb@hlug freekgb]$ passwd
(current) UNIX password:                현재암호입력
New UNIX password:                       새암호입력  
Retype new UNIX password:            새암호 다시입력
passwd : all authentication tokens updated successfully
---------------------------------------------------------

 4) 파일과 디렉토리 관리

  1] 디렉토리의 내용 보기 - ls (list)
  디렉토리의 파일 목록을 표시해 주는 명령이다. 도스의 dir명령과 흡사한 명령이다. 일반적으로 ls라고
입력했을 때에는 디렉토리와 파일만을 표시해 준다.
  -명령어 사용법 : ls [OPTION]... [FILE]...
  -자주 쓰이는 옵션은 아래와 같다.
   -al : Hidden속성의 파일 표시(a옵션),파일의 종류, 사용권한등 자세한 정보표시(l옵션)
   -aC : 도스의 dir /w명령과 같이 한 줄에 여러 개의 정보를 표시(C옵션)
   -R : 도스의 dir/s 명령과 같이 서브디렉토리의 모든 명령어를 보여주는 옵션(R옵션)

ex)
---------------------------------------------------------
[freekgb@hlug freekgb]$ ls -al
total 52576
drwxr-xr-x   5 freekgb  hlug         4096 Feb 15 02:10 ./
drwxr-xr-x  32 root     root      4096 Mar  1 21:03 ../
-rw------- 1 freekgb hlug        2118 Mar  2 10:55 .bash_history
-rw-r--r-- 1 freekgb  hlug          24 Feb  9 14:03 .bash_logout
-rw-r--r-- 1 freekgb  hlug      311 Feb  9 14:03 .bash_profile     
접근허가 링크수 소유자 소유그룹  파일크기 마지막접근시간 파일명

[freekgb@hlug freekgb]$ ls -aC
./             .bash_logout   .forward        .ssh2/ 
../            .bash_profile  .mysql_history  Mail/  
.bash_history  .bashrc        .plan           www/                      
---------------------------------------------------------

  2] 파일의 소유권과 허가권
  리눅스의 경우 여러 사용자가 함께 사용할 수 있게 설계되었으므로 각 파일에는 허가권과 소유권이 존재한다.
그래서, 파일에는 그 파일의 소유자와 소유그룹이 있다. 이 소유권은 나중에 파일의 허가권에서 중요한 영향을
미친다. ls에서 -l옵션을 이용하여 파일 정보를 자세히 보면 파일의 소유자와 그룹을 볼 수 있다.

ex)
---------------------------------------------------------
[freekgb@hlug freekgb]$ ls -al .bashrc
-rw-r--r--   1 freekgb  hlug          566 Feb  9 14:03 .bashrc                
               소유자    소유그룹
---------------------------------------------------------

   3] 소유권변경 - chown, chgrp
   chown은 파일의 소유주를 변경하는 명령이고 root만이 사용할 수 있는 있다.
   -사용법 : chown [사용자명] [파일명]
   chgrp은 파일의 소유그룹을 변경하는 명령이다.
   -사용법 : chgrp [그룹명] [파일명]

ex)
---------------------------------------------------------
# ls -l aaa
-rw-r--r--   1 freekgb    hlug          0  3월  2일  13:54 aaa
                ^^^^^    ^^^^^
# chgrp root aaa
       ^^^^^^^^^^^^^^
# ls -l aaa
-rw-r--r--   1 freekgb    root           0  3월  2일  13:54 aaa
                 ^^^^^    ^^^^
# chown root aaa
        ^^^^^^^^^^^^^^
# ls -al aaa
-rw-r--r--   1 root     root           0  3월  2일  13:54 aaa
                ^^^^     ^^^^
---------------------------------------------------------

  4] 파일의 허가권
  파일에는 허가권이 존재한다. 이것은 파일의 읽기, 쓰기, 실행의 허가범위를 나타내어 멀티유저환경을
제공해 준다. 파일의 접근권한을 user, group, others를 구분지어 읽기,쓰기,실행의 허가범위를 조정한다.
(r:read, w:write, x:excute)


소유자  그룹 타인
r w x r w x r w x


  파일의 허가권을 보면 총10자리로 구분되 있는데 앞을 첫자리에 오는것은 -,d,l등으로 '-'은 일반적인
파일,'d'는 디렉토리,'l'은 링크가 걸린 파일을 나타낸다.

ex)
---------------------------------------------------------
[freekgb@hlug freekgb]$ ls -al
total 52592
drwxr-xr-x   5 freekgb  hlug      4096 Mar  2 13:54 ./
drwxr-xr-x  32 root     root       4096 Mar  1 21:03 ../
-rw------- 1 freekgb  hlug       2118 Mar  2 10:55 .bash_history
-rw-r--r--  1 freekgb  hlug          0 Mar  2 13:26 hahaha
^^^^^^^^^^
이파일은 일반 파일이고 user는 읽고 쓸수있으나 group과 others는 읽기만 가능하다.
---------------------------------------------------------

  5] 파일의 허가권 바꾸기 - chmod (change mode)
  파일의 허가권을 바꾸기 위해서 필요한 명령이다.
  -사용법 : chmod [modes] [파일명(들)]
          [modes]에는 심볼릭 모드와 8진수 모드가 있다.
  -심볼릭 모드 : chmod [대상+옵션+권한] [파일명(들)]
   --대상:u(user),g(group),o(others),a(all)
   --옵션:+(기존권한에서 뒤에 쓰여진 권한추가),
          -(기존권한에서 뒤에 쓰여진 권한박탈),
          =(기존권한을 모두 없앤상태에서 뒤에 쓰여진 권한추가)
   --권한:r,w,x

ex)
---------------------------------------------------------
chmod o-rw file         :file에서 타인의 읽기와 쓰기 권한을 박탈
chmod go=r file          :file에서 그룹과 타인은 읽기만 가능케 함
chmod a+r file1 file2     :file1,file2를 모두에게 읽기 권한을 추가
chmod u+x,go-r file      :file을 소유자에게 실행 허가권을 부여하고
                         소유그룹과 타인의 읽기권한을 박탈
---------------------------------------------------------

 -8진수 모드 : chmod [8진수] [파일명(들)]
  --u(rwx),g(rwx),o(rwx)를 8개의 bit를 할당하여 허가권을 설정한다.


u g o 각비트 --->8진수의 표시 chmod의 사용
rwxrwxrwx
r--r--r--
rwxrw---x  (111111111) ---> 777
(100100100) ---> 444
(111110001) ---> 761
 chmod 777 file
chmod 444 file
chmod 761 file 


ex)
---------------------------------------------------------
[freekgb@hlug temp]$ touch aaa
[freekgb@hlug temp]$ ls -al aaa
-rw-r--r--   1 freekgb  hlug            0 Mar  2 15:13 aaa
 ^^^^^^^^^^
[freekgb@hlug temp]$ chmod g+x aaa
                          ^^^^^^^^^^^^^     
[freekgb@hlug temp]$ ls -al aaa
-rw-r-xr--   1 freekgb  hlug            0 Mar  2 15:13 aaa*
 ^^^^^^^^^^
[freekgb@hlug temp]$ chmod 777 aaa
                         ^^^^^^^^^^^^^
[freekgb@hlug temp]$ ls -al aaa
-rwxrwxrwx   1 freekgb  hlug            0 Mar  2 15:13 aaa*                   
 ^^^^^^^^^^
---------------------------------------------------------

  6] 디렉토리만들기 - mkdir (make directory)
  -사용법: mkdir [옵션] 만들디렉토리

ex)
---------------------------------------------------------
[freekgb@hlug freekgb]$ mkdir kkk
[freekgb@hlug freekgb]$ mkdir -p test/kkk  <---(p옵션으로 test디렉토리까지 만들어줌)
---------------------------------------------------------

  7] 디렉토리 삭제하기 - rmdir (remove directory)
  -rmdir 사용법 : rmdir 지울디렉토리

ex)
---------------------------------------------------------
[freekgb@hlug freekgb]$ rmdir test
rmdir: test: Directory not empty       <--빈디렉토리가 아닐 경우 삭제가 안됨)
---------------------------------------------------------

  8] 파일 삭제하기 - rm (remove)
  파일을 삭제하는 명령이다. 디렉토리도 파일이므로 옵션을 이용하여 삭제할 수 있다.
  -rm 사용법 : rm [옵션] 파일(들)
            rm -rf --->'-r'하위디렉토리내용포함,'-f'강제로 지우기

ex)
---------------------------------------------------------
[freekgb@hlug freekgb]$ rm -rf test              
---------------------------------------------------------
 
  9] 디렉토리크기 확인 - du (disk usage)
  디스크 사용현황(disk usage)을 볼 때 사용하는 명령이다.
  -옵션 : '-h' h(human)을 의미하며 디스크 사용현황을 사람이 알기 쉽게 표시해준다.

ex)
---------------------------------------------------------
[freekgb@hlug freekgb]$ du -h
12k     ./Mail
8.0k    ./www
8.0k    ./.ssh2/hostkeys
16k     ./.ssh2
4.0k    ./temp
88k     .     
---------------------------------------------------------

  10] 파일이나 디렉토리복사 - cp(copy)
 -사용법 : cp <원본파일명/디렉토리> <복사되는 새파일명/디렉토리>

ex)
---------------------------------------------------------
[freekgb@hlug temp]$ ls
abc/  bcd/  def                                                  
[freekgb@hlug temp]$ cp -rf abc aaa
[freekgb@hlug temp]$ ls
aaa/  abc/  bcd/  def
[freekgb@hlug temp]$ cp def apple
[freekgb@hlug temp]$ ls
aaa/  abc/  apple  bcd/  def
---------------------------------------------------------

  11] 파일이나 디렉토리이동 - mv (move)
  파일의 이름을 바꾸거나 이동시킬 경우 사용한다.
  -사용법 :  mv <파일명/디렉토리명> <옮길 새파일명/디렉토리>
 
 5) 간단한 시스템 관리
 
  1] 날짜 확인 및 변경 -date

ex)
---------------------------------------------------------
1. 날짜 확인
[freekgb@hlug temp]$ date
Thu Mar  2 16:22:34 KST 2000                                                  
2. 날짜 변경 - date 월/일/시/분 (1999년 10월 29일 9시 58분일경우)
[root@hlug /root]# date 10290958
Fri Oct 29 09:58:00 KST 2000 
---------------------------------------------------------

  2] 디스크 용략 확인 - df (disk free)
  현재 마운트되어 있는 파일시스템의 사용정보를 1024블럭단위로 출력해 준다.

ex)
---------------------------------------------------------
[freekgb@hlug freekgb]$ df -ah
Filesystem            Size  Used Avail Use% Mounted on
/dev/hda3             908M  811M   51M  94% /
none                     0     0     0   -  /proc
/dev/hdb1             3.9G  2.8G  924M  76% /home
none                     0     0     0   -  /dev/pts
---------------------------------------------------------
 
  3] 마운트 - mount
  리눅스에서 모든 불록 장치는 마운트하여 사용한다. 그래서, 시스템에 있는 어떤 파티션이든
현재 가동중인 시스템의 하부 디렉토리인 것처럼 사용할 수 있다.
  -사용법 :mount [마운트할장치] [마운트될 디렉토리]

ex)
---------------------------------------------------------
[root@hlug /root]# mount /dev/cdrom /mnt/cdrom  -->마운트시킨후
[root@hlug /root]# ls /mnt/cdrom          -->CD_ROM의 내용확인
[root@hlug /root]# unmount /mnt/cdrom      -->unmount 시키고
[root@hlug /root]# eject                      -->CD_ROM을 뺀다
---------------------------------------------------------

  4] 시스템의 마운트정보 확인
  시스템 마운트 정보를 확인한다.

ex)
---------------------------------------------------------
[freekgb@hlug temp]$ mount
/dev/hda3 on / type ext2 (rw)
none on /proc type proc (rw)
/dev/hdb1 on /home type ext2 (rw)
none on /dev/pts type devpts (rw,mode=0622)                                   
---------------------------------------------------------
 
  5] 파티션 확인 
  현재 하드디스크에 있는 파티션을 확인한다

ex)
---------------------------------------------------------
[root@hlug /root]#  /sbin/cfdisk
                          cfdisk 2.9w
                    디스크 장치 : /dev/hda
                    Size: 6495068160 bytes
       헤더 : 255   트랙 당 섹터 : 63      실린더  : 789
이름  플레그 파티션 타입 파일 시스템 형태 [디스크 이름] 크기 (MB)
 ---------------------------------------------------------
  hda1        부트        기본       Win95 FAT32                  4639.06
  hda3                    기본       Linux ext2                     1719.09
  hda2                    기본       Linux swap                    131.61
 3개의 파티션이 존재.
---------------------------------------------------------

 6) 사용자 관리

  1] user등록 - useradd
  사용자를 등록한다. 사용자를 등록할 때는 사용자 이름, 패스워드,  UID, GID, 홈디렉토리, 쉘 등
고려하여 만드는 것이 좋다. 그러나, 이러한 것들은 'adduser [사용자명]' 으로 하면 시스템에서 디폴트로
정하게 된다.
   -UID는 고유한것으로 사용자마다 하나씩 부여
   -특정한 UID를 부여하고 싶다면 "-u " 옵션
   -특정한 GID를 부여하고 싶다면 "-G ,,..." 옵션
  홈디렉토리의 경우 특별히 지정하지 않을 경우 '/home/[userid]'가 된다. 홈디렉토리를 지정하고 싶은 경우
"-d 홈디렉토리"를 이용하면 된다. 그리고, 쉘을 지정할 경우 "-s [사용할 쉘 경로]"로 지정한다.
   - 그룹만들기 -> 디렉토리만들기 -> user만들기

ex)
---------------------------------------------------------
[root@hlug /root]# mkdir /home/student
[root@hlug /root]# useradd testuser
  이런게 만들면 유저가 등록이 되면서 다른 사항들은 임의로 지정됨
...]# useradd -u 1000 -g 1000 -d /home/student/testuser testuser
  useradd -u(uid) 1000 -g(gid) 1000 -d(디렉토리) UserID
---------------------------------------------------------

  2] user삭제 - userdel
  등록되어 있는 유저를 삭제할 때 쓴다. r 옵션을 주면 홈디렉토리까지 삭제한다.

ex)
---------------------------------------------------------
[root@hlug /root]#  userdel -r testuser
---------------------------------------------------------

  3] 암호변경 - passwd
  'passwd [유저아이디]'의 형식으로 다른 사람의 암호를 변경할 수 있는데, 이것은 root만 가능하다.
 
ex)
---------------------------------------------------------
root@hlug /root]#  passwd      # 자신의 패스워드 변경
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully

root@hlug /root]#  passwd joonho   # 다른 사용자의 패스워드 변경
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully  
---------------------------------------------------------

 7) 유용한 명령 및 테크닉

  1] 명령 매뉴얼 읽기 - man
  man 페이지를 보는 방법은 less사용법과 같다. 스페이스와 b키로 앞뒤로 이동할 수 있고 
/ 키를 사용하여 주제어 검색을 할 수 있다.
   - 사용법 : man [알고싶은 명령어]

ex)
---------------------------------------------------------
[root@hlug /root]# man chmod
CHMOD(1)
NAME
       chmod - 파일 접근 권한을 바꾼다.
.......
---------------------------------------------------------

  2] 파이프 - (|)
  동시에 실행되는 두 프로그램간의 자료 전달 통로를 만든다. 앞의 프로그램의 실행 결과를 받아
뒤의 프로그램의 입력으로 전달해 준다.

ex)
---------------------------------------------------------
[freekgb@hlug freekgb]$ls -al |more
                         ^^^^^^^^^^^^
   리스트한 결과를 more로 보게 한다.
[freekgb@hlug freekgb]$ps -aux | grep httpd
                       ^^^^^^^^^^^^^^^^^^^^
현재 떠있는 프로세스를 열거하고 그 중 httpd 대몬이 떠있나 확인함
---------------------------------------------------------

  3] more/less
  한페이지씩 쉬면서 볼 수 있게 해주는 명령이다.
   -스페이스바 - 한페이지씩 이동
   -엔터 - 한 줄씩 이동

ex)
---------------------------------------------------------
[freekgb@hlug freekgb]$ ls -la |more   지나간 화면보기를 지원 안함
[freekgb@hlug freekgb]$ ls -la |less  b를 이용해 한 화면 뒤로 이동
---------------------------------------------------------
 
  4] 파일의 종류를 알아보려면? - file
  리눅스 파일은 윈도우처럼 별도의 확장자가 없으므로 파일의 이름만 보아서는 구별이 불가능하다.
file 명령은 파일의 앞부분을 읽어보고 어떤 파일인지 알려주는 명령이다.

ex)
---------------------------------------------------------
[root@linux /etc]# file hosts
hosts: ASCII text 
---------------------------------------------------------

  5] 파일찾기 - find
  -사용법 :find [path] [expression] [action]
find [경로] [찾고자하는 파일에 대한 표현식] [찾은 파일에 대한 행동]
 
ex)
---------------------------------------------------------
[root@linux /etc]# find / -name resolv.conf  (resolv.conf 라는 파일을 /부터 찾음)
/etc/resolv.conf                             
root@linux /etc]# find / -name resolv.conf -exec rm {} \;
    exec→rm명령을 수행
    {}     →찾은 resolv.conf 파일을 대입
    \;    →명령의 끝냄
---------------------------------------------------------
 
  6] 파일의 내용보기 - cat

ex)
---------------------------------------------------------
[root@linux /etc]# cat hosts
127.0.0.1      localhost  localhost.localdomain
172.18.25.14   cyberlaw.sarang.net  cyberlaw 
---------------------------------------------------------

  7] 파일 묶기/압축/풀기 - tar, gzip
   ① 파일묶기 - tar cvf 파일이름
   어떤 파일시스템을 그대로 보존하여 묶은 다음 다른 곳에 그 구조를 보존하면서 푸는데 이용한다.
(디렉토리구조를 그대로 보존하여 묶음)
     [-9]옵션 : 최대의 압축률 속도가 느림
     [-1] 옵션 : 압축률보다 속도가 우선
   ② 파일압축 - gzip file이름
   ③ 압축풀기 - gunzip  file이름.gz[=gzip -d file이름.gz]
   ④ 묶음풀기 - tar xvf  파일이름.tar
   ⑤ 파일압축과 묶음 풀기 - tar xvzf 파일이름.tar.gz

ex)
---------------------------------------------------------
[root@linux /etc]# ls -l iss*
-rw-r--r--   1 root     root         1566 Aug 24 23:31 issue.net
-rw-r--r--   1 root     root        12288 Aug 24 23:05 issue.swp
[root@linux /etc]# tar cvf iss.tar issue.net issue.swp
(tar cvf  압축된후파일명 압축하기전파일명 압축하기전파일명)
issue.net
issue.swp
[root@linux /etc]# ls -l iss*(묶어진뒤 더 파일용량이 커짐)
-rw-r--r--   1 root     root        20480 Oct 29 16:55 iss.tar
-rw-r--r--   1 root     root         1566 Aug 24 23:31 issue.net
-rw-r--r--   1 root     root        12288 Aug 24 23:05 issue.swp
[root@linux /etc]# gzip iss.tar(파일압축)
[root@linux /etc]# ls -l iss*    (확인)
-rw-r--r--   1 root     root         1204 Oct 29 16:55 iss.tar.gz
-rw-r--r--   1 root     root         1566 Aug 24 23:31 issue.net
-rw-r--r--   1 root     root        12288 Aug 24 23:05 issue.swp
[root@linux /etc]# gunzip iss.tar.gz (압축풀기)
[root@linux /etc]# ls -l iss*             (확인)
-rw-r--r--   1 root     root        20480 Oct 29 16:55 iss.tar
-rw-r--r--   1 root     root         1566 Aug 24 23:31 issue.net
-rw-r--r--   1 root     root        12288 Aug 24 23:05 issue.swp
[root@linux /etc]# tar xvf iss.tar (묶음풀기)
---------------------------------------------------------
 
  8] 명령어의 출력을 파일로 저장 (리다이렉션)

ex)
---------------------------------------------------------
[root@hlug /root]# ls -l > ls.txt (ls 파일을 ls.txt파일로 저장)
[root@hlug /root]# cat ls.txt    (ls 파일을 확인)
total 674
drwx------   5 root     root         1024 Oct 22  1997 Desktop/
drwx------   2 root     root         1024 Oct 16  1997 Mail/
-rw-rw-r--   1 root     root       424138 Dec 22  1997 vmlinuz
-rw-r--r--   1 root      root      38514 May 10  1998 whatis3444
--------------------------------------------------------- 
 
  9] history(전에 실행한 명령을 보여주거나 그것을 재실행)  

ex)
--------------------------------------------------------- 
[root@hlug /root]# history 10
  991  ls
  992  cd .
  993  cd
  994  ls
  995  ls -la
  996  pwd
  997  su yyeon
  998  exit
  999  history
 1000  history 10
 
[root@hlug /root]# !!  (방금 전에 실행한 명령어 실행)
cat ls.txt
total 674
drwx------   5 root     root         1024 Oct 22  1997 Desktop/
drwx------   2 root     root         1024 Oct 16  1997 Mail/
-rw-rw-r--   1 root     root       424138 Dec 22  1997 vmlinuz
-rw-r--r--   1 root     root       38514 May 10  1998 whatis3444
[root@hlug /root]# !ls (ls로 시작하는 명령 중 가장 최근에 수행한 명령을 재실행)
ls -l > ls.txt                    
---------------------------------------------------------
 
  10] 프로세스관리
   가. 동작중인 프로세스 확인 -ps

ex)
---------------------------------------------------------
[root@hlug /root]# ps
  PID TTY STAT  TIME COMMAND
  324   1 S    0:00 /sbin/mingetty tty1
  325   2 S    0:00 /sbin/mingetty tty2
  326   3 S    0:00 /sbin/mingetty tty3
  327   4 S    0:00 /sbin/mingetty tty4
  328   5 S    0:00 /sbin/mingetty tty5
  329   6 S    0:00 /sbin/mingetty tty6
 1146  p0 S    0:00 /bin/login -h 210.218.39.146 -p
 1147  p0 S    0:00 -bash
 1167  p0 R    0:00 ps
[root@hlug /root]# ps aux|less (다른 사용자가 실행하고 있는 목록까지 자세히)
---------------------------------------------------------

   나. 동작하는 프로그램 중지 -kill
   pid 라는 숫자가 프로세스에는 붙어 있고, 루트는 이것을 종료시킬 수 있다.
   -사용법 : kill  [pid번호]

ex)
---------------------------------------------------------
[root@hlug /root]# kill 325
---------------------------------------------------------

   다. 프로그램을 배경작업으로 실행 - &
    -포그라운드→명령을 입력하고 엔터를 친 상태
    -백그라운드→프로세스의 종료여부에 관계없이 명령대기 상태(&를 이용)

ex)
---------------------------------------------------------
[root@hlug /root]# find / -name ls.txt&
[1] 1181
/root/ls.txt
[1]+  Done           
find / -name ls.txt (enter을 치면 다음과 같은 메시지가 나옴)
---------------------------------------------------------
 
  11] 네트웍 명령
   가. telnet: 관리자의 원격제어에  많이 이용

ex)
--------------------------------------------------------- 
[freekgb@hlug freekgb]$ telnet hlug.hanyang.ac.kr
Trying 166.104.xx.xxx...
Connected to hlug.hanyang.ac.kr.
Escape character is '^]'.
 
Linux^^!!!
 
login: freekgb
Password:
Last login: Thu Mar  2 20:49:00 from xx.hanyang.ac.kr
.......
You have mail.
$ logout
Connection closed by foreign host.
[freekgb@hlug freekgb]$           
---------------------------------------------------------

   나. ftp : 파일전송에 이용 - get. mget, put, mput, bin, as, hash, quit

ex)
---------------------------------------------------------
[freekgb@hlug freekgb]$ ftp hlug.hanyang.ac.kr (ftp 뒤에 접속사이트이름)
Connected to hlug.hanyang.ac.kr.
220 Proftp FTP server (Proftpd) ready.
Name (cyberlaw.sarang.net:freekgb): freekgb
331 Password required for freekgb.
Password:
230 User freekgb logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> hash (전송상황이 # 상태로 보여짐)
Hash mark printing on (1024 bytes/hash mark).
ftp> bin (바이너리모드로 전송)
200 Type set to I.
ftp> get angel.gif
local: angel.gif remote: angel.gif
200 PORT command successful.
150 Binary data connection for angel.gif (166.104.90.152,3059) (6975 bytes).
######
226 Binary Transfer complete.
6975 bytes received in 0.0172 secs (4e+02 Kbytes/sec)
ftp> quit(종료)
221 Goodbye.
[freekgb@hlug freekgb]$           
---------------------------------------------------------


2009/03/05 09:25 2009/03/05 09:25