피드 구독하기: 글 (Atom)

2007-01-11

리눅스 sort 명령어 사용법

1. 기 능

파일의 내용이나 다른 명령의 결과값을 정렬한다.

2. 문 법

sort [option] ... [file] ...
정렬 방식은 대문자보다 소문자를 우선으로 하며 숫자는 문자처럼 취급되어 정렬된다.

3. 옵션

-u : 고유한 행만 출력한다.
-o filename : 출력 파일 이름을 지정한다.
-f : 대소문자를 구별하지 않는다.
-n : 숫자를 이용하여 정렬한다.
-r : 역순으로 정렬한다.
-t  구분자 : 필드를 구분하는 문자를 지정한다.

4. 사용방법 및 정보
[root@ls ]# sort _n test
test 파일의 내용을 숫자정렬을 이용하여 정렬한다.
[root@ls ]# sort _r test
test 파일의 내용을 역순으로 정렬한다.
[root@ls ]# sort _rf test
test 파일의 내용을 역순으로 정렬하되 대소문자 구분을 하지 않는다.
 

리눅스 paste 명령어 사용법

1. 기 능

파일의 라인을 합치는 명령이다. 하나의 파일 또는 여러 개의 파일 내용을 연결하여 출력할 수 있다.

2. 문 법

paste [option] ... [file] ...
기본적으로 파일의 구분은 tab을 이용한다.

3. 옵션

-d delimiter : 파일의 구분자를 tab 대신에 다른 문자로 지정한다.
-s : 하나의 파일 안의 내용을 한 라인으로 연결한다.

4. 사용방법 및 정보
[root@ls ]# cat a
test test test
test1 test1 test1
[root@ls ]# cat b
test2 test2 test2
test3 test3 test3
[root@ls ]# paste a b
test test test  test2 test2 test2
test1 test1 test1        test3 test3 test3
[root@ls ]# paste -d : a b
test test test:test2 test2 test2
test1 test1 test1:test3 test3 test3
[root@ls ]# paste -s a
test test test  test1 test1 test1
 

리눅스 head 명령어 사용법

1. 기 능

파일의 처음 부분을 출력한다.

2. 문 법

head [option] ... [file] ...

3. 옵션

-c  N : 파일의 처음부터 N byte 만큼 출력한다.
-n N : 파일의 처음부터 N 라인까지 출력한다.

4. 사용방법 및 정보
[root@ls ]# head anaconda-ks.cfg
anaconda-ks.cfg 파일의 처음부터 10줄을 출력한다. (기본값)
[root@ls ]# head _n 20 anaconda-ks.cfg
anaconda-ks.cfg 파일의 처음부터 20줄을 출력한다.
 

리눅스 diff 명령어 사용법

1. 기 능

두 개의 파일을 비교한다. 이것은 두 개의 파일이 과연 어떻게 다른가를 중요시한다.

2. 문 법

diff [options] from-file to-file

3. 옵션

-b : 빈 공간 총 용량의 변화를 무시한다.
--brief : 대충의 파일 다른점을 보고한다.
-d : 아주 조그마한 변화라도 찾도록 알고리즘을 바꾼다. 수행속도가 느려지는 단점이 있다.
-H : 큰 파일을 빠르게 처리하기 위해 사용된다.
-i : 대소문자를 구분하지 않는다.
-q : 두 파일의 다른점만 출력한다.
-s : 두 파일이 같을 때 보고한다.
-w : 두 행의 비교시 공백을 무시한다.

4. 사용방법 및 정보

diff가 보여주는 정보는 언뜻 보아서는 이해할 수 없다. 일단 명심해야 할 것은 표본이 되는 문서는 두 번째 파일이라는 점이다. 그래서 모든 정보는 ‘첫번째 파일이 어떻게 수정되어야 두 번째 파일과 같아지느냐’하는 것이다.

파일2에서 파일1로 첨가(append)되어야 할 것은 ‘a' 기호로 표현된다. 그리고 파일1에서 제거(delete)되어야 하는 내용은 'd'로, 두 파일의 내용이 바뀌어(change)하는 내용은 ’c'기호로 표시한다. 이러한 수정 기호와 함께 행의 번호가 함께 표시되며, 해당 줄의 내용이 함께 출력된다.

- 행숫자 a 파일2시작행번호 파일2끝행번호
- 파일1시작행번호 파일1끝행번호 d 행숫자
- 파일1시작행번호 파일1끝행번호 c 파일2시작행번호 파일2끝행번호

사용예
[root@ls ]# diff -i doc1.txt doc2.txt
 

리눅스 cut 명령어 사용법

1. 기 능

파일에서 필드를 뽑아낸다. 필드는 구분자로 구분할 수 있다.

2. 문 법

cut [option] ... [file] ...

3. 옵션

-c 문자위치 : 잘라낼 곳의 글자 위치를 지정한다. 콤마를 사용하거나 하이픈을 사용하여 범위를 정할 수도 있으며, 이런 표현들을 혼합하여 사용할 수도 있다.
-f 필드 : 잘라낼 필드를 정한다. 지정하는 방법은 -c 옵션과 같다.
-d 구분자 : 필드를 구분하는 문자를 지정한다. 디폴트는 탭 문자다.
-s : 필드 구분자를 포함할 수 없다면 그 행은 하지 않는다.

4. 사용방법 및 정보
[root@ls ]# cut -c 2-5 /etc/passwd
/etc/passwd 파일의 2번째부터 5번째 문자까지를 출력한다
[root@ls ]# cut -f 3 anaconda-ks.cfg
anaconda-ks.cfg 파일의 3번째 필드를 출력한다. 필드 구분은 tab이다.
[root@ls ]# cut -f 2 -d : /etc/passwd
/etc/passwd 파일의 2번째 필드를 출력한다. 필드 구분은 ‘:’이다.
 

리눅스 route 명령어 사용법

1. 기 능

IP routing table 을 보여준다.

2. 문 법

route add [xnet|-host] target [netmask <Nm>] [gw Gw] dev <If>
route del [-net|-host] target [gw Gw] [netmask Nw] [[dev] If]
route add default gw <Gw> dev <If>
IP routing table 정보를 보거나, routing table을 처리한다. 옵션 add나 del을 사용해서 라우팅 테이블을 수정하거나 옵션 없이 사용하면 라우팅 테이블의 현재 내용을 볼 수 있다.

3. 옵션

del : route 삭제
add : route 추가
target : network 또는 host의 목적지
-e : netstat format으로 routing table을 출력한다.

4. 사용방법 및 정보

[root@sense ~]# route
Kernel IP routing table
Destination     Gateway         Genmask                   Flags   Metric            Ref      Use     Iface
192.168.1.0        *                255.255.255.0           U        0                    0         0         eth0
169.254.0.0        *                255.255.0.0              U        0                    0         0         eth0
Default        192.168.1.1     0.0.0.0               UG       0                    0         0         eth0

각 필드에 대한 설명이다.
Destination : network 또는 host의 목적지를 말한다.
Gateway : gateway주소나 ‘*’ 으로 표시된다.
Genmask : 목적지의 netmask가 지정된다.
Flags : U (route is up)
           H (target is a host)
           G (use gateway)
           R (reinstate route for dynamic routing)
           D (dynamically installed by daemon or redirect)
           M (modified from routing daemon or redirect)
           A (installed by addconf)
           C (cache entry)
            ! (reject route)

Metric : 경로 설정의 기준값, 최소 경로를 best path로 하여 경로를 설정한다.
Ref : 라우트에서 참조하는 값 (리눅스 커널에서는 사용하지 않음)
Use : 라우트를 검사한 수 xF or xC 옵션을 이용하여 miss or hits 를 나타낼 수 있다.
Iface : 라우트에서 패킷을 보낼 interface

사용예제
[root@sense ~]# route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0
192.168.1.x 네트워크의 라우트를 eth0에 추가한다.
[root@sense ~]# route add default gw 192.168.1.1
192.168.1.1 을 gateway로 추가한다.
[root@sense ~]# route add default gw 192.168.2.1 dev eth0 metric 1
192.168.2.1 을 gateway로 추가하되 metric을 다르게 준다.

리눅스 ping 명령어 사용법

1. 기 능

외부 네트워크와 연결이 정상적으로 이루어졌는지 확인하는 명령

2. 문 법
# ping [option] destination

3. 옵션

-b : broadcast주소에 ping을 사용할 수 있다.
-c count : count 회수만큼 packet을 전송한다.
-i interval : interval 만큼의 시간에 한번씩 packet을 전송한다.
-n : 숫자로만 출력한다.
-s packetsize : packet 크기를 정의하여 전송한다.
-t ttl : IP time to live 를 결정한다.
-V : ping version 정보를 출력한다.
4. 사용방법 및 정보
[root@ls ]# ping -b 192.168.1.255
브로드케스트에 packet을 전송한다.

[root@ls ]# ping -c 3 192.168.0.1
192.168.0.1 호스트에 packet을 3번 전송한다.
브로드케스트에 packet을 전송한다.

[root@ls ]# ping -i 2 192.168.10.12
192.168.10.12 호스트에 packet을 전송하되 간격은 2초에 한번씩으로 설정한다.