** 유닉스에서 디렉토리 또는 파일 크기 확인하는 명령어

- > du [option] [directory or file]

[option]:

-  -a : 디렉토리가 아닌 파일의 쓰여진 줄수를 출력한다.

-  -b : byte의 크기로 출력함.

-  -c : 각 파일 및 디렉토리의 내부의 파일 각각의 크기로 출력함.

-  -m : megabytes 로 출력한다.

-  -l : 파일 혹은 디렉토리의 셀 수 있는 크기를 출력함.

-  -s : 합계를 출력한다..

-  -sg : gigabytes 로 출력한다.



ex) du -sg upload

Posted by trust
,

tar 명령어 (여러개의 파일을 하나의 파일로 묶고,압축한다)



제공 : 리눅스포털  -수퍼유저코리아-



여러개의 파일을 하나로 묶는 명령어이다.
압축명령어라고 잘못알고 계시는 분들이 있는데, tar는 분명 여러개의 파일을 하나로 묶어주는 일종의 유틸리티라고 할 수 있다.
하지만, 거의 대부분 tar는 gzip이나 compress등과 같은 압축유틸리티와 함께 사용을 하는 것이 일반적이다.

또한 tar옵션에는 z라는 옵션이 있기 때문에 tar명령어만으로 압축하고 풀 수 있기때문에 tar만으로도 효율적인 파일관리를 할 수있다.


사용형식

파일묶기       : tar cvf 파일명.tar 파일(디렉토리)
묶은파일보기   : tar cvf 파일명.tar
파일풀기       : tar xvf 파일명.tar

묶고압축하기     : tar cvfz 파일명.tar.gz 파일(디렉토리)
묶고압축된 파일 보기 : tar tvfz 파일명.tar.gz
묶고압축된파일 풀기 : tar xvfz 파일명.tar.gz


사용예 #1

다음과 같이 dir1이라는 디렉토리에는 파일두개가 존재하고 있다.
이를 대상으로 tar의 사용법을 설명하도록 하겠다.

[root@host3 command]# ls -l ./dir1
합계 8
-rw-r--r--    1 root     root          120  9월 18 14:11 textfile
-rw-r--r--    1 root     root           68  9월 18 15:26 textfile2
[root@host3 command]#

먼저 위의 디렉토리 dir1에 있는 모든 파일들을 하나의 파일로 묶어보자.
파일을 압축할 때에는 "cvf"라는 옵션을 사용한다.

[root@host3 command]# tar cvf dir1.tar dir1
dir1/
dir1/textfile
dir1/textfile2
[root@host3 command]#

위의 tar예에서
tar는 tar명령어이며,
cvf는 파일을 하나로 묶기 위한 tar의 옵션이며,
dir1.tar는 하나의 파일로 묶여진후에 생성될 파일명이며(tar의 결과파일),
dir1은 tar의 대상파일(즉, 묶여질 파일들)이다.

아무런 메시지없이 끝났다면 위의 tar작업이 성공적으로 끝났다는 것을 의미한다.
아래의 결과를 확인해 보자.

[root@host3 command]# ls -l
합계 16
-rw-r--r--    1 root     root        10240  9월 20 12:56 dir1.tar
drwxr-xr-x    2 root     root         4096  9월 20 12:55 dir1
[root@host3 command]#

dir1.tar이라는 파일이 새로 생성된 것을 확인할 수 있다.
이 dir1.tar파일에는 dir1디렉토리의 모든 내용이 하나로 묶여져 새로 생성된 파일이다.


사용예 #2

이번에는 위의 예에서 생성한 dir1.tar파일의 내용을 확인해 보도록 하자.
tar파일의 내용을 확인할때에는 "tvf"라는 옵션을 사용한다.
아래의 예를 보자.

[root@host3 command]# tar tvf dir1.tar
drwxr-xr-x root/root         0 2003-09-20 12:55:03 dir1/
-rw-r--r-- root/root       120 2003-09-18 14:11:35 dir1/textfile
-rw-r--r-- root/root        68 2003-09-18 15:26:39 dir1/textfile2
[root@host3 command]#

예상했던 결과와 동일하게 dir1.tar에는 dir1에 있던 내용과 동일한 파일들이 들어있음을 알 수 있다.


사용예 #3

이번에는 앞의 예에서 tar로 묶은 dir1.tar 파일을 다시 원래대로 풀어보도록 하자.

이런 작업을 위해서 dir1은 삭제를 하고 dir1.tar만 남겨두도록 하자.

[root@host3 command]# rm -rf dir1
[root@host3 command]#

위에서 원본파일 dir1을 모두 삭제하였다.


이제 아래와 같이 dir1.tar파일만 남아있음을 알 수 있다.

[root@host3 command]# ls -l          
합계 12
-rw-r--r--    1 root     root        10240  9월 20 12:56 dir1.tar
[root@host3 command]#


이제 이 파일(dir1.tar)을 풀어보자.
tar로 묶여진 파일을 풀때에는 "xvf"라는 옵션을 사용한다.

[root@host3 command]# tar xvf dir1.tar
dir1/
dir1/textfile
dir1/textfile2
[root@host3 command]#

자, 이렇게 풀어진 결과를 확인해보자.

[root@host3 command]# ls -l
합계 16
-rw-r--r--    1 root     root        10240  9월 20 12:56 dir1.tar
drwxr-xr-x    2 root     root         4096  9월 20 12:55 dir1
[root@host3 command]#
[root@host3 command]# ls -l dir1
합계 8
-rw-r--r--    1 root     root          120  9월 18 14:11 textfile
-rw-r--r--    1 root     root           68  9월 18 15:26 textfile2
[root@host3 command]#

원본파일인 dir1과 동일한 디렉토리와 파일들이 생성되어 있음을 확인할 수 있을 것이다.

원본파일과 풀여진 파일들의 날짜와 시간을 자세히 비교해 보면 파일의 생성날짜와 시간이 원본파일과 동일함을 알 수 있다.
즉, tar로 묶여질때에는 묶여지는 파일들의 생성날짜와 시간정보까지 함께 저장이 되어지며, tar로 풀때에는 이 시간정보를 그대로 적용하여 풀어진다는 것을 알 수있다.


사용예 #4

이번에는 파일을 묶는 작업과 압축을 하는 작업을 동시에 해보도록 하자.
이 작업을 하려면 z라는 옵션을 추가해서 "cvfz"라는 옵션을 사용하면 간단히 묶음과 압축을 동시에 할 수있다.

설명의 편의를 위하여 dir2라는 디렉토리를 작업대상으로 하며 dir2에는 다음과 같은 파일 2개가 들어있다.

[root@host3 command]# ls -al dir2
합계 16
drwxr-xr-x    2 root     root         4096  9월 20 13:42 .
drwxr-xr-x    3 root     root         4096  9월 20 13:41 ..
-rw-r--r--    1 root     root          120  9월 18 14:11 textfile1
-rw-r--r--    1 root     root           68  9월 18 15:26 textfile3
[root@host3 command]#

자, 그렇다면 묶음과 압축을 동시에 해보도록 하자.

[root@host3 command]# tar cvfz dir2.tar.gz dir2
dir2/
dir2/textfile1
dir2/textfile3
[root@host3 command]#
[root@host3 command]# ls -l
합계 8
drwxr-xr-x    2 root     root         4096  9월 20 13:42 dir2
-rw-r--r--    1 root     root          284  9월 20 13:43 dir2.tar.gz
[root@host3 command]#

cvfz라는 옵션을 사용하고 새로 생성되는 파일명을 dir2.tar.gz로 하였다.
묶음과 압축의 결과로 dir2.tar.gz파일이 생성되었음을 알수가 있다.

간단한 명령이므로 어렵지는 않으리라 생각한다.

그리고 이렇게 묶음과 압축이 한번에 된 파일의 내용을 확인하고자 한다면 다음과 같이  "tvfz"옵션을 사용한다.

[root@host3 command]# tar tvfz dir2.tar.gz
drwxr-xr-x root/root         0 2003-09-20 13:42:08 dir2/
-rw-r--r-- root/root       120 2003-09-18 14:11:35 dir2/textfile1
-rw-r--r-- root/root        68 2003-09-18 15:26:39 dir2/textfile3
[root@host3 command]#

사용예 #5

위의 예에서 묶음과 압축을 동시에 했던 tar로 압축저장된 파일을 풀어보도록 하자.
묶음과 압축이 동시에 된 파일을 한번에 풀때에는 z옵션을 추가해서 "xvfz"옵션을 사용하면된다.

아래와 같이 dir2라는 원본파일을 모두 삭제한다.
[root@host3 command]# ls -l
합계 8
drwxr-xr-x    2 root     root         4096  9월 20 13:42 dir2
-rw-r--r--    1 root     root          284  9월 20 13:43 dir2.tar.gz
[root@host3 command]#
[root@host3 command]# rm -rf dir2
[root@host3 command]#

원본파일이 삭제된 것을 확인하고 압축된 tar파일만이 남아있다.

[root@host3 command]# ls -l
합계 4
-rw-r--r--    1 root     root          284  9월 20 13:43 dir2.tar.gz
[root@host3 command]#

여기서 아래와 같이 이 파일을 푸는 작업을 한다.

[root@host3 command]# tar xvfz dir2.tar.gz
dir2/
dir2/textfile1
dir2/textfile3
[root@host3 command]#

압축이 잘 풀렸으므로 이를 확인한다.
dir2.tar.gz를 푼 결과 dir2라는 디렉토리와 그 안에 있던 파일들이 새로 생성이 되었다.
아래는 그 결과를 확인한 것이다.

[root@host3 command]# ls -l
합계 8
drwxr-xr-x    2 root     root         4096  9월 20 13:42 dir2
-rw-r--r--    1 root     root          284  9월 20 13:43 dir2.tar.gz
[root@host3 command]#
[root@host3 command]# ls -l dir2
합계 8
-rw-r--r--    1 root     root          120  9월 18 14:11 textfile1
-rw-r--r--    1 root     root           68  9월 18 15:26 textfile3
[root@host3 command]#


저작권: 리눅스포탈 (www.superuser.co.kr), 무단 재배포및 복사를 금합니다.



출처 : http://www.superuser.co.kr/superuserboard/view.html?id=49&code=linuxcom&start=0&position=




tar cvf 오늘날짜.tar * <---- 타르 파일 묶기
tar xvf 묶인파일.tar 풀기

Posted by trust
,

find - 파일찾기


find 명령어는 파일 시스템에서 주어진 조건으로 파일을 찾는다.

사용법을 살펴보자.


find 대상디렉토리 검색 조건 처리 방법

대상 디렉토리 : 찾기를 시작할 디렉토리를 지정한다.
검색 조건 : 찾을 조건을 지정한다.
-name filename
파일 이름으로 찾는다.
-atime +n
access time 이 n일 이전인 파일을 찾는다.
-atime -n
access time이 n일 이내인 파일을 찾는다.
-mtime +n
n일 이전에 변경된 파일을 찾는다.
-mtime -n
n일 이내에 변경된 파일을 찾는다.
-perm nnn
파일 권한이 nnn인 파일을 찾는다.
-type x
파일 타입이 x인 파일들을 찾는다.
-size n
사이즈가 n이상인 파일들을 찾는다.
-links n
링크된 개수가 n인 파일들을 찾는다.
-user username
user이름으로 찾는다.
-group groupname
group 이름으로 찾는다.

처리방법 : 찾은 파일을 어떻게 할 것인지를 지정한다.
-print
찾은 파일의 절대 경로명을 화면에 출력한다.
-exec cmd {}; 
찾은 파일들에 대해 cmd 명령어를 실행한다.


예를 들어보자.
$ find /user4 -name test* -print

/user4 아래에서 파일이름이 test로 시작하는 모든 파일을 찾아서 화면에
보여준다.

$ cd /
$ find . -name ping -print

root 디렉토리 밑에서 파일이름이 ping인 파일을 찾아 절대 경로명을 화면에
출력한다.

$ cd /
$ find /usr -name *.c -print

/usr 밑에 이름이 .c로 끝나는 모든 파일들을 찾아 경로명을 보여준다.

$ cd /
$ find $home -name who.txt -print

home 디렉토리 아래에 who.txt라는 파일을 찾아 경로명을 보여준다.

$ cd /
$ find . -type d -print

파일 타입이 d인 파일을 찾아 경로명을 화면에 출력한다.

$ cd /
$ find /dev -type c -print

/dev디렉토리 아래에서 파일 타입이 c인 파일을 찾아 경로명을 보여 준다.

$ cd /
$ find . -perm 700 -print

파일 권한이 700인 파일을 찾아준다.

$ cd /
$ find . \ ( -perm 400 -o -perm 200 ) -print

파일 권한이 400인 파일과 200인 파일을 찾아준다.
(주의 : "\"의 앞뒤에 space 가 반드시 있어야 한다.)

$ cd /
$ find . -size +1024 -print

파일의 블럭 크기가 1024 이상인 파일을 찾아준다.

$ cd /
$ find . -name core -size +2048 -print

파일 이름이 core이고 크기가 2048블럭 이상인 파일을 찾아준다.

$ cd /
$ find . -user unix01 -print

파일 소유자가 unix01인 파일을 찾아준다.

$ cd /
$ find . -group unix -print

사용자그룹이 unix인 파일을 찾아준다.

$ cd /
$ find . -atime +30 -print

30일 이전에 억세스되었던 파일을 찾는다.

$ cd /
$ find . -mtime -7 -print

7일 이내에 수정된 적이 있는 파일을 찾는다.

$ cd /
$ find . -name core -exec ls -l {} \;

이름이 core인 파일을 찾아서 ls -l 한다.

$ cd /
$ find . -name \*.c -atime +30 -exec ls -l {} \;

30일 이전에 억세스된 파일 중 *.c를 찾아 ls -l 한다.

$ cd /
$ find . -name core -exec rm -i {} \;

현재 디렉토리 밑에서 이름이 core인 파일을 찾아 지운다(지우기 전에 정말
지울 지를 물어본다.)

Posted by trust
,