SFTP 서버의 모든 파일을 나열하고 모든 파일의 총 크기를 얻는 방법은 무엇입니까?

SFTP 서버의 모든 파일을 나열하고 모든 파일의 총 크기를 얻는 방법은 무엇입니까?

나는 다음을 사용하여 SFTP 서버에 연결합니다.

sftp -i key.pem user@server

서버에는 최대 4일까지의 목록을 표시하는 데 사용할 수 있는 로그가 포함되어 있습니다 ls. 문제는 ls가 4일보다 오래된 로그를 얻을 수 없는 것 같다는 것입니다. 디렉터리의 모든 로그를 나열하고 전체 크기를 확인하는 방법을 알고 싶습니다.

크기에 대한 비슷한 질문이 제기되었습니다.여기사용을 위한 솔루션을 제공합니다 du -hc. 하지만 이 명령은 내 SFTP 서버에 존재하지 않으며 SSH 액세스 권한도 없습니다. 어떤 아이디어가 있나요?

답변1

lftpdu명령과 지원되는 프로토콜이 있습니다 sftp.

lftp sftp://user@host

또는 비밀번호 프롬프트를 사용하고 건너뛰려면 SSH 키를 지정하십시오.

lftp -e 'set sftp:connect-program ssh -axi key.pem' sftp://user:@host

프롬프트에서 실행합니다 du(또는 du -ba각 파일과 해당 크기를 바이트 단위로 나열하거나 du -ha접미사를 사용합니다) sftp. du디스크 사용량이 아닌 겉보기 크기를 제공하고 디렉터리 파일의 크기를 포함하지 않는다는 점에서 Unix 명령과 다릅니다 .

4일보다 오래된 파일이 나열되지 않으면 ls해당 파일이 존재하지 않거나 더 이상 존재하지 않는다는 것일 가능성이 가장 높습니다. 또는 클라이언트 ls의 명령만 실행됩니다.sftplftpSFTP 프로토콜의 "디렉터리 읽기" 쿼리 또는 일련의 쿼리디렉터리 내용을 검색합니다. 서버가 콘텐츠를 전송하지 않고 SFTP를 통하지 않고 데이터에 액세스할 수 있는 다른 방법이 없다면 할 수 있는 일이 거의 없습니다.

관련 정보