第一部分 个人情况
我是一名电子电气相关专业的学生,既有专业软件的操作需求,也有通用编程语言的使用需求。所以需要努力学习通用脚本语言。常用的脚本语言包括perl以及其他常用的高级编程语言。为了增强通用能力,因此我开始了多种高级编程语言的学习。在尝试阅读书记,观看课程视频之后,发现如果没有操作,那么无法掌握语言的运行规律,没法在真实的环境下使用。因此开始尝试搭建编程环境。
首先我基于windows系统搭建了mingw64、python和perl程序的编程环境,使用的ide包括VS Code和Jetbrains相应程序块。需要承认,现在windows编程并不是不可用的状态了,然而性能等方面没法估量。因为今后的学习工作平台是linux,为了一起学习linux操作系统,需要一台linux操作系统的机器。基于现有学习条件下,可行的选项包括WSL(2),虚拟机以及双系统。WSL在一些使用细节上不如完整linux系统完善,存在很多限制。虚拟机则是因为性能问题,性能代价过高,一般情况下利用ssh进行文件的读取与命令的输入,虚拟机为了实现完整的系统损失了很多性能。双系统安装是我在PC上进行的最后一种尝试,可是由于PC定制性比较高,而且win10系统有硬件安全的机制,所以安装linux系统时存在无法在第一时间获取全部硬件的驱动程序的情况。对于使用的笔记本而言是无线网卡无法驱动。在开源社区寻找到相关的驱动程序后,又在其他硬件的驱动上遇见了难以解决的问题,因此放弃。所以在网络上开始寻找云主机相关的资源。阿里云是国内知名的服务商,选择“飞天加速计划·高校学生在家实践”是具有一定必然性的。
第二部分 使用技巧
在经过使用教学之后,我很快获取到了ECS的ip地址,用户名及密码。此时我使用ssh连接的方式以及sftp的文件传输方式来使用云主机。此时遇到一个问题。如果有长时间运行程序的需要,应该怎么处理。因为在ssh连接时,如果断开连接,那么在此连接过程中的程序会收到SIGHUP的指令,停止运行。这是一个在操作系统中可以解决的问题。通过搜索,发现相应的linux系统中存在命令nohup,可以解决这一问题。命令的参数如下:
nohup ./root/runa > runa.log 2>&1
其中runa为运行的脚本程序,将终端输出到同名的log文件,最后的参数为输出特征的参量,有需要的同学可以进行更精准的学习,我就不误导大家了。因为程序的特性我没有用到特征输出以及错误输出,我放弃了最后的参数。希望可以帮到大家。
第三部分 收获总结
随着国家计算机以及云服务的逐渐发展,集中服务可以解决个人终端运算力的束缚,用集中的资源实现效率的最大化,早日学习云计算的使用,有利于工作能力的提升,对跨平台的学习也能更好的在学习上有所专精,避免受限。