본문 바로가기

develop/linux

파일 수정된 시간 알아내기

1. 수정 및 생성된지 30일이 지난 파일들 찾기

 - find -mtime +30

 

2. 어제 수정 및 생성된 파일 찾기

 - find -mtime 1

 

3. 어제 이후로 수정 및 생성된 파일 찾기

 - find -mtime -1  


atime 접근 시간

mtime 수정시간

ctime 생성시간



파일관리#

convmv#

convmv - 파일명의 문자셋을 바꾼다.

convmv -f cp949 -t utf-8 -r --notest .

 

chmod + find #

파일만

find /home/vpopmail/domains/ -type f -exec chmod -v 644 {} \;

 

폴더만

find /home/vpopmail/domains/ -type d -exec chmod -v 755 {} \;

 

해당파일만

find /home/vpopmail/domains/ -type d -name 파일이름 -exec chmod -v 644 {} \;

 

해당파일을 제외하고

find /home/vpopmail/domains/ -type d \! -name 파일이름 -exec chmod -v 644 {} \;

 

해당폴더만

find /home/vpopmail/domains/ -type d -name 폴더이름 -exec chmod -v 755 {} \;

 

해당폴더를 제외하고

find /home/vpopmail/domains/ -type d \! -name 폴더이름 -exec chmod -v 755 {} \;

 

find#

원하는 파일을 찾는데 아주 유용한 명령어다. 다른 명령어와 함께 사용하면 강력하다.

 

특정 파일보다 최근에 수정된 파일 찾기

find . -name '*.txt' -newer a.txt -print

 

지난주 변경된 파일 찾기

find . -name '*.txt' -mtime +7 -print

 

find - 파일내의 특정문자열 바꾸기.

find / -name "*.txt" -exec perl -pi -e 's/찾을문자열/바꿀문자열/g' {} \;

 

특정 파일 찾은 후 파일 날짜 변경

for file in $(find . -name "*.*"); do touch "${file}"; done

find 명령어로 여러 파일을 찾은 후 각 파일의 날짜를 현재시간으로 변경.

 

디렉토리만 찾기

find ./. -type d

현재 디렉토리 하위의 모든 디렉토리 찾기

 

grep#

grep - 파일찾을 때 유용하게 사용할 수 있다.

여러 파일에서 특정 문자열 찾기.

grep -r -n --color=auto "문자열" *.*

 

iconv#

iconv - 파일의 문자셋을 바꾼다.

iconv -f euc-kr -t utf-8 ./euc-kr.txt -o ./utf-8.txt

   -r 옵션 : 하위 디렉토리까지.

   -n 옵션 : 찾은 문자열의 라인번호표시

   --color=auto : 찾은 문자열 색상표시

 

tar#

파일을 하나로 묶을 때 또는 묶여진 파일을 풀 때 사용.

tar -cvzf tarfile.tar.gz ./

tar -xvfz tarfile.tar.gz ./

   -c : tar 파일을 생성한다.

   -v : 생성되는 파일 절차를 보여준다.

   -f : 생성될 파일명을 지정 한다.

   -z : gzip에 현재 tar를 넘겨 압축한다.

 

퍼미션을 유지

tar -cvzp tarfile.tar.gz ./

tar -xvfzp tarfile.tar.gz ./

 

특정 폴더 및 파일 제외(--exclude-from 옵션 이용)

tar -cfz test.tgz --exclude-from=exclude.txt ./

exclude.txt

log/*

temp/*.log

제외할 패턴들을 적어둔다.

 

unzip#

한글로 된 파일을 압축한 zip파일의 경우 옵션 없이 압축 해제하면 한글이 깨지는 경우가 있다. 옵션을 줘서 제대로 압축 해제해 보자.

unzip -O cp949 hangul.zip

 

시스템관리#

mount, umount#

mount - 파일시스템을 마운트한다.

umount - 파일시스템을 마운트해제한다.

 

마운트하기.

mount /dev/hda8 /dos

mount -o loop disk1.iso /mnt/disk

 

적절한 파일시스템으로 마운트하기.

mount -t vfat /dev/hda8 /dos

 

읽기전용|읽기/쓰기로 다시 마운트하기.

mount -o remount,ro /dos

mount -o remount,rw /dos

 

마운트해제하기.

umount /dos

 

xev#

xev - 키보드/마우스 키값을 알아낸다.



출처 : http://smartweb.tistory.com/349