불필요한 파일 정리

[color=#0000BF:g2qcd590]파일 정리[/color:g2qcd590]로 한지도 오래되고 술 취해 데탑을 마구 쓰기도 하는 지라
오랜만에 파일 정리좀 해 보아야 겟단 생각에…
[b:g2qcd590]1. 우선 큰파일을 크기순으로 50개 조사 해보았습니다.[/b:g2qcd590]

[code:g2qcd590]
sudo find ~/home -prune -o -size +1024k -printf ‘%s %p\n’ | sort -k1 -g -r | head -50
[/code:g2qcd590] /home 폴더 이하에 1024k(1메가) 이상의 파일을 찾아서 크기순으로 정령 합니다.
제외할 디렉이 있다면

[code:g2qcd590] find /home -path ‘/home/VDI’ -prune -o -size +1000k -printf ‘%s %p\n’ | sort -k1 -g -r | head -50[/code:g2qcd590]같이 -path ‘제외할 디렉’ 을 넣어 주심 됩니다.
영화 미드가 좀 많이 나오는 군요 본 것들은 지워 주었습니다. 그리고 안쓰는 리눅스 ISO 파일도 좀 지우고요…

[b:g2qcd590]2. 30일동안 변경이 없는파일을 찾아 보았습니다.[/b:g2qcd590]

[code:g2qcd590]sudo find /home -mtime +30 -print | more[/code:g2qcd590] 많어서 보기 귀찮군요.

[code:g2qcd590]sudo find /home -mtime +30 -print > old-30.txt[/code:g2qcd590] 텍스트로 만들어 지울 파일 있나 살펴 보았습니다.

[b:g2qcd590]3. 중복 파일 & 중복 디렉토리 검사를 해보았습니다.[/b:g2qcd590]
출처 : http://pc-tips.net
sudo touch /usr/local/bin/find_dups (파일 생성)
sudo chmod 755 /usr/local/bin/find_dups (파일 실행 권한 주기)
gksu gedit /usr/local/bin/find_dups (편집)

[code:g2qcd590]#!/bin/sh
if [ ! -d "$1" ]; then
echo "Usage $0 <dir>"
exit 1
fi
find "$1" -type f -print0 | xargs -0 -n1 md5sum | sort --key=1,32 | uniq -w 32 -d --all-repeated=prepend |cut -f3- -d’ '|sed ‘s/^$/Identical Files:/’[/code:g2qcd590]
sudo find_dups /home 로 확인 해보았습니다.
패키지 컴파일 때문에 소스를 중복으로 가지고 있는 것이 좀 있더군요 mp3 음악 파일도 중복이 좀 (술마시고 공유하다…)
위 스크립은 두디렉 이하 비교도 좋습니다 . 사용 예) find_dups /home/bundo/음악 /media/sda1/Music 아니면 그냥 find_dups /
* 이 외에 하드에 불 필요 파일 정리 법 좋은 팁 부탁 드립니다. :?:
[img:g2qcd590]http://bundo.biz/phpBB3/styles/ubuntu/theme/images/logo.gif[/img:g2qcd590]

저도 한 때는 분도님 같은 고수를 꿈꾸며 bash 공부했었는데
중간에 과감히 포기하고 GUI로 돌아섰습니다.

지금 보니 find 옵션이 기억이 하나도 안 나네요…ㅂㅌ ㅂㅌ

분도님 덕에 약간 자극 받긴 했지만
가져다 쓰는 걸로 만족할렵니다.

[b:21tnybd7]고수를 꿈꾸며…[/b:21tnybd7]

분도님… 불필요한 파일을 찾아서 리스트를 텍스트로 만들고…
해당 텍스트를 참조해서 파일을 삭제하는 방법을 알려주세요. ㅋㅋㅋ

첫번째는 하겠는데, 두번째는 잘 모르겠네요.
루비로 돌리면 쉬울텐데 ;;;

[quote="Mr.Dust":18ux3cyp]분도님… 불필요한 파일을 찾아서 리스트를 텍스트로 만들고…
해당 텍스트를 참조해서 파일을 삭제하는 방법을 알려주세요. ㅋㅋㅋ

첫번째는 하겠는데, 두번째는 잘 모르겠네요.
루비로 돌리면 쉬울텐데 ;;;[/quote:18ux3cyp]
하나를 알려주면 반을 까먹는 먼지할배… =.=
먼지할배가 루비 고수셨다는?

[quote="Mr.Dust":16liv58b]해당 텍스트를 참조해서 파일을 삭제하는 방법을 알려주세요. ㅋㅋㅋ
[/quote:16liv58b]

헉 그건 본인이 판단 하는거죠 불필요 한가 아닌가! :o

제 말은… 텍스트 파일 내에 경로가 주루룩 있을 경우…
각 라인을 읽어들여 삭제 처리를 하는 방법. ㅎ
간단할 것 같은데, 순간적으로 떠오르는 명령어는 없네요 ;

[quote="Mr.Dust":3aydg881]제 말은… 텍스트 파일 내에 경로가 주루룩 있을 경우…
각 라인을 읽어들여 삭제 처리를 하는 방법. ㅎ
간단할 것 같은데, 순간적으로 떠오르는 명령어는 없네요 ;[/quote:3aydg881]

명령어 뒤에 -exec rm -f {} ; 입니다.
근디 그리 지우면 어찌 될까요?

아니죠. 텍스트 파일로 저장하고, 그 텍스트 파일을 열어서 정말 지워야 할 것만 남기고…
그 후에 그 텍스트 파일을 가지고 삭제 작업을 하고 싶은 것입니다. 검색 후 바로 넘기는 것이 아니라… :)

[quote="Mr.Dust":hdzjcjgm]아니죠. 텍스트 파일로 저장하고, 그 텍스트 파일을 열어서 정말 지워야 할 것만 남기고…
그 후에 그 텍스트 파일을 가지고 삭제 작업을 하고 싶은 것입니다. 검색 후 바로 넘기는 것이 아니라… :)[/quote:hdzjcjgm]

아하 awk 를 활용 해보세요 숙제로 줄께용! 8-)

[b:hdzjcjgm]추가 [/b:hdzjcjgm]
$ sudo find /home -mtime +30 -print | sed ‘s/.*/rm -rf &/’ > old-30.sh
old-30.sh 편집후
$ sudo sh ./old.sh

[color=#FF0040:hdzjcjgm][size=150:hdzjcjgm]따라하지 말것 ![/size:hdzjcjgm][/color:hdzjcjgm]

해당 텍스트를 참조해서 파일 삭제하는 방법 입니다. (파이썬)

[code:3iukifq6]
import os
for name in open(‘deathnote.txt’):
if os.path.exists(name):
os.remove(name)
[/code:3iukifq6]

Bash Shell CUI 버전입니다.

: [url:2eeutgs8]http://ubuntu.or.kr/viewtopic.php?f=9&t=1411[/url:2eeutgs8]