블로그 이미지
redkite

카테고리

분류 전체보기 (291)
00.SI프로젝트 산출물 (0)
00.센터 운영 문서 (0)
01.DBMS ============.. (0)
01.오라클 (117)
01.MS-SQL (15)
01.MySQL (30)
01.PostgreSql (0)
01.DB튜닝 (28)
====================.. (0)
02.SERVER ==========.. (0)
02.서버-공통 (11)
02.서버-Linux (58)
02.서버-Unix (12)
02.서버-Windows (2)
====================.. (0)
03.APPLICATION =====.. (11)
====================.. (0)
04.ETC =============.. (0)
04.보안 (5)
====================.. (0)
05.개인자료 (1)
06.캠핑관련 (0)
07.OA관련 (1)
Total
Today
Yesterday

달력

« » 2024.5
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

공지사항

최근에 올라온 글

0003. 유용한 커맨드

1. xargs 명령은 입력된 데이터를 라인단위로 읽어서 아규먼트화 하는 명령이다.

find 명령을 사용하여 파일을 삭제하고자 할때 유용하다.

# find . -type f -mtime +1 | xargs -n 100 rm -f

find 명령을 사용하여 현재 디렉토리 하에서 현재시간보다 하루(+) 전(24시간 내에 작성/변경된 파일만 제외)에 작성/변경된 파일을 찾으면 라인단위로 파일 리스트가 쉘에 출력되는데, 이 파일 리스트는 하나의 라인당 하나의 파일명이 출력되므로 각 라인의 파일명을 아규먼트화하기 위해 xargs를 파이프로 연결한 다음 -n 100 즉, 100 라인(100개 아규먼트)를 한번에 읽어서 rm -f [아규먼트]로 치환하여 100개 단위로 검색된 파일들을 삭제하는 것이다.

[root@localhost shell]# man xargs | col -b | cat
XARGS(1) XARGS(1)

 

NAME
xargs - build and execute command lines from standard input

SYNOPSIS
xargs [-0prtx] [-E eof-str] [-e[eof-str]] [--eof[=eof-str]] [--null]
[-d delimiter] [--delimiter delimiter] [-I replace-str] [-i[replace-
str]] [--replace[=replace-str]] [-l[max-lines]] [-L max-lines]
[--max-lines[=max-lines]] [-n max-args] [--max-args=max-args] [-s

2. iNode 확인 방법
df -F ufs -o i

3. 압축
----------------------------------------------------------------
#tar 압축 cvf 옵션으로 ...

tar cvf abc.tar def/ WEB-INF/ a.jsp ghi/ b.jsp c.jsp
gzip -9 *20100[4-6]*
#한번더 압축 gzip

gzip abc.tar

----------------------------------------------------------------
#풀때
----------------------------------------------------------------


tar 로 압축되었을 경우 cvf 와는 반대로 xvf를 사용하시면 됩니다.

# tar xvf c.gzip

라고 하시면 압축이 풀릴겁니다.

물론 x 옵션만 사용하셔도 되지만 vf 는 압축해제 하면서 파일리스트도 출력하게 해 줍니다.

gzip으로 압축되었다면 gunzip 로 풀수 있습니다.

# gunzip c.gzip

라고 하시고 디렉토리 보시면 풀려 있을겁니다.


질문 추가 한 곳을 보면 잘 이해가 되지는 않네요.
tar cvf *.c 라고 하셨다면... 조금 난감한 상황이 생길 수도 있습니다.
ls 명령으로 보면 처음에 오는 파일에다가 그 디렉토리에 있는 모든 *.c 파일이 결합되어집니다. 다시 풀수는 있지만... 결합되어져 버린 첫번째 파일은 사용못할 수도 있습니다.

 

----------------------------------------------------------------
#추가
----------------------------------------------------------------


<< 압축하기 >>
* tar 와 gzip 따로 하기
# tar cvf file_name.tar *.c
# gzip file_name.tar

* tar 와 gzip 동시에
# tar cfp - target_dir | gzip -c > made_file.tar.gz

tar cfpv - ./201007* ilkacs_201007*.log tar |gzip -c > acs_201007.tar.gz

// target_dir = 압축할 파일들이 들어 있는 디렉토리
// made_file = 만들어질 압축파일의 이름.

<< 압축풀기 >>
* tar 와 gzip 따로 하기
# gzip -d file_name.tar.gz
# tar -xvf file_name.tar

* tar 와 gzip 동시에
# gzip -dc source_file.tar.gz | tar xvfp

4. CPIO 파일 만들기

 

cpio 를 이용한 특정 확장자 파일만 압축하기.

# find . -name '*.c' -print | cpio -o > data.cpio

 

# ls | cpio -o > ../test.cpio

 

CPIO 파일 풀기

 

-i cpio로 백업한 data를 restore 한다

-o 출력 - 묶을때
-p 통과모드

 


-d restore중 필요한 디렉토리를 자동으로 생성시킨다
-m 백업 되있는 data들의 날짜, 시간을 그대로 유지한다
-v verbose

 

# cpio -idmv < test.cpio


# cpio -i < data.cpio

# cpio -dmvi < example.cpio

# cpio -dmvi < /root/test.cpio

 

 

gz으로 압축되어 있는것을 풀기

 

예1:

# gunzip targetfile.cpio.gz
# cpio -idmv < targetfile.cpio

 

예 2:

# zcat targetfile.cpio.gz | cpio -idmv

 

 

압축 하여 CPIO 만들기

 

tar 를 이용한 특정 확장자 파일 압축하기 (리눅스)

find . -name "*.c" | xargs tar -cvf soure.tar

xargs 를 파라미터 수가 제한적이어서, 파일수가 많으면 불가능함.

 

cpio로 파일 옮기기

한 디렉토리 또는 파일시스템에서 다른 디렉토리 또는 파일시스템으로 옮겨야 할 대량의 파일이 있을 경우 다음의 명령을 이용


# find /old_directory -depth | cpio -pdmv /new_directory

이 명령은 소유자와 권한, 디렉토리 구조를 유지하면서 지정한 old_directory 밑의 모든 파일을 new_directory로 옮긴다.

 

# cd src_dir_name

# find . -depth -print | cpio -pudm target_dir_name


5.rpm 설치

  1. #rpm -Uvh test-1.2.3.src.rpm

: test.src.rpm을 /usr/src/<vender_name_dir>/SPEC 에 SPEC 파일과

/usr/src/<vender_name_dir>/SOURCES/ 에 소스를 설치 한다.

기존에 설치된 패키지가 있을 경우 업그레이드를 한다. -ivh 보다 많이 사용한다.

#rpm -Uvh test-1.2.3.rpm

: test-1.2.3.rpm 을 설치 한다. 기존에 test 라는 낮은 버젼의 패키지가 있으면 업그레이드. 없으면 그냥 -ivh 처럼 설치가 된다.

#rpm -ivh test-1.2.3.rpm

: test-1.2.3 을 처음으로 설치 한다. 처음 설치가 아니더라도 -Uvh 를 사용해도 무관 하다.

 

  1. 설치된 rpm 제거

#rpm -e test

: test 라는 이름의 패키지를 제거 한다.

#rpm -evv test

: test 라는 패키지를 제거 하는 과정을 보여 준다.

 

  1. 설치된 패키지 정보 보기

#rpm -qi test

: test 가 설치 되어 있다면, test 패키지에 대한 설명이 주루룩 뜰것 이다. 아래는 예...

Posted by redkite
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함