리눅스/Other commands

리눅스: 커맨드 결과 파일로 저장하기

G. Hong 2021. 5. 11. 16:12
728x90
반응형

리눅스 계열의 서버를 관리 하다보면, 커맨드의 결과를 저장하여야 하는 경우가 발생합니다. GUI 환경에서 ssh 접속 툴을 사용하게 될 경우에는 툴에서도 저장기능을 지원하거나, 결과의 내용이 짧은 경우에는 copy&paste를 하여도 됩니다.

 

하지만, 외부 콘솔 접근이 안되는 환경에서는 이러한 방법은 사용할 수 없으니, 리눅스 자체의 기능으로 커맨드 결과들을 저장 하여야 합니다.

 

방법 1. '>' 사용

2가지 방법 모두 사용이 매우 간단 합니다. ifconfig의 결과를 ifconfig.txt로 저장하는 예시입니다. 동일한 이름의 파일이 존재할 경우에는 덮어쓰게 됩니다.

'>' 대신 '>>'를 사용할 경우에는 동일한 이름의 파일이 있을 경우에 뒷부분에 결과 값을 추가하게 됩니다. 

 

# ifconfig > ifconfig.txt
# cat ifconfig.txt
em1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.118.1.123  netmask 255.255.252.0  broadcast 10.118.1.255
        inet6 fe80::266e:12ab:cd34:5678  prefixlen 64  scopeid 0x20<link>
        ether 24:6e:96:12:34:56  txqueuelen 1000  (Ethernet)
        RX packets 53444703  bytes 11602039194 (10.8 GiB)
        RX errors 0  dropped 608868  overruns 0  frame 0
        TX packets 48308463  bytes 35620713361 (33.1 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device memory 0x91f80000-91ffffff

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 95228011  bytes 35581987645 (33.1 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 95228011  bytes 35581987645 (33.1 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 

방법 2. 'tee' 사용

tee 명령어도 사용법은 동일 합니다. tee를 사용하면 커맨드의 출력값을 그대로 보면서 값도 저장을 하게 됩니다. '>'과 마찬가지로 동일한 파일이 존재 할 경우에는 덮어쓰게 됩니다. 'tee -a <filename>' 을 사용하게 되면, 동일한 파일이 있을 경우 뒷부분에 결과 값이 추가되게 됩니다.

 

# ifconfig | tee ifconfig.txt
em1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.118.1.123  netmask 255.255.252.0  broadcast 10.118.1.255
        inet6 fe80::266e:12ab:cd34:5678  prefixlen 64  scopeid 0x20<link>
        ether 24:6e:96:12:34:56  txqueuelen 1000  (Ethernet)
        RX packets 53444703  bytes 11602039194 (10.8 GiB)
        RX errors 0  dropped 608868  overruns 0  frame 0
        TX packets 48308463  bytes 35620713361 (33.1 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device memory 0x91f80000-91ffffff

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 95228011  bytes 35581987645 (33.1 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 95228011  bytes 35581987645 (33.1 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
# cat ifconfig.txt
em1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.118.1.123  netmask 255.255.252.0  broadcast 10.118.1.255
        inet6 fe80::266e:12ab:cd34:5678  prefixlen 64  scopeid 0x20<link>
        ether 24:6e:96:12:34:56  txqueuelen 1000  (Ethernet)
        RX packets 53444703  bytes 11602039194 (10.8 GiB)
        RX errors 0  dropped 608868  overruns 0  frame 0
        TX packets 48308463  bytes 35620713361 (33.1 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device memory 0x91f80000-91ffffff

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 95228011  bytes 35581987645 (33.1 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 95228011  bytes 35581987645 (33.1 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
728x90
반응형