LVM 구성
스냅샷을 이용하여 초기화 이후에 진행
1GB Disk 2개 추가

VG명 : VG_1
LV명 : LV_1  (500M)
       LV_2  (1000M)
    LV_3  (나머지전부)
   
마운트 포인트
  /LV_TEST1
  /LV_TEST2
  /LV_TEST3
 
CentOS-6.8-x86_64-bin-DVD1.iso (3.6GB) 저장만 http://ftp.kaist.ac.kr/CentOS/6.8/isos/x86_64/


압축 & 아카이브
 압축 유틸리티 종류
  gzip, bzip2, xz, zip
 
 gzip & gunzip
 #gzip [파일명]    // 해당 파일 압축
        // 파일 확장자 FILE.gz
 
 #gunzip [파일명].gz   // 압축해제
 #gzip -d [파일명].gz  // 압축해제

 옵션 -[1~9] -1 압축속도가 가장 빠르며, 압축율은 가장 낮음
             -9 압축속도가 가장 느리며, 압축율은 가장 높음
    ( -6 기본값)


 #mkdir /practice/gzip_test
 #cd /practice/gzip_test
 #cp /usr/lib/locale/locale-archive /practice/gzip_test
 #cp locale-archive file1
 #cp file1 file2
 #cp file1 file3
 
 #gzip file1   //file1 gzip 압축
 
 #gunzip file1  // 압축
 #gzip -d file1   // 해제
 
 file2  -1 압축
 file3  -9 압축
 
 #time gzip -1 file2  // 명령어 실행 시간 확인 (real : 총 수행시간)
 #time gzip -9 file3  // 22~23MB
 
 압축해제

 bzip2 & bunzip2
 - #bzip2  [파일명]  // 압축 
      #bunzip2  [파일명].bz2 // 해제
   #bzip2 -d [파일명].bz2 // 해제
  
   file1 파일 bzip2 압축  // 19~20MB
   file2 파일 bzip2 압축
   file3 파일 bzip2 압축

   bzip2로 압축된 파일 압축해제
  
 xz & unxz
 
  압축   
  xz [파일명]
 
  해제
  unxz [파일명].xz
  xz -d [파일명].xz
 
  file1 ~ 3 xz 압축 후 용량 확인 후 압축 해제 (3.2M)
 
 
아카이브
 tar (Tape ARchive)
 - 여러개의 지정된 파일들을 아카이브로 만든다.
 - 아카이브 파일에는 .tar 을 붙인다.
 
 #tar [옵션] [만들파일의이름] [묶을 파일이름]
  - c 새로운 아카이브 생성
  - x 아카이브 해제
  
  -f tar 아카이브 파일 지정
  -v 진행 과정 출력
  
  -t 아카이브 파일 확인
  
  
  1. 아카이브 생성하기 (cvf)
  #tar cvf [만들파일.tar] [묶을파일]
  #tar cvf file.tar file*  // 아카이브 생성
  
  2. 아카이브 해제 하기
  #tar xvf file.tar
  
  3. 아카이브 파일 추가 (rvf)
              [추가 파일]
  #tar rvf file.tar file1

  
  bzip2를이용하여 아래 파일
  - file.tar
  #bzip2 file.tar
  -> file.tar.bz2
  -> file.tar.gz
  -> file.tar.xz


  #file.tar.bz2
  1. bz2 해제
  2. #tar xvf file.tar 아카이브 해제
 
  아카이브 압축
  -z gzip 유틸리티를 이용하여 아카이브 파일 압축/해제
  -j bzip2
  -J xz
 
  #ls
  file1 file2 file3
 
  기존 압축방법     tar 옵션을 이용
  #tar cvf file.tar file*  #tar cvfj file.tar.bz2 file*
  #bzip2 file.tar    -> file.tar.bz2
   file.tar.bz2
 

  #bunzip2 file.tar.bz2   #tar xvfj file.tar.bz2
  #tar xvf file.tar
 
  옵션   설명  압축율  속도  확장자명
  z   gzip  낮음  빠름  .tar.gz
  j   bzip2  높음  느림  .tar.bz2
  J   xz    높음   빠름   .tar.xz
 
  특정 디렉토리에 아카이브 해제
  #tar xvf [아카이브파일.tar] -C [경로]

 

'리눅스 ' 카테고리의 다른 글

RPM  (0) 2017.04.16
리눅스 부팅 프로세스  (0) 2017.04.16
find,xargs  (0) 2017.04.16
find 옵션  (0) 2017.04.16
LVM  (0) 2017.04.15

#find [경로] [옵션] [액션]

 

size 옵션

현재 시스템에서 50메가 이상인 파일 찾기

#find / -size +50M

 

# mkdir /practice/find_test
# cd /practice/find_test

# touch test{01..10}

 

-delete 검색 결과 삭제

find . -type f -name "test*" -delete

이름이 tset로 시작되는거 다 삭제 해줌

-exec [명령어] \;    검색 결과를 지정한 명령어 처리

-exec [명령어] {} \; 검색 결과를 차례대로 매칭하면서 지정된 명령어 실행

 

# find . -empty -exec ls -l  \;

#find . -empty -exec ls -l {} \;

 

vi find_test.sh

 

#!/bin/bash

for z in $(seq 0 7); do

for i in $(seq 0 7); do

for j in $(seq 0 7); do

for k in $(seq 0 7); do

touch ${z}${i}${j}${k};

chmod ${z}${i}${j}{k} ${z}${i}${j}${k};

done;

done;

done;

done;

# sh find_test.sh //명령어 실행

ex) 퍼미션이 777 파일을 찾아서 화면에 출력

#find . -perm 777    //정확히 허가권이 0777인 파일 검색

./0777

# find . -perm +777 | sort -n | more   

//기준이 되는 허가권에 비트가 하나라도 일치하는 파일

 

#find . -perm -777        //기준이 되는 허가권 이상인 파일

./7777
./0777
./3777
./2777
./5777
./4777
./6777
./1777

 

1.find 명령어로 현재 경로에 이름이 0으로 시작하여 1로 끝나는 파일만 gzip으로 압축 "0??1"

#find -name "0??1" -exec gzip {} \;

#ll *.gz

 

xargs

# mkdir /practice/xargs_test
 # cd /practice/xargs_test
 # vi xargs_test.sh


#!/bin/bash
for z in $(seq 0 10); do
    fallocate -l 10K "$RANDOM.txt"
done;

for z in $(seq 0 10); do
    fallocate -l 15K "$RANDOM.txt"
done;
for z in $(seq 0 10); do
    fallocate -l 20K "$RANDOM.txt"
done;

# sh xargs_test.sh

1.find를 쓰지 않고 크기가 10kb인 파일명만 출력하고 이름의 숫자가 적은순으로 정렬

# ll -h |grep 10K | cut -d " " -f 8 | sort

2. find를 사용하여 크기가 10kb인 파일을 출력하고, 파일의 이름만 출력하여 정렬

# find . -size 10k | cut -d "/" -f 2 | sort -n

3. 현재 경로에서 find를 사용하여 크기가 10kb 파일 삭제, 단 -delete 옵션 사용 금지

 

# find . -size 10k -exec rm {} \;

 

xargs (eXtended Arguments)

- 표준 출력 값(파일이름)을 이용하여 명령을 실행

- find와 사용 시 결과물을 다음 명령어에 인자로 전달하는 역할

- 여러 명령어와 함께 조합하여 사용할 수 있다.

-i 인자로 문자열을 전달

-t 상세한 정보 출력

 

4. find 를 사용하지 않고 크기가 20k 파일을  삭제
#ll -h | grep 20K | cut -d " " -f 8 | xargs rm 

 

ex) find로 원하는 파일찾아서 해당 파일에서 특정 문자열 검색

#find / -name "*" | xargs grep [계정명:암호]

 

ex)/bin 디렉토리에 가장 큰 일반 파일을 찾아 크기를 확인하여

가장큰 파일을 출력

1.#find /bin - type f | xargs du -s

2.#find /bin - type f | xargs du -s | sort -n | tail -1

 

ex) /practice/find_test 이동 후, 현재 디렉토리에 gz으로 압축된 파일 압축해제

#gunzip 0??1.gz

 

현재 디렉토리에 위치한 모든 파일의 이름뒤에 확장자 .perm 붙이기

이름 변경하기

mv [원본] [대상]

 

0000 ~ 7777 -> 0000.perm ~ 7777.perm

# ls | xargs -t -i mv {} {}.perm

 

#du -sh /*

 

#rm -rf ./*

rm -r ./0001 0002 이렇게 아규먼트가 늘어나는방향

 

#ls | xargs rm

rm 0000 

rm 0001 하나하나 다지움 

 

원상복구

#ls | cut -d "." -f 1 | xargs -t -i mv {}.perm {}

 

 

 

 

 

 

'리눅스 ' 카테고리의 다른 글

리눅스 부팅 프로세스  (0) 2017.04.16
압축해제 등등  (0) 2017.04.16
find 옵션  (0) 2017.04.16
LVM  (0) 2017.04.15
LVM명령어  (0) 2017.04.15

find option

-empty : 비어 있는 파일, 단 일반파일 또는 일반 디렉토리에 한함
-uid n : 지정된 n값의 UID를 갖는 파일
-gid n : 지정된 n값의 GID를 갖는 파일
-group 그룹명 : 지정한 그룹명에 소속된 파일
-name : 지정된 형식의 패턴을 가지는 파일
-newer 파일 : 지정한 파일보다 더 최근에 변경된 적이 있는 파일
-used n : 파일이 변경된 이후 최근 n일 이후에 액세스된 적이 있는 파일
-user uname : 지정한 uname의 소유로 된 모든 파일(UID로 지정가능)
-amin n : 최근 n분 이전에 액세스된 적이 있는 파일
-anewer 파일 : 지정한 파일보다 더 최근에 액세스된 적이 있는 파일
-atime n : 최근 n*24 시간 전에 액세스된 적이 있는 파일
-mmin n : 최근 n분 이전에 변경된 적이 있는 파일
-mtime n : 최근 n*24 시간 이전에 변경된 적이 있는 파일
-executable : 실행 가능한 파일
-readable : 읽기 가능한 파일
-writable : 쓰기 가능한 파일
-fstype type : 지정한 파일시스템타입(type)에 존재하는 파일
-nogroup : 소속그룹이 존재하지 않는 파일
-nouser : 소속 사용자(ID)가 존재하지 않는 파일
-path 패턴 : 파일명이 패턴에 매칭되는 파일
-perm 모드 : 모드에서 지정된 퍼미션과 일치하는 퍼미션을 가진 파일만 해당됨.
-perm -mode : 모드에서 지정된 퍼미션을 가진 모든 파일.
-regex 패턴 : 패턴에서 지정한 정규표현식에 매칭되는 파일
-size n[cwbkMG] : 지정된 n 단위의 디스크공간을 사용하는 파일. 디폴트는 b
-type 타입 : 지정한 파일타입에 해당하는 파일. b,c,d,p,f,l,s 등이 있음


[수행할작업(action)]

-delete : 검색된 파일들을 삭제
-exec command ; : 지정한 command 를 실행
-exec command {} + : 검색된 파일들을 차례대로 매칭하면서 지정된 command 를 수행
-ls : 'ls - dils' 를 수행
-ok command ; : -exec 와 같지만 실행하기 전에 먼저 사용자에게 표준입력으로 수행할 command 를 입력 받는다. 만약 입력이 없다면 지정된 command 를 수행한다.
-print : 검색된 파일들에 대하여 전체파일 경로로 파일리스트를 표준출력으로 출력한다.
-printf format : 검색된 파일들에 대하여 지정된 format 형식으로 표준출력으로 출력


[연산자]

( ) : 괄호( )안의 연산이 먼저 행해짐
! expr : expr 이 거짓일때 참, 참일때 거짓이 됨.
-not expr : 위의 ! expr 과 동일함 (POSIX 호환용)
expr1 expr2 : AND 의 의미. expr1 이 거짓일 때에는 expr2 는 평가되지 않음
expr1 -a expr2 : 'expr1 expr2' 와 같음
expr1 -and expr2 : 'expr1 expr2' 와 같음 (POSIX 호환용)
expr1 -o expr2 : OR 의 의미. expr1 이 참일 경우 expr2 는 평가되지 않음.
expr1 -or expr2 : 'expr1 -o expr2' 와 같은 의미

 

'리눅스 ' 카테고리의 다른 글

압축해제 등등  (0) 2017.04.16
find,xargs  (0) 2017.04.16
LVM  (0) 2017.04.15
LVM명령어  (0) 2017.04.15
쿼터명령어  (0) 2017.04.15

+ Recent posts