
phpthumb
그래서 오늘 내 PHP 파일 중 하나가 오래된 것을 발견하여 전체 서버의 디렉토리를 덮어써야 했습니다 .
여러 웹 사이트가 알 수 없는 여러 위치에서 이 폴더를 사용하는데, 하나의 소스 경로에서 이러한 모든 디렉터리를 어떻게 덮어쓸 수 있습니까? (예: /home/test/testuser/phpthumb/
에 /home/*/*/phpthumb/
)
답변1
이것은 작동합니다:
echo /home/*/*/phpthumb | xargs -t -n 1 cp -r /home/test/testuser/phpthumb/*
당신은 함께 일해야합니다 xargs
. 안타깝게도 cp
여러 대상에 복사할 수 없습니다. cp
여러 소스를 처리할 수 있습니다.
설명:
echo /home/*/*/phpthumb
: 모든phpthumb
디렉토리를 나열합니다.xargs -t -n 1
: xargs는cp
모든 라인을 개별적으로 호출해야 합니다.cp -r /home/test/testuser/phpthumb/*
명령이xargs
호출되어야 합니다. 대상 디렉토리는 끝에xargs
.
답변2
이 시도:
$ find /home -name "phpthumb" -type d -not -path "*test/testuser/phpthumb" \
-exec cp /home/test/testuser/phpthumb/* {} \;
find
phpthumb
명령은 다음에서 찾습니다 /home
.
-type d
폴더 선택-not -path
제외하다test/testuser/phpthumb
각 폴더에 대해 cp
명령을 수행합니다. test/testuser/phpthumb
하위 폴더가 있는 트리인 경우 -R
에 옵션을 추가합니다 cp
.