Windows 下使用 UUENCODE / UUDECODE 复制粘贴实现与Linux/Unix 服务器传递二进制文件

8 篇文章 0 订阅
6 篇文章 0 订阅

Windows 下使用 UUENCODE / UUDECODE 复制粘贴实现与Linux/Unix 服务器二进制文件传递

概述:
当你的Linux/Unix服务器只能手工输入命令的方式与服务器交流;或者只能以vncviewer登陆,可以复制粘贴文本到服务器。如此状态下如何解决二进制文件传递,是个问题。
uuencode和uudecode可以实现该需求。

一、Linux 下安装uuencode和uudecode(Kylin 10 SP2)

1、Linux 下uuencode和uudecodede 的RPM 包名为sharutils-4.15.2-15.ky10.x86_64.rpm,在安装光盘里。

[root@kylin101 soft]# rpm -ivh ./sharutils-4.15.2-15.ky10.x86_64.rpm
warning: ./sharutils-4.15.2-15.ky10.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID 7a486d9f: NOKEY
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:sharutils-4.15.2-15.ky10         ################################# [100%]
/sbin/ldconfig: /usr/lib64/libLLVM-7.so is not a symbolic link

[root@kylin101 soft]# rpm -ivh ./sharutils-help-4.15.2-15.ky10.noarch.rpm
warning: ./sharutils-help-4.15.2-15.ky10.noarch.rpm: Header V3 RSA/SHA1 Signature, key ID 7a486d9f: NOKEY
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:sharutils-help-4.15.2-15.ky10    ################################# [100%]

2、查看安装后 uuencode和uudecode所在路径

[root@kylin101 ~]# rpm -ql sharutils
/usr/bin/shar
/usr/bin/unshar
/usr/bin/uudecode
/usr/bin/uuencode
/usr/lib/.build-id
/usr/lib/.build-id/42
/usr/lib/.build-id/42/2a088c192b24b82edb40c0201d3ba26eff65a7
/usr/lib/.build-id/9e
/usr/lib/.build-id/9e/17db119b67b382ca6581776890a415d7fd5a83
/usr/lib/.build-id/a1
/usr/lib/.build-id/a1/57d19b495e392672d4801f419124cd4277d45a
/usr/lib/.build-id/c0
/usr/lib/.build-id/c0/fc95c8383c04a3c53e952174b89a58980fc8ba
/usr/share/doc/sharutils
/usr/share/doc/sharutils/README
/usr/share/info/sharutils.info.gz
。。。。。

二、Windows下 uuencode和uudecode

  源码我已经在DEVc++下编译使用多年。   

uuencode.c 源程序下载路径 :
https://download.csdn.net/download/m0_54619218/87135702在这里插入图片描述
uudecode.c 源程序下载路径 :
https://download.csdn.net/download/m0_54619218/87135721
在这里插入图片描述

uuencode.exe下载路径:
https://download.csdn.net/download/m0_54619218/87135659

C语言编译而来,独立可执行EXE文件,24k 大小。
用于生成文件的uudecode编码文件。
certutil -hashfile UUENCODE.EXE MD5
MD5 的 UUENCODE.EXE 哈希:
e6835c6460808a0bcbae297fafed5419
CertUtil: -hashfile 命令成功完成。

uudecode.exe下载路径:
https://download.csdn.net/download/m0_54619218/87135668

C语言编译而来,独立可执行EXE文件,32k 大小。
用于解开uuencode编码文件。

certutil -hashfile UUDECODE.EXE MD5
MD5 的 UUDECODE.EXE 哈希:
08d72c308931e560047aec428540c9f5
CertUtil: -hashfile 命令成功完成。

三、Windows 下使用 UUENCODE / UUDECODE 复制粘贴实现与Linux/Unix 服务器二进制文件传递

**本例使用服务器假定能以web形式(cockpit) 和vncserver登陆 **
在这里插入图片描述
在这里插入图片描述

1、Windows 下传递文件到Linux/Unix

二进制文件用例详细情况:达梦8 Kylin10SP2 下unixODBC 2.3.0 源码包 
[https://download.csdn.net/download/m0_54619218/87140456](https://download.csdn.net/download/m0_54619218/87140456)
**达梦8 Kylin10SP2 下unixODBC 2.3.0 源码包使用说明:编译与配置步骤**
# tar -xzvf unixODBC-2.3.0.tar.gz
# ./configure
# make && make install
# odbcinst -j
unixODBC 2.3.0
DRIVERS............: /usr/local/etc/odbcinst.ini
SYSTEM DATA SOURCES: /usr/local/etc/odbc.ini

# vi /usr/local/etc/odbc.ini
[dm8]
Description = DM ODBC DSND
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = Dameng123
TCP_PORT =5238
# vi /usr/local/etc/odbcinst.ini
[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
DRIVER = /dm8/bin/libdodbc.so

A、在Windows下unixODBC 2.3.0 uuencode 编码

命令 CMD窗口下执行 UUENCODE.exe unixODBC-2.3.0.tar.gz unixODBC-2.3.0.tar.gz.uu
在这里插入图片描述
在这里插入图片描述

B、在Windows下复制 unixODBC 2.3.0 uuencde 文本

## 在Notepad++下复制文本

在这里插入图片描述

C、在WEB终端窗口创建文件:

vi文件并粘贴
vi unixODBC-2.3.0.tar.gz.uu
在这里插入图片描述

D、使用Linux/Unix自带 uudecode 解码文件报错

执行 uudecode unixODBC-2.3.0.tar.gz.uu报错了:

uudecode fatal error:
unixODBC-2.3.0.tar.gz.uu: 没有包含‘end’的行**

虽然unixODBC-2.3.0.tar.gz文件生成,但解压报错。

[root@kylin101 soft]# tar -zxvf unixODBC-2.3.0.tar.gz
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

在这里插入图片描述
原因:
windows 的text文本换行为CRLF,Linux/Unix中为LF。
解决方法:
Notepad++中显示所有符号,使用扩展匹配,把CRLF全部替换为LF。
在这里插入图片描述
在这里插入图片描述
在WEB终端再次复制粘贴文件,没有多余空行了。
在这里插入图片描述

E、重新执行 uudecode unixODBC-2.3.0.tar.gz.uu,完成传递

在这里插入图片描述

2、Linux/Unix下传递文件到Windows **

二级制文件用例情况:/dm8/dmagent/readme.pdf 详细
达梦8 dmagent的说明文件

A、在WEB终端使用uuencode编码文件

uuencode readme.pdf readme.pdf.uu >readme.pdf.uu
在这里插入图片描述

B、复制readme.pdf.uu 文本

碰到问题,web终端每次只能显示千行左右,使用cat -n readme.pdf.uu 显示行号方式 ,每次复制千行。
使用vncserver测试也是如此,每次复制千行,行数多了复制为空。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
最终文件复制完毕,使用Notepad++ 块操作删除行号部分。
保存为readme.pdf.uu文件。

C、在Window下使用uudecode解码readme.pdf.uu文件

D:\uutest>UUDECODE.exe readme.pdf.uu
Result decoded in readme.pdf

D:\uutest>dir
 驱动器 D 中的卷是 DATA1
 卷的序列号是 83C6-8CAA

 D:\uutest 的目录

2022-11-24  14:27    <DIR>          .
2022-11-24  14:27    <DIR>          ..
2018-07-08  20:08           139,264 CommandSCE.ocx
2022-11-23  20:55             2,963 linux_uudecode
2022-11-24  14:27         1,222,787 readme.pdf
2022-11-24  14:27         1,711,943 readme.pdf.uu
2022-11-20  13:42           277,188 sharutils-4.15.2-15.ky10.x86_64.rpm
2022-11-20  13:42            31,904 sharutils-help-4.15.2-15.ky10.noarch.rpm
2022-11-24  14:26         1,804,749 unixODBC-2.3.0.tar.gz
2022-11-24  14:26         2,526,694 unixODBC-2.3.0.tar.gz.uu
2001-07-13  11:58             3,431 UUDECODE.C
2022-11-24  00:29           333,566 UUDECODE.exe
1998-12-08  16:28             2,507 UUENCODE.C
2022-11-24  00:24           332,121 UUENCODE.exe
2022-11-24  09:44         1,803,534 达梦8_kylin10Sp2_测试_unixODBC-2.3.0.tar.gz.zip
              13 个文件     10,192,651 字节
               2 个目录 219,957,153,792 可用字节

D:\uutest>

D、打开测试文件readme.pdf 正常

在这里插入图片描述

四、总结

    压缩后在5M一下的文档操作还可以,尤其是类似GIT的project目录比较适合,文件小而且多,压缩后又不大,可做为最佳实践场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

curating

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值