nodejs借助scp2依赖实现windows传输文件到linux

2023-05-16

    前面提到过,java语言中可以通过scp客户端从windows向linux传输文件,而nodejs中也有scp2这个依赖模块,他可以实现从windows上传文件到linux。

    我们可以构建一个测试示例,先安装依赖:

    $ npm install scp2 --save

    

    编写简单的代码:

var scp2 = require("scp2")
scp2.scp("./hello.txt",{
	host:"192.168.56.202",
	port:22,
	username:"root",
	password:"root",
	path:"/root/upload"
},function(err){
	if(err)
		console.log("upload fail.");
	else
		console.log("upload successfully.");
})

    运行测试:

     

    上传成功,我们在linux服务器上查看文件:

     

    其实,我们也可以通过类似使用ssh2客户端那样的方式,来编写代码。

var Client = require("scp2").Client;
var client = new Client({
	host:"192.168.56.202",
	username:"root",
	password:"root"
});
client.upload("./hello2.txt","/root/upload",function(err){
	if(err)
		console.log("err:"+err)
	else
		console.log("upload successfully.");
});

    运行代码,查看结果:

     

    查看linux服务器上的文件以及内容:

     

    因为scp2模块可以实现上传文件到linux,这样一来呢,就有人想出了利用这个上传的功能,将前端代码提交到linux服务器,做成热部署,减少人为上传的那一步,这个确实会减少不少事情,节省更多时间。 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

nodejs借助scp2依赖实现windows传输文件到linux 的相关文章

  • Cloudfoundry:如何组合两个运行时

    cloundfoundry 有没有办法结合两个运行时环境 我正在将 NodeJS 应用程序部署到 IBM Bluemix 现在 我还希望能够执行独立的 jar 文件 但应用程序失败 APP 0 bin sh 1 java not found
  • 未捕获的错误:找不到模块“jquery”

    我在用Electron https github com atom electron制作桌面应用程序 在我的应用程序中 我正在加载一个外部站点 Atom 应用程序之外 可以说http mydummysite index html http
  • 在脚本内使用不带密码的 sudo

    由于某种原因 我需要作为用户在没有 sudo 的情况下运行脚本 script sh 该脚本需要 root 权限才能工作 我认为将 sudo 放入 script sh 中是唯一的解决方案 让我们举个例子 script sh bin sh su
  • 如何一步步遍历目录树?

    我发现了很多关于遍历目录树的示例 但我需要一些不同的东西 我需要一个带有某种方法的类 每次调用都会从目录返回一个文件 并逐渐遍历目录树 请问我该怎么做 我正在使用函数 FindFirstFile FindNextFile 和 FindClo
  • MSysGit 与 Windows 版 Git

    我无法确定MSysGit 和 Windows 版 Git 之间的区别 http msysgit github com 它们有何不同 为什么我会选择其中之一而不是另一个 它们不是同一个东西吗 On http msysgit github co
  • 如何强制 pm2 在特定时间后重新启动?

    我在用PM2让我的 Node js 应用程序保持运行 有什么办法可以拥有PM2每 1 小时重新启动一次我的应用程序 将下面的代码放入pm2 js并开始它pm2 start pm2 js var pm2 require pm2 pm2 con
  • 我不明白 execlp() 在 Linux 中如何工作

    过去两天我一直在试图理解execlp 系统调用 但我还在这里 让我直奔主题 The man pageexeclp 将系统调用声明为int execlp const char file const char arg 与描述 execl exe
  • MySQL 中的创建/写入权限

    我的设备遇到一些权限问题SELECT INTO OUTFILE陈述 当我登录数据库并执行简单的导出命令时 例如 mysql gt select from XYZ into outfile home mropa Photos Desktop
  • node.js 安装向导提前结束

    我无法安装 node js 0 8 9 我是通过安装向导完成的 每次安装结束时我都会收到消息 Node js 安装向导提前结束 会是什么呢 谢谢 这可能会对将来的某人有所帮助 我从安装程序中收到类似的消息 发现我可以转到命令提示符并使用命令
  • 按进程名称过滤并记录 CPU 使用情况

    Linux 下有选项吗顶部命令 https www man7 org linux man pages man1 top 1 html我可以在哪里按名称过滤进程并将每秒该进程的 CPU 使用情况写入日志文件 top pgrep 过滤输出top
  • 需要一些建议来开始在 ARM(使用 Linux)平台上编程

    我 也许 很快就会在托管 Linux 发行版的 ARM 平台上工作 我不知道哪个发行版 我知道该项目涉及视频流 但我无法告诉你更多信息 其实我只收到通知 还没见到任何人 我从来没有在这样的平台上工作过 所以我的想法是在项目开始之前进行测试
  • php exec 返回的结果比直接进入命令行要少

    我有一个 exec 命令 它的行为与通过 Penguinet 给 linux 的相同命令不同 res exec cd mnt mydirectory zcat log file gz echo res 当将命令直接放入命令行时 我在日志文件
  • 使用 Windows 网络共享目录时 Hg 存储库损坏

    我希望我能在这里得到一些帮助 因为 SO UX 比 Mercurial 邮件列表更好 多年来我一直在家里愉快地使用 Mercurial 我还将它与 Bitbucket Cloud 一起用于一些更严肃 但仍然是爱好 的项目 去年 我将我的团队
  • “以管理员身份运行”时的 Windows 批处理文件起始目录

    我有一个位于目录中的批处理文件 也必须从那里运行 因为它会更新该目录中的文件 这工作得很好 除非用户以管理员身份运行批处理文件 Vista 上需要 那么起始目录是C Windows System32 有什么办法仍然能够知道批处理文件是从哪个
  • Linux:如何设置进程的时区?

    我需要设置在 Linux 机器上启动的各个进程的时区 我尝试设置TZ变量 在本地上下文中 但它不起作用 有没有一种方法可以使用与系统日期不同的系统日期从命令行运行应用程序 这可能听起来很愚蠢 但我需要一种sandbox系统日期将被更改的地方
  • 我如何知道 C 程序的可执行文件是在前台还是后台运行?

    在我的 C 程序中 我想知道我的可执行文件是否像这样在前台运行 a out 或者像这样 a out 如果你是前台工作 getpgrp tcgetpgrp STDOUT FILENO or STDIN FILENO or STDERR FIL
  • Docker 警告:无法从守护进程获取默认注册表端点

    在 Windows 10 上 当我调用 docker 命令时 docker pull mongo windowsservercore 我得到以下输出 Warning failed to get default registry endpoi
  • Node.js 可读流_read用法

    我了解如何在 Node 的 new 中使用可写流Streams2库 但我不明白如何使用可读流 举个例子 一个流包装器围绕dgram module var dgram require dgram var thumbs twiddle func
  • EnumDisplayDevices 与 WMI Win32_DesktopMonitor,如何检测活动监视器?

    对于我当前的 C 项目 我需要为在大量计算机上连接并处于活动状态的每个监视器检测一个唯一的字符串 研究指出了两种选择 使用 WMI 并查询 Win32 DesktopMonitor 以获取所有活动监视器 使用 PNPDeviceID 来唯一
  • 如何在c linux中收听特定接口上的广播?

    我目前可以通过执行以下操作来收听我编写的简单广播服务器 仅广播 hello int fd socket PF INET SOCK DGRAM 0 struct sockaddr in addr memset addr 0 sizeof ad

随机推荐

  • git命令行切换到某一个提交版本的分支

    通常 xff0c 我们需要在命令行下切换 分支 xff0c 一般而言 xff0c 我们将远程代码克隆 git clone http xxx com project 到本地之后 xff0c 切换分支使用git checkout b branc
  • linuxmint下gcc编译报错:zlib version 1.2.1 or higher is required

    如题所示 xff0c 在linuxmint系统上通过gcc编译一个工具 xff0c 报错 xff1a 通过dpkg l命令查看系统的zlib库 xff0c 是有zlib1g xff0c 这个就是最新的 很多地方说要安装zlib1g dev
  • MFC与第三方类库CWebPage开发javascript函数调用示例

    今天思索一个问题 xff0c 想着怎么用c 43 43 调用百度地图 xff0c 结果网上有一篇文章介绍了如何使用MFC项目结合CWebPage来调用百度地图 看了整篇博客 xff0c 思路很清晰 xff0c 但是看下来 xff0c 其实就
  • mysql中日期时间戳timestamp使用小结

    timestamp时间戳类型在mysql数据库中比较常见 xff0c 但是我们很容易忽视它的一些特征 xff0c 这个我在面试中吃过亏 xff0c 这里对他的一些用法和特点补充一下 也让自己加深印象 一般来说 xff0c 我们使用日期 xf
  • C++打印整数的八进制十进制十六进制以及打印逻辑布尔类型

    C 43 43 中打印一个整数的八进制 xff0c 十进制 xff0c 十六进制很方便 xff0c 无需定义别的函数或者方法 xff0c 直接通过关键字oct dec hex就可以 xff0c 另外打印布尔类型可以通过关键字boolalph
  • docker-compose构建mongodb容器实例

    docker compose可以一次性开启多个docker实例 xff0c 这一点比Dockerfile来构建docker容器要方便的多 docker compose的重点是对yml文件的配置 yml文件的配置需要注意的是严格控制缩进 需要
  • Mycat数据库中间件初体验

    Mycat是阿里开源的数据库中间件 xff0c 用java语言编写 xff0c 目前是1 x版本 xff0c 2 0版本正在研发中 Mycat支持的数据库很多 xff0c 目前常用的基本都包含了 xff0c mysql postgresql
  • docker使用遇到问题Got permission denied while trying to connect to the Docker daemon socket

    docker安装完成 xff0c 一般用户没有权限启动docker服务 xff0c 只能通过sudo来通过root用户权限来启动docker xff0c 此时对于一般用户而言 xff0c 需要执行docker ps或者docker imag
  • linuxmint下安装nvm来管理node版本

    nvm是一个node版本控制的工具 xff0c 他可以查看可以安装的node版本 xff0c 安装node xff0c 以及切换node版本 xff0c 传统的node安装 xff0c 我们是下载压缩包 xff0c 然后指定环境变量 xff
  • electron结合serialport插件开发硬件指令操作项目

    electron可以开发桌面系统 xff0c serialport包是node环境下连接串口设备的依赖 xff0c 如果是用electron做硬件检测项目 xff0c 需要考虑加入serialport包 xff0c 但是我们直接npm in
  • 无人驾驶小车调试笔记(七)-- 相机校准

    简介 xff1a 在第五节的内容中 xff0c 我们学习了使用rqt工具集观看摄像头视频流的方法 xff0c 细心的同学应该会发现camera node发布的视频数据中的图像有变形现象 xff0c 图像变形会导致直线不直 xff0c 部分区
  • npm install安装依赖报错 Error: spawn powershell.exe ENOENT解决办法

    在windows电脑上通过npm install安装 windows build tools的时候报如题所示的错误 xff0c 一般这种错误 xff0c 基本都是环境变量的问题 xff0c 我这里是因为在Path环境变量下找不到powers
  • nc工具测试tcp/udp协议

    nc是netcat的缩写 xff0c 在windows系统上 xff0c 需要单独下载安装 netcat在windows系统上安装很简单 xff0c 需要到如下页面https eternallybored org misc netcat x
  • Promise结合reduce构建顺序执行队列

    Promise是一个解决函数异步执行的对象 xff0c 有了这个对象 xff0c 我们可以构造异步执行的操作 Promise对象可以通过链式调用的方式进行异步操作 xff0c 语法如下 xff1a 如下代码 xff0c 是一个简单的异步方法
  • 使用U盘安装win7系统遇到“缺少所需的 CD/DVD 驱动器设备驱动程序”解决办法

    如题所示 xff0c 在使用U盘安装win7系统的时候 xff0c 遇到无法识别usb3 0驱动的问题 xff0c 表现如下图所示 xff1a 缺少所需的CD DVD 驱动器设备驱动程序 如果您具有软盘 CD DVD xff0c 或USB闪
  • windows系统删除无用的服务

    windows系统中 xff0c 经常会出现各种广告或者资讯的服务 xff0c 我们在服务列表里面还无法删除 xff0c 最多只能禁用 但是可以在命令行下面通过sc delete servicename的方式来删除 xff0c 例如 xff
  • vue构建electron桌面应用

    electron桌面应用 xff0c 可以结合前端框架vue使用 xff0c 而我们也可以通过vue工具来构建electron的应用 xff0c 这就需要我们全局安装vue cli xff0c 通过vue构建electron应用的脚手架 x
  • 局域网内不同网段的设备互相连接设置

    这个问题是我在实际中遇到的 xff0c 如下图所示 xff0c 我的主机有一个公司内网的IP xff0c 可以自动获取 xff0c 也可以设置固定IP xff0c 不管怎么样 xff0c 网段是172 16 0 xxx xff0c 不同的部
  • nodejs中exports与module.exports区别记录

    以前 xff0c 一直以为 xff0c 这两者其实差不多的意思 xff0c 直到今天偶然的一写 xff0c 发现两者还是有区别的 xff0c 我们暴露多个方法的示例 xff1a 这种方法 xff0c 肯定是没有问题的 xff0c 我们调用的
  • nodejs借助scp2依赖实现windows传输文件到linux

    前面提到过 xff0c java语言中可以通过scp客户端从windows向linux传输文件 xff0c 而nodejs中也有scp2这个依赖模块 xff0c 他可以实现从windows上传文件到linux 我们可以构建一个测试示例 xf