본문 바로가기

04번. IT 힌트얻기/▶ UNIX

Unix-Basic-03

 

hard link     - 같은 partition 에서만 사용, 디렉토리에 사용불가, 색인이 빠르다(간단구조)
symbolic link - 다른 partition 에서 사용 가능, 디렉토리에 사용가능, 구조가 복잡, 참조가 느림

su - switch change

 

▶ 파티션정보 확인하기 (df - display file system)
multihp1:/data2/unix/unix10>df
/data1               (/dev/vg01/lvol4     ):  2964298 blocks    395221 i-nodes
/data2               (/dev/vg01/lvol5     ):  3810408 blocks    506326 i-nodes
/data3               (/dev/vg01/lvol6     ):  2927822 blocks    390370 i-nodes
/data4               (/dev/vg01/lvol1     ):  2098810 blocks    279835 i-nodes
/disk3               (/dev/vg00/lvol6     ):  2739298 blocks    365227 i-nodes
/oracle              (/dev/vg01/lvol2     ):   940686 blocks    125419 i-nodes
/stand               (/dev/vg00/lvol1     ):    30672 blocks      9148 i-nodes
/                    (/dev/vg00/lvol3     ):  3381232 blocks     53225 i-nodes

 

▶ Hard Link에 대한 간단한 설명
file [file명 | inode번지]
                            |     
[inode - table] ----|
filetypoe
permission
hard link count
owner
group
size
timestamp
point    --------> block

hard link - inode 번지 복사

 

▶ 지금까지 썼던 명령어에 대해서 알아보기
multihp1:/data2/unix/unix10>history
230     df
231     rm *
232     y
233     y
234     y
235     y
236     y
237     y
238     ls
239     touch f1
240     vi f1
241     ls -l f1
242     ln f1 f2
243     ls -il f1 f2
244     vi f2
245     history

 

▶ cat은 그냥 쓰였을 때는 display와 같은 역할을 한다.
multihp1:/data2/unix/unix10>cat f1
dFdefrdd
dsf
dasdfsafsdfsadf
sdfsadfas
asdf
asdfdsf
dasdfadsjfksdajfklsdjfklZZZ

 

multihp1:/data2/unix/unix10>cat f2
dFdefrdd
dsf
dasdfsafsdfsadf
sdfsadfas
asdf
asdfdsf
dasdfadsjfksdajfklsdjfklZZZ


▶ Hard Link의 경우는 다른 파티션(file system)에는 링크를 걸 수 없음
multihp1:/data2/unix/unix10>ln f1 /tmp/f2
ln: 다른 파일 시스템입니다.

 

▶ 디렉토리는 링크를 걸 수 없다
multihp1:/data2/unix/unix10>mkdir lab1
multihp1:/data2/unix/unix10>ln lab1 lab2
ln: <lab1> 디렉토리

 

symbol 링크의 경우는 hard link가 inode가 동일한 것을 참조하지만 symbol링크는 inode의 number가 다른 것이 할당된다.
그리고 symbol의 pointer가 데이터 블록을 찾아가는데 데이터 블록이 있는 것이 아니라 원본 테이블의 경로를 가지고 있다.
그래서 그 경로를 찾아가서 실제 inode의 pointer가 찾는 데이터 블록 내에서 원하는 파일을 찾아간다.

 

▶ >이 하나일 경우는 override, 두개 일 경우는 append
multihp1:/data2/unix/unix10>cat > ff1
sdajkfldfjlksadfjksldnmenr,.weocvopaderflmf;dsafl;asdf
multihp1:/data2/unix/unix10>cat ff1
sdajkfldfjlksadfjksldnmenr,.weocvopaderflmf;dsafl;asdf

 

▶ -s 를 해주어야지 hard link -> symbolic으로 되는 것임
multihp1:/data2/unix/unix10>ln -s ff1 ff2
multihp1:/data2/unix/unix10>cat ff1
sdajkfldfjlksadfjksldnmenr,.weocvopaderflmf;dsafl;asdf
multihp1:/data2/unix/unix10>cat ff2
sdajkfldfjlksadfjksldnmenr,.weocvopaderflmf;dsafl;asdf
multihp1:/data2/unix/unix10>ls -il ff1 ff2
   564 -rw-rw-rw-   1 unix10     unix            55 11월 22일 09:53 ff1
   691 lrwxrwxrwx   1 unix10     unix             3 11월 22일 09:54 ff2 -> ff1


multihp1:/data2/unix/unix10>cat >> ff2
asdfsdafsad
multihp1:/data2/unix/unix10>cat ff1
sdajkfldfjlksadfjksldnmenr,.weocvopaderflmf;dsafl;asdf
asdfsdafsad
multihp1:/data2/unix/unix10>cat ff2
sdajkfldfjlksadfjksldnmenr,.weocvopaderflmf;dsafl;asdf
asdfsdafsad

multihp1:/data2/unix/unix10>ln ff1 /tmp/ff2
ln: /tmp/ff2이(가) 있습니다.
multihp1:/data2/unix/unix10>ln -s ff1 /tmp/ff2
ln: /tmp/ff2이(가) 있습니다.
multihp1:/data2/unix/unix10>cat ff1
sdajkfldfjlksadfjksldnmenr,.weocvopaderflmf;dsafl;asdf
asdfsdafsad

 

▶ 여기서 파일을 찾을 때 단지 ff1만 있으므로 해당 파일로 찾을 수 없음, 절대 path가 필요함
multihp1:/data2/unix/unix10>cat /tmp/ff2
cat: 열 수 없습니다./tmp/ff2: 그러한 파일 또는 디렉토리가 없습니다.
multihp1:/data2/unix/unix10>
multihp1:/data2/unix/unix10>ls -il /tmp/ff2
 93098 lrwxrwxrwx   1 unix00     unix             3 11월 22일 09:56 /tmp/ff2 -> ff1
multihp1:/data2/unix/unix10>ls -il ff1

   564 -rw-rw-rw-   1 unix10     unix            67 11월 22일 09:56 ff1

 

▶ 아래와 같이 절대 경로를 지정해줌
multihp1:/data2/unix/unix10>ln -s /data2/unix/unix10/ff1 /tmp/suho
multihp1:/data2/unix/unix10>cat ff1
sdajkfldfjlksadfjksldnmenr,.weocvopaderflmf;dsafl;asdf
asdfsdafsad

multihp1:/data2/unix/unix10>cat /tmp/suho
sdajkfldfjlksadfjksldnmenr,.weocvopaderflmf;dsafl;asdf
asdfsdafsad

 

▶ 아래 예제는 file이 아닌 directory의 link를 나타내는 것이다.
multihp1:/data2/unix/unix10>mkdir labdir1
multihp1:/data2/unix/unix10>ln -s labdir1 labdir2
multihp1:/data2/unix/unix10>cd labdir1
multihp1:/data2/unix/unix10/labdir1>touch f1 f2 f3
multihp1:/data2/unix/unix10/labdir1>cd
multihp1:/data2/unix/unix10>ls labdir2

f1  f2  f3
multihp1:/data2/unix/unix10>ls -ld labdir1
drwxrwxrwx   2 unix10     unix            96 11월 22일 10:04 labdir1

multihp1:/data2/unix/unix10>ls -ld labdir2
lrwxrwxrwx   1 unix10     unix             7 11월 22일 10:04 labdir2 -> labdir1

 

multihp1:/data2/unix/unix10>mkdir -p a/b/c/d/e
multihp1:/data2/unix/unix10>touch aa1
multihp1:/data2/unix/unix10>ln aa1 a/b/c/d/e/aa2
multihp1:/data2/unix/unix10>ln aa1 a/b/c/aa3
multihp1:/data2/unix/unix10>ln aa1 a/b/c/aa4
multihp1:/data2/unix/unix10>ls -il aa1
  1243 -rw-rw-rw-   4 unix10     unix             0 11월 22일 10:18 aa1
multihp1:/data2/unix/unix10>ls -il a/b/c
총 0 블록입니다.
  1243 -rw-rw-rw-   4 unix10     unix             0 11월 22일 10:18 aa3
  1243 -rw-rw-rw-   4 unix10     unix             0 11월 22일 10:18 aa4
  1219 drwxrwxrwx   3 unix10     unix            96 11월 22일 10:18 d
multihp1:/data2/unix/unix10>find . -inum 1243
./a/b/c/d/e/aa2
./a/b/c/aa3
./a/b/c/aa4
./aa1


▶ redirection
>(출력의 방향 재지정) , >>   : 정상출력, 표준출력은 모니터에 뿌려지는데 그것을 파일로 넣어 주고 싶을 때, 앞에는 override, 뒤에는 append
<(입력의 방향 재지정)        : 입력을 보통 키보드로 받는데 키보드가 아니라 파일로 부터 받는다. ex) mail root< let
2> , 2>>                     : 2: descriptor number/ 에러출력 : 표준출력이다. 모니터로 나온다.
multihp1:/data2/unix/unix10>find / -name core


아래와 같은 것은 에러출력은 err.out으로 보내주라는 뜻임
multihp1:/data2/unix/unix10>find / -name core 2> err.out
/oracle/inventory/filemap/oem_webstage/oracle/core
/oracle/oem_webstage/oracle/core
/var/opt/cifsclient/core
/tmp/core
/data2/it/it06/core
/data2/it/it12/core
/data2/it/it14/core
/data2/it/it17/core
/data3/backup/core

 

에러출력은 err.out으로, 정상출력은 find.out으로 보낸다. (name : 파일명을 말함)
multihp1:/data2/unix/unix10>find / =name core 2> err.out > find.out

 

▶ find명령 (user-파일owner)  user가 unix10인 경우 에러는 err.out으로 보내고
ls -l한 결과를 find out으로 보내라.
multihp1:/data2/unix/unix10>find / -user unix10 2> err.out -exec ls -l {} \; > find.out
multihp1:/data2/unix/unix10>more find.out

-rw-------   1 unix10     unix             0 2008.06.10   /var/tmp/Ex25678
-rw-------   1 unix10     unix         16384 2008.03.17   /var/tmp/Rx23046
-rw-------   1 unix10     unix             0 2008.10.09   /var/tmp/Ex10517
-rw-------   1 unix10     unix             0 2008.04.22   /var/tmp/Rx19135
-rw-------   1 unix10     unix             0 2008.10.30   /var/tmp/Ex26740
-rw-------   1 unix10     unix         32768 2009.03.12   /var/tmp/Rx24950
-rw-------   1 unix10     unix             0 2010.10.28   /var/tmp/Ex28206
-rw-------   1 unix10     unix             0 2011.02.25   /var/tmp/aaaa00343
srwxrwxrwx   1 unix10     unix             0 11월 22일 10:54 /var/spool/sockets/pwgr/client7449
-rw-rw----   1 unix10     mail        737637 2011.05.25   /var/mail/unix10
-rw-------   1 unix10     unix         49152 2008.06.13   /var/preserve/Exaaa03072
-rw-------   1 unix10     unix         49152 2008.06.24   /var/preserve/Exaaa28918
-rw-------   1 unix10     unix         49152 2008.06.24   /var/preserve/Exaaa00792
-rw-------   1 unix10     unix         57344 2008.06.26   /var/preserve/Exaaa00765
-rw-------   1 unix10     unix         57344 2008.06.27   /var/preserve/Exaaa16997
-rw-------   1 unix10     unix         90112 2008.07.21   /var/preserve/Exaaa04900
-rw-------   1 unix10     unix         49152 2008.07.21   /var/preserve/Exaaa04914
-rw-------   1 unix10     unix         49152 2008.07.24   /var/preserve/Exaaa01251
-rw-------   1 unix10     unix         49152 2008.08.27   /var/preserve/Exaaa29686
-rw-------   1 unix10     unix         49152 2008.08.28   /var/preserve/Exaaa24950
-rw-------   1 unix10     unix         49152 2009.03.10   /var/preserve/Exaaa02073
-rw-------   1 unix10     unix         49152 2009.03.12   /var/preserve/Exaaa25805
-rw-------   1 unix10     unix         49152 2009.03.12   /var/preserve/Exaaa25871
... 건너 뜁니다...
-rw-------   1 unix10     unix             0 2008.06.10   /var/tmp/Ex25678
-rw-------   1 unix10     unix         16384 2008.03.17   /var/tmp/Rx23046
-rw-------   1 unix10     unix             0 2008.10.09   /var/tmp/Ex10517
-rw-------   1 unix10     unix             0 2008.04.22   /var/tmp/Rx19135
-rw-------   1 unix10     unix             0 2008.10.30   /var/tmp/Ex26740
-rw-------   1 unix10     unix         32768 2009.03.12   /var/tmp/Rx24950
-rw-------   1 unix10     unix             0 2010.10.28   /var/tmp/Ex28206
-rw-------   1 unix10     unix             0 2011.02.25   /var/tmp/aaaa00343

multihp1:/data2/unix/unix10>history
314     find -user unix10 2>err.out > find.out
315     cat find.out
316     cat.find.out
317     cat err.out
318     more find.out
319     find -user unix10 2>err.out [
320     ls
321     find / -user unix10 2> err.out -exec ls -l
322     findfout  / -user unix10 2> err.out -exec ls -l
323     find / -user unix10 2> err.out -exec ls -l {} \; > find.out
324     more find.out
325     c
326     alias
327     alias c=clear
328     c
329     history


multihp1:/data2/unix/unix10>rm -rf *
rm: queuedefs이(가) 삭제되지 않았습니다.사용 권한이 없습니다.
rm: .proto이(가) 삭제되지 않았습니다.사용 권한이 없습니다.
rm: at.allow이(가) 삭제되지 않았습니다.사용 권한이 없습니다.
rm: cron.allow이(가) 삭제되지 않았습니다.사용 권한이 없습니다.
rm: FIFO이(가) 삭제되지 않았습니다.사용 권한이 없습니다.
rm: log이(가) 삭제되지 않았습니다.사용 권한이 없습니다.
rm: OLDlog이(가) 삭제되지 않았습니다.사용 권한이 없습니다.
rm: cron 디렉토리가 삭제되지 않았습니다.디렉토리가 비어 있지 않습니다.
multihp1:/data2/unix/unix10>mkdir -p a/b/c/d/e/f
multihp1:/data2/unix/unix10>touch a/core
multihp1:/data2/unix/unix10>touch a/b/core
multihp1:/data2/unix/unix10>touch a/b/c/core a/b/c/d/core a/b/c/d/e/core
multihp1:/data2/unix/unix10>touch a/b/c/d/e/f/core


multihp1:/data2/unix/unix10>find ~/ -name core
/data2/unix/unix10/a/b/c/d/e/f/core
/data2/unix/unix10/a/b/c/d/e/core
/data2/unix/unix10/a/b/c/d/core
/data2/unix/unix10/a/b/c/core
/data2/unix/unix10/a/b/core
/data2/unix/unix10/a/core
multihp1:/data2/unix/unix10>find ~/ -name core -exec rm -rf {} \;
multihp1:/data2/unix/unix10>ls -R a
b

a/b:
c

a/b/c:
d

a/b/c/d:
e

a/b/c/d/e:
f     
a/b/c/d/e/f:

 

▶ exec의 경우는 비대화식이며 ok의 경우는 대화식이다. 즉, 지워야하는 파일을 확인하고자 할 경우에는 대화식으로 설정함
multihp1:/data2/unix/unix10>find ~/ -name core -exec rm -rif {} \;
multihp1:/data2/unix/unix10>find ~/ -name core -ok rm -rif {} \;


multihp1:/data2/unix/unix10>ls -ld /etc
dr-xr-xr-x  32 bin        bin           8192 11월 21일 15:51 /etc

 

▶ 디렉토리 사용량 측정 (du)
multihp1:/data2/unix/unix10>du -k /etc
1256    /etc/lvmconf
632     /etc/rc.config.d
du: bad status < /etc/ftpd/ftp-exec >
du: bad status < /etc/ftpd/pids >

0       /etc/dt/appconfig/types/C.utf8
0       /etc/dt/appconfig/types/de_DE.iso88591
0       /etc/dt/appconfig/types/de_DE.utf8
0       /etc/dt/appconfig/types/es_ES.iso88591
0       /etc/dt/appconfig/types/es_ES.utf8
0       /etc/dt/appconfig/types/fr_CA.iso88591
0       /etc/dt/appconfig/types/fr_CA.utf8
0       /etc/dt/appconfig/types/zh_TW.eucTW
0       /etc/dt/appconfig/types/zh_TW.utf8
8       /etc/dt/appconfig/types
24      /etc/dt/appconfig
40      /etc/dt
8       /etc/ximian
16      /etc/net/ticlts
16      /etc/net/ticots
16      /etc/net/ticotsord
48      /etc/net
0       /etc/ibm/back
0       /etc/ibm/tivoli
0       /etc/ibm
84672   /etc

 

▶ 디스크 남은 공간 확인
multihp1:/data2/unix/unix10>df -k
/data1                 (/dev/vg01/lvol4       ) :  1998409 total allocated Kb
                                                   1482149 free allocated Kb
                                                    516260 used allocated Kb
                                                        25 % allocation used
/data2                 (/dev/vg01/lvol5       ) :  1976685 total allocated Kb
                                                   1910968 free allocated Kb
                                                     65717 used allocated Kb
                                                         3 % allocation used
/data3                 (/dev/vg01/lvol6       ) :  1999581 total allocated Kb
                                                   1463911 free allocated Kb
                                                    535670 used allocated Kb
                                                        26 % allocation used
/data4                 (/dev/vg01/lvol1       ) :  3075786 total allocated Kb
                                                   1049405 free allocated Kb
                                                   2026381 used allocated Kb
                                                        65 % allocation used
/disk3                 (/dev/vg00/lvol6       ) :  2919292 total allocated Kb
                                                   1369649 free allocated Kb
                                                   1549643 used allocated Kb
                                                        53 % allocation used
/oracle                (/dev/vg01/lvol2       ) :  5211539 total allocated Kb
                                                    470342 free allocated Kb
                                                   4741197 used allocated Kb
                                                        90 % allocation used
/stand                 (/dev/vg00/lvol1       ) :    74232 total allocated Kb
                                                     15336 free allocated Kb
                                                     58896 used allocated Kb
                                                        79 % allocation used
/                      (/dev/vg00/lvol3       ) : 10472952 total allocated Kb
                                                   1706720 free allocated Kb
                                                   8766232 used allocated Kb
                                                        83 % allocation used

 

 multihp1:/data2/unix/unix10>cat
jkldfsjkldsal;kdasl;f
jkldfsjkldsal;kdasl;f

 

▶ 명령어 cat만 입력을 했을 경우 내가 입력한 값을 출력해주는 역할을 한다.
multihp1:/data2/unix/unix10>cat
dsfjkldsfjlkadsjfkldfc
dsfjkldsfjlkadsjfkldfc
sdfjkdsfl
sdfjkdsfl

 

▶ 이것은 내가 입력을 한 것을 file111이라는 파일에 출력을 하는 것을 의미
multihp1:/data2/unix/unix10>cat > file111
sdakflsadjfklasdfj
sdfjklaskdfj
dsfjkpdsaf
mdkasdf
multihp1:/data2/unix/unix10>
multihp1:/data2/unix/unix10>
multihp1:/data2/unix/unix10>cat file111
sdakflsadjfklasdfj
sdfjklaskdfj
dsfjkpdsaf
mdkasdf

 

▶ Head쪽에 내가 원하는 것이 있을 경우
multihp1:/data2/unix/unix10>head /etc/passwd
root:fPyHC2zqO3F3Q:0:3::/:/sbin/sh
daemon:*:1:5::/:/sbin/sh
bin:*:2:2::/usr/bin:/sbin/sh
sys:*:3:3::/:
adm:*:4:4::/var/adm:/sbin/sh
uucp:*:5:3::/var/spool/uucppublic:/usr/lbin/uucp/uucico
lp:*:9:7::/var/spool/lp:/sbin/sh
nuucp:*:11:11::/var/spool/uucppublic:/usr/lbin/uucp/uucico
hpdb:*:27:1:ALLBASE:/:/sbin/sh
www:*:30:1::/:

 

▶ Head쪽에 내가 원하는 것이 있을 경우 - 20줄을 보여줘라
multihp1:/data2/unix/unix10>head -20 /etc/passwd
root:fPyHC2zqO3F3Q:0:3::/:/sbin/sh
daemon:*:1:5::/:/sbin/sh
bin:*:2:2::/usr/bin:/sbin/sh
sys:*:3:3::/:
adm:*:4:4::/var/adm:/sbin/sh
uucp:*:5:3::/var/spool/uucppublic:/usr/lbin/uucp/uucico
lp:*:9:7::/var/spool/lp:/sbin/sh
nuucp:*:11:11::/var/spool/uucppublic:/usr/lbin/uucp/uucico
hpdb:*:27:1:ALLBASE:/:/sbin/sh
www:*:30:1::/:
ora817:ByGjd7yrTE8dI:20:101::/oracle8:/usr/bin/ksh
dbamgr80::21:101:,,,:/disk3:/usr/bin/ksh
oracle:x:102:101:,,,:/oracle:/usr/bin/ksh
dba100:x:200:101:,,,:/DBA5/DBA805/dba100:/usr/bin/ksh
dba101:x:201:101:,,,:/DBA3/DBA805/dba101:/usr/bin/ksh
dba102:x:202:101:,,,:/DBA3/DBA805/dba102:/usr/bin/ksh
dba103:x:203:101:,,,:/DBA3/DBA805/dba103:/usr/bin/ksh
dba104:x:204:101:,,,:/DBA3/DBA805/dba104:/usr/bin/ksh
dba105:x:205:101:,,,:/DBA3/DBA805/dba105:/usr/bin/ksh
dba106:x:206:101:,,,:/DBA3/DBA805/dba106:/usr/bin/ksh

 

▶ 파일의 뒷쪽(꼬리쪽)에 내가 원하는 것이 있을 경우 (default : 10line)
multihp1:/data2/unix/unix10>tail /etc/passwd
pb20::660:207:,,,:/data2/pb/pb20:/usr/bin/ksh
pb21::661:207:,,,:/data2/pb/pb21:/usr/bin/ksh
pb22::662:207:,,,:/data2/pb/pb22:/usr/bin/ksh
pb23::663:207:,,,:/data2/pb/pb23:/usr/bin/ksh
pb24::664:207:,,,:/data2/pb/pb24:/usr/bin/ksh
pb25::665:207:,,,:/data2/pb/pb25:/usr/bin/ksh
pb26::666:207:,,,:/data2/pb/pb26:/usr/bin/ksh
pb27::667:207:,,,:/data2/pb/pb27:/usr/bin/ksh
pb28::668:207:,,,:/data2/pb/pb28:/usr/bin/ksh
pb29::669:207:,,,:/data2/pb/pb29:/usr/bin/ksh

 

▶ 파일의 뒷쪽(꼬리쪽)에 내가 원하는 것이 있을 경우 (숫자 지정하면 그 숫자만큼의 line을 보여준다)
multihp1:/data2/unix/unix10>tail -20 /etc/passwd
pb10::650:207:,,,:/data2/pb/pb10:/usr/bin/ksh
pb11::651:207:,,,:/data2/pb/pb11:/usr/bin/ksh
pb12::652:207:,,,:/data2/pb/pb12:/usr/bin/ksh
pb13::653:207:,,,:/data2/pb/pb13:/usr/bin/ksh
pb14::654:207:,,,:/data2/pb/pb14:/usr/bin/ksh
pb15::655:207:,,,:/data2/pb/pb15:/usr/bin/ksh
pb16::656:207:,,,:/data2/pb/pb16:/usr/bin/ksh
pb17::657:207:,,,:/data2/pb/pb17:/usr/bin/ksh
pb18::658:207:,,,:/data2/pb/pb18:/usr/bin/ksh
pb19::659:207:,,,:/data2/pb/pb19:/usr/bin/ksh
pb20::660:207:,,,:/data2/pb/pb20:/usr/bin/ksh
pb21::661:207:,,,:/data2/pb/pb21:/usr/bin/ksh
pb22::662:207:,,,:/data2/pb/pb22:/usr/bin/ksh
pb23::663:207:,,,:/data2/pb/pb23:/usr/bin/ksh
pb24::664:207:,,,:/data2/pb/pb24:/usr/bin/ksh
pb25::665:207:,,,:/data2/pb/pb25:/usr/bin/ksh
pb26::666:207:,,,:/data2/pb/pb26:/usr/bin/ksh
pb27::667:207:,,,:/data2/pb/pb27:/usr/bin/ksh
pb28::668:207:,,,:/data2/pb/pb28:/usr/bin/ksh
pb29::669:207:,,,:/data2/pb/pb29:/usr/bin/ksh

 

▶ syslog.log 파일의 마지막 10줄을 보여줌
multihp1:/var/adm/syslog>tail syslog.log
Nov 22 11:25:38 multihp1 ftpd[9577]: FTP LOGIN FROM 70.12.107.62 [70.12.107.62], it12
Nov 22 11:25:39 multihp1 ftpd[9577]: FTP session closed
Nov 22 11:25:57 multihp1 ftpd[9584]: FTP LOGIN FROM 70.12.107.62 [70.12.107.62], it12
Nov 22 11:25:57 multihp1 ftpd[9584]: FTP session closed
Nov 22 11:40:30 multihp1 ftpd[9931]: FTP LOGIN FROM 70.12.107.62 [70.12.107.62], it12
Nov 22 11:40:30 multihp1 ftpd[9931]: FTP session closed
Nov 22 11:42:22 multihp1 ftpd[10040]: FTP LOGIN FROM 70.12.107.62 [70.12.107.62], it12
Nov 22 11:42:23 multihp1 ftpd[10040]: FTP session closed
Nov 22 11:42:45 multihp1 ftpd[10060]: FTP LOGIN FROM 70.12.107.62 [70.12.107.62], it12
Nov 22 11:42:45 multihp1 ftpd[10060]: FTP session closed
multihp1:/var/adm/syslog>
--> 커널을 들어와서,, 시스템관련된 중요 정보가 계속 업데이트되어 들어온다.

 

▶ syslog.log 파일의 마지막이 변경되는 것을 계속 보여주어라 (f)
multihp1:/var/adm/syslog>tail -f syslog.log
Nov 22 11:25:38 multihp1 ftpd[9577]: FTP LOGIN FROM 70.12.107.62 [70.12.107.62], it12
Nov 22 11:25:39 multihp1 ftpd[9577]: FTP session closed
Nov 22 11:25:57 multihp1 ftpd[9584]: FTP LOGIN FROM 70.12.107.62 [70.12.107.62], it12
Nov 22 11:25:57 multihp1 ftpd[9584]: FTP session closed
Nov 22 11:40:30 multihp1 ftpd[9931]: FTP LOGIN FROM 70.12.107.62 [70.12.107.62], it12
Nov 22 11:40:30 multihp1 ftpd[9931]: FTP session closed
Nov 22 11:42:22 multihp1 ftpd[10040]: FTP LOGIN FROM 70.12.107.62 [70.12.107.62], it12
Nov 22 11:42:23 multihp1 ftpd[10040]: FTP session closed
Nov 22 11:42:45 multihp1 ftpd[10060]: FTP LOGIN FROM 70.12.107.62 [70.12.107.62], it12
Nov 22 11:42:45 multihp1 ftpd[10060]: FTP session closed

 

▶sort는 정렬을 하는 것이다. default는 alphabet순이다.
multihp1:/data2/unix/unix10>sort
dkfjldskaf

the people who you wish to attract into your life  <-- 여기 까지 입력하고 ctrl+d 누르면 아래와 같이 알파벳순으로 sort한다.

dkfjldskaf
the people who you wish to attract into your life

 

▶/etc/passwd 파일을 알파벳으로 정렬한 것
multihp1:/data2/unix/unix10>sort /etc/passwd
adm:*:4:4::/var/adm:/sbin/sh
bin:*:2:2::/usr/bin:/sbin/sh
daemon:*:1:5::/:/sbin/sh
dba100:x:200:101:,,,:/DBA5/DBA805/dba100:/usr/bin/ksh
dba101:x:201:101:,,,:/DBA3/DBA805/dba101:/usr/bin/ksh
dba102:x:202:101:,,,:/DBA3/DBA805/dba102:/usr/bin/ksh
dba103:x:203:101:,,,:/DBA3/DBA805/dba103:/usr/bin/ksh
dba104:x:204:101:,,,:/DBA3/DBA805/dba104:/usr/bin/ksh
dba105:x:205:101:,,,:/DBA3/DBA805/dba105:/usr/bin/ksh
dba106:x:206:101:,,,:/DBA3/DBA805/dba106:/usr/bin/ksh
dba107:x:207:101:,,,:/DBA3/DBA805/dba107:/usr/bin/ksh
dba108:x:208:101:,,,:/DBA3/DBA805/dba108:/usr/bin/ksh
dba109:x:209:101:,,,:/DBA3/DBA805/dba109:/usr/bin/ksh


multihp1:/data2/unix/unix10>ls
a        cron     file1    file111
multihp1:/data2/unix/unix10>ls | sort
a
cron
file1
file111

 

▶ 현재 로그인한 유저 목록
multihp1:/data2/unix/unix10>who
root       console      8월 23일 13:49
it12       pts/ta       11월 22일 08:40
it10       pts/tb       11월 22일 08:55
unix09     pts/tc       11월 22일 08:56
it00       pts/td       11월 22일 08:58
it00       pts/te       11월 22일 08:59
it07       pts/tf       11월 22일 09:05
it07       pts/tg       11월 22일 09:05
it10       pts/th       11월 22일 09:05
it04       pts/ti       11월 22일 09:05
it03       pts/tj       11월 22일 09:05
it03       pts/tk       11월 22일 09:05
it05       pts/tl       11월 22일 09:05
it04       pts/tm       11월 22일 09:05
it13       pts/tn       11월 22일 09:05
it12       pts/to       11월 22일 09:05
it14       pts/tp       11월 22일 09:06
it05       pts/tq       11월 22일 10:16
it02       pts/tr       11월 22일 09:06
it02       pts/ts       11월 22일 09:06
it11       pts/tt       11월 22일 09:06
it16       pts/tu       11월 22일 09:06
it15       pts/tv       11월 22일 09:06
it11       pts/tw       11월 22일 09:06
it16       pts/tx       11월 22일 09:07
it13       pts/ty       11월 22일 09:07
it14       pts/tz       11월 22일 09:07
it08       pts/tA       11월 22일 09:07
it15       pts/tB       11월 22일 09:07
it17       pts/tC       11월 22일 10:24
it06       pts/tD       11월 22일 09:09
unix07     pts/tE       11월 22일 09:14
unix13     pts/tF       11월 22일 10:57
unix08     pts/tG       11월 22일 09:17
unix03     pts/tH       11월 22일 11:50
unix00     pts/tI       11월 22일 09:17
unix11     pts/tJ       11월 22일 09:17
unix04     pts/tK       11월 22일 09:55
unix15     pts/tL       11월 22일 11:45
unix01     pts/tM       11월 22일 09:17
unix00     pts/tN       11월 22일 09:17
unix13     pts/tO       11월 22일 11:48
unix11     pts/tP       11월 22일 09:18
unix12     pts/tQ       11월 22일 09:18
unix06     pts/tR       11월 22일 09:25
unix02     pts/tS       11월 22일 09:30
unix15     pts/tT       11월 22일 11:49
unix05     pts/tU       11월 22일 11:52
unix05     pts/tV       11월 22일 09:50
unix12     pts/tW       11월 22일 10:08
unix10     pts/tX       11월 22일 10:07
unix08     pts/tY       11월 22일 10:27
unix08     pts/tZ       11월 22일 11:51

 

multihp1:/data2/unix/unix10>ls -l
총 6 블록입니다.
drwxrwxrwx   3 unix10     unix            96 11월 22일 11:08 a
dr-xr-xr-x   2 unix10     unix          1024 11월 21일 16:27 cron
-rw-rw-rw-   1 unix10     unix            74 11월 22일 11:37 file1
-rw-rw-rw-   1 unix10     unix            51 11월 22일 11:52 file111

 

▶ 현재 파일을 5번째 컬럼을 number순으로 정렬을 해라
multihp1:/data2/unix/unix10>ls -l | sort +4 -n
총 6 블록입니다.
-rw-rw-rw-   1 unix10     unix            51 11월 22일 11:52 file111
-rw-rw-rw-   1 unix10     unix            74 11월 22일 11:37 file1
drwxrwxrwx   3 unix10     unix            96 11월 22일 11:08 a
dr-xr-xr-x   2 unix10     unix          1024 11월 21일 16:27 cron
multihp1:/data2/unix/unix10>ls -l | sort +4 -n -r
dr-xr-xr-x   2 unix10     unix          1024 11월 21일 16:27 cron
drwxrwxrwx   3 unix10     unix            96 11월 22일 11:08 a
-rw-rw-rw-   1 unix10     unix            74 11월 22일 11:37 file1
-rw-rw-rw-   1 unix10     unix            51 11월 22일 11:52 file111
총 6 블록입니다.

 

▶ who 를 파이프라인으로 잡아서 character단위로 1~11까지 잘라서 보여주어라
multihp1:/data2/unix/unix10>who | cut -c1-11
root
it12
it10
unix09
it00
it00
it07
it07
it10
it04
it03
it03
it05
it04
it13
it12
it14
it05
it02
it02
it11
it16
it15
it11
it16
it13
it14
it08
it15
it17
it06
unix07
unix13
unix08
unix03
unix00
unix11
unix04
unix15

▶ who를 파이프라인으로 잡아서 그것을 1~11까지 character단위로 자르고 sort해준다
multihp1:/data2/unix/unix10>who | cut -c1-11 | sort
it00
it00
it02
it02
it03
it03
it04
it04
it05
it05
it06
it07
it07
it08
it10
it10
it11
it11
it12
it12
it13
it13
it14
it14
it15
it15
it16
it16
it17
root
unix00
unix00
unix01
unix02
unix03
unix04
unix05
unix05
unix06
unix07
unix08
unix08
unix08

▶ who를 통해서 접속자 정보를 가지고 와서 1~11자리까지를 character cut을 한 후 정렬, 중복제거
multihp1:/data2/unix/unix10>who | cut -c1-11 | sort | uniq
it00
it02
it03
it04
it05
it06
it07
it08
it10
it11
it12
it13
it14
it15
it16
it17
root
unix00
unix01
unix02
unix03
unix04
unix05
unix06
unix07
unix08
unix09
unix10
unix11
unix12
unix13
unix15


▶ uniq가 제대로 작동하지 않는다. uniq는 인접해있을 경우에만 중복된 것을 없앤다.
multihp1:/data2/unix/unix10>who | cut -c1-11 | uniq
root
it12
it10
unix09
it00
it07
it10
it04
it03
it05
it04
it13
it12
it14
it05
it02
it11
it16
it15
it11
it16
it13
it14
it08
it15
it17
it06
unix07
unix13
unix08
unix03
unix00
unix11
unix04
unix15
unix01
unix00
unix13
unix11
unix12
unix06
unix02
unix15
unix05
unix12
unix10
unix08

 

이 글은 스프링노트에서 작성되었습니다.

'04번. IT 힌트얻기 > ▶ UNIX' 카테고리의 다른 글

Unix-basic-08  (0) 2011.11.24
Unix-basic-05  (0) 2011.11.23
Unix-Basic-04  (0) 2011.11.22
Unix-Basic-02  (0) 2011.11.21
Unix-Basic-01  (0) 2011.11.21