달력

122024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

'OS'에 해당되는 글 39건

  1. 2008.07.14 gdb 사용예제 #1
  2. 2008.06.04 AIX 시스템 명령어
  3. 2008.06.04 AIX - netstat
  4. 2008.06.04 grep과 find 활용
  5. 2008.05.20 하드웨어정보 shell
  6. 2008.05.20 UNIX 하드웨어 정보
  7. 2008.05.15 리눅스 cmdline
  8. 2006.07.22 cygwin
  9. 2006.01.02 filedescriptor

gdb 사용예제 #1

2008. 7. 14. 16:28

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

AIX 시스템 명령어

OS 2008. 6. 4. 19:52

1. 제조사 
   - 회사명 = lsattr -El sys0
   - 모델명 = prtconf (하드웨어config)
 
2. OS version
   - 버전 = oslevel -r
 
3. CPU
   - Arch = prtconf
   - Hz   = lsattr -El proc0 (단위 Hz)
   - 개수 = lsdev -Cc processor|wc -l
 
4. Memory
   - 용량 = lsattr -El sys0, prtconf
 
5. Virtual Memory
   - 용량 = lsps -a
 
6. Internal Disk
   - size = bootinfo -s hdisk(숫자) (Mb단위)
   - 개수 = lsdev -Cc disk
 
7. External Disk (SSA)
   - size = bootinfo -s hdisk(숫자) (Mb단위)
   - 개수 = lsdev -Cc pdisk , lsdev -Ct hdisk
 
8. rootvg mirror(y/n)
   - not mirror = lsvg rootvg (ACTIVE PVs = 1)
   - mirror     = lsvg rootvg (ACTIVE PVs = 2)
 
9. NIC
   - 속도, 개수 = lsparent -Ck ent
 
10. 시스템에 장착된 부품들에 위치확인
   - lscfg -vp
 
11. 시스템 parameter를 보고자 할 경우
   - lsattr -El sys0

  시스템 parameter를 변경하고자 할 경우
   - chdev -l sys0 -a parameter_name='value'

* 일반적 정보
prtconf                      = list system configuration
lscfg [-v]                  = devices (-v = verbose for microcode levels, etc)
lscfg -v                     = devices verbose (microcode level, firmware, etc)
lsdev -Cc adapter      = adapter cards
lsdev -Cc disk           = disks
lsdev -Cc processor  = CPU s
lsattr -El sys0            = serial number, model number, memory
* AIX 관련 정보
oslevel                      = AIX OS level
instfix -i |grep ML      = AIX maintenance level
lslpp -l                      = installed SW and levels
* Disk 관련 정보
lsvg -o                      = active volume groups
lsvg -p vgname          = disk drives in VG
lsvg -l vgname           = LV s in VG
lslv lvname                = LV detail
lslv -l lvname             = LV disk location
lspv                          = disks
lspv -l hdisk#             = LV s residing on a disk

* Network 관련 정보
lsdev -Cc if               = List network interfaces
netstat -rn                 = List network gateways
 

'OS' 카테고리의 다른 글

gdb 사용예제 #2  (0) 2008.07.14
gdb 사용예제 #1  (0) 2008.07.14
AIX - netstat  (0) 2008.06.04
grep과 find 활용  (0) 2008.06.04
하드웨어정보 shell  (0) 2008.05.20
Posted by 알 수 없는 사용자
|

AIX - netstat

OS 2008. 6. 4. 19:51

netstat 명령

네트워크 상태를 보여 줍니다.

구문
* 각 프로토콜이나 라우팅 표 정보에 대한 활동 중인 소켓을 표시하는 경우
/bin/netstat [ -n ] [ { -A -a } | { -r -i -I Interface } ] [ -f AddressFamily ] [ -p Protocol ] [ Interval ] [ System ]

* 네트워크 데이타 구조의 내용을 표시하는 경우
/bin/netstat [ -m | -s | -ss | -u | -v ] [ -f AddressFamily ] [ -p Protocol ] [ Interval ] [ System ]

* 통신 서브시스템을 통해 패킷 계수를 표시하는 경우
/bin/netstat -D

* 네트워크 버퍼 캐시 통계를 표시할 경우
/bin/netstat -c

* 데이타 링크 제공자 인터페이스 통계를 표시할 경우
/bin/netstat -P

관련된 통계를 지우려면
* /bin/netstat [ -Zc | -Zi | -Zm | -Zs ]

설명
netstat 명령은 활성화된 연결에 대한 여러 네트워크 관련 데이타 구조의 내용을 상징적으로 표시합니다. Interval 매개변수는 초로 지정되며, 구성설정된 네트워크 인터페이스에서의 패킷량에 관한 정보를 계속 표시합니다. Interval 매개변수는 플래그를 사용하지 않습니다. System 매개변수에는 현재 커널에서 사용하는 메모리를 지정합니다. 덤프 파일의 경우를 제외하고, System 매개변수는 /unix입니다.

플래그
-A 소켓과 연관된 모든 프로토콜 제어 블록의 주소를 보여 줍니다. 이 플래그는 디폴트 표시장치로 이용되며 디버깅 목적에 사용됩니다.
-a 모든 소켓의 상태를 표시합니다. 이 플래그가 없으면, 서버 프로세스에 의해 사용된 소켓은 표시되지 않습니다.
-c 네트워크 버퍼 캐시의 통계를 표시합니다.
네 트워크 버퍼 캐시는 네트워크로 전송될 수 있는 데이타 오브젝트를 포함하는 네트워크 버퍼의 리스트입니다. 네트워크 버퍼 캐시는 데이타 오브젝트가 추가 또는 제거되면서 동적으로 커집니다. 네트워크 버퍼 캐시는 네트워크 I/O의 성능 향상을 위해 일부 네트워크 커널 인터페이스에서 사용됩니다. netstat -c 명령은 다음의 통계를 인쇄합니다.

Network Buffer Cache Statistics:
Current total cache buffer size: 0
Maximum total cache buffer size: 0
Current total cache data size: 0
Maximum total cache data size: 0
Current number of cache: 0
Maximum number of cache: 0
Number of cache with data: 0
Number of searches in cache: 0
Number of cache hit: 0
Number of cache miss: 0
Number of cache newly added: 0
Number of cache updated: 0
Number of cache removed: 0
Number of successful cache accesses: 0
Number of unsuccessful cache accesses: 0
Number of cache validation: 0
Current total cache data size in private segments: 0
Maximum total cache data size in private segments: 0
Current total number of private segments: 0
Maximum total number of private segments: 0
Current number of free private segments: 0
Current total NBC_NAMED_FILE entries: 0
Maximum total NBC_NAMED_FILE entries: 0
주: -c 플래그는 AIX 버전 4.3.2 이상에서만 유효합니다.
-D 통신 서브시스템에서 수신, 전송, 단절된 패킷의 수를 표시합니다.
주: 통계 출력에서, 필드 값에서의 N/A는 계수가 해당되지 않는 경우를 의미합니다. NFS/RPC 통계의 경우, RPC를 패스한 수신 패킷의 수는 NFS를 패스한 패킷과 같기 때문에 이 수는 NFS/RPC Total 필드에서 계산되지 않습니다. 그러므로 N/A에 해당합니다. NFS에는 NFS 및 RPC에 고유한 송신 패킷이나 패킷 송신 단절 지수가 없습니다. 따라서, 개별 계수에는 필드 값 N/A가 표시되며, 누적 계수는 NFS/RPC Total 필드에 저장됩니다.
-f AddressFamily 통계 보고서나 주소 제어 블록을 AddressFamily 변수에 의해 지정된 항목에 제한합니다. 다음의 주소 패밀리가 인식됩니다. inet AF_INET 주소 패밀리를 나타냅니다.
inet6 AF_INET6 주소 패밀리를 나타냅니다.
ns AF_NS 주소 패밀리를 나타냅니다.
unix AF_UNIX 주소 패밀리를 나타냅니다.

-i 구성설정된 모든 인터페이스의 상태를 표시합니다.
주: 이더넷 인터페이스의 충돌 계수는 지원되지 않습니다.
-I Interface Interface 변수에 의해 지정된 구성설정된 인터페이스의 상태를 표시합니다.
-m 메모리 관리 루틴에 의해 기록된 통계를 표시합니다.
-n 네트워크 주소를 숫자로 표시합니다. 이 플래그를 지정하지 않으면, netstat 명령은 주소를 해석하여 가능한 곳에 기호로 표시합니다. 어떠한 포맷으로도 이 플래그를 사용할 수 있습니다.
-p Protocol Protocol 변수에 대해 지정된 값, 즉 프로토콜에 대한 잘 알려진 이름이나 별명의 통계를 표시합니다. 일부 프로토콜 이름과 별명은 /etc/protocols 파일에 나열되어 있습니다. 널(null) 응답은 보고할 숫자가 없음을 의미합니다. 통계 루틴이 없는 경우 Protocol 변수에 대해 지정된 값의 프로그램 보고는 제공되지 않습니다.
-P 데이타 링크 제공자 인터페이스(DLPI)의 통계를 표시합니다. netstat -P 명령은 다음과 같은 통계를 인쇄합니다.
DLPI statistics:
Number of received packets = 0
Number of transmitted packets = 0
Number of received bytes = 0
Number of transmitted bytes = 0
Number of incoming pkts discard = 0
Number of outgoing pkts discard = 0
Number of times no buffers = 0
Number of successful binds = 0
Number of unknown message types = 0
Status of phys level promisc = 0
Status of sap level promisc = 0
Status of multi level promisc = 0
Number of enab_multi addresses = 0
DLPI이 로드되지 않았을 경우, 다음과 같이 표시됩니다.

can't find symbol: dl_stats
주: -P 플래그는 AIX 버전 4.3.2 이상에서만 유효합니다.
-r 라우팅 표를 표시합니다. -s 플래그와 함께 사용된 경우, -r 플래그는 라우팅 통계를 표시합니다.
-s 각 프로토콜에 대한 통계를 표시합니다.
-ss 모든 0이 아닌 프로토콜 통계를 표시하고 세밀한 화면을 제공합니다.
-u 도메인 소켓에 대한 정보를 표시합니다.
-v CDLI 기준 통신 어댑터의 통계를 표시합니다. 이 플래그는 netstat 명령이 entstat, tokstat 및 fddistat 명령에 대해 통계 명령을 수행하도록 합니다. 이러한 장치 드라이버 명령을 위해서는 플래그를 수행하지 않습니다. 통계 출력에 대한 설명은 특정 장치 드라이버 통계 명령을 참조하십시오.
-Zc 네트워크 버퍼 캐시 통계를 지웁니다.
-Zi 인터페이스 통계를 지웁니다.
-Zm 네트워크 메모리 할당자 통계를 지웁니다.
-Zs 프로토콜 통계를 지웁니다. 특정 프로토콜의 통계를 지우려면, -p 를 사용하십시오. 예를 들어, TCP 통계를 지우려면, netstat -Zs -p tcp를 입력하십시오.

디폴트 표시장치
활동 중인 소켓에 대한 디폴트 표시 장치는 다음 항목을 표시합니다.

국지 및 원격 주소
수신 및 송신 대기행렬의 크기(바이트)
프로토콜
프로토콜의 내부 상태
소 켓 주소가 고유의 호스트 주소 없이 네트워크를 지정한 경우, 인터넷 주소의 형식은 host.port나 network.port입니다. 네트워크 주소가 /etc/networks 파일에 따라서 기호로 표시되는 반면, 그 주소가 기호 호스트 이름으로 해석될 수 있는 경우, 호스트 주소는 기호로 표시됩니다.

NS 주소는 12바이트 길이 즉, 4바이트의 네트워크 번호, 6바이트의 호스트 번호 및 2바이트의 포트 번호로 이루어져, 모두 네트워크 표준 형식으로 저장됩니다. VAX 시스템의 경우, 이것은 역구성된 단어 및 바이트입니다. Sun 시스템의 경우에는 역구성되지 않습니다.

호스트에 대한 기호 이름을 모르거나 -n 플래그가 사용된 경우, 주소는 주소 패밀리에 따라서 숫자로 인쇄됩니다. 지정되지 않은 주소와 포트는 *(별표)로 나타납니다.

인터페이스 표시(netstat -i)
인터페이스 표시 형식은 다음의 항목에 대하여 누적 통계표를 제공합니다.

Errors
Collisions
주: 이더넷 인터페이스에 대한 충돌 계수는 지원되지 않습니다.
Packets transferred
인터페이스 표시장치는 최대 전송 단위(MTU) 외에도 인터페이스 이름, 번호 및 주소를 제공합니다.

Routing Table Display (netstat -r)
라우팅 표 표시장치 형식은 사용가능한 라우트 및 그 상태를 표시합니다. 각 라우트는 목적지 호스트나 네트워크 및 패킷을 전송하는데 사용되는 게이트웨이로 이루어집니다.

라우팅 표는 다음 10개의 필드를 포함하고 있습니다.

Flags 라우팅 표의 flags 필드는 다음과 같은 라우트 상태를 표시합니다. U Up.
H 네트워크가 아닌 호스트로의 라우트입니다.
G 게이트웨이로의 라우트입니다.
D 라우트는 재지정에 의해 동적으로 작성됩니다.
M 라우트가 재지정에 의해 수정되었습니다.
L 링크 레벨 주소는 라우트 항목에 존재합니다.
c 이 라우트에 액세스하면 복제된 라우트가 작성됩니다. 이 필드는 AIX 버전 4.2.1 이상 버전에만 적용됩니다.
W 이 라우트는 복제된 라우트입니다. 이 필드는 AIX 버전 4.2.1 이상 버전에만 적용됩니다.
1 고유한 프로토콜의 라우팅 플래그 #1.
2 고유한 프로토콜의 라우팅 플래그 #2.
3 고유한 프로토콜의 라우팅 플래그 #3.
b 라우트는 브로드캐스트 주소를 나타냅니다.
e 바인딩 캐시 항목이 있습니다.
l 라우트는 국지 주소를 나타냅니다.
m 라우트는 멀티캐스트 주소를 나타냅니다.
P 고정된 라우트.
R 범위 밖의 호스트 또는 네트워크.
S 수동으로 추가되었습니다.
u 사용가능한 라우트.

국지 호스트에 접속된 각 인터페이스에 대해 직접 라우트가 작성됩니다.

Gateway 이 항목에 대한 gateway 필드는 전송 인터페이스의 주소를 표시합니다.
Refs 라우트에 대해 현재 활동하고 있는 사용의 번호를 제공합니다. 연결 중심 프로토콜은 연결이 지속되는 동안 하나의 라우트를 고수합니다. 반면에 연결되지 않은 프로토콜은 동일한 목적지에 송신하는 동안 라우트를 확보합니다.
Use 해당 라우트를 사용하여 송신된 패킷 계수를 제공합니다.
PMTU PMTU(5로 최대 전송 단위)를 제공합니다. 이 필드는 AIX 버전 4.2.1 이상 버전에만 적용됩니다.
Interface 라우트에 활용된 네트워크 인터페이스를 나타냅니다.
Exp 라우트가 만료되기 전에 남은 시간(분)을 표시합니다. 이 필드는 AIX 버전 4.2.1 이상 버전에만 적용됩니다.
Groups 해당 라우트와 연관된 그룹 ID의 리스트를 제공합니다. 이 필드는 AIX 버전 4.2.1 이상 버전에만 적용됩니다.
Netmasks 시스템에 적용된 네트마스크를 나열합니다.
Route Tree for
Protocol Family 기존 라우트에 활동 중인 주소 패밀리를 지정합니다. 이 필드에 지원되는 값은 다음과 같습니다. 1 UNIX 주소 패밀리를 지정합니다.
2 인터넷 주소 그룹을 지정합니다(예를 들어, TCP 및 UDP).
6 Xerox 네트워크 시스템(XNS) 주소 패밀리를 지정합니다.

기타 주소 패밀리에 대한 자세한 정보는 /usr/include/sys/socket.h 파일을 참조하십시오.


Interval 매개변수에 값이 지정된 경우, netstat 명령은 네트워크 인터페이스와 관련하여 수행 중인 통계 계수를 표시합니다. 이 화면에는 1차 인터페이스에 대한 열(자동 구성설정 중에 발견된 첫번째 인터페이스) 및 모든 인터페이스에 대한 정보를 요약하는 열의 두 열이 있습니다.

-I 플래그를 사용하여 1차 인터페이스는 다른 인터페이스로 대체될 수도 있습니다. 각 정보 화면의 첫번째 행은 시스템이 마지막으로 재시동된 이후로 축척된 통계의 요약을 포함하고 있습니다. 출력의 후속 행은 간격별로 누적된 값을 표시합니다.

Inet 예제
인터넷 인터페이스에 대한 라우팅 표 정보를 표시하려면, 다음과 같이 입력하십시오.
netstat -r -f inet
이로써 다음과 같은 출력이 작성됩니다.

Routing tables
Destination Gateway Flags Refs Use PMTU If Exp Groups
Netmasks:
(rootnode)
(0)0 ffff f000 0
(0)0 ffff f000 0
(0)0 8123 262f 0 0 0 0 0
(rootnode)

Route Tree for Protocol Family 2:
(rootnode)
default 129.35.38.47 UG 0 564 - tr0 -
loopback 127.0.0.1 UH 1 202 - lo0 -
129.35.32 129.35.41.172 U 4 30 - tr0 - +staff
129.35.32.117 129.35.41.172 UGHW 0 13 1492 tr0 30
192.100.61 192.100.61.11 U 1 195 - en0 -
(rootnode)

Route Tree for Protocol Family 6:
(rootnode)
(rootnode)
-i -f inet 플래그는 구성설정된 모든 인터넷 인터페이스의 라우팅 표 정보 대한 요청을 나타냅니다. 네트워크 인터페이스는 Interface 열에 나열됩니다. en는 표준 이더넷 인터페이스를 의미하고 반면에 tr은 토큰링 인터페이스를 의미합니다. 게이트웨이 주소는 점분리 십진수 형식입니다.

인터넷 인터페이스에 대한 인터페이스 정보를 표시하려면, 다음과 같이 입력하십시오.
netstat -i -f inet
AIX 4.2를 사용할 경우, 다음과 같은 출력이 작성됩니다.

Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
lo0 1536 4 0 4 0 0
lo0 1536 127 loopback 4 0 4 0 0
en0 1500 96 0 67 0 0
en0 1500 192.100.61 nullarbor 96 0 67 0 0
tr0 1500 44802 0 11134 0 0
tr0 1500 129.35.32 stnullarb 44802 0 11134 0 0
This produces the following output if you are using AIX 4.3:

Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
lo0 16896 Link#1 5161 0 5193 0 0
lo0 16896 127 localhost 5161 0 5193 0 0
lo0 16896 ::1 5161 0 5193 0 0
en1 1500 Link#2 8.0.38.22.8.34 221240 0 100284 0 0
en1 1500 129.183.64 infoserv.frec.bul 221240 0 100284 0 0
-i-finet 플래그는 구성설정된 모든 인터넷 인터페이스의 상태에 대한 요청을 의미합니다. 네트워크 인터페이스는 Name 열에 나열됩니다. lo는 루프백 인터페이스를 의미하고, en는 표준 이더넷 인터페이스를 의미하며 반면에, tr은 토큰링 인터페이스를 의미합니다.

각 프로토콜에 대한 통계를 표시하려면, 다음과 같이 입력하십시오.
netstat -s -f inet
이로써 다음과 같은 출력이 작성됩니다.

ip:
:
44485 total packets received
0 bad header checksums
0 with size smaller than minimum
0 with data size < data length
0 with header length < data size
0 with data length < header length
0 with bad options
0 with incorrect version number
0 fragments received
0 fragments dropped (dup or out of space)
0 fragments dropped after timeout
0 packets reassembled ok
44485 packets for this host
0 packets for unknown/unsupported protocol
0 packets forwarded
0 packets not forwardable
0 redirects sent
1506 packets sent from this host
0 packets sent with fabricated ip header
0 output packets dropped due to no bufs, etc.
0 output packets discarded due to no route
0 output datagrams fragmented
0 fragments created
0 datagrams that can't be fragmented
0 IP Multicast packets dropped due to no receiver
0 successful path MTU discovery cycles
0 path MTU rediscovery cycles attempted
0 path MTU discovery no-response estimates
0 path MTU discovery response timeouts
0 path MTU discovery decreases detected
0 path MTU discovery packets sent
0 path MTU discovery memory allocation failures
0 ipintrq overflows

icmp:
0 calls to icmp_error
0 errors not generated 'cuz old message was icmp
Output histogram:
echo reply: 6
0 messages with bad code fields
0 messages < minimum length
0 bad checksums
0 messages with bad length
Input histogram:
echo: 19
6 message responses generated

igmp:defect
0 messages received
0 messages received with too few bytes
0 messages received with bad checksum
0 membership queries received
0 membership queries received with invalid field(s)
0 membership reports received
0 membership reports received with invalid field(s)
0 membership reports received for groups to which we belong
0 membership reports sent

tcp:
1393 packets sent
857 data packets (135315 bytes)
0 data packets (0 bytes) retransmitted
367 URG only packets
0 URG only packets
0 window probe packets
0 window update packets
170 control packets
1580 packets received
790 acks (for 135491 bytes)
60 duplicate acks
0 acks for unsent data
638 packets (2064 bytes) received in-sequence
0 completely duplicate packets (0 bytes)
0 packets with some dup. data (0 bytes duped)
117 out-of-order packets (0 bytes)
0 packets (0 bytes) of data after window
0 window probes
60 window update packets
0 packets received after close
0 discarded for bad checksums
0 discarded for bad header offset fields
0 connection request
58 connection requests
61 connection accepts
118 connections established (including accepts)
121 connections closed (including 0 drops)
0 embryonic connections dropped
845 segments updated rtt (of 847 attempts)
0 resends due to path MTU discovery
0 path MTU discovery terminations due to retransmits
0 retransmit timeouts
0 connections dropped by rexmit timeout
0 persist timeouts
0 keepalive timeouts
0 keepalive probes sent
0 connections dropped by keepalive

udp:
42886 datagrams received
:
0 incomplete headers
0 bad data length fields
0 bad checksums
0 dropped due to no socket
42860 broadcast/multicast datagrams dropped due to no

socket
0 socket buffer overflows
26 delivered
106 datagrams output
ip는 인터넷 프로토콜을 지정하고, icmp는 정보 제어 메세지 프로토콜을 지정하고, tcp는 전송 제어 프로토콜을 지정하고, udp는 사용자 데이타그램 프로토콜을 지정합니다.

장치 드라이버 통계를 표시하려면, 다음과 같이 입력하십시오.
netstat -v
netstat -v 명령은 업 상태의 각 CDLI 기본 장치 드라이버에 대한 통계를 표시합니다. 이 명령에 대한 샘플 출력을 열람하려면, tokstat 명령, entstat 명령 또는 fddistat 명령을 참조하십시오.

멀티캐스트를 작동가능하게 하는 인터페이스에 관한 정보를 표시하고 그룹 멤버쉽을 열람하려면, 다음과 같이 입력하십시오.
netstat -a -I interface
예를 들어, 802.3 인터페이스가 지정된 경우, 다음의 출력이 산출됩니다.

Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
et0 1492 0 0 2 0 0
et0 1492 9.4.37 hun-eth 0 0 2 0 0
224.0.0.1
02:60:8c:0a:02:e7
01:00:5e:00:00:01
-I interface 대신에 플래그 -i가 지정될 경우, 구성설정된 모든 인터페이스가 나열됩니다. 네트워크 인터페이스가 이름 열에 나열되고, lo는 루프백 인터페이스를 의미하고, et는 IEEE 802.3 인터페이스를 의미하고, tr는 토큰링 인터페이스를 의미하고, fi는 FDDI 인터페이스를 지정합니다.

주소 열은 다음과 같은 의미를 갖습니다. 각 인터페이스의 기호 이름이 표시됩니다. 이 기호 이름 아래에, 그 인터페이스에서 결합된 멀티캐스트 그룹의 그룹 주소가 표시됩니다. 그룹 주소 224.0.0.1은 모든 멀티캐스트 인터페이스가 속해 있는 특수 all-hosts-group입니다. 인터페이스의 MAC 주소(콜론 표기법)는 특정 인터페이스에 대해 IP 멀티캐스트를 대신하여 사용 가능해진 다른 MAC 레벨 주소의 리스트를 포함하여 그룹 주소 다음에 옵니다.

통신 서브시스템의 패킷 계수를 표시하려면, 다음과 같이 입력하십시오.
netstat -D
다음의 출력이 산출됩니다.

Source Ipkts Opkts Idrops Odrops
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
tok_dev0 720 542 0 0
ent_dev0 114 4 0 0
- - - - - - - - - - - - - - - - - - - - - - - - -
Devices Total 834 546 0 0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
tok_dd0 720 542 0 0
ent_dd0 114 4 0 0
- - - - - - - - - - - - - - - - - - - - - - - - -
Drivers Total 834 546 0 0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
tok_dmx0 720 N/A 0 N/A
ent_dmx0 114 N/A 0 N/A
- - - - - - - - - - - - - - - - - - - - - - - - -
Demuxer Total 834 N/A 0 N/A
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IP 773 767 0 0
TCP 536 399 0 0
UDP 229 93 0 0
- - - - - - - - - - - - - - - - - - - - - - - - -
Protocols Total 1538 1259 0 0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
lo_if0 69 69 0 0
en_if0 22 8 0 0
tr_if0 704 543 0 1
- - - - - - - - - - - - - - - - - - - - - - - - -
Net IF Total 795 620 0 1
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NFS/RPC Client 519 N/A 0 N/A
NFS/RPC Server 0 N/A 0 N/A
NFS Client 519 N/A 0 N/A
NFS Server 0 N/A 0 N/A
- - - - - - - - - - - - - - - - - - - - - - - - -
NFS/RPC Total N/A 519 0 0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Note: N/A -> Not Applicable)
XNS(Xerox 네트워크 시스템)의 예제
XNS 인터페이스에 대한 네트워크 정보를 표시하려면, 다음과 같이 입력하십시오.
netstat -i -f ns
이로써 다음과 같은 출력이 작성됩니다.

Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
en1 1500 ns:6EH 2608C2EA9F7H 281 0 3055 0 0
et1 1492 ns:78H 2608C2EA9F7H 44 0 3043 0 0
nsip0 1536 ns:1H 2608C2EA9F7H 0 0 0 0 0
-i -f ns플래그는 구성설정된 모든 XNS 인터페이스의 상태에 대한 요청을 나타냅니다. 네트워크 인터페이스는 Name열에 나열되고, en은 표준 이더넷 인터페이스를 의미하고, et는 IEEE 802.3 이더넷 인터페이스를 의미합니다. Network 열에 있는 ns:는 XNS 그룹 주소를 의미합니다. 모든 네트워크 및 주소 번호는 번호의 끝에 문자 H가 추가된 16진수입니다.

nsip0는 인터넷 캡슐화 XNS 패킷입니다. 캡슐화에 사용되는 인터넷 목적지 주소는 ifconfig 명령에 있는 ipdst필드에 지정됩니다.

XNS 인터페이스에 대한 라우팅 표 정보를 표시하려면, 다음과 같이 입력하십시오.
netstat -r -f ns
이로써 다음과 같은 출력이 작성됩니다.

Routing tables
Destination Gateway Flags Refcnt Use Interface
Route Tree for Protocol Family 6:
(rootnode)
1H.2608C2EA394H 1H.2608C2EA9F7H UH 1 0 nsip0
18H.* 78H.2608C2EA9F7H UG 0 0 et1
6EH.* 6EH.2608C2EA9F7H U 1 0 en1
78H.* 78H.2608C2EA9F7H U 1 0 et1
(rootnode)
-r -f ns 플래그는 구성설정된 모든 XNS 인터페이스의 라우팅 표 정보에 대한 요청을 표시합니다. 네트워크 인터페이스는 Interface 열에 나열되고, en는 표준 이더넷 인터페이스를 의미하며 et는 IEEE 802.3 이더넷 인터페이스를 의미합니다. Interface 열에 있는 nsip0는 XNS를 인터넷 캡슐화 인터페이스로 의미합니다. Destination 및 Gateway 주소 번호는 그 번호 끝에 문자 H가 추가된 16진수입니다. Destination 열에 있는 *(별표)는 네트워크가 지점 대 지점 네트워크가 아님을 나타냅니다.

관련 정보
atmstat 명령, entstat 명령, fddistat 명령, iostat 명령, tokstat 명령, trpt 명령, vmstat 명령.

hosts 파일 형식, networks 파일 형식, protocols 파일 형식, services 파일 형식.

AIX Versions 3.2 and 4 Performance Tuning Guide에 있는 통신 I/O 모니터링 및 조절.

AIX Version 4.3 System Management Guide: Communications and Networks에 있는 게이트웨이, 명명, TCP/IP 주소 지정, TCP/IP 네트워크 인터페이스, TCP/IP 프로토콜 및 TCP/IP 라우팅.

AIX Communications Programming Concepts의에 있는 프로그래밍용 XNS(제록스 네트워크 시스템 개요.

'OS' 카테고리의 다른 글

gdb 사용예제 #1  (0) 2008.07.14
AIX 시스템 명령어  (0) 2008.06.04
grep과 find 활용  (0) 2008.06.04
하드웨어정보 shell  (0) 2008.05.20
UNIX 하드웨어 정보  (0) 2008.05.20
Posted by 알 수 없는 사용자
|

grep과 find 활용

OS 2008. 6. 4. 19:50

1.grep 명령어

1.1 grep의 의미
grep : 파일 전체를 뒤져 정규표현식에 대응하는 모든 행들을 출력한다.
egrep : grep의 확장판으로, 추가 정규표현식 메타문자들을 지원한다.
fgrep : fixed grep 이나 fast grep으로 불리며, 모든 문자를 문자 그래도 취급한다. 즉, 정         규표현식의 메타문자도 일반 문자로 취급한다.

1.2 grep의 동작 방법
grep에서 사용하는 정규표현식 메타문자

메타문자
 
기    능
 
사용 예
 
사용 예 설명
^
 
행의 시작 지시자
 
'^love'
 
love로 시작하는 모든 행과 대응
$
 
행의 끝 지시자
 
'love$'
 
love로 끝나는 모든 행과 대응
.
 
하나의 문자와 대응
 
'l..e'
 
l 다음에 두 글자가 나오고 e로 끝나는 문자열을 포함하는 행과 대응
*
 
선행문자와 같은 문자의 0개 혹은 임의개수와 대응
 
' *love'
 
0개 혹은 임의 개수의 공백 문자 후에 love로 끝나는 문자열을 포함한 행과 대응
[]
 
[] 사이의 문자 집합중 하나와 대응
 
'[Ll]ove'
 
love나 Love를 포함하는 행과 대응
[^ ]
 
문자집합에 속하지 않는 한 문자와 대응
 
'[^A-K]love'
 
A와 K 사이의 범위에 포함되지 않는 한 문자와 ove가 붙어있는 문자열과 대응
\<
 
단어의 시작 지시자
 
'\
 
love로 시작하는 단어를 포함하는 행과 대응(vi,grep에서 지원)
\>
 
단어의 끝 지시자
 
'love\>'
 
love로 끝나는 단어를 포함하는 행과 대응
(vi,grep에서 지원)
\(..\)
 
다음 사용을 위해 태그를 붙인다.
 
'\(lov\)ing'
 
지정된 부분을 태크1에 저장한다. 나중에 태그값을 참고하려면 \1을 쓴다. 맨 왼쪽부터 시작해 태그를 9개가지 쓸 수 있다. 왼쪽 예에서는 lov가 레지스터1에 저장되고 나중에 \1로 참고할 수 있다.
x\{m\}
 
문자 x를 m번 반복한다.
 
'o\{5\}'
 
문자 o가 5회 연속적으로 나오는 모든 행과 대응
x\{m,\}
 
적어도 m번 반복한다.
 
'o\{5,\}'
 
문자 o가 최소한 5회 반복되는 모든 행과 대응
x\{m,n\}
 
m회 이상 n회 이하 반복한다.
 
o\{5,10\}'
 
문자 o가 5회에서 10회 사이의 횟수로 연속적으로 나타나는 문자열과 대응

grep의 옵션
옵션
 
동작 설명
-b
 
검색 결과의 각 행 앞에 검색된 위치의 블록 번호를 표시한다. 검색 내용이 디스크의 어디쯤 있는지 위치를 알아내는데 유용하다.
-c
 
검색 결과를 출력하는 대신, 찾아낸 행의 총수를 출력한다.  (count)
-h
 
파일 이름을 출력하지 않는다.
-i
 
대소문자를 구분 하지 않는다.(대문자와 소문자를 동일하게 취급). (ignore)
-l
 
패턴이 존재하는 파일의 이름만 출력한다.(개행문자로 구분) (list file)
-n
 
파일 내에서 행 번호를 함께 출력한다. (number)
-s
 
에러 메시지 외에는 출력하지 않는다. 종료상태를 검사할 때 유용하게 쓸 수 있다.
-v
 
패턴이 존재하지 않는 행만 출력한다. (invert)
-w
 
패턴 표현식을 하나의 단어로 취급하여 검색한다. (word)
 
# grep -n '^jack:' /etc/passwd
(/etc/passwd 파일에서 jack을 찾는다. jack이 행의 맨 앞에 있으면 행 번호를 화면으로 출력한다.)

1.3 grep과 종료 상태
grep은 파일 검색의 성공 여부를 종료 상태값으로 되돌려준다.
패턴을 찾으면 0, 패턴을 찾을 수 없으면 1, 팡리이 존재하지 않을 경우 2
sed,a자 등은 검색의 성공 여부에 대한 종료 상태값을 반환하지 않는다. 다만 구문 에러가 있을 경우에만 에러를 보고한다.

2. 정규표현식을 사용하는 grep의 예제
# grep NW datafile
# grep NW d*
(d로 시작하는 모든 파일에서 NW를 포함하는 모든 행을 찾는다.)
# grep '^n' datafile
(n으로 시작하는 모든 행을 출력한다.)
# grep '4$' datafile
(4로 끝나는 모든 행을 출력한다.)
# grep TB Savage datafile
(TB만 인자이고 Savage와 datafile은 파일 이름이다.)
# grep 'TB Savage' datafile
(TB Savage를 포함하는 모든 행을 출력한다.)
# grep '5\.' datafile
(숫자 5, 마침표, 임의의 한 문자가 순서대로 나타나는 문자열이 포함된 행을 출력한다.)
# grep '\.5' datafile
(.5가 나오는 모든 행을 출력한다.)
# grep '^[we]' datafile
(w나 e로 시작하는 모든 행을 출력한다.)
# grep '[^0-9]' datafile
(숫자가 아닌 문자를 하나라도 포함하는 모든 행을 출력한다.)
# grep '[A-Z][A-Z] [A-Z]' datafile
(대문자 2개와 공백 1개, 그리고 대문자 하나가 연이어 나오는 문자열이 포함된 행을 출력한다.)
# grep 'ss* ' datafile
(s가 한 번 나오고, 다시 s가 0번 또는 여러번 나온 후에 공백이 연이어 등장하는 문자열을 포함한 모든 행을 출력한다.)
# grep '[a-z]\{9\}' datafile
(소문자가 9번 이상 반복되는 문자열을 포함하는 모든 행을 출력한다.)
# grep '\(3\)\.[0-9].*\1 *\1' datafile
(숫자 3,마침표,임의의 한 숫자,임의 개수의 문자,숫자 3(태그),임의 개수의 탭 문자,숫자 3의 순서를 갖는 문자열이 포한된 모든 행을 출력한다.)
# grep '\<>
(north로 시작하는 단어가 포함된 모든 행을 출력한다.)
# grep '\' datafile
(north라는 단어가 포함된 모든 행을 출력한다.)
# grep '\<[a-z].*n\>' datafile
(소문자 하나로 시작하고, 이어서 임의 개수의 여러 문자가 나오며, n으로 끝나는 단어가 포함된 모든 행을 출력한다. 여기서 .*는 공백을 포함한 임의의 문자들을 의미한다.)

3. grep에 옵션 사용
# grep -n '^south' datafile
(행번호를 함께 출력한다.)
# grep -i 'pat' datafile
(대소문자를 구별하지 않게 한다.)
# grep -v 'Suan Chin' datafile
(문자열 Suan Chin이 포함되지 않은 모든 행을 출력하게 한다. 이 옵션은 입력 파일에서 특정 내용의 입력을 삭제하는데 쓰인다.
# grep -v 'Suan Chin' datafile > black
# mv black datafile
)
# grep -l 'SE' *
(패턴이 찾아진 파일의 행 번호 대신 단지 파일이름만 출력한다.)
# grep -w 'north' datafile
(패턴이 다른 단어의 일부가 아닌 하나의 단어가 되는 경우만 찾는다. northwest나 northeast 등의 단어가 아니라, north라는 단어가 포함된 행만 출력한다.)
# grep -i "$LOGNAME" datafile
(환 경변수인 LOGNAME의 값을 가진 모든 행을 출력한다. 변수가 큰따옴표로 둘러싸여 있는 경우, 쉘은 변수의 값으로 치환한다. 작은따옴표로 둘러싸여 있으면 변수 치환이 일어나지 않고 그냥 $LOGNAME 이라는 문자로 출력된다.)

4. egrep
egrep(extended grep) : grep에서 제공하지 않는 확장된 정규표현식 메타문자를 지원  한다.
                                     grep와 동일한 명령행 옵션을 지원한다.
egrep에서 지원하는 확장 메타문자
메타문자
 
기능
 
사용 예
 
사용 예 설명
+
 
선행문자와 같은 문자의 1개 혹은 임의 개수와 대응
 
'[a-z]+ove'
 
1개 이상의 소문자 뒤에 ove가 붙어있는 문자열과 대응. move,approve,love,behoove 등이 해당된다.
?
 
선행문자와 같은 문자의0개 혹은 1개와 대응
 
'lo?ve'
 
l 다음에 0개의 문자 혹은 하나의 문자가 o가 나오는 문자열과 대응. love,lve 등이 해당된다.
a|b
 
a 혹은 b와 대응
 
'love|hate'
 
love 혹은 hate와 대응.
()
 
정규표현식을 묶어준다
 
'love(able|ly)'
 
lovable 혹은 lovely와 대응.
'(ov)+'
 
ov가 한 번 이상 등장하는 문자열과 일치.

4.1 egrep 예제
# egrep 'NW|EA' datafile
(NW나 EA가 포함된 행을 출력한다.)
# egrep '3+' datafile
(숫자 3이 한 번 이상 등장하는 행을 출력한다.)
# egrep '2\.?[0-9]' datafile
(숫자 2 다음에 마침표가 없거나 한 번 나오고, 다시 숫자가 오는 행을 출력한다.)
# egrep ' (no)+' datafile
(패턴 no가 한 번 이상 연속해서 나오는 행을 출력한다.)
# egrep 'S(h|u)' datafile
(문자 S 다음에 h나 u가 나오는 행을 출력한다.)
# egrep 'Sh|u' datafile
(패턴 Sh나 u를 포함한 행을 출력한다.)

 
5. 고정 grep 과 빠른 grep
fgrep : grep 명령어와 동일하게 동작한다. 다만 정규표현식 메타문자들을 특별하게 취급하지
          않는다.
# fgrep '[A-Z]****[0-9]..$5.00' file
([A-Z]****[0-9]..$5.00 이 포함된 행을 출력한다. 모든 문자들을 문자 자체로만 취급한다.)
 
6. find 명령어

find 명령의 일반적인 형태는 다음과 같다.

    find path expressions

각각의 인수들의 의미는 다음과 같다.

path
    찾기 시작할 위치를 나타낸다. 예를들어, `.'은 현재 디렉토리를 나타내고, `/'은 루트 디렉토리부터 찾을 겻을 나타낸다.

expression
    특정 파일을 찾기 위한 여려가지 조건들을 표현하는 부분으로 option, test, action, operator 등의 구문으로 구성되어진다.

그럼, expression의 각각의 구성 요소에 대하여 알아보자. option은 test와 상관 없이 항상 적용된다. option의 방법에는 다음과 같은 것이 있다.


-name : 확장자가 txt 인 화일을 찾는다.

          find / -name '*.txt'      

-perm : 퍼미션이 666(-rw-rw-rw-)인 화일을 찾는다.

          find . -perm 666      

-type : 파일의 타입을 지정하여, 찾고자하는 파일을 찾는다.

타입의 종류는 다음과 같다.
b : 블록 특수 파일(block device)
c : 캐릭터 특수 파일 (character deice)
d : 디렉토리(directory)
f : 일반파일(file)
l : 심볼릭 링크(link)
p : 파이프 (pipe)
s : 소켓 (socket)

현재 디렉토리 아래에 있는 서브디렉토리를 모두 찾는다.

          find . -type d      

-atime +n/-n/n : 최근 n일 이전에 액세스된 파일을 찾아준다.(accessed time)
+n은 n일 또는 그보다 더 오래 전의 파일
-n은 오늘 부터 n일 전까지의 파일
n은 정확히 n일 전에 액세스되었음을 의미한다.

시스템 전체에서 한 달 또는 그 이상의 기간동안 한번도 액세스하지 않은 디렉토리

          find / -atime +30 -type d      

-ctime +n/-n/n : ctime은 파일의 퍼미션을 마지막으로 변경시킨 날짜를 의미한다. (changed time)
+n은 n일 또는 그보다 더 오래 전의 파일
-n은 오늘 부터 n일 전까지의 파일
n은 정확히 n일 전에 수정되었음을 의미한다.

현재 디렉토리 아래에서 최근 일주일 동안 고친 파일

          find . -ctime -7       

-mtime +n/-n/n : mtime은 파일내의 data를 마지막으로 변경한 날짜를 의미한다.(modified time)
+n은 n일 또는 그보다 더 오래 전의 파일
-n은 오늘 부터 n일 전까지의 파일
n은 정확히 n일 전에 수정되었음을 의미한다.
-cnewer 파일명 : '파일명' 부분에 적어준 파일보다 더 최근에 수정된 파일들을 찾아준다.

test.txt 화일이 생성된 이후의 화일을 찾는다.

          find . -cnewer test.txt -print        

-user 유저네임 : '유저네임' 부분에 지정한 유저 소유의 파일을 찾아준다.

nalabi 라는 계정의 화일을 찾아준다.

          find / -user nalabi

그외 자주 쓰이지 않지만 추가 옵션으로는 아래와 같다.

-maxdepth n
0이 아닌 정수값으로 경로 깊이를 지정하여 검색을 할 경우에 사용한다. 예를들어, '-maxdepth 1'은 시작위치로 지정한 디렉토리만 검색하고 하위 디렉토리는 찾지 않는다.


-mindepth 옵션은 반대로 동작한다. 즉, 지정한 숫자만큼의 깊이부터 그 하위 디렉토리를 검색한다. (GNU find 버전)

-follow
심볼릭 링크된 디렉토리도 검색을 할 경우에 사용한다.


-mount
현재의 파일 시스템과 동일한 타입의 파일 시스템에서만 검색을 할 경우에 사용한다.
test에는 다음과 같은 방법들이 있으며, test에 사용하는 인수에는 보다 큰 수를 의미하는 `'나, 보다 작은 수를 의미하는 `'를 함께 사용할 수 있다. 인수에 아무 연산자가 없을 경우에는 정확히 그 인수 값을 의미한다.

-group
특정 그룹 소유의 파일들을 찾을 경우에 사용한다.

-nouser
소유자가 없는 파일을 찾을 경우에 사용한다. 즉, /etc/passwd 파일에 없는 소유자의 파일을 찾을 경우에 사용한다.

-nogroup
올바른 그룹의 소유가 아닌 파일을 찾을 경우에 사용한다. 즉, /etc/groups 파일에 없는 그룹의 소유인 파일을 찾을 경우에 사용한다.

newer file1 file2
`file1' 보다는 이후에 `file2' 보다는 이전에 생성되거나 변형된 파일들을 찾을 경우에 사용한다.

-size n[bckw]
크기가 n 유닛(unit)인 파일을 찾을 경우에 사용한다. 유닛은 기본 설정(`b''와 함께 사용한 경우와 동일)인 512 바이트의 블럭, `c'를 사용할 경우에는 1 바이트, `k'를 사용할 경우에는 킬로바이트, `w'를 사용할 경우에는 2 바이트의 워드 크기를 나타낸다.

-empty
비어있는 파일이나 디렉토리를 찾을 경우에 사용한다. (GNU find 버전)

-regex
정규표현식(regular expression)을 이용하여 파일들을 찾을 경우에 사용한다. `-iregex'는 대소문자를 구별하지 않을 경우에 사용한다. (GNU find 버전)
action은 test에서의 조건과 일치하는 파일들에 대해 수행할 작업을 명시하는 것으로 다음과 같은 방법들이 있다.

-print
찾은 파일들을 표준출력(stdout)으로 출력한다. 기본으로 설정되어 있다.

-fprint file
찾은 파일들을 `file'로 출력한다. `file'이 존재 하지 않을 경우에는 새로 생성되고, 존재할 경우에는 기존의 파일은 없어진다. (GNU find 버전)

-exec
파일을 찾았을 경우, 찾은 파일들에 대해 특정 명령을 수행 할 때 사용한다. 일반적으로 `-exec command {} ;'의 형식을 취한다.

-ok
-exec와 동일한 작업을 한다. 다른 점은, 명령을 실행할 때마다 실행 의사를 물어본다.

-ls
`ls -dils' 형식으로 찾은 파일들의 정보를 출력할때 사용한다.

-fls file
`ls'와 동일하게 동작하며 결과를 `file'로 출력한다.
operator는 test에서 사용한 옵션들을 조합하여 조건식을 만들고자 할때 사용는 것으로 다음과 같은 방법들이 있다. (설명 순서는 우선순위(precedence)에 따른다.)

[예제]
자신의 홈 디렉토리에서 확장자가 '.txt'인 파일을 찾을 경우
$ find   -name "*.txt'' -print

현재 디렉토리 밑에서 첫글자가 영어 대문자인 모든 파일을 찾을 경우
$ find . -name "[A-Z]*'' -print

'/usr/local'에서 첫 두글자는 영어 소문자이고 세번째 한자리는 숫자로 시작하는 이름을 가진 파일을 찾을 경우
$ find /usr/local -name "[a-z][a-z][0-9]*'' -print

확장자가 .txt 인 파일을 찾으면서 현재 디렉토리와 한 단계 밑의 디렉토리에서만 파일을 찾을 경우
$ find   -maxdepth 2 -name "*.txt'' -print

현재 디렉토리 밑에서 `zzang'이라는 이름을 가진 사용자 소유의 파일을 찾을 경우
$ find . -user zzang -print

시스템에서 소유자나 그룹이 없는 파일을 찾을 경우 (크래커가 만들어 놓은 파일일 경우도 있음)
$ find / -nouser -o -nogroup -print

자신의 홈 디렉토리에서 최근 3일 동안 변경된 파일들을 찾을 경우
$ find . -mtime -3 -print

'/tmp'에서 최근 5일 동안 변경되지 않은 파일들을 찾아서 삭제할 경우 (파일을 삭제할 때마다 삭제할 것인가를 물어보도록)
$ find . -mtime +5 -print -ok rm {} ;

현재 디렉토리 밑에 있는 모든 포스트 스크립트 파일(.ps)을 찾아서 gzip으로 압축을 하고 그 목록을 result.txt라는 파일에 저정할 경우
$ find . -name "*.ps" -fprint result.txt -exec gzip {} ;

크랙커의 침입이 의심스러워 자신의 시스템에서 suid와 guid가 설정된 일반 파일들을 찾아서 권한을 확인할 경우
$ find / -type f -perm +6000 -print -ls

시스템 관리의 실수로 일반 사용자가 쓰기 권한을 갖도록 설정되어 있는 파일을 찾아서 실행 권한을 없애는 경우 (단, 링크 파일은 제외함)
$ find / -perm +2 ! -type l -print -exec chmod o-w {} ;


7. 기타 활용

현재 디렉토리에서 가장 큰 파일을 찾기

$ find  .  -type  f  | xargs  du  -s  | sort  -n  |  tail  -1

위 한 줄의 명령어는 현재 디렉토리에 서브 디렉토리 포함하여 가장 큰 파일을 하나 찾아서 이를 출력하라는 의미이다.
간혹, 파일 시스템의 FULL이 되어서 가장 큰 파일을 찾으려고 할 경우 아주 유용하다.

 *  현재 디렉토리에서 확장자가 cpp 이고 string 이란 문자열이 포함된 파일 검색

$ find / -name "*.cpp" -print -exec grep string {} \

*  현재 디렉토리 위치에서 하위디렉토리를 포함하여 string 이란 문자열을 포함한 파일  검색

$ find . -type f | xargs grep "string"

이 방법은 파일 이름에 공백이 들어갈 경우 문제가 생길 수 있습니다.
공백이 포함된 화일은 아래와 같이 찾아보시면 될거에요
$ find . -type f -print0 | xargs -0 grep "string"

* 현재 디렉토리내에서 확장자가 cpp 이고 string 문자열을 포함하는 파일 검색

파일이름과 내용을 보여주려면..
$ grep string `find . -name \*\.cpp`

파일이름만 보여주려면..
$ grep -l string `find . -name \*\.cpp`


| (파이프, pipe, 수직바) 의 뜻은

"왼쪽 프로그램의 실행 결과를 오른쪽 프로그램의 입력으로 공급하라" 입니다.

파이프 왼쪽 오른쪽 프로그램이 동시에 실행된다는 것은 엄밀히 말하면 틀린얘기입니다.

왼쪽 프로그램이 실행되고 그 결과가 output 되면 오른쪽 프로그램의 input으로 공급되는 것입니다. 동시가 아닌 순차적인 개념입니다.

예를 들면,

"검색 프로그램의 출력을 정렬 프로그램으로 파이프시킬 수 있고 다시 그 결과를 프린팅 프로그램으로 파이프시키거나 파일로 리다이렉트해서 저장할 수도 있다."


grep 은 가장 유용한 툴 중의 하나입니다.

grep 의 주된 기능은 정규표현식에 매칭되는 문자열을 찾아서 해당 라인만을 출력하는 것입니다.

쉽게 말해, 출력결과(or 입력)에서 찾는 문자열이 있는 라인만 보여주는 기능을 합니다.


egrep은 grep의 확장판인데 두개이상의 문자열을 검색합니다.

# netatte -ap | egrep "aaa|bbb|ccc"

하면  netstate의 결과물중 aaa 혹은 bbb 혹은 ccc가 있는 라인을 출력하는거죠

즉 or 검색이 가능합니다.

 grep 하위 디렉토리 까지 조회시 -r 옵션 안될경우


보통 리눅스에서는 grep -r 하위 디렉토리까지 파일을 검색 할수 있게 recursive 옵션을 지원하지만 전통? grep에는 -r 옵션이 없는지 AIX ,HP,Solaris 에서는 -r 옵션을 사용 할수 없다.

그렇다면 여기서 find 와 xargs 를 이용하여 -r 옵션과 같은 실행을 할수 있는 방법은 아래와 같다.

 ex) dir : /home/search/cgi-src
 
        1. -r 옵션 이용 : grep -r "include"  /home/search/cgi-src

        2.  find 와 xargs  이용 : find /home/search/cgi-src | xargs grep "include"

 뭐 여기서 xargs는  간단하게 말해 파이프 '|' 를 통해 입력 받아서 xargs 뒤에 있는 명령어(grep)한테 파라미터를 주는것.

 * xargs 활용 (여러파일 동시에 백업하기)

 예를들어 test.cpp

             test1.cpp

             test2.cpp

이런식으로 다수의 파일이 있을떄 일일히 cp 명령어로 .bak 파일을 만드려면 번거로울 것이다.

한번에 처리할 수 있는 방법이 있다.
$ ls test* | xargs -t -i cp {} {}.bak


'OS' 카테고리의 다른 글

AIX 시스템 명령어  (0) 2008.06.04
AIX - netstat  (0) 2008.06.04
하드웨어정보 shell  (0) 2008.05.20
UNIX 하드웨어 정보  (0) 2008.05.20
리눅스 cmdline  (0) 2008.05.15
Posted by 알 수 없는 사용자
|

하드웨어정보 shell

OS 2008. 5. 20. 22:38

1. AIX, HP, SUN, LINUX 의 host, cpu 정보를 파일로 출력




2. tmax, jeus license 발급을 위한 host 정보출력

'OS' 카테고리의 다른 글

AIX - netstat  (0) 2008.06.04
grep과 find 활용  (0) 2008.06.04
UNIX 하드웨어 정보  (0) 2008.05.20
리눅스 cmdline  (0) 2008.05.15
cygwin  (0) 2006.07.22
Posted by 알 수 없는 사용자
|

UNIX 하드웨어 정보

OS 2008. 5. 20. 21:50

OS인벤토리(Inventory)정보보기(CPU,메모리,디스크 등-IBM,SUN,HP)
주로 하드웨어적인 (CPU, 메모리, 디스크 등) 인벤토리 정보를 주요 벤더별(IBM, SUN, HP)로 보는 방법입니다.

■ 일반 시스템 정보
▶ 설치된 OS명
▷ AIX, Solaris, HP-UX
# uname -s

▶ 설치된 OS 버전
▷ AIX
# echo `uname -v`.`uname -r`
또는
# oslevel
▷ Solaris, HP-UX
# uname -r

▶ 모델명
▷ AIX
# lsattr -E -l sys0 | awk '/modelname/ {print $2}'
▷ Solaris
# uname -i
▷ HP-UX
# uname -m

■ CPU 관련 정보

▶ CPU 갯수
▷ AIX
# lsdev -Cc processor | wc -l
▷ Solaris
# psrinfo | wc -l
▷ HP-UX
# ioscan -fknC processor | grep processor | wc -l

▶ CPU 속도
▷ AIX
# value=`lscfg -vp | grep "PS=" | head -1 | awk -F"PS=" '{print $2}' | awk -F"," '{print $1}'`
# value="0x$value"
# value=`printf "%d\n" $value`
# expr $value / 1000000
▷ Solaris
# psrinfo -v `psrinfo | awk '{print $1}' | head -1` | awk '/operates/ {print $6}'
▷ HP-UX
# echo itick_per_user/D | adb -k /stand/vmunix /dev/mem | tail -1 | awk '{print $2}'

■ 메모리 관련 정보

▶ 메모리 갯수
▷ AIX
# lsdev -C | grep -i memory | wc -l

▶ 메모리 용량
▷ AIX
# lsattr -E -l mem0 -a size | awk '{print $2}'
▷ Solaris
# prtconf | awk '/Memory size/ {print $3}'
▷ HP-UX
# value=`dmesg | grep Physical | grep Kbytes | awk '{print $2}'`
# expr $value / 1024

■ 디스크 관련 정보

▶ 디스크 갯수
▷ AIX
# lsdev -Cc disk | wc -l
▷ Solaris
# format <<-! > /tmp/format.dat
> 0
> q
> !
# cat /tmp/format.dat | grep cyl | wc -l
▷ HP-UX
# ioscan -fknC disk | grep disk | grep -v "CD-ROM" | grep -v "DVD-ROM" | wc -l

▶ 디스크 용량
▷ AIX
# lspv hdisk0 | grep "TOTAL PPs" | awk -F"(" '{print $2}' | awk '{print $1}'
▷ Solaris
# bps=`prtvtoc /dev/dsk/c0t0d0s0 | grep "bytes/sector" | awk '{print $2}'`
# sectors=`prtvtoc /dev/dsk/c0t0d0s0 | grep -v "*" | grep "^ *2" | awk '{print $5}'`
# bc -l << !
> scale=0
> $sectors * $bps / 1024 / 1024
> !
▷ HP-UX
# hwpath=`ioscan -fknC disk | grep disk | grep -v "CD-ROM" | grep -v "DVD-ROM" | head -1`
# name=`ioscan -fkn -H $hwpath | grep "/rdsk/" | awk '{print $2}'`
# value=`diskinfo $name | awk '/size:/ {print $2}'`
# expr $value / 1024 

'OS' 카테고리의 다른 글

grep과 find 활용  (0) 2008.06.04
하드웨어정보 shell  (0) 2008.05.20
리눅스 cmdline  (0) 2008.05.15
cygwin  (0) 2006.07.22
filedescriptor  (0) 2006.01.02
Posted by 알 수 없는 사용자
|

리눅스 cmdline

OS 2008. 5. 15. 01:29

Command Description
apropos whatis Show commands pertinent to string. See also threadsafe
man -t man | ps2pdf - > man.pdf make a pdf of a manual page
  which command Show full path name of command
  time command See how long a command takes
time cat Start stopwatch. Ctrl-d to stop. See also sw
nice info Run a low priority command (The "info" reader in this case)
renice 19 -p $$ Make shell (script) low priority. Use for non interactive tasks
dir navigation
cd - Go to previous directory
cd Go to $HOME directory
  (cd dir && command) Go to dir, execute command and return to current dir
pushd . Put current dir on stack so you can popd back to it
alias l='ls -l --color=auto' quick dir listing
ls -lrt List files by date. See also newest and find_mm_yyyy
ls /usr/bin | pr -T9 -W$COLUMNS Print in 9 columns to width of terminal
  find -name '*.[ch]' | xargs grep -E 'expr' Search 'expr' in this dir and below. See also findrepo
  find -type f -print0 | xargs -r0 grep -F 'example' Search all regular files for 'example' in this dir and below
  find -maxdepth 1 -type f | xargs grep -F 'example' Search all regular files for 'example' in this dir
  find -maxdepth 1 -type d | while read dir; do echo $dir; echo cmd2; done Process each item with multiple commands (in while loop)
find -type f ! -perm -444 Find files not readable by all (useful for web site)
find -type d ! -perm -111 Find dirs not accessible by all (useful for web site)
locate -r 'file[^/]*\.txt' Search cached index for names. This re is like glob *file*.txt
look reference Quickly search (sorted) dictionary for prefix
grep --color reference /usr/share/dict/words Highlight occurances of regular expression in dictionary
archives and compression
  gpg -c file Encrypt file
  gpg file.gpg Decrypt file
  tar -c dir/ | bzip2 > dir.tar.bz2 Make archive of dir/
  bzip2 -dc dir.tar.bz2 | tar -x Extract archive (use gzip instead of bzip2 for tar.gz files)
  tar -c dir/ | gzip | gpg -c | ssh user@remote 'dd of=dir.tar.gz.gpg' Make encrypted archive of dir/ on remote machine
  find dir/ -name '*.txt' | tar -c --files-from=- | bzip2 > dir_txt.tar.bz2 Make archive of subset of dir/ and below
  find dir/ -name '*.txt' | xargs cp -a --target-directory=dir_txt/ --parents Make copy of subset of dir/ and below
  ( tar -c /dir/to/copy ) | ( cd /where/to/ && tar -x -p ) Copy (with permissions) copy/ dir to /where/to/ dir
  ( cd /dir/to/copy && tar -c . ) | ( cd /where/to/ && tar -x -p ) Copy (with permissions) contents of copy/ dir to /where/to/
  ( tar -c /dir/to/copy ) | ssh -C user@remote 'cd /where/to/ && tar -x -p' Copy (with permissions) copy/ dir to remote:/where/to/ dir
  dd bs=1M if=/dev/sda | gzip | ssh user@remote 'dd of=sda.gz' Backup harddisk to remote machine
rsync (Use the --dry-run option for testing)
  rsync -P rsync://rsync.server.com/path/to/file file Only get diffs. Do multiple times for troublesome downloads
  rsync --bwlimit=1000 fromfile tofile Locally copy with rate limit. It's like nice for I/O
  rsync -az -e ssh --delete ~/public_html/ remote.com:'~/public_html' Mirror web site (using compression and encryption)
  rsync -auz -e ssh remote:/dir/ . && rsync -auz -e ssh . remote:/dir/ Synchronize current directory with remote one
ssh (Secure SHell)
  ssh $USER@$HOST command Run command on $HOST as $USER (default command=shell)
ssh -f -Y $USER@$HOSTNAME xeyes Run GUI command on $HOSTNAME as $USER
  scp -p -r $USER@$HOST: file dir/ Copy with permissions to $USER's home directory on $HOST
  ssh -g -L 8080:localhost:80 root@$HOST Forward connections to $HOSTNAME:8080 out to $HOST:80
  ssh -R 1434:imap:143 root@$HOST Forward connections from $HOST:1434 in to imap:143
wget (multi purpose download tool)
(cd cmdline && wget -nd -pHEKk http://www.pixelbeat.org/cmdline.html) Store local browsable version of a page to the current dir
  wget -c http://www.example.com/large.file Continue downloading a partially downloaded file
  wget -r -nd -np -l1 -A '*.jpg' http://www.example.com/dir/ Download a set of files to the current directory
  wget ftp://remote/file[1-9].iso/ FTP supports globbing directly
wget -q -O- http://www.pixelbeat.org/timeline.html | grep 'a href' | head Process output directly
  echo 'wget url' | at 01:00 Download url at 1AM to current dir
  wget --limit-rate=20k url Do a low priority download (limit to 20KB/s in this case)
  wget -nv --spider --force-html -i bookmarks.html Check links in a file
  wget --mirror http://www.example.com/ Efficiently update a local copy of a site (handy from cron)
networking (Note ifconfig, route, mii-tool, nslookup commands are obsolete)
  ethtool eth0 List ethernet interface status
  ethtool --change eth0 autoneg off speed 100 duplex full Manually set ethernet interface speed
  iwconfig eth1 List wireless interface status
  iwconfig eth1 rate 1Mb/s fixed Manually set wireless interface speed
iwlist scan list wireless networks in range
ip link show List network interfaces
  ip link set dev eth0 name wan Rename interface eth0 to wan
  ip link set dev eth0 up Bring interface eth0 up (or down)
ip addr show List addresses for interfaces
  ip addr add 1.2.3.4/24 brd + dev eth0 Add (or del) ip and mask (255.255.255.0)
ip route show List routing table
  ip route add default via 1.2.3.254 Set default gateway to 1.2.3.254
tc qdisc add dev lo root handle 1:0 netem delay 20msec Add 20ms latency to loopback device (for testing)
tc qdisc del dev lo root Remove latency added above
host pixelbeat.org Lookup DNS ip address for name or vice versa
hostname -i Lookup local ip address (equivalent to host `hostname`)
whois pixelbeat.org Lookup whois info for hostname or ip address
netstat -tupl List internet services on a system
netstat -tup List active connections to/from system
windows networking (Note samba is the package that provides all this windows specific networking support)
smbtree Find windows machines. See also findsmb
  nmblookup -A 1.2.3.4 Find the windows (netbios) name associated with ip address
  smbclient -L windows_box List shares on windows machine or samba server
  mount -t smbfs -o fmask=666,guest //windows_box/share /mnt/share Mount a windows share
  echo 'message' | smbclient -M windows_box Send popup to windows machine (off by default in XP sp2)
math
echo '(1 + sqrt(5))/2' | bc -l Quick math (Calculate φ). See also bc
echo 'pad=20; min=64; (100*10^6)/((pad+min)*8)' | bc More complex (int) e.g. This shows max FastE packet rate
echo 'pad=20; min=64; print (100E6)/((pad+min)*8)' | python Python handles scientific notation
echo 'pad=20; plot [64:1518] (100*10**6)/((pad+x)*8)' | gnuplot -persist Plot FastE packet rate vs packet size
echo 'obase=16; ibase=10; 64206' | bc Base conversion (decimal to hexadecimal)
echo $((0x2dec)) Base conversion (hex to dec) ((shell arithmetic expansion))
units -t '100m/9.74s' 'miles/hour' Unit conversion (metric to imperial)
units -t '500GB' 'GiB' Unit conversion (SI to IEC prefixes)
units -t '1 googol' Definition lookup
seq 100 | (tr '\n' +; echo 0) | bc Add a column of numbers. See also add and funcpy
text manipulation (Note sed uses stdin and stdout, so if you want to edit files, append <oldfile >newfile)
  sed 's/string1/string2/g' Replace string1 with string2
  sed 's/\(.*\)1/\12/g' Modify anystring1 to anystring2
  sed '/ *#/d; /^ *$/d' Remove comments and blank lines
  sed ':a; /\\$/N; s/\\\n//; ta' Concatenate lines with trailing \
  sed 's/[ \t]*$//' Remove trailing spaces from lines
  sed 's/\([\\`\\"$\\\\]\)/\\\1/g' Escape shell metacharacters active within double quotes
seq 10 | sed "s/^/      /;s/ *\(.\{7,\}\)/\1/" Right align numbers
  sed -n '1000p;1000q' Print 1000th line
  sed -n '10,20p;20q' Print lines 10 to 20
  sed -n 's/.*<title>\(.*\)<\/title>.*/\1/ip;T;q' Extract title from HTML web page
  sort -t. -k1,1n -k2,2n -k3,3n -k4,4n Sort IPV4 ip addresses
echo 'Test' | tr '[:lower:]' '[:upper:]' Case conversion
tr -dc '[:print:]' < /dev/urandom Filter non printable characters
grep 'processor' /proc/cpuinfo | wc -l Count lines
set operations (Note you can export LANG=C for speed. Also these assume no duplicate lines within a file)
  sort file1 file2 | uniq Union of unsorted files
  sort file1 file2 | uniq -d Intersection of unsorted files
  sort file1 file1 file2 | uniq -u Difference of unsorted files
  sort file1 file2 | uniq -u Symmetric Difference of unsorted files
  comm file1 file2 | sed 's/^\t*//' Union of sorted files
  comm -12 file1 file2 Intersection of sorted files
  comm -13 file1 file2 Difference of sorted files
  comm -3 file1 file2 | sed 's/^\t*//' Symmetric Difference of sorted files
calendar
cal -3 Display a calendar
cal 9 1752 Display a calendar for a particular month year
date -d fri What date is it this friday. See also day
date --date='25 Dec' +%A What day does xmas fall on, this year
date --date '1970-01-01 UTC 2147483647 seconds' Convert number of seconds since the epoch to a date
TZ=':America/Los_Angeles' date What time is it on West coast of US (use tzselect to find TZ)
  echo "mail -s 'get the train' P@draigBrady.com < /dev/null" | at 17:45 Email reminder
echo "DISPLAY=$DISPLAY xmessage cooker" | at "NOW + 30 minutes" Popup reminder
locales
printf "%'d\n" 1234 Print number with thousands grouping appropriate to locale
BLOCK_SIZE=\'1 ls -l get ls to do thousands grouping appropriate to locale
echo "I live in `locale territory`" Extract info from locale database
LANG=en_IE.utf8 locale int_prefix Lookup locale info for specific country. See also ccodes
locale | cut -d= -f1 | xargs locale -kc | less List fields available in locale database
CDs
  gzip < /dev/cdrom > cdrom.iso.gz Save copy of data cdrom
  mkisofs -V LABEL -r dir | gzip > cdrom.iso.gz Create cdrom image from contents of dir
  mount -o loop cdrom.iso /mnt/dir Mount the cdrom image at /mnt/dir (read only)
  cdrecord -v dev=/dev/cdrom blank=fast Clear a CDRW
  gzip -dc cdrom.iso.gz | cdrecord -v dev=/dev/cdrom - Burn cdrom image (use dev=ATAPI -scanbus to confirm dev)
  cdparanoia -B Rip audio tracks from CD to wav files in current dir
  cdrecord -v dev=/dev/cdrom -audio *.wav Make audio CD from all wavs in current dir (see also cdrdao)
  oggenc --tracknum='track' track.cdda.wav -o 'track.ogg' Make ogg file from wav file
disk space (See also FSlint)
ls -lSr Show files by size, biggest last
du -s * | sort -k1,1rn | head Show top disk users in current dir. See also dutop
df -h Show free disk space
df -i Show free inodes
fdisk -l Show disks partitions sizes and types (run as root)
rpm -q -a --qf '%10{SIZE}\t%{NAME}\n' | sort -k1,1n List all packages by installed size (Bytes) on rpm distros
dpkg-query -W -f='${Installed-Size;10}\t${Package}\n' | sort -k1,1n List all packages by installed size (KBytes) on deb distros
dd bs=1 seek=2TB if=/dev/null of=ext3.test Create a large test file (taking no space). See also truncate
monitoring/debugging
tail -f /var/log/messages Monitor messages in a log file
strace -c ls >/dev/null Summarise/profile system calls made by command
strace -f -e open ls >/dev/null List system calls made by command
ltrace -f -e getenv ls >/dev/null List library calls made by command
lsof -p $$ List paths that process id has open
lsof ~ List processes that have specified path open
tcpdump not port 22 Show network traffic except ssh. See also tcpdump_not_me
ps -e -o pid,args --forest List processes in a hierarchy
ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed '/^ 0.0 /d' List processes by % cpu usage
ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS List processes by mem usage. See also ps_mem.py
ps -C firefox-bin -L -o pid,tid,pcpu,state List all threads for a particular process
ps -p 1,2 List info for particular process IDs
last reboot Show system reboot history
free -m Show amount of (remaining) RAM (-m displays in MB)
watch -n1 'cat /proc/interrupts' Watch changeable data continuously
System information (see also sysinfo) ('#' means root access is required)
uname -a Show kernel version and system architecture
head -n1 /etc/issue Show name and version of distribution
cat /proc/partitions Show all partitions registered on the system
grep MemTotal /proc/meminfo Show RAM total seen by the system
grep "model name" /proc/cpuinfo Show CPU(s) info
lspci -tv Show PCI info
lsusb -tv Show USB info
mount | column -t Show mounted filesystems on the system (and align output)
# dmidecode -q | less Display SMBIOS/DMI information
# smartctl -A /dev/sda | grep Power_On_Hours How long has this disk (system) been powered on in total
# hdparm -i /dev/sda Show info about disk sda
# hdparm -tT /dev/sda Do a read speed test on disk sda
# badblocks -s /dev/sda Test for unreadable blocks on disk sda
recode (Obsoletes iconv, dos2unix, unix2dos)
recode -l | less Show available conversions (aliases on each line)
  recode windows-1252.. file_to_change.txt Windows "ansi" to local charset (auto does CRLF conversion)
  recode utf-8/CRLF.. file_to_change.txt Windows utf8 to local charset
  recode iso-8859-15..utf8 file_to_change.txt Latin9 (western europe) to utf8
  recode ../b64 < file.txt > file.b64 Base64 encode
  recode /qp.. < file.txt > file.qp Quoted printable decode
  recode ..HTML < file.txt > file.html Text to HTML
recode -lf windows-1252 | grep euro Lookup table of characters
echo -n 0x80 | recode latin-9/x1..dump Show what a code represents in latin-9 charmap
echo -n 0x20AC | recode ucs-2/x2..latin-9/x Show latin-9 encoding
echo -n 0x20AC | recode ucs-2/x2..utf-8/x Show utf-8 encoding
interactive
mc Powerful file manager that can browse rpm, tar, ftp, ssh, ...
screen Virtual terminals with detach capability, ...
links Web browser
gnuplot Interactive/scriptable graphing
octave Matlab like environment
Miscellaneous
alias hd='od -Ax -tx1z -v' Handy hexdump. (usage e.g.: • hd /proc/self/cmdline | less)
alias realpath='readlink -f' Canonicalize path. (usage e.g.: • realpath ~/../$USER)
set | grep $USER Search current environment
  touch -c -t 0304050607 file Set file timestamp (YYMMDDhhmm)

'OS' 카테고리의 다른 글

grep과 find 활용  (0) 2008.06.04
하드웨어정보 shell  (0) 2008.05.20
UNIX 하드웨어 정보  (0) 2008.05.20
cygwin  (0) 2006.07.22
filedescriptor  (0) 2006.01.02
Posted by 알 수 없는 사용자
|

cygwin

OS 2006. 7. 22. 23:41




Cygwin 설정 방법 - http://ezbox.net/cygwin

'OS' 카테고리의 다른 글

grep과 find 활용  (0) 2008.06.04
하드웨어정보 shell  (0) 2008.05.20
UNIX 하드웨어 정보  (0) 2008.05.20
리눅스 cmdline  (0) 2008.05.15
filedescriptor  (0) 2006.01.02
Posted by 알 수 없는 사용자
|

filedescriptor

OS 2006. 1. 2. 15:39

K사 프로젝트에서 서버에 apache + tomcat 4 + oracle 9i

ulimit -a
time(seconds)
unlimited file(blocks)
unlimited data(kbytes)
unlimited stack(kbytes) 8192 coredump(blocks)
unlimited nofiles(descriptors)  256 vmemory(kbytes) unlimited

nofiles : 하나의 프로세스가 열 수 있는 파일의 갯수, 즉 thread 가 256 개 이상 생성이 되지 않았을 듯.

tomcat 의 thread 는 75 개 설정했음.
oracle 9i 가 있었으니, 2000 이상 되어야 했을텐데 너무 적은 수가 잡혀 있었음.

현상 : oracle 의 쿼리 속도가 엄청 느림, 혹은 다운. was 처리 속도 느림, 혹은 다운.
CPU 사용률이나 메모리 사용율은 그닥 높지 않았음.

'OS' 카테고리의 다른 글

grep과 find 활용  (0) 2008.06.04
하드웨어정보 shell  (0) 2008.05.20
UNIX 하드웨어 정보  (0) 2008.05.20
리눅스 cmdline  (0) 2008.05.15
cygwin  (0) 2006.07.22
Posted by 알 수 없는 사용자
|