我使用过的Linux命令之sftp - 安全文件传输命令行工具
用途说明
sftp命令可以通过ssh来上传和下载文件,是常用的文件传输工具,它的使用方式与ftp类似,但它使用ssh作为底层传输协议,所以安全性比ftp要好得多。
常用方式
格式:sftp <host>
通过sftp连接<host>,端口为默认的22,用户为Linux当前登录用户。
格式:sftp -oPort=<port> <host>
通过sftp连接<host>,指定端口<port>,用户为Linux当前登录用户。
格式:sftp <user>@<host>
通过sftp连接<host>,端口为默认的22,指定用户<user>。
格式:sftp -oPort=<port> <user>@<host>
通过sftp连接<host>,端口为<port>,用户为<user>。
sftp连接成功之后常用操作命令如下:
help/? 打印帮助信息。
pwd 查看远程服务器当前目录;
lpwd 查看本地系统的当前目录。
cd <dir> 将远程服务器的当前目录更改为<dir>;
lcd <dir> 将本地系统的当前目录更改为<dir>。
ls 显示远程服务器上当前目录的文件名;
ls -l 显示远程服务器上当前目录的文件详细列表;
ls <pattern> 显示远程服务器上符合指定模式<pattern>的文件名;
ls -l <pattern> 显示远程服务器上符合指定模式<pattern>的文件详细列表。
lls 显示本地系统上当前目录的文件名;
lls的其他参数与ls命令的类似。
get <file> 下载指定文件<file>;
get <pattern> 下载符合指定模式<pattern>的文件。
put <file> 上传指定文件<file>;
get <pattern> 上传符合指定模式<pattern>的文件。
progress 切换是否显示文件传输进度。
mkdir <dir> 在远程服务器上创建目录;
lmkdir <dir> 在本地系统上创建目录。
exit/quit/bye 退出sftp。
! 启动一个本地shell。
! <commandline> 执行本地命令行。
其他命令还有:chgrp, chmod, chown, ln, lumask, rename, rm, rmdir, symlink, version。
使用示例
示例一
[root@jfht ~]# stty erase ^H
[root@jfht ~]# sftp 192.168.1.181
Connecting to 192.168.1.181...
root@192.168.1.181's password:
sftp> ls -l *.gz
-rw-r--r-- 0 0 0 7770116 May 14 2010 mini.tar.gz
sftp> lls *.gz
cn.tar.gz ct08.min.tar.gz files.20101216a.tar.gz
sftp> get mini.tar.get
Couldn't stat remote file: No such file or directory
File "/root/mini.tar.get" not found.
sftp> ^[[A
Invalid command.
sftp> get mini.tar.gz
Fetching /root/mini.tar.gz to mini.tar.gz
/root/mini.tar.gz 100% 7588KB 7.4MB/s 00:01
sftp> lls mini.tar.gz -l
-rw-r--r-- 1 root root 7770116 04-03 15:20 mini.tar.gz
sftp> quit
[root@jfht ~]#