remotefile.gz"$tarczvf-.|sshuser@host"cat>remote.tar.gz"$sshtarget_addresscat
当前位置:Linux教程 - Linux文化 - 利用SSH和FTP命令行传送文件

利用SSH和FTP命令行传送文件


代码: $ tar cvf - . | gzip -c -1 | ssh user@host "cat > remotefile.gz" $ tar czvf - . | ssh user@host "cat > remote.tar.gz" $ ssh target_address cat < localfile ">" remotefile $ ssh target_address cat < localfile - ">" remotefile $ cat localfile | ssh target_address cat ">" remotefile $ cat localfile | ssh target_address cat - ">" remotefile 注: 以上命令行中的 大于号> 两边有双引号(" ") , 小于号< 两边则没有。 $ dd if=localfile | ssh target_address dd of=remotefile $ ssh target_address cat remotefile.tgz )" $ ( cd SOURCEDIR && tar cvf - . | gzip -1 -) | ssh target_address "(cd DESTDIR && cat - > remotefile.tgz )" $ ssh target_address "( nc -l -p 9210 > remotefile & )" && cat source-file | gzip -1 - | nc target_address 9210 $ cat localfile | gzip -1 - | ssh target_address cat ">" remotefile.gz SSH PULL(从远程获取到本地):

代码: $ ssh target_address cat remotefile > localfile $ ssh target_address dd if=remotefile | dd of=localfile $ ssh target_address cat " localfile $ ssh target_address cat "localfile SSH COMPARE(本地和远程文件比较):

代码: 用远程计算机CPU执行比较指令 $ ssh target_address cat remotefile | diff - localfile $ cat localfile | ssh target_address diff - remotefile

用本地计算机CPU执行比较指令 $ ssh target_address cat get file.gif "| xv -" $ ftp> get README "| more" FTP PUSH(从本地发送到远程):

代码: $ ftp> put "| tar cvf - ." myfile.tar $ ftp> put "| tar cvf - . | gzip " myfile.tar.gz FTP PULL(从远程获取到本地):

代码: $ ftp> get myfile.tar "| tar xvf -"

不错,很喜欢。。tar/cat/dd 这几个命令配合 ssh,非常方便。

对了,我觉得把整个语句都包括进来我觉得比较好。当然,也可以用 tar zcvf - . 来代替 gzip,看网络速度决定了。:)。 $ tar cvf - . | gzip -c -1 | ssh user@host cat ">" remotefile.gz -> $ tar cvf - . | gzip -c -1 | ssh user@host "cat > remotefile.gz"