Linux下使用SSH命令行传输文件到远程服务器

以前一直在windows下用SSH Secure Shell连接远程服务器,它自带了一个可视化的文件传输工具,跟ftp差不多

但是它也存在一个缺陷,不支持编码的选择,遇到utf8就自动乱码了,另外mac下也没有这个工具

在mac下我用终端登录上去之后,想传个文件上去就犯愁了,难不成要开个ftp?

搜了一下,果然有直接的命令行工具,名字叫SCP

使用方式如下:

1、上传本地文件到服务器


  1. scp /path/filename username@servername:/path/ 

例如scp /var/www/test.php root@192.168.0.101:/var/www/ 把本机/var/www/目录下的test.php文件上传到192.168.0.101这台服务器上的/var/www/目录中

2、从服务器上下载文件

下载文件我们经常使用wget,但是如果没有http服务,如何从服务器上下载文件呢?


  1. scp username@servername:/path/filename /var/www/local_dir(本地目录) 

例如scp root@192.168.0.101:/var/www/test.txt 把192.168.0.101上的/var/www/test.txt 的文件下载到/var/www/local_dir(本地目录)

3、从服务器下载整个目录


  1. scp -r username@servername:/var/www/remote_dir/(远程目录) /var/www/local_dir(本地目录) 

例如:scp -r root@192.168.0.101:/var/www/test /var/www/

4、上传目录到服务器


  1. scp -r local_dir username@servername:remote_dir 

例如:scp -r test root@192.168.0.101:/var/www/ 把当前目录下的test目录上传到服务器的/var/www/ 目录

作者:Magic.C

来源:51CTO

时间: 2025-01-02 09:00:07

Linux下使用SSH命令行传输文件到远程服务器的相关文章

怎么样称得上是Linux下优秀的命令行计算器

怎么样称得上是Linux下优秀的命令行计算器 每个现代的Linux桌面发行版都预装着一个带有图形界面的计算器程序.不过如果你的工作区中全是命令行窗口,那么你一定会在其中的一个命令行窗口中处理一些数字相关的问题.或许你在寻找一款基于命令行的计算器程序.如果是这样的话,GNU bc("basic calculator"的缩写)会是你不二的选择.当然Linux下有很多基于命令行的计算器应用,我认为GNU bc是功能最强大和最有用的. 在GNU时代之前,bc实际上是一个著名的精密计算语言.它的

关于linux下的cp命令 如何把文件拷贝到任意文件夹下

问题描述 关于linux下的cp命令 如何把文件拷贝到任意文件夹下 比如将etc下的hosts文件拷贝:cp /etc/hosts ~ 该文件就会被拷贝至用户文件夹下 可是如果想在etc下再拷贝一份 应该怎么操作 这样的命令:cp /etc/hosts ~/etc/host.new 会被显示无效 是不是只能把文件拷贝到/Users/下的用户文件夹里 解决方案 应该是不可以的,man cp可以看到: Copy SOURCE to DEST, or multiple SOURCE(s) to DIR

浅谈Linux下通过find命令进行rm文件删除的小技巧_Linux

我们经常会通过find命令进行批量操作,如:批量删除旧文件.批量修改.基于时间的文件统计.基于文件大小的文件统计等,在这些操作当中,由于rm删除操作会导致目录结构变化,如果要通过find结合rm的操作写成脚本,就会遇到一些麻烦,本文通过一个例子为大家进行介绍. 系统环境: SUSE Linux Enterprise Server 11 或 Red Hat Enterprise Linux 问题症状: 客户现场有一个自动化的脚本,有以下的find语句,每天运行以删除某个目录下7天以前的文件或目录,

4个Linux下最好的命令行下载管理器/加速器

我们经常由于不同需求使用下载管理器从互联网下载文件,它给我和其他人提供了很多帮助.我们都想要一个超级快速的下载管理器来完成下载尽可能多的任务,以便我们可以节省时间来进一步地工作.有很多可以加速下载的下载管理器和加速器可用(图形化界面和命令行界面). 所有的下载工具做着同样的任务,但它们的处理方式和功能是不同的,比如,单线程和多线程.交互和非交互. 在这里,我们将列出 4 个最好的我们日常工作使用的命令行下载加速器. #1 Aria2 Aria2 是一个用于 Linux.Windows 和 Mac

linux下数据库自动备份并上传到远程服务器

 代码如下 复制代码 #!/bin/bash #FTP信息 FTP_IP= FTP_USER= FTP_PASS= #备份数据库 /etc/init.d/mysqld stop MySQLBakName=MySQL_$(date +"%Y%m%d").tar.gz tar zcf /home/backup/$MySQLBakName /var/lib/mysql /etc/init.d/mysqld start #备份网站 WebBakName=Web_$(date +%Y%m%d).

Linux下使用scp命令进行自动远程拷贝

在服务器之间做数据备份一般会用到远程拷贝命令,scp命令就可以做到远程拷贝,并且支持从本地到远程的拷贝和从远程到本地的拷贝. scp --- 主要是在不同的Linux系统之间来回copy文件 scp命令基本格式: scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] [[user@]host1:]file1 [...] [

linux下java调用多行有相互依赖关系的shell命令,如何调用

问题描述 linux下java调用多行有相互依赖关系的shell命令,如何调用 小弟想用java调用用多行有前后依赖关系的shell命令: 例如: 先process=Runtime.getRuntime().exec("mysql");进入mysql命令行 在用java给mysq命令行传mysql脚本,执行脚本命令 麻烦大家回答一下,或者给点建议意见 解决方案 linux下java调用shell和windows下java调用bat 解决方案二: 通过管道重定向来接收和处理命令 解决方案

lftp 4.3.0发布 基于命令行的文件传输程序

lftp是一个复杂的基于命令行的文件传输程序.支持的协议包括FTP,HTTP,SFTP和FISH.它有一个多线程的设计让同时执行多个指令或后台.它还具有镜像功能,并会重新连接并继续在断开连接时传输.另外,如果你退出程序而转移到其它工作,它会切换到使用nohup模式,完成在后台传输.其他支持的协议:通过HTTP代理的FTP,http://www.aliyun.com/zixun/aggregation/29830.html">HTTPS和FTP通用SSL,BitTorrent协议.还有可调参

linux下使用ssh远程执行命令批量导出数据库到本地_linux shell

前天正在跟前端的同事调试功能.服务器开好,模拟的玩家登录好,就在倒计时.这时突然运营的同事跑过来说要统计几个服务器玩家的一些情况,也就是需要从几个服的数据库导出部分玩家的数据.好吧,我看了一下时间,11:47.心想,跟前端调试完,去吃个饭再午休一下那就下午再给吧.没想对方来一句"就导个数据库而已,要这么久么?",而且还是直接跟我上司说的.我嚓,好吧,我导.可问题来了,平时的统计是由php做的,批量部署这些是由运维做的.服务端完全没有对应的工具.而且服务器是在阿里云上的,数据库的用户是限