python - 管道符和ssh传文件
阿神
阿神 2017-04-18 10:19:20
0
3
801

看到可以用一条命令传输文件

gzip -c aa.txt | ssh root@192.168.1.1 " gunzip -c - > /home/bb.txt"

请问这条命令怎么理解?
还有,发现对文件夹进行这样的操作会失败,有什么办法传输文件夹么?
求指教

阿神
阿神

闭关修行中......

모든 응답(3)
大家讲道理

명령 매개변수 설명:

gzip -h

으아아아

gunzip -h

으아아아

무슨 일이 일어나는지 모르겠습니다. 두 명령에 대한 도움말 문서가 동일합니다.

즉, -c은 파일을 압축하지 않고 바로 표준 출력으로 출력합니다.

gunzip -은 파일에서 압축된 파일을 받는 대신 표준 입력에서 받습니다.

|: 파이프
>: 리디렉션


전체 명령어 분석

으아아아
  • gzip -c aa.txt: aa.txt 파일을 압축하고 압축된 결과를 표준 출력

  • 으로 출력합니다.
  • ssh root@192.168.1.1 "命令":원격 컴퓨터에서 명령 실행

  • 명령 gunzip -c -: 파일의 압축을 푼다. 압축된 원본 파일을 표준 입력에서 전달하고 출력 결과를 표준 출력으로 직접 출력한다

  • > /home/bb.txt: 표준 출력을 파일로 리디렉션 /home/bb.txt


폴더에 대한 이 작업은 실패합니다

gzip은 디렉토리 작업을 지원하지 않습니다

阿神

송수신을 완전히 netcat으로 전환할 수도 있습니다.
또는 로컬 tar로 압축한 후 반대쪽에서 압축을 풀어보세요.

洪涛

파이핑은 이전 명령의 출력을 입력으로 사용합니다. 먼저 임시 파일로 압축한 후 scp를 사용해도 됩니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿