linux下文件上传下载

基本操作

本篇博客主要介绍如何去链接远程的linux主机及如何实现本地与远程主机之间文件的上传下载操作,下面的linux系统是CentOS6.6

链接远程linux主机

一般链接远程linux主机,如果电脑上没有安装类似SecureCRTPortable这种终端仿真程序,我们会用git的命令窗口使用命令去链接,但是这种方式不能保存链接的用户名和密码,下次还要重新输入链接信息,很麻烦,适合暂时的连一下,用一下,通常都会使用终端仿真程序,并保存相关链接信息。

未安装终端仿真程序链接方式-命令

在任意位置打开git命令窗口,输入如下命令即可

1
ssh username@ip_or_domain

该命令中username代表linux登录用户的用户名,ip_or_domain代表linux主机的ip地址或ip所映射的域名,例如:

1
ssh root@116.196.115.151

代表的含义是使用root用户链接116.196.115.151的远程主机
之后,一般如果该账户设有密码,会在下一步提示输入链接密码,输入正确密码即可链接成功

安装SecureCRTPortable链接

本地电脑上有SecureCRTPortable这种终端仿真程序(直接浏览器搜索,一堆,本文使用版本为8.3),打开SecureCRTPortable,选择 文件(File)->快速连接(Quick Connect),输入主机名和用户名,主机名就是远程linux主机的ip地址,用户名就是登陆的用户名,之后会弹出密码框,要求输入密码,成功后即可链接主机

文件上传和下载

大部分情况下,我们要在linux下安装的软件,或将要部署在linux环境服务器上的本地开发的应用,他们大部分情况下是在本地windows环境下的,这就涉及到如何将本地文件上传到linux系统中,还有就是在linux下修改一些配置文件非常的繁琐,一般对于比较大的配置文件可能会下载到本地修改,然后在上传覆盖,这就涉及到如何将linux上的文件下载到本地,这里介绍3种方式,个人推荐第三种rz/sz方式

未安装任何的终端仿真程序-命令
命令上传:

在本地打开要上传文件所在文件夹,打开该级文件夹下打开git命令窗口,输入如下命令:

1
scp filename username@ip_or_domain:/target_directory/

该命令中filename代表要上传的文件名称,username代表linux登录用户的用户名,ip_or_domain代表linux主机的ip地址或ip所映射的域名,target_directory代表linux下要上传到的文件目录,例如:

1
scp test.sql root@116.196.115.151:/root/

代表的含义是将当前目录下的test.sql文件复制上传到116.196.115.151主机的root目录下,如果有密码之后输入密码。

命令下载:

基本和命令上传相同,在本地先切换到盛放下载文件的目录,在该目录下打开git窗口,输入如下命令

1
scp username@ip_or_domain:/target_directory/filename ~/

该命令中username代表linux登录用户的用户名,ip_or_domain代表linux主机的ip地址或ip所映射的域名,target_directory代表linux下要下载的文件目录,filename代表要下载的文件名称,例如:

1
scp root@116.196.115.151:/root/test.sql ~/Desktop/

代表的含义是将主机root目录下的test.sql文件下载到本地windows的桌面上

对于目录的上传下载

scp命令后面紧接着加上 -r 即可,后面的路径到目录一级即可

对于两台linux主机之间文件互相拷贝

将上述上传或下载命令文件路径部分,在路径前面加上username@ip_or_domain:的前缀即可

SecureCRTPortable的sftp
SecureCRTPortable的sftp上传下载公共操作步骤:
  1. 使用SecureCRTPortable链接到主机
  2. 使用快捷键alt+p,进入sftp界面
  3. 切换到存放上传文件(要下载的文件)的目录(cd命令)

    SecureCRTPortable的sftp上传:
  4. 直接将本地文件拖拽到sftp界面窗口中即可(像qq发送文件那样,注意尽量使用较高版本 的SecureCRT,否则可能不支持拖拽,例如7.0的版本在win7下可拖拽,win10下不行,8.3的版本都可以)
  5. 传输完成后使用ls命令查看当前目录是否有上传的文件(ll命令不可用)

    SecureCRTPortable的sftp下载:
    1. 使用如下命令将文件下载到本地
      1
      2
      3
      4
      # 指定本地下载目录 这里指定为d盘
      lcd d:\
      # 使用get命令下载,后面跟要下载的文件名称(要先切换到文件所在目录)
      get test.sql
SecureCRTPortable的Zmodem

在linux任意目录下输入rz,如果出现 -bash: rz: command not found 说明未安装Zmodem,如果弹出一个文件选择框则已经安装,查看如何使用即可

安装Zmodem:

方式一(简单):执行如下命令,完毕即可使用

1
yum install lrzsz

方式二(麻烦):执行如下一系列操作:

  1. 下载

    1
    2
    3
    4
    # 切换到下载目录
    cd /tmp
    # 下载
    wget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz

    如果出现 wget: command not found,执行下面命令安装wget

    1
    yum -y install wget

    如果出现wget颁发证书过期用

    1
    wget --no-check-certificate http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz
  2. 解压安装及创建软连接

    1
    2
    tar zxvf lrzsz-0.12.20.tar.gz && cd lrzsz-0.12.20
    ./configure && make && make install

    如果报错:no acceptable cc found in $PATH
    执行下面命令:

    1
    yum install gcc gcc-c++ gcc-g77

    上面安装过程默认把lsz和lrz安装到了/usr/local/bin/目录下,现在我们并不能直接使用,下面创建软链接,并命名为rz/sz:

    1
    2
    3
    cd /usr/bin
    ln -s /usr/local/bin/lrz rz
    ln -s /usr/local/bin/lsz sz
使用Zmodem:

指定上传目录与下载目录
上传目录:使用rz指令,进行上传操作时,弹出的对话框,会默认定位到该目录下。
下载目录:使用sz指令,进行下载操作后,所下载的文件,默认下载到该目录中。
打开SecureCRT软件 -> Options -> session options -> X/Y/Zmodem 下可以设置上传和下载的目录
sz filename:发送文件到客户端,zmodem接收可以自行启动,例如:

1
2
cd /root
sz test.sql

root下的test.sql文件会被发送到本地下载目录
rz :从客户端上传文件到linux服务端,输入该命令后会打开文件选择对话框(默认定位到上传目录)


-------------本文结束感谢您的阅读-------------