Broken symbolic linked file 찾아서 삭제하기

find 뒤에 '/'를 적절한 위치로 바꿔주세여.
겁나면 걍 찾아보기를 먼저 한담에… -___-a

[b:ydhjd86k]찾기[/b:ydhjd86k]

[code:ydhjd86k]# find / -type l ! -exec test -r {} ; -print[/code:ydhjd86k]

[b:ydhjd86k]찾아서 삭제하기[/b:ydhjd86k]

[code:ydhjd86k]# find / -type l ! -exec test -r {} ; -print -exec rm -f {} ;[/code:ydhjd86k]

[size=200:ydhjd86k][b:ydhjd86k]주의: 절대!, 책임 안짐 ^__^)``[/b:ydhjd86k][/size:ydhjd86k]

매우 좋은 팁입니다! 덕분에 깔끔해졌어용!~
KleanSweep로 확인해보았는데 하나도 없는 경이적인 성능!
감사합니다 ^^

^__^}`` 추카~

꼭 필요한 기능이었는데 감사합니다.

저 같이 7.10 깔고 8.04로 업그레이드하고 나면 링크가 많이 깨지는 것 같아요.
그런데 막상 지울려고 하니까 겁이 많이 나네요.

[b:3t1hx3ei]소심증 때문에… [/b:3t1hx3ei]

[b:1sg60h7t]dailog 패키지를 사용한 CUI 버전[/b:1sg60h7t]입니다. 선택적으로 삭제가능해여~

[b:1sg60h7t]01)[/b:1sg60h7t] dialog 패키지를 설치하세여

[code:1sg60h7t]# apt-get install dialog[/code:1sg60h7t]

[b:1sg60h7t]02)[/b:1sg60h7t] 아래 스크립트를 적당한 이름으로 저장하세여

[code:1sg60h7t]
#!/bin/bash
: ${DIALOG=dialog}
: ${DIALOG_OK=0}
: ${DIALOG_CANCEL=1}
: ${DIALOG_ESC=255}

tempfile=tempfile 2>/dev/null || tempfile=/tmp/test$$
selected=tempfile 2>/dev/null || selected=/tmp/sel$$

function post_clean {
if [[ -e $temfile ]]; then
rm -f $tempfile
fi
if [[ -e $selected ]]; then
rm -f $selected
fi
}
trap post_clean 0 1 2 5 15

#find ./t -type f -printf "%p %y On\n" > "$selected"
find pwd -type l ! -exec test -r {} ; -printf "%p %y On\n" > "$selected"

$DIALOG --backtitle "wipe broken symlinked file out"
–title "Wipe out"
–checklist "select to delete \n"
20 61 5
cat $selected
2> $tempfile

retval=$?
if (( $retval != $DIALOG_OK )); then
post_clean
echo "done"
exit
fi

for f in cat $tempfile; do
rm -f $f
done

post_clean
[/code:1sg60h7t]

[b:1sg60h7t]03)[/b:1sg60h7t] ‘/’ 에서 찾는것이 아니라 스크립트가 위치한 곳부터 찾으므로 적절한 곳으로 이동한후 실행하세여