
이것은 내가 사용하는 명령입니다:
find absolute-path -name "*" -amin -120 -exec cp -f absolute-destination {} \;
한 디렉토리에서 다른 디렉토리로 많은 디렉토리를 복사하려고 하는데 지난 2시간 동안 생성된 디렉토리만 복사하려고 합니다.
내 명령이 작동하지 않고 그 이유를 실제로 알 수 없습니다. 그것이 확실하지 않다면 저는 경험이 풍부한 Linux 사용자가 아닙니다. 내가 얻은 것에서 cp
내가 의도한 목적지를 소스로 해석하는 것 같습니다.
나는 심지어 사용해 보았고 xargs
더 적게 이해했습니다.
Debian Squeezy에서 Bash를 사용하고 루트에서 명령을 실행합니다.
답변1
내가 얻은 것에서
cp
내가 의도한 목적지를 소스로 해석하는 것 같습니다.
예, 그렇습니다. 일반적인 Linux/Unix 구문은 다음과 같기 때문입니다.
[some command] [some command options] [source item] [destination item]
따라서 명령을 살펴보십시오.
find absolute-path -name "*" -amin -120 -exec cp -f absolute-destination {} \;
는 명령 으로 찾은 소스 파일을 나타내고 "절대 대상"이 정확히 그 자체이기 때문에 이는 cp -f absolute-destination {}
반대입니다 . 목적지. 따라서 명령의 해당 부분을 .{}
find
cp -f {} absolute-destination
추가로:
-name "*"
어쨌든 시간을 기준으로 모든 파일을 검색하는 경우 중복되고 불필요합니다 . 즉, 그냥 버릴 수 있다는 뜻입니다.- 또한 의 사용은 "파일이 삭제되었습니다"를 의미
amin
하므로 약간 혼란스럽습니다.-amin -120
액세스됨지난 120분 동안.” 조치를 취하고 싶다면창조파일의 시간을 변경하려면cmin
다음과 같이 변경해야 합니다. 즉, 몇 분 전에 변경되었습니다n
. 자세한 내용은 Linux에서find
맨 페이지.
따라서 최종 명령은 다음과 같습니다.
find absolute-path -cmin -120 -exec cp -f {} absolute-destination \;
하지만 해당 명령을 실행하기 전에 항상 다음과 같이 정확히 무슨 일이 일어나고 있는지 확인하기 위해 cp
"모의 실행"을 수행해야 합니다 .echo
find absolute-path -cmin -120 -exec echo {} \;
이와 같은 명령을 "모의 실행"으로 테스트해 보세요.~ 전에실제/최종 명령을 실행하면 장기적으로 골치 아픈 일이 줄어들 것입니다. 특히 명령을 root
.
예상치 못한 방식으로 문제를 일으킬 수 있는 명령 논리에서 간단하고 부주의한 실수를 저질렀는지 결코 알 수 없습니다. 그리고 테스트 없이 잘못 구성된 명령을 "프로덕션"에 급히 투입하면 처음에는 몇 분을 절약할 수 있지만 정리 작업에 몇 시간, 어떤 경우에는 며칠이 걸릴 수 있습니다.언제나명령줄에서 작업할 때 안전하게 플레이하세요.