[Linux] 知识扩展

一个很现实的问题:

  • 我们后端开发者因为种种原因只能拥有 Windows 的操作系统,要怎么样才能进行 Linux 系统编程?

办法总比问题多,我们想要在非Linux操作系统搭建好Linux环境进行编程需要两个材料:

1. 虚拟机

我们这里用到的虚拟机为VMware Workstation 12,大家可以在官网上自行下载
https://www.vmware.com/

2. 镜像文件/光盘

同时搭建好Linux环境还需要Linux系统的镜像文件或者光盘
简便起见我们使用CentOS 7 的镜像文件,读者也可以在网上获取到.

接下来就是配置操作系统,教程很多,大家可以自查.

Linux系统编程

这里是简单的内容讲解,详细的Linux编程操作讲解请看后续博客

Linux操作系统下的编程与Windows操作系统环境下的编程其实内核是完全相同的.

比如在Windows系统中使用Visual Stutio这个IDE (集成开发环境) ,它的核心功能有以下 4 个模块:
代码编辑器 / 编译器 / 调试器 / 工程管理工具

这四个功能在Linux中有着对应相同的工具:

  1. 代码编辑器 vim
  2. 编译器 gcc
  3. 调试器 gdb
  4. 工程管理工具 makefile

这里着重讲解一下第一项

<1> 代码编辑器

vim编辑器是vi编辑器的延伸,继承了vi的优秀特性并加以扩展,是非常强大的代码编辑器.
代码编辑器领域的两巨头是:
vim
emacs

江湖戏称:
vim神之编辑器
emacs编辑器之神
从二者的称号就可知晓其举足轻重的江湖地位了.

vim是凭借什么更胜一筹的呢?

  • 支持丰富的快捷键和编辑方式.

  • 支持强大的扩展能力
    (这两方巨头甚至背后都有一门语言的支持)
    vim -----> viml语言
    emacs—>lisp语言 (lisp语言对函数式编程支持得非常好,函数式编程的常见代表又如scala)

  • 非常丰富的插件系统

  • 任一Linux系统自带vim / vi
    (这也是最重要的一点,平台决定高度,显而易见)

除了vim,其实还有很多代码编辑器,这里简单罗列:
notepad++
source in sight

sublime text
这个编辑器也曾做到了撼动两神位,不过好景不长,现已式微

vscode
微软官方打造,也是Github 2018年最火项目
它还有一个优于众人的特点:插件安装容易.

atom
Github官方打造,但是有一点限制了它的发展:卡顿,十分影响用户体验

neovim
这个是目前竞争力十分强大的代码编辑器,与前几个不同,它的两点在于:支持在终端上使用
这个特点决定了它的应用范围扩展到底层没有图形化界面的硬件,功能强大
作为后起之秀能否超越经典,我们拭目以待.

我们的操作系统自带了vim / gcc / gdb / makefile,我们直接使用就可以了
如果需要下载相关功能插件,可以使用yum指令进行下载,例如yum install gcc

yum指令

来自缩写:Yellowdog Updater ,Modified,是Linux下非常常用的一中包管理器,主要应用在Fedora,RedHat,Centos等发行版上。
使用yum指令的大前提:

  1. 当前为root用户
  2. 物理机和虚拟机必须能够联网
    (可以使用网络诊断工具ping指令,来诊断自己电脑物理机网络是否畅通)
    (例如ping www.baidu.com,如果出现了如图所示的网络延时,证明你的物理机是可联网的,如果什么都不会显示,证明你的物理机不可以上网)
    在这里插入图片描述
    虚拟机可以通过设置就可以保证可以联网了
    明确电脑可否连网之后使用Ctrl + c结束ping指令,就又可以在终端输入指令了
  • yum名为包管理器,相当于系统的"应用商店",可以用这个语句
    下载软件包: yum install xx
    卸载软件包: yum remove xx

例如我们尝试在应用商店查询与rzsz相关的软件包:
指令:

yum list | grep rzsz

在这里插入图片描述
注:这里的|相当于管道,它把前一个指令的输出内容变成第二个指令的输入内容
grep文本过滤指令结合使用,实现筛选的功能.

在这里插入图片描述
从上图指令输出的内容可以看到 有一个匹配项,想要下载它就可以使用yum指令进行下载.

yum install lrzsz.x86_64
  1. root用户执行此指令:
    在这里插入图片描述
    很明显没有root权限无法使用该指令进行软件包下载,可以通过su指令进行切换

  2. root用户执行此指令
    在这里插入图片描述
    这样就可以开始正常下载这个软件包了.

用于演示的这个rzsz软件包的作用是什么呢?

Linux系统下传输方式很多,比如:通过FTP SFTP … 等等,但传输效率不尽如人意。

  • 所以linux服务器通过ssh来进行远程的登陆和管理后,能够快速的和本地机器进行文件的交互,也就是上传和下载文件到服务器和本地
  • 我们ssh + ip地址连接好本地机后,根据下好的rzsz软件包,就可以实现两机文件的快速传输

rz

本机机文件 ----> 虚拟机
例如把一个.txt文件直接拖拽到Xshell中:

给大家演示一下:
在这里插入图片描述
很快就显示传输完成,并且我们ls罗列一下目录中文件就可以看到这个传输好的文件了:
在这里插入图片描述

sz

虚拟机文件 -----> 本地机
例如把虚拟机中一个文件a.txt传输到本机:

输入指令sz a.txt,设置好希望存放的保存路径,就可以从虚拟机实现向本地机的文件传输了
在这里插入图片描述
在这里插入图片描述
yum指令可以安装很多的软件包,但也并非包罗万象,有的软件还是无法安装的,这就要求用户自己去找源代码,编译,自己安装.

猜你喜欢

转载自blog.csdn.net/qq_42351880/article/details/85229720