Linux操作系统


Linux操作系统介绍、简单使用


maybe 你会觉得我弄得很杂,但是这其实都是属于4条线中的,linux之前学过的,但是都快忘记了(当时用linux拆弹),这次快速的过一遍,总结一下,linux真的很重要 【 服务器就是一种特殊的电脑,大部分的服务器都是Linux系统,linux系统是开源的,并且有很多命令,命令式操作完成各种要求,比如在linux中使用Dubbo等

云计算、大数据等面向服务器集群,那肯定需要懂得Linux、至少命令会、会写shell脚本

本次博主决定换一个版本的Linux,之前使用的Ubutun,这次使用CentOS 7【大部分企业也是使用的CentOS】

img

操作系统就是最底层的软件,操作硬件的软件,Linux和Windows并驾齐驱;Linux是开源的,是根据Unix进行编写的

Unix是非常强悍的系统,大型的银行一般还是会购买商业版的unix来保证单台服务器非常强悍;但是随着现在分布式集群的出现,对于单台服务器的要求降低,大部分就转而使用开源的Linux

现在国内使用最多的还是RHEL系列的,其中因为CentOS的图形界面更简单,所以使用消耗的资源更少,稳定性更高,一般企业都是使用RHEL系列来作为服务器【Window系统对普通的用户友好,但是对于programmer不友好,一般不用windows系统】

(这里提一下Docker,因为应用的执行不是简单的开发出应用程序即可,如果要想在其他的机器上能够成功运行【集群,肯定不是一台机器】,那么在其他机器上交接的时候就要配置文件、相关的其他的应用环境----- JAVA/MySQL/Tomcat等环境都需要配置,而Docker容器的理念就是一次构建,处处运行,不只是移动应用程序,而是从底向上全部打包进入一个隔离的容器空间 — 这样就解决了环境的复杂配置问题)

虚拟机也是一种解决方案,因为支持在一个操作系统中运行另外一个操作系统,但是虚拟机的缺点 ---- 启动慢、占用内存、并且冗余的操作很多,现在一般都是使用Docker容器来解决环境问题

Linux安装

首先就是下载CentenOS,到官网下载新版的镜像即可,博主直接下载新版的7.9;8版本的都已经被废弃了;

之后就是下载虚拟机,博主之前学习选择的时免费的VBox,但是面向实用性来说,还是VMware更加的强大,所以这里就安装VMware,下载也是到官网下载即可

player和pro相差的功能还是挺多的,所以这里博主就安装的是pro,安装之后就可以打开中文版的界面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WlTVm8oj-1650114925111)(https://tse1-mm.cn.bing.net/th/id/R-C.799266535b77bbce0961c8ab95cd12f1?rik=ODrzyNN1D2tAEA&riu=http%3a%2f%2fwww.kkx.net%2fuploadfile%2f2020%2f0916%2f20200916051421562.png&ehk=S2kOy3aN1OVVlKsnWxYRknqJuNje3edqiEeT70faBiE%3d&risl=&pid=ImgRaw&r=0)]

创建虚拟机

这里创建虚拟机直接选择自定义的创建,这样子就可以看到各种选项,方便理解虚拟机

前几步直接跳过即可,没有什么好说的,选择稍后安装操作系统,相当于模拟空白的机器上面安装操作系统

进入处理器配置页面【选择处理器数量,每个处理器的内核、处理器的内核的总数】— 一个CPU的核心的数量就是内核的数量,超线程技术 — 一个物理的核心可以当作多个逻辑核心来使用【HT技术 8核16线程就是 相当于有16个核心】

这里创建虚拟机就直接选择2个4核CPU即可

选择内存,按照电脑配置即可,推荐1G,最大6G,那么这里就用3G

接下来就是配置网络 — 两种网络技术 【NAT和桥接技术】 NAT就是虚拟机直接依托【作为一部分】来和外部的交换机进行网络连接, 而桥接技术就是将主机当作桥梁直接与外部交换【分离】 — 两者地位相同

创建好虚拟机之后就是安装操作系统了【这里要求电脑开启虚拟化,一般都是开启的,但是如果是关闭的,那么就是要启动BIOS虚拟化设置】

进入设备的CD/DVD光驱中,选择镜像位置 —> 找到下载的Centos即可使用

配置好操作系统之后接下来就是启动虚拟机;进入界面后,使用键盘选择install Centos就可以进入虚拟机

进入软件选择(默认是最小化安装 — 什么都需要使用命令,所以选择一个简单的桌面GNOME桌面)

linux磁盘分区---- 实际上Windows中的分盘没有在物理上进行划分,还是一块硬盘 ,linux中没有盘符的概念,使用的==/来代表的根,就是一整块内存,使用的是文件来代替,如果c文件就是/c, /d==; 一切皆文件; 如果要想达到windows的盘符的效果,就需要将空间进行挂载

手动分区【boot也在/下面,只是swap不在/下面】  就是上面的挂载,添加挂载点罢了

首先就是一个引导分区,名称必须是/boot   容量500M  -- 就引导程序;系统通过快速启动

交换分区(高速硬盘) swap 给个4G    当内存满了之后,就将候补的放到swap硬盘分区中,有位置之后再移回到内存中

接下来的操作就很中规中矩了,没有什么需要特别注意的

界面基本操作

桌面和终端

点击左上角的应用程序 【相当于Windows系统的开始菜单】 — 可以在设置中设置各种参数,power中可以设置切屏之后的锁屏时间等,keyboard中定义了快捷键【需要注意的super键就是windows键】super + 👆👇👈👉就是将窗口中进行窗口变换

终端控制台中可以使用各种命令来进行操作 — shell层命令解释层【终端控制台图形化界面操作的终端只是一个仿真包】—真正的可以使用ctrl + alt + F2可以进入底层终端,ctrl + alt就显示了鼠标,F1就可以退出终端,回到图形化界面

其中终端上命令前面的~代表的就是当前文件的位置,就是主文件夹,使用alt命令就可以退出终端

文件系统

图形化界面中,主文件夹下面的都是很简单的文件,不是文件系统,文件系统到位置–> 计算机 类似于windows中的我的电脑; 进入文件系统, LInux中一切皆文件

Linux目录结构 的图像结果

在windows中划分盘符之后就不是一颗文件数,而是森林; 但是在Linux中就只有一颗文件数,根结点就是/

在linux系统中文件的划分就是正斜杠/,windows中是反斜杠\,在Ascll码中,反斜杠有转义的意思,所以文件路径是windows中就经常要使用//来代表,非常麻烦呢

需要注意的是,文件上的组织方式只是逻辑结构,但是在底层硬盘中,是不根据挂载点组织的,比如/home下面的/a文件夹挂载了一块单独的硬盘,那么/a下面的所有文件都是存放在该硬盘下

[cfeng@hadoop100 ~]$ cd /
[cfeng@hadoop100 /]$ ls
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr

[root@hadoop100 /]# ls
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr
  • bin 【user/bin —并没有直接在/下面,而是一个链接】 存放的就是直接执行的常用命令,比如ls、cd等命令
  • sbin 存放的是只有管理员root才能够使用的命令
  • lib 等同于system32 ; 共享库的文件存放位置【系统必要的文件】
  • lib64 就是64位的特殊的库文件的位置,不只是系统的,软件的库文件也可以放在下面 【前面几个都是链接】
  • user 用户级别的东西放在该文件下
  • boot 引导分区的文件【很小】 – 不放到这个文件
  • dev — device硬件 就是所有的硬件都映射到这个目录下了,比如cpu、总线bus等 Linux将硬件也当作文件来进行管理
  • etc 放置的都是配置文件,在其中进行配置文件的设置
  • home 用户的个性化目录
  • root 就是超级用户的主目录
  • opt optional 所有的第三方文件放到这个文件中
  • media 媒体【外接的u盘等识别之后就放到该目录下】 可移动媒体设备的挂载点
  • mnt 外部存储的挂载点 【移动存储的挂载点之一】
  • proc process进程 存放的是进程信息
  • run 临时文件系统、重启之后无,存放的是当前运行的相关信息
  • srv 服务service 存储的是服务相关的文件
  • sys 系统,硬件系统的相关信息
  • tmp 临时目录,可以随时修改
  • var 变量,各种变化的量,比如log日志

VI/VIM文本编辑器

VI是Unix操作系统中最常用的文本编辑器,VIM编辑器从VI发展而来,性能更加强大,方便程序设计

这里可以拷贝一份文件到桌面使用命令来进行文件的编辑,这里如果使用的中文,那么就会使用就加入语言拼音,语言的切换就windows + 空格进行切换

vim + 文件名 就可以在终端打开文件

ls     cd 桌面  vim cfeng-test.cfg

然后就会在终端自动打开文件,这个时候整个终端就被当成了文本编辑工具

查看源图像

打开了文件之后,默认是一般模式,该模式下是不能编辑文件的,只能进行删除、复制粘贴等操作

i 进入编辑模式,该模式主要就是编辑文本, i在光标位置插入,a在光标后插入
进入命令模式 ,比如 :/ss 搜索文本里匹配的ss字符; :q退出vi编辑器, :w 将文本保存【缓冲区到持久化】

使用ESC都可以直接回到一般模式 :q! 强制退出vi编辑器

一般模式 yy

复制 y
  • yy 复制光标当前行 【 不要下意识用键盘:happy:】

  • y8y 或者 8yy 复制一段,从光标当前行开始下面n行, 一共8行

  • y$ 复制光标所在位置之后的整行的内容

  • yw 【copy word】 复制当前光标所在的一个单词

  • y^ 复制光标位置到最前面的内容

删除 d
  • dd 删除光标所在行
  • 8dd 删除一共8行
  • dw 删除一个词【当前光标到词语的结尾】
  • d$ 删除后面的部分
粘贴 p
  • p 粘贴到目标行的后面 【 比如光标第二行,粘贴在第三行】
剪贴 x
  • x 剪切一个字符, 相当于del
  • X 剪切一个字符,当前光标的前一个,相当于Backplace
撤销 u
  • u 撤销前一步的操作
替换 r
  • R 依次替换后面的所有的字符

移动就是差不多的

  • ^ 跳到当前行尾

  • $ 移动到行尾

  • w 词尾 … e

  • gg 移动到文档最前面

  • G/ L 移动到文档的末尾 3gg 跳到第三行

使用命令:set number直接显示所有的行号 number简写位nu 取消就是set nonu

编辑模式

这个模式没有什么特别的,就是可以进行文本的编辑,主要就是进入的方式决定插入的字符在光标的什么位置

  • i 在光标之前进行插入
  • a 在光标之后进行插入
  • o 在当前光标所在行的后面开辟一行然后进行插入操作
  • I 在光标所在行的行头进行插入
  • A 行尾
  • O 前面开辟一行

命令模式

这个模式也是可以看成一般模式,就是使用:就可以进行相关命令操作当前的文档

  • :w 保存 【write 写入持久化,相当于从缓冲区进入】
  • :q 退出文档 回到命令行模式
  • :wq 保存修改并退出
  • :q! 不保存强制退出
  • /查找词汇 n查找下一个,N上一个 【小写后下,大写前上】 /ss 查找ss
  • :noh 取消高亮模式(no highlight)
  • :set nu 显示行行
  • :set nonu 不显示
  • 😒/old/new 替换当前匹配到的第一个old为new 😒/old/new/g 替换当前行的所有
  • :%s/old/new 每一行第一个匹配的 加上g就是所有的匹配到的

! 可以强制执行,比如只读文件如果有权限也可以强制操作

在这里插入图片描述

今天就先介绍到这里🎉 关于虚拟机的删除,就是点击管理删除,不是移除哦

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐