Linux操作系统

重点:linux的安装 linux的常用指令 linux的网络配置 shell编程

难点:linux的磁盘分区 linux的shell编程 linux日志

1 linux基础篇

1.1 linux的基本概述

1.1.1 linux的由来

​ linux是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可,目前很多企业级的项目都会部署到Linux/unix系统上。常见的操作系统有windows、macOS、IOS、Andriod、linux等。

​ 1991年,李纳斯·托瓦兹Linus Torvalds,一个芬兰赫尔辛基大学的学生,出于个人爱好而编写的,当时他觉得教学用的迷你版UNIX操作系统Minix太难用了,于是决定自己开发一个操作系统。第一个版本于1991年9月发布,当时仅有10000行代码。由于Linux具有结构清晰、功能简捷等特点,许多大专院校的学生和科研机构的研究人员纷纷把它作为学习和研究的对象。

​ 关于Linux Logo的由来是一个很有意思的话题,它是一只企鹅,为什么选择企鹅?

​ 对此,有种说法是:企鹅是南极洲的标志性动物,根据国际公约,南极洲为全人类共同所有,不属于世界上的任何国家,任何国家都无权将南极洲纳入其版图。Linux选择企鹅图案作为Logo,其含义是:开放源代码的Linux为全人类共同所有,任何公司无权将其私有。

​ Linux有很多的发行版本,好比windows有windows xp,win7,win10。虽然这个比喻不是很恰当,但是对于初学者来说可以暂时这样理解。在全球范围内有上百款Liunx发行版,常见的主流发行版如下图所示:

1.1.2 linux与unix的关系

1.1.2.1 unix

​ UNIX 操作系统由肯•汤普森(Ken Thompson)和丹尼斯•里奇(Dennis Ritchie)发明。它的部分技术来源可追溯到从 1965 年开始的 Multics 工程计划,该计划由贝尔实验室、美国麻省理工学院和通用电气公司联合发起,目标是开发一种交互式的、具有多道程序处理能力的分时操作系统,以取代当时广泛使用的批处理操作系统。

说明:分时操作系统使一台计算机可以同时为多个用户服务,连接计算机的终端用户交互式发出命令,操作系统采用时间片轮转的方式处理用户的服务请求并在终端上显示结果(操作系统将CPU的时间划分成若干个片段,称为时间片)。操作系统以时间片为单位,轮流为每个终端用户服务,每次服务一个时间片。

​ 可惜,由于 Multics 工程计划所追求的目标太庞大、太复杂,以至于它的开发人员都不知道要做成什么样子,最终以失败收场。

​ 以肯•汤普森为首的贝尔实验室研究人员吸取了 Multics 工程计划失败的经验教训,于 1969 年实现了一种分时操作系统的雏形,1970 年该系统正式取名为 UNIX。

​ 想一下英文中的前缀 Multi 和 Uni,就明白了 UNIX 的隐意。Multi 是大的意思,大而且繁;而 Uni 是小的意思,小而且巧。这是 UNIX 开发者的设计初衷,这个理念一直影响至今。

​ 自 1970 年后,UNIX 系统在贝尔实验室内部的程序员之间逐渐流行起来。1971-1972 年,肯•汤普森的同事丹尼斯•里奇发明了传说中的C语言,这是一种适合编写系统软件的高级语言,它的诞生是 UNIX 系统发展过程中的一个重要里程碑,它宣告了在操作系统的开发中,汇编语言不再是主宰。

​ 到了 1973 年,UNIX 系统的绝大部分源代码都用C语言进行了重写,这为提高 UNIX 系统的可移植性打下了基础(之前操作系统多采用汇编语言,对硬件依赖性强),也为提高系统软件的开发效率创造了条件。可以说,UNIX 系统与C语言是一对孪生兄弟,具有密不可分的关系。

​ 随后出现了各种版本的 UNIX 系统,目前常见的有 Sun Solaris、FreeBSD、IBM AIX、HP-UX 等。

1.1.2.2 linux

​ Linux 内核最初是由李纳斯•托瓦兹(Linus Torvalds)在赫尔辛基大学读书时出于个人爱好而编写的,当时他觉得教学用的迷你版 UNIX 操作系统 Minix 太难用了,于是决定自己开发一个操作系统。第 1 版本于1991 年 9 月发布,当时仅有 10000 行代码。

​ 李纳斯•托瓦兹没有保留 Linux 源代码的版权,公开了代码,并邀请他人一起完善 Linux。与 Windows 及其他有专利权的操作系统不同,Linux 开放源代码,任何人都可以免费使用它。

​ 据估计,现在只有 2% 的 Linux 核心代码是由李纳斯•托瓦兹自己编写的,虽然他仍然拥有 Linux 内核(操作系统的核心部分),并且保留了选择新代码和需要合并的新方法的最终裁定权。现在大家所使用的 Linux,我更倾向于说是由李纳斯•托瓦兹和后来陆续加入的众多 Linux 好者共同开发完成的。

​ 李纳斯•托瓦兹无疑是这个世界上最伟大的程序员之一,何况,他还搞出了全世界最大的程序员交友社区 GitHub (开源代码库及版本控制系统)。

1.1.2.3 unix与linux的区别

​ 二者的关系,不是大哥和小弟,"UNIX 是 Linux 的父亲"这个说法更怡当。之所以要介绍它们的关系,是因为要告诉读者,在学习的时候,其实 Linux 与 UNIX 有很多的共通之处,简单地说,如果你已经熟练掌握了 Linux,那么再上手使用 UNIX 会非常容易。

​ 二者也有两个大的区别:

  1. UNIX 系统大多是与硬件配套的,也就是说,大多数 UNIX 系统如 AIX、HP-UX 等是无法安装在 x86 服务器和个人计算机上的,而 Linux 则可以运行在多种硬件平台上;
  2. UNIX 是商业软件,而 Linux 是开源软件,是免费、公开源代码的。

Linux 受至旷大计算机爱好者的喜爱,主要原因也有两个:

  1. 它属于开源软件,用户不用支付可费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改,无偿使用,无约束地继续传播;
  2. 它具有 UNIX 的全部功能,任何使用 UNIX 操作系统或想要学习 UNIX 操作系统的人都可以从 Linux 中获益。

总结unix与linux的区别:

​ Linux 是一个类似 Unix 的操作系统,Unix 要早于 Linux,Linux 的初衷就是要替代 UNIX,并在功能和用户体验上进行优化,所以 Linux 模仿了 UNIX(但并没有抄袭 UNIX 的源码),使得 Linux 在外观和交互上与 UNIX 非常类似。

1.2 linux的安装

​ 我们安装linux操作系统有两种方法,一种是在裸机上直接安装(你需要格式化你本机的windows操作系统),还有一种是在虚拟机上安装。我们推荐使用第二种方式来安装。

所以我们需要先安装虚拟机,然后通过虚拟机来模拟出linux操作系统。虚拟机的产品有很多,在本套课程中,我们推荐大家使用vmware虚拟机。

1.2.1 下载并安装vmware

1.2.1.2 下载vmware
  1. 登录VMware官网下载https://www.vmware.com/cn.html

  1. 点击资源

  1. 点击产品下载

  1. 选择产品A-Z

  1. 下划到最后找到 VMware Workstation Pro

  1. 点击下载产品

为了简化大家的使用方式,在这里,老师把下载好的资源以存入百度云网盘,大家可以自行下载。

链接:https://pan.baidu.com/s/1J8k0osOhfImJKO3W7L-KuQ
提取码:mnwg
1.2.1.3 安装vmware

具体安装步骤,大家可以操作如下博客进行安装:

https://blog.51cto.com/u_14289664/5133223

安装到最后,输入秘钥。这是老师给大家找的三个秘钥,大家可以拿去使用:

ZF3R0-FHED2-M80TY-8QYGC-NPKYF
YF390-0HF8P-M81RQ-2DXQE-M2UT6
ZF71R-DMX85-08DQY-8YMNC-PPHV8
1.2.1.4 某些电脑出现安装虚拟机失败的情况

在VMWare软件中,安装/启动虚拟机时,如果出以类似以下的错误提示:

出现该提示是由于电脑不支持虚拟化技术或是相关功能没有开启导致的。

解决方法有两种:

  1. 重启电脑,进入BIOS,开启VT虚拟化相关选项,不同品牌的电脑BIOS参数不同,认真看,多尝试。类似如下:

  1. 修改C:\ProgramData\VMware\VMware Workstation\config.ini文件,注意,您的VMWare安装目录不一定是C:\ProgramData\VMware\VMware Workstation,根据自己的实际情况来。

    在config.ini中添加以下内容:

    monitor.allowLegacyCPU = “true”

重新打开VMWare软件,问题解决。

1.2.2 安装centos7

1.2.2.1 下载centos7镜像

​ 前面我们安装了vmware,现在我们要在虚拟机vmware里面安装centos7。接下来我们需要下载centos7镜像。

​ CentOS 7.6 DVD版:https://mirrors.aliyun.com/centos-vault/7.6.1810/isos/x86_64/

但是在课程中我们给大家提供好了centos7的镜像,大家可以自行下载即可。

链接:https://pan.baidu.com/s/1q6BnzNmV9DATMkzyTTN_RQ
提取码:0d3f
1.2.2.2 安装centos7
  • 打开vmware,创建新的虚拟机

  • 创建虚拟机向导

点击进入下一步。

  • 选择稍后安装操作系统

  • 选择客户机操作系统

点击下一步。

  • 命名虚拟机

x

点击下一步。

  • 配置处理器数量

点击下一步。

  • 配置虚拟机的内存

  • 配置虚拟机网络

点击进入下一步选择默认选项。

  • 选择磁盘选项

点击进入下一步。

  • 分配磁盘容量

注意:磁盘容量20G,并不是真正的占用物理机的磁盘容量。而是随着后期linux系统中服务的安装,文件的增多,最大可以分配20G的磁盘空间给我们使用,当然如果空间不够用,我们还可以扩容。

点击进入下一步选择默认选项。

  • 配置硬件

  • 完成虚拟机配置向导

到这一步,我们并没有安装完成linux。我们需要进行进一步的配置。

  • 点击开启虚拟机

  • install centos7

  • 选择语言,默认是English,也可以选择中文

  • 选择时区 选择上海

  • 安装类型选择图形化桌面版(默认是迷你安装)

  • 配置磁盘分区

点击INSTALLATION DESTINATION进行磁盘分区。

linux操作系统,我们一般设置3个分区。分别是boot分区,swap分区(交换分区:如果内存不够用,交换分区可以临时充当内存)还有根分区。以总容量20G为例,一般分区大小设置如下:

boot分区 1G

swap分区 2G

根分区 17G

具体配置如下:

配置结果如下:

点击确定。

  • 接收配置

  • 配置网络

点击进入NETWORK & HOST NAME

  • 开始安装

  • 设置root用户名密码 自定义用户名密码

安装完成,点击reboot重启系统即可。

1.3 linux的基本常识

1.3.1 linux网络连接三种方式

  • 桥接模式

下面,我们用一幅图来说明什么是桥接模式:

解释:

在桥接模式下,虚拟机里面的网络地址必须和外部的网络地址保持在同一网段(也就是前三组数字必须是一样的)。这样linux操作系统才可以和外部的机器进行通信。但是如果用户人数太多,容易造成IP冲突。

  • NAT模式

解释:

在NAT模式下,虚拟机里面的网络可以不再和主机里面的网络保持在同一网段。但是主机里面会存在虚拟网卡(192.168.100.99),这个虚拟网卡的ip地址必须和linux里面的IP地址(192.168.100.88)在同一网段。这样linux就可以通过虚拟网卡和主机之间进行通信了。同时也可以通过主机的真实地址(192.168.0.50)和外部网络进行通信。这样的好处是可以避免造成IP冲突。

  • 主机模式

这个很简单,就是linux系统的ip地址和主机的ip地址必须保持一致。

1.3.2 虚拟机的克隆

如果你已经安装了一台linux操作系统,你还想要更多的linux操作系统,这里我们就没有必要再重新安装linux操作系统了,因为会非常的耗时、麻烦。你只需要在原来linux操作系统上克隆就可以实现。

注意:克隆的时候,需要先关闭linux操作系统。

下面我们介绍两种克隆虚拟机的方式:

方式1:直接拷贝一份安装好的虚拟机文件。

我们可以在已经安装的linux操作系统所在的目录上,直接复制 粘贴即可。

上面的目录就是我们安装linux操作系统的目录,我们直接复制,然后粘贴到指定的磁盘目录并重名即可。然后我们通过虚拟机打开:

然后选择指定文件打开:

方式2:使用vmware的克隆操作。

我们按照以下的图示进行操作:

点击克隆之后,在点击下一步,如下所示:

点击下一步:

点击下一步:

点击完成即可。

注意:

在选择克隆类型的时候,有两种。

第一种:创建链接克隆。这种克隆的方式占用的磁盘空间较小,克隆时间更快。本质上还是使用原来的linux操作系统,只是克隆了原linux操作系统的引用。

第二种:创建完整克隆。这种克隆的方式占用是磁盘空间较大,克隆时间比较慢,相当于把原来的linux操作系统复制了一份。一般我们选择完整克隆。

1.3.3 虚拟机的快照

如果你在使用linux操作系统的时候,你想回到原来的某一个状态(也就是可能出现在误操作上造成的系统异常),需要回到原先某个正常运行的状态,vmware提供了这样的功能,就叫快照管理。

下面我们来演示虚拟机快照:

  1. 打开linux操作系统,拍摄快照。

点击拍摄快照。

2、在桌面上创建A目录,然后我们再拍摄快照:

点击拍摄快照。

3、在桌面上创建B目录,然后我们再拍摄快照:

点击拍摄快照。

4、我们查看快照记录:

打开快照管理器:

查看快照信息:

5、跳转到指定的快照位置:

点击转到,就可以跳转到快照A。

1.3.4 虚拟机的迁移和删除

通过前面的学习我们得知,当linux操作系统安装完成之后,它的本质是以文件的形式保存在文件目录里面的。因此虚拟系统的前移也十分简单,我们只需要把安装好虚拟系统所在的文件夹直接剪切或拷贝至指定的目录即可。删除也很简单,我们可以使用vmware自带的删除功能进行删除。

首先我们关闭linux操作系统,然后右键–>管理–>从磁盘中清除即可。

1.3.5 安装vmtools

vmtools安装完成之后,可以让我们在windows下更好的管理vm虚拟机。可以设置windows和centos的共享文件夹。

具体安装步骤如下:

1、进入centos(将光驱弹出来)。

右键光驱–>Eject

2、点击vm菜单的 install vmware tools。

点击重新安装VMware Tools。会出现如下所示(如果没有的话,就重新安装):

3、centos会出现一个vm安装包, xx.tar.gz。

右键光盘–>Open。出现的内容如下所示:

4、拷贝到opt目录。

我们右键这个tar.gz文件,选择copy。将其拷贝至opt目录下面去。

Home–>Other Locations -->Computer–>opt -->右键 paste

5、使用解压命令tar,得到一个安装文件。

cd /opt(进入到opt目录的命令)。我们先打开终端:

在终端中输入命令 cd /opt

使用tar命令解压文件(tar -zxvf VMwareTools-10.0.0-2977863.tar.gz)

6、进入解压的目录

解压之后文件如下:

cd 命令进入这个目录(cd vmware-tools-distrib):

7、安装vmware-install.pl文件(./vmware-install.pl)

执行命令之后,一系列设置全部回车即可(安装需要一定的时间)。

安装成功之后的界面如下所示:

8、创建共享文件目录

比如我在本机的F:\upload目录创建共享文件夹myshare。

右键虚拟机,点击设置:

选择选项:

点击添加:

点击下一步,选择目标文件目录。

点击下一步:

点击完成。此时共享文件夹创建完毕。

9、使用共享文件夹

在windows系统中的myshare目录下面创建文件hello.txt,并在文件里面输入hello。

进入linux操作系统,查看共享文件夹:

/mnt/hgfs/myshare:

打开hello.txt,我们发现里面有我们之前输入的内容hello。我们在linux系统中的hello.txt里面追加内容,保存文件之后,在windows环境下面也可以查看到文件发生的变化。

到这里,使用vmtools搭建共享文件目录就完成了。

1.4 linux的目录结构

1.4.1 linux目录结构简介

linux的文件系统和windows的文件不一样。windows文件系统中会有很多盘符,在盘符下面又有很多的文件目录。但是linux文件目录不是这样的。linux文件系统采用的是层级式的树状目录结构,其中最上层的根目录是"/",然后在此目录下面再创建其他的目录。linux的树状目录结构非常重要,它的树状图如下所示:

这里简单介绍一下:

比如/boot目录。这个是linux系统启动所需要的引导文件的目录。如果这个目录里面的文件损毁,linux操作系统就无法启动。

/dev目录。设备管理器目录,linux把任何硬件都映射成了对应的文件来描述,这些文件就存放在dev目录里面。

总之一句话:在linux世界里,一切皆为文件!

1.4.2 linux目录结构详解

  • /bin目录

是Binary的缩写, 这个目录存放着最经常使用的命令。比如我们常用的cd命令 cp命令都是存放在bin目录里面。

  • /sbin目录

s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

  • /home目录

存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

此时我们可以再验证一下,我们使用命令的方式创建一个用户:

[root@xq100 ~]# useradd tom  #创建一个tom用户
[root@xq100 ~]# userdel -r tom  # 删除指定的用户及其对应的文件夹

此时我们发现,在home目录也会生成一个tom目录

当我们执行userdel -r命令,这个用户所属的文件目录也就被删除了。

  • /root

该目录为系统管理员(root),也称作超级权限者的用户主目录。如果我们使用root账户登录,默认所处的目录位置就是在/root下面。

  • /lib

系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。如果这个目录里面的文件被删除了,linux操作系统也就不能正常运行了。

  • /etc

所有的系统管理所需要的配置文件和子目录。linux系统本身所需要用到的配置文件也是存放在etc目录。如果我们自己安装一些系统服务,比如mysql数据库服务,那么和数据库相关的配置文件(my.cnf)也是存放在/etc目录里面。

  • /usr

这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。

  • /boot

存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。如果这个目录里面的文件被删除了,linux操作系统也就不能正常运行了。

  • /dev

类似于windows的设备管理器,把所有的硬件用文件的形式存储。

  • /proc

这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统的信息。这个目录我们不要动,否则可能造成系统的崩溃。

  • /srv

service的缩写,该目录存放的一些服务服务启动之后需要提取的数据。这个目录我们不要动,否则可能造成系统的崩溃。

  • /sys

这个目录存放了linux内核相关的文件信息。这个目录我们不要动,否则可能造成系统的崩溃。

  • /tmp

这个目录是用来存放一下临时文件的。

  • /media

linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。比如我们插入的U盘 光驱都会被映射成对应的文件存放在media目录。

  • /mnt

系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了。比如我们上节内容设置的共享目录myshare。

  • /opt

这是主机给安装软件所存放的目录,如果安装JDK可放到改目录下默认为空。上节内容我们安装VMwareTools-10.0.0-2977863.tar.gz。这个压缩文件就存放在opt目录的。

  • /usr/local

简单的说就是应用程序安装之后,安装程序所存放的目录。一般是通过编译源码方式安装的程序。

  • /var

这个目录中存放着在不断变化,扩充着的东西,最常用的就是包括各种日志文件。

1.5 linux基本实操

1.5.1 linux远程登录

在实际工作中,linux服务器是开发小组共享的,并不是存放在每个用户的本地电脑上,linux服务器一般会存在在一台独立的电脑上(独立的机房里)。所以我们需要远程的登录到linux进行相关的操作。

在这里我们介绍两个远程操作工具。一个是远程登录linux操作系统的工具,一个是进行远程文件传输 下载的工具。

第一个工具:远程连接 登录linux服务器的工具 Xshell7

下载地址:

链接:https://pan.baidu.com/s/1q_3huHdXNUcrTiwdtKtGNw
提取码:il3r
  • 安装:
  1. 直接解压文件得到问了目录Xshell。
  2. 进入Xshell目录:点击!绿化.bat,桌面会自动化生成Xshell程序。

  1. 打开Xshell-帮助-关于Xshell,查看破解情况。

如果出现以上信息说明破解成功。

  • 通过Xshell7远程连接linux
  1. 首先我们需要获取远程连接linux操作系统的ip地址。
[root@xq100 ~]# ip addr

我们可以本地windows系统下面ping一下ip,看能否ping成功:

Microsoft Windows [版本 10.0.17763.1577]
(c) 2018 Microsoft Corporation。保留所有权利。C:\Users\kriss>ping 192.168.10.137正在 Ping 192.168.10.137 具有 32 字节的数据:
来自 192.168.10.137 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.10.137 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.10.137 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.10.137 的回复: 字节=32 时间<1ms TTL=64192.168.10.137 的 Ping 统计信息:数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):最短 = 0ms,最长 = 0ms,平均 = 0msC:\Users\kriss>

我们发现,可以ping成功。

  1. 建立连接

打开Xshell,点击文件–>新建:

点击确定,再输入登录用户名和密码即可即可。

第二个工具:进行文件远程传输和下载的工具 FileZilla

  • 下载FileZilla
链接:https://pan.baidu.com/s/1_gGQZuzyehHwZrXWuPatMA
提取码:k1xo
  • 安装

傻瓜式安装,直接点击下一步即可。

  • 使用FileZilla连接linux操作系统

注意:

主机的连接地址必须是sftp协议。也就是必须输入: sftp://192.168.10.137

用户名和密码是连接linux操作系统的用户名和密码。

端口号可以不写,默认就是22。

  • 上传文件

上传文件:在windows操作系统(左边)选择指定文件,右键–>上传 即可。

下载文件:在linux操作系统(右边)选择指定文件,右键–>下载 即可。

1.5.2 linux vi/vim编辑器

所有的 Linux 系统都会内置 vi 文本编辑器。Vim 具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

1.5.2.1 vi/vim的三种模式
  • 正常模式:
    以vim打开一个档案就是直接进入了一般默认(这是正常的模式),在这个模式中,可以通过上下左右来移动光标,你也可以使用【删除字符】【删除整行】来编辑档案中的内容,也可以使用【复制】【贴上】来处理你的文件数据。

  • 插入模式:
    按下i,l,o,O,a等任意一个字母之后才会进入编辑模式,一般情况按下i即可。

  • 命令行模式:
    在这个模式当中,可以提供你相关指令,完成读取,存盘,替换vim,显示行号等操作是在此模式下完成的。

1.5.2.2 使用vim工具

现在我们完成一个简单的需求,使用vim编辑器,编辑一个Hello.java文件。我们就在Xshell中完成。

[root@xq100 ~]# vim Hello.java

我们输入 vim Hello.java命令,然后回车,此时进入到正常模式。

此时我们直接在里面写内容是没有反应的,因为正常模式下,不能进行内容的编辑,我们需要容正常模式切换到插入模式。如何切换?

我们一般按下i键即可。此时,屏幕左下角会显示成INSERT字样:

这个时候我们可以在插入模式下面进行内容的编辑:

接下来我们需要保存文件,我们需要切换到命令行模式:

首先按ESC键,然后输入:wq 然后回车 就是保存并退出。

1.5.2.3 vim编辑器快捷键的使用

:wq 保存并退出

:q 直接退出

:q! 不保存并退出(强制退出)

接下来我们简单使用vim编辑器的快捷键。

1. 拷贝当前行 (yy ),并粘贴(p)

yyp

注意:必须在正常模式下面进行操作。

此时我们查看效果:

2. 拷贝当前向下的2行(2yy ) 并粘贴(p)

2yyp

完成之后的效果:

3.删除当前行(dd) 删除当前向下的2行 (2dd)

  • 删除当前行

dd

删除之后的效果:

  • 删除向下的2行

2dd

删除之后的效果:

4.在文件中查找某个单词{命令行下/关键字} 回车查找,输入n就能查找下一个

比如查找Hello关键字。/Hello 然后按n就能查找到内容

5.设置文件的行号(: set nu)。取消文件的行号(: set nonu)

  • 设置行号 : set nu

  • 取消行号 : set nonu

6.使用快捷键回到文件内容的最起始处和最末尾处

切换到正常模式。

G : 回到文件的末尾处(光标回到文件的末尾处)

gg:回到文件的最开始处(光标回到文件的最开始处)

7.快速的定位到某个位置

切换到正常模式。

5 shift + g (快速到定位到第5行)。

8.在文件中输入内容,执行撤销操作

切换到正常模式。按快捷键u

  • 要搜索当前行中字符串“World”的首次出现,并将其替换为“shijie”

Linux操作系统(详解及配置操作)相关推荐

  1. linux 操作系统详解,Linux操作系统详解

    Linux操作系统安装及初级篇可以关注yunwei818查看历史信息进行了解,如果你已经了解并掌握了初级篇的内容,进阶篇可以丰富你的运维管理技能. Process 处理的指令 多用于系统进程查看ps ...

  2. 全解析阿里云Alibaba Cloud Linux镜像操作系统详解

    阿里云Alibaba Cloud Linux镜像系统是基于龙蜥社区OpenAnolis龙蜥操作系统Anolis OS的阿里云发行版,针对阿里云服务器ECS做了大量深度优化,Alibaba Cloud ...

  3. linux系统下grub.cfg详解和实例操作

    linux系统下grub.cfg详解和实例操作 简介 grub是引导操作系统的程序,它会根据自己的配置文件,去引导内核,当内核被加载到内存以后,内核会根据grub配置文件中的配置,找到根分区所使用的文 ...

  4. Linux磁盘分区论文3000字,磁盘分区对齐详解与配置 – Linux篇

    磁盘分区对齐详解与配置 – Linux篇 介绍 许多系统管理员可能不曾听过磁盘分区对齐之说,甚至一些有经验的存储管理员对分区对齐也不甚了解.磁盘分区不对齐现象是什么,为什么会造成比较严重的性能下降?相 ...

  5. linux添加cfg,Linux安装详解-配置ks.cfg实现自动安装过程

    Linux安装详解-配置ks.cfg实现自动安装过程 之前发过一篇关于通过PXE实现Linux批量无人值守自动安装的文章(可以参考),不过写的只是具体的配置和操作,对于原理部分没有说明,最近通过一段时 ...

  6. Linux系统装流媒体服务器,搭建和配置支撑2000人同时观看的流媒体服务器系统(Linux步骤详解)...

    鉴于服务器端的安全性因素,更多的网络管理员更愿意在Linux操作系统下搭建流媒体服务器系统(800Li Media Server)进行互联网的实时直播和点播.那么如何在Linux操作系统下安装和配置流 ...

  7. Linux系统详解 系统的启动、登录、注销与开关机

    Linux系统详解 第六篇:系统的启动.登录.注销与开关机 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://johncai.blo ...

  8. c linux time微秒_学习linux,看这篇1.5w多字的linux命令详解(6小时讲明白Linux)

    用心分享,共同成长 没有什么比每天进步一点点更重要了 本篇文章主要讲解了一些linux常用命令,主要讲解模式是,命令介绍.命令参数格式.命令参数.命令常用参数示例.由于linux命令较多,我还特意选了 ...

  9. Linux系统结构 详解

    Linux系统结构 详解 标签: 产品产品设计googleapple互联网 2011-01-07 14:14 31038人阅读 评论(6) 收藏 举报 分类: Linux(21) 版权声明:本文为博主 ...

最新文章

  1. IDEA插件推荐:中文字符自动转化!
  2. Source Insight 常用设置和快捷键大全
  3. JAVA学习:maven开发环境快速搭建How to download J2EE API (javaee.jar) from Maven
  4. “谁在蹭热度?”小米冰箱由海尔代工?双方齐声明:没有进行任何合作
  5. 很多创业失败的负债者
  6. [解答]对‘’未定义的引用 collect2: 错误: ld 返回 1
  7. 信息课为什么不叫计算机课,你理解的互联网是这样的吗?为什么叫加入互联网?...
  8. 具体化和实例化的应用
  9. Windows键盘快捷方式
  10. 【地图可视化】Echarts地图上展示3D柱体
  11. Alexnet网络模型在cifar-10数据集上的实现(基于tensorflow-gpu)
  12. 【概率论】5-2:伯努利和二项分布(The Bernoulli and Binomial Distributions)
  13. 解析 float : left
  14. 从0到1 拿下C语言——绪论(计算机的组成、进制转换、算法表示、程序结构、C语言基本词汇)
  15. bootstrap 卡片card图片布局
  16. 烤仔星选·币圈非著名正指 | DeFi安全篇:合约留后门,无脑授权有风险
  17. node入门(三)npm包
  18. Java设计模式之设计原则-里氏替换原则 (LSP)
  19. 2018-2020年CMEF医博会展区产品分类
  20. C#windows实验器材管理系统,耗材管理系统

热门文章

  1. 为什么抖音张同学这么火爆?用 Python 分析 1w+条评论数据,我发现了其中的秘密
  2. 可取性、适用性、可行性:内存计算技术的影响
  3. css3倒数两个,:nth-last-child()
  4. 【无标题】Map的使用方式
  5. python小作业初版之信用卡交易
  6. linux火狐弹出框乱码,Linux系统下火狐浏览器页面出现乱码怎么办?
  7. css如何实现菱形背景图片,使用CSS 实现菱形图片,斜条纹背景
  8. c语言基础题(笔记二)
  9. python 实现RFID串口数据读取
  10. 网络视频血战:弱者渔利