命令行进入中文目录并scp拷贝文件到其他计算机

综述

最近开始研究飞控和地面站,所以我就在买了十年的老笔记本的上开搞。这个笔记本安装了ubuntu和win7双系统,正好我可以同时在两个系统上都搞一搞QGC。结果这个ubuntu16.04之前被我玩的太久,依赖关系相互抵触,在我搞定QGC编译的时候,ubuntu在重启之后也彻底陷入了崩溃。各种方法都试了,恢复模式、显卡问题修复、运行级别、启动过程刷新,都没用。
所以我只能做最后的尝试,弃车保帅吧。我得把ubuntu下的数据导出来。可是怎么导出来呢?幸运的是,我还能通过命令行模式进入系统,网络连接正常,只要把需要的文件通过scp远程拷贝到别的计算机就行了。
方向明确,开始做,不过还是遇到了问题。

命令行模式如何进入中文目录

命令行模式没有中文输入法,ls显示文件,中文文件名都是乱码。进入中文路径把里面的某些文件传出来就成了难题。于是开始查阅网上的资料,有的人直接说根本就没办法,放弃吧。
还好我没放弃,找到了相关的文章,例如:《Linux下进入中文目录的方法》
其主要原理是列出当前路径下的所有子文件夹,确定想要进入的中文文件夹在文件列表中的序号(也就是排在第几行),然后指定进入该序号所对应的文件夹。

# 列出目录列表
ll |awk '{print $9}'| awk '{print NR"\t"$0}'
# 打印排在XX位置的文件夹名称,看序号是否正确,是你想进入的
ll |sed -n "XX,0p"|awk '{print $9}'
# 进入排在XX位置的文件夹
cd `ll |sed -n "XX,0p"|awk '{print $9}'`

tar打包文件并scp传输

这里要分清打包和压缩是两个不同的概念。打包只是把多个文件打成一个包,并不对里面的文件进行压缩。压缩是指通过压缩算法将文件压缩为更小的文件的过程。所以打包和压缩是两个不同的概念。
进入了对应的中文路径之后,找到想要拷贝的数据,文件可能很多,所以需要对文件打包,这就用到tar命令:

tar -zcvf xxx.tar.gz xxxx
# 参数的含义:
# z: 压缩zip
# c: 创建create
# v: 过程可见visiable
# f: 指定文件名

# 如果只打包不压缩,则可以是:
tar -cvf xxx.tar xxxx

最后就是通过网络把文件传输出去了,这就简单了:

scp -r xxx.tar.gz user@192.168.100.111:/[YourPath]

最后

这是没有办法的办法,属于江湖救急,最好不要把系统搞崩,及时做好备份。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值