Linux NAS에서 모든 Mac`._` 파일을 제거 하시겠습니까?


0

기존 NAS 상자에서 숨겨진 Mac 스팸 파일을 모두 제거하려고합니다 (qnap ts209). bash로 모든 Mac 생성 파일 '._'제거를 시도했지만 NAS의 find 명령에 -exec옵션이 포함되어 있지 않습니다 .

# [/share/Qweb] # find -name "._*" -exec rm -rf {} \;

Usage: find [PATH...] [EXPRESSION]

Search for files in a directory hierarchy.  The default PATH is
the current directory; default EXPRESSION is '-print'

EXPRESSION may consist of:
        -follow         Dereference symbolic links.
        -name PATTERN   File name (leading directories removed) matches PATTERN.
        -print          Print (default and assumed).

        -type X         Filetype matches X (where X is one of: f,d,l,b,c,...)
        -perm PERMS     Permissions match any of (+NNN); all of (-NNN);
                        or exactly (NNN)
        -mtime TIME     Modified time is greater than (+N); less than (-N);
                        or exactly (N) days

[/share/Qweb] #

내 상자에 대한 정보는 다음과 같습니다.

[/share/Qweb] # man find
-sh: man: command not found
[/share/Qweb] # cat /etc/*-release
cat: /etc/*-release: No such file or directory
[/share/Qweb] # lsb_release
-sh: lsb_release: command not found
[/share/Qweb] # cat /proc/version
Linux version 2.6.12.6-arm1 (root@NasARM4) (gcc version 3.4.4 (release) (CodeSourcery ARM 2005q3-2)) #2 Sun Sep 18 02:09:29 CST 2011
[/share/Qweb] # uname -a
Linux QNAP 2.6.12.6-arm1 #2 Sun Sep 18 02:09:29 CST 2011 armv5tejl unknown
[/share/Qweb] # uname -mrs
Linux 2.6.12.6-arm1 armv5tejl

나는 find에서 rm으로 파이프하는 방법을 모른다. 아마도 가능하다. SU와 관련이없는 답변을 찾는 데 혼란 스러웠다 -exec. (편집 : https://stackoverflow.com/a/11191868/1238884 RM에 파이핑하는 것은 옵션이 아니라고 제안합니다. -delete아무도 옵션 이 없습니다 .0

답변:


1

메시지가 요청하는 PATH 인수가 누락 된 것 같습니다.

find . -name "._*" -exec rm -rf {} \;

.여기를 참고 하십시오. 현재 디렉토리에서 다운되지 않은 경우 시작 경로로 바꾸십시오.

당신이 가지고 있다면 xargs(1), 당신은 rm(1)한 번에 여러 파일 을 처리 하도록 각 파일을 사용할 수 있습니다 :

find . -name "._*" | xargs rm

조심해서 건식 통화를하십시오. 예를 들어 echo(1)아무 것도 일어나지 않도록하십시오.


xargs작품, 고마워요! (또한 반향하지만, 역시 find . -name "._*" -print마찬가지입니다.
frumbert

0

"del_apple_files.py"(또는 이와 유사한)라는 파일을 만들어서 붙여 넣습니다.

#!/bin/env python

import os
import fnmatch 

def purge(dir, pattern):
   for root, dirnames, filenames in os.walk(dir):     
       for filename in fnmatch.filter(filenames, pattern):
           match = os.path.join(root, filename)        
           print(str(match))     
           os.remove(match)                  

dir = '/PATH/TO/SHARED/FOLDERS/ROOT'
pattern = '._*'

purge(dir, pattern)

파일을 NAS 상자에 복사하고 SSH로 파일을 공유 폴더를 통해 액세스 권한이있는 관리자로 파일을 실행하십시오.

python /PATH/TO/del_apple_file.py

당신은 또한 그것을 위해 cronjob을 예약 할 수 있습니다, 그것은 파일을 삭제하고 폴더를 남겨 둘 것입니다 ...

즐겨! ;)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.