저는 오랫동안 FileZilla를 사용하고 있습니다. 이제는 효율성 부족으로 인해 Linux 데스크톱에서 명령줄, sftp
Linux 서버로 전환하고 있습니다.
이 sftp put
명령은 업로드에 적합합니다. 하지만 FileZilla와 달리 서버에 있는 기존 파일을 덮어쓸 때 확인 메시지가 표시되지 않습니다. 나는 우발적인 보도에 대해 확실히 걱정하고 있습니다. sftp
덮어쓰기 전에 확인을 요구하는 방법이 있나요 ?
답변1
아니요, put
이 명령은 sftp
기존 파일 덮어쓰기를 확인하는 대화형 프롬프트를 제공할 수 없습니다. 그것은 당신이 무엇을 하고 있는지 알고 있다고 가정합니다.
기존 파일을 업로드할 때 덮어쓰지 않으려면 이 sftp
명령을 사용하여 mkdir
원격 호스트에 디렉터리를 만들고 cd
해당 디렉터리로 변경한 후 파일을 새 빈 디렉터리에 업로드하세요.
예를 들어,
uploaddir=$( date +upload_%F ) # i.e. something like "upload_2020-05-18"
sftp remote <<END_SFTP
cd some/remote/path
mkdir $uploaddir
cd $uploaddir
put myfile
END_SFTP
이 mkdir
명령은실패하다생성하려는 디렉터리와 동일한 이름의 디렉터리가 이미 존재하는 경우. sftp
위에서 언급한 것처럼 비대화형 배치 스크립트를 실행하는 경우 이 시점에서 스크립트가 종료됩니다.