그래서 오늘 저는 PHP 파일 중 하나가 오래된 것을 발견하여 phpthumb
서버의 전체 디렉토리를 덮어써야 했습니다.
여러 웹사이트가 알 수 없는 여러 위치에서 이 폴더를 사용하고 있는데, 하나의 소스 경로에서 이 폴더를 모두 포함하려면 어떻게 해야 합니까? (예: /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
.