linux

linux - 기본II

sysman 2020. 12. 7. 10:39

압축, 아카이빙

 

압축

gzip/ gunzip

bzip2 /bynzip2

 

압축 + 아카이빙 명령어

tar (잘안쓰임)

zip/ unzip (잘안쓰임)

 

압축 관련 명령어 (gzip/gunzip 명령어)

#gzip file1

#gunzip -c file1.gz(#zcat file1.gz)

#gunzip file1.gz(#gzip -d gile1.gz)

 

gzip/gunzip 명령어

(압축) # gzip file1 file1.gz

(확인) # gunzip -c file1.gz (# zcat file1.gz)

(해제) # gunzip file1.gz (# gzip -d file1.gz)

 

-S : 기본 생성 파일인 .gz 형태가 아닌 지정한 파일로 생성한다.

-d : 압축된 파일의 압축을 해제한다. 이는 uncompress명령과도 같다.

-f : 이미 이전에 압축파일이 존재하더라도, 무시하고 압축파일을 생성한다.

-r : 지정한 것이 디렉토리라면 하위 디렉토리와 파일까지 모두 압축한다.

-v : 압축 통계를 보여준다.

-[1-9] : 압축 레벨 지정

-------------------------

-1 (압축 속도)

-2

-3

.....

-8

-9 (압축율)

-------------------------

 

bash설정

# vi ~/.bashrc

alias gzip='gzip –v'

alias gunzip='gunzip -v'

# . ~/.bashrc

# alias gzip

 

특정 디렉토리내의 모든 파일을 gzip으로 압축하기

# gzip -rv dir /* -r : recursive */

# gzip –dr dir (# gunzip –r dir)

# gzip -1v file3/* -1을 통한 압축 */

파일의 압축 해제

# gzip -d file1.gz /* -d : decompress */

# gunzip file2.gz

 

여러개의 파일을 각각 하나로 압축

# gzip file1 file2 file3 (# gzip file*)

#ls

file1.gz file2.gz file3.gz

# gunzip *.gz (# gzip -d *.gz) # ls -> 파일 확인

 

bzip2/bunzip2 명령어

(압축) # bzip2 file1 file1.bz2

(확인) # bunzip2 -c file1.bz2 (# bzcat file1.bz2)

(해제) # bunzip2 file1.bz2 (# bzip2 -d file1.bz2)

 

-c : 파일을 압축 또는 풀어서 표준 출력으로 보낸다.

-d : 압축을 푼다. -z : 파일을 압축한다.

-t : 지정된 파일의 무결성을 검사하지만, 압축을 풀지 않는다.

-f : 압축, 해제할 때 같은 이름의 파일이 있을 경우 덮어쓰기 한다.

-k : 파일을 압축이나 해제할 때 원본파일을 지우지 않는다.

-q : 경고 메시지가 나오지 않는다.

-v : bzip2 작업사항을 자세히 볼 수 있다.

-1~-9 : 압축할 때의 블록 크기를 정해준다.

 

# vi ~/.bashrc

alias bzip2='bzip2 –v'

alias bunzip2='bunzip2 -v'

# . ~/.bashrc

# alias bzip2

 

# bzip2 -kv file2/* 이전 파일 삭제하지 않고 그대로 유지하면서 압축되는 과정 자세히 출력 */

 

bzcat으로 압축파일 내용 확인

# bzcat file1.bz2 | more (# bunzip2 -c file1.bz2)

파일 해제

# bzip2 -d file1.bz2 (# bunzip2 file1.bz2)

# bunzip2 file2.bz2

 

압축 + 아카이빙 (tar 명령어)

 

tar 명령어

# tar cvf file.tar file1 file2 file3

# tar tvf file.tar

# tar xvf file.tar

# tar cvzf file.tar.gz file1 file2 file3

# tar tvzf file.tar.gz

# tar xvzf file.tar.gz

# tar cvjf file.tar.bz2 file1 file2 file3

# tar tvjf file.tar.bz2

# tar xvzf file.tar.bz2

 

tar 명령어

tar(tape archive) 명령어는 여러개의 파일이나 디렉토리를 한 개의 묶음파일로 만들 때 사용한다. 또는 Tape 디바이스에 백업할 때 사용

tar명령어 사용시 옵션에 -기호 생략가능

# tar cvf <묶음파일명> <파일명1> <파일명2> .../* c: create, v: verbose, f: file or tape */

# tar tvf <묶음파일명> /* t: content */

# tar xvf <묶음파일명>/* x: extract */

 

# tar cvf file.tar file1 file2 file3

# tar tvf file.tar

# tar xvf file.tar

# tar cvzf file.tar.gz file1 file2 file3 (# tar cvzf file.tgz file1 file2 file3)

# tar tvzf file.tar.gz

# tar xvzf file.tar.gz (# tar xvf file.tar.gz)

# tar cvjf file.tar.bz2 file1 file2 file3 (# tar cvjf file.tbz file1 file2 file3)

# tar tvjf file.tar.bz2 # tar xvjf file.tar.bz2 (# tar xvf file.tar.bz2)

 

-c : 여러 개의 파일을 하나의 파일로 묶을 때

-v : 생성과정을 보여 줌

-x : 파일의 압축을 해제하고 풀어 낼 때

-f : 기본장치인 테이프가 아니라 파일로서 동작시키는 경우 사용되는 옵션

-r : 파일 및 디렉토리 추가

-u : tar 파일과 새로운 디렉토리 내의 파일과 비교하여 최근 파일을 아카이브에 추가

-t : tar 파일의 내용을 확인할 때

-z : gzip과 관련하여 압축이나 해제를 한꺼번에 할 때

-j, -l : bzip2를 이용해서 압축한다.

 

# tar cvf file.tar file1 file2 file3 (압축)

# tar tvf file.tar (확인)

# tar xvf file.tar (해제)

 

여러개의 파일 압축하기

tar cvf file.tar file1 file2 file3

gzip file.tar

gzip -d file.tar.gz (# gunzip file.tar.gz)

tar xvf file.tar

 

명령어비교

# tar cvf file.tar file1 file2 file3

# gzip file.tar

or # tar cvzf file.tar.gz file1 file2 file3

 

# tar cvzf file.tar.gz file1 file2 file3 (# tar cvzf file.tgz file1 file2 file3) -> 압축

# file file.tar.gz

file.tar.gz: gzip compressed data, from Unix, last modified: Thu Mar 18 12:02:09 2010

# tar tvzf file.tar.gz -> 내용 확인

# tar xvzf file.tar.gz (# tar xvf file.tar.gz) ->해제

 

tar을 이용한 묶음과 압축(bzip2)

# tar cvf file.tar file1 file2 file3

# bzip2 file.tar

or # tar cvjf file.tar file1 file2 file3

 

# tar cvjf file.tar.bz2 file1 file2 file3 (# tar cvjf file.tbz file1 file2 file3) ->압축

# ls file.tar.bz2 file1 file2 file3

# file file.tar.bz2

file.tar.bz: bzip2 compressed data, block size = 900k

tar tvjf file.tar.bz2 -> 내용 확인

# tar xvjf file.tar.bz2 ->해제

 

[jar 명령어 형식] JDK/SDK 설치시 존재

# jar cvf file.jar file1 file2 file3

# jar tvf file.jar

# jar xvf file.jar

 

마이그레이션시 tar 사용

# tar cvf - . | (cd /dir ; tar xvf -)

위 명령어대로 마이그레이션을 진행하면 속성, 권한, 수정시간 , 파일의 변경없이 마이그레이션이 가능하다

 

 

압축 + 아카이빙(zip/unzip)

zip/unzip

# zip file.zip file1 file2 file3

# unzip –l file.zip

# unzip file.zip

 

# zip file.zip file1 file2 file3

# unzip -l file.zip

# unzip file.zip

 

인터넷상에 받은 파일 압축 해제 방법

file.gz---- gzip -----> # gunzip file.gz (# gzip -d file.gz)

file.bz2 ---- bzip2 ----> # bunzip2 file.bz2 (# bzip2 -d file.bz2)

file.tar.gz---- tar/gzip -> # tar xvzf file.tar.gz (# tar xvf file.tar.gz)

file.tgz file.tar.bz2---- tar/bzip2-> # tar xvjf file.tar.bz2 (# tar xvf file.tar.bz2)

file.tbz file.zip---- zip ------> # unzip file.zip

file.jar ---- jar ------> # jar xvf file.jar

 

(실무 예) file.tar.gz

# tar xvzf file.tar.gz

or

# gzip –d file.tar.gz

# tar xvf file.tar

 

 

 

 

원격접속 파일전송

■ ssh Secure Shell(원격 접속) : telnet, rlogin

■ scp Secure Copy (파일 전송) : rcp

■ sftp Secure FTP (파일 전송) : ftp

 

scp 명령어

  • scp 명령어(Secure Copy)

    # scp file1 192.168.10.252:/tmp

    # scp file1 192.168.10.252:/tmp/centosXXX

    # scp 192.168.10.252:/tmp/centos /test*

    # scp –r dir1 192.168.10.252:/tmp

    # scp –r dir1 root@192.168.10.252:/tmp

  • sftp 명령어(Secure ftp)

    # sftp 192.168.10.252

    # sftp fedora@192.168.10.252:/home/fedora/*

■ ssh Secure Shell(원격 접속) : telnet, rlogin, rsh

■ scp Secure Copy (파일 전송) : rcp

■ sftp Secure FTP (파일 전송) : ftp

 

scp(Secure Copy)

scp 는 secure copy client 프로그램으로 ssh 를 설치하면 같이 설치되는 프로그램이다. ( rpm -ql openssh-clinets | grep scp ) 별도의 ftp 클라이언트를 굳이 설치 하지 않더라도 손쉽게 파일전송을 수행할수 있으며, 데이터를 암호화시켜 전송해주게 된다.

(명령어 형식)

# scp file1 192.168.10.252:/tmp/file2

# scp file1 192.168.10.252:/test

# scp 192.168.10.252:/test/file1 /test

# scp -r dir1 192.168.10.252:/tmp

 

scp 명령어 실습

# scp /test/linux200.txt root@192.168.10.252:/tmp

# cp /etc/services /test/CentOS200

# scp -P 22 /test/CentOS200 root@192.168.10.252:/tmp /* -P : Port Number */

# ssh 192.168.10.252 ls /tmp/*200*

 

# scp fedora@192.168.10.252:/home/fedora/testfile1 /test

 

sftp 명령어

SFTP는 Secure File Transfer Protocol 의 약자로 기존 FTP에 보안이 강화된 전송 방식을 말한다. FTP는 일반적으로 인터넷 상에서 파일을 전송할 때 많이 사용되고 있는 프로토콜이나 로그인 정보 및 파일 정보를 암호화 하지 않기 때문에 정보 노출의 위험성이 있다. 이런 위험을 방지하기 위해서 SFTP는 파일 전송 시 로그인 정보 및 파일 정보를 암호화해서 통신

# sftp [계정]@[상대방주소]:[소스경로]

 

# sftp fedora@192.168.10.252:/home/fedora/*

# sftp fedora@192.168.10.252

sftp> ls

sftp> lcd /root (local cd )

sftp> mget linux* (다운로드)

sftp> !ls

sftp> quit

 

원격접속 명령어(ssh 명령어)

# ssh 192.168.10.252

# ssh fedora@192.168.10.252

# ssh 192.168.10.252 CMD

# ssh 192.168.10.252 hostname

# ssh 192.168.10.252 ls /tmp

 

# ssh 192.168.10.252

# ssh root@192.168.10.252

# ssh fedora@192.168.10.252

# ssh 192.168.10.252 CMD

# ssh 192.168.10.252 ls /test

 

telnet/ssh 명령어 실습

# telnet 192.168.10.252 root 사용자로 로그인

# ssh 192.168.10.252

# ssh 192.168.10.252 ls /backup

 

# cat /etc/hosts

# ssh 192.168.10.252 cat /etc/hosts

# ls /test

# ssh 192.168.10.252 ls /test

 

패킷분석

[참고] (TUI)tcpdump, (GUI)ethereal, wireshark

 

백그라운드

#ls &  //백그라운드 실행

#jobs //확인

 

telnet 설정

#dnf install telnet

#systemctl status telnet.socket

#systemctl start telnet.socket

#firewall-cmd --permanent --zone=public --add-port=23/tcp

#firewall-cmd --reload

#firewall-cmd --zone=public --list-all

텔넷접속

'linux' 카테고리의 다른 글

centos6 이하 nat 설정  (0) 2020.12.13
centos NAT 설정  (0) 2020.12.13
centos8 vi 편집기  (0) 2020.12.02
linux - 기본 I  (0) 2020.12.01
Centos - telnet 접속  (0) 2020.11.30