Day01

Linux-Day01

课程内容

  • Linux简介
  • Linux安装
  • Linux常用命令

1. 前言

1.1 什么是Linux

image-20210808232140228

Linux是一套免费使用和自由传播的操作系统。说到操作系统,大家比较熟知的应该就是Windows和MacOS操作系统,我们今天所学习的Linux也是一款操作系统。

1.2 为什么要学Linux

那么我们为什么要学习Linux呢,主要出于两个方面的原因。

1). 企业用人要求

以下,是从知名招聘网站上搜索的java开发工程师的岗位要求,在很多的岗位要求中都提到了Linux操作系统的经验。

image-20210808233115557

为什么作为javaEE开发工程师,企业还要求我们会Linux操作系统的相关知识呢?

这是因为Linux操作系统提供了很多稳定的发行版本,广泛的应用在我们的各种服务器操作系统领域,我们将来开发出来的项目,最终要上线运行,就需要将项目部署在Linux服务器中。

2). 个人发展需要

image-20210808233951662

我们作为javaEE开发工程师,将来在企业中开发时会涉及到很多的数据库、中间件等技术,比如MySQL、Redis、MQ等技术,而这些应用软件大多都是需要安装在Linux系统中使用的。我们做为开发人员,是需要通过远程工具连接Linux操作系统,然后来操作这些软件的。而且一些小公司,可能还需要我们自己在服务器上安装这些软件。

所以,不管从企业的用人需求层面,还是个人发展需要层面来讲,我们作为服务端开发工程师,Linux的基本使用是我们必不可少的技能。

1.3 学完Linux能干什么

学习完Linux操作系统课程之后,我们可以做以下几个方面的事情:

1). 环境搭建

系统安装 : 一般我们不会直接将Linux系统安装在本机电脑上,而会安装在公司的一台专门的服务器上。

远程连接 : 那么我们要想使用服务器,一般都是通过远程连接工具连接Linux系统进行操作。

2). 常用命令

连接上服务器之后,我们可以通过所学习的相关指令, 来操作Linux服务器,在Linux服务器中可以执行如下操作:

A. 文件、目录的基本操作(查看,删除,创建等)

B. 文件及文件夹的拷贝、移动、重命名

C. 文件的打包、压缩、解压缩操作

D. 文本的编辑

3). 安装软件

基本的常用指令学会操作之后,我们可以在Linux服务器中安装我们开发常用的软件,比如: JDK、Tomcat、MySQL的安装及配置。

4). 项目部署

把基础的软件及环境安装配置好之后,我们就可以将我们开发的项目部署在服务器中进行运行并测试。

对于我们学习Linux操作系统时,Linux命令是基础,也是学习Linux系统的重点内容,虽然Linux的指令有很多,但是我们常用的指令并不多,大家在学习的时候,主要掌握这部分常用的指令就可以了,对于其他的指令,以后我们用到的时候,知道怎么查询即可。

对于Linux的常用指令的学习,最好的学习方法就是:多敲

小结

为什么需要学习Linux:
	Linux相当的安全稳定,是程序代码运行的最佳环境.
    将来我们需要把自己编写的项目运行在Linux服务器上.
    安全: 在Linux中默认只公布了22端口(只能通过22端口访问Linux)
	稳定: 7 * 24小时可用(全天候)

2. Linux简介

2.1 主流操作系统

不同领域的主流操作系统,主要分为以下这么几类: 桌面操作系统、服务器操作系统、移动设备操作系统、嵌入式操作系统。接下来,这几个领域中,代表性的操作系统是那些?

1). 桌面操作系统

操作系统 特点
Windows 用户数量最多
MacOS 操作体验好,办公人士首选
Linux 用户数量少(桌面操作系统,Linux使用较少 : Ubuntu)

2). 服务器操作系统

操作系统 特点
Unix 安全、稳定、付费
Linux 安全、稳定、免费、占有率高
Windows Server 付费、占有率低

3). 移动设备操作系统

操作系统 特点
Android 基于 Linux 、开源,主要用于智能手机、平板电脑和智能电视
IOS 苹果公司开发、不开源,用于苹果公司的产品,例如:iPhone、 iPad

4). 嵌入式操作系统

操作系统 特点
Linux 机顶盒、路由器、交换机
# 操作系统之间的关系
1. unix (1969年) : 收费
	1). macos : 收费
		ios
	2). linux : 免费
		android 
2. dos
	windows
# linux : 服务器操作系统	

2.2 Linux发展历史

image-20210809000920156

时间:1991年

地点:芬兰赫尔辛基大学

人物:Linus Torvalds(21岁)

语言:C语言、汇编语言

logo:企鹅

特点:免费、开源(源代码开放)、多用户(同时允许多个用户操作同一个Linux系统)、多任务(同时允许多个任务执行)

linux开源社区

2.3 Linux系统版本

Linux系统的版本分为两种,分别是: 内核版 和 发行版。

1). 内核版

  • 由Linus Torvalds及其团队开发、维护

  • 免费、开源

  • 负责控制硬件

2). 发行版

  • 基于Linux内核版进行扩展

  • 由各个Linux厂商开发、维护

  • 有收费版本和免费版本

我们使用Linux操作系统,实际上选择的是Linux的发行版本。在linux系统中,有各种各样的发行版本,具体如下:

除了上述罗列出来的发行版,还有很多Linux发行版,这里,我们就不再一一列举了。

3. Linux安装

3.1 安装方式介绍

Linux系统的安装方式,主要包含以下两种:

image-20210809184915617

方式 概述 场景
物理机安装 直接将操作系统安装到服务器硬件上 企业开发中,我们使用的服务器基本都是采用这种方式
虚拟机安装 通过虚拟机软件安装 我们在学习阶段,没有自己服务器,而我们又需要学Linux,就可以安装在虚拟机上

虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能、运行在完全隔离环境中的完整计算机系统。常用虚拟机软件:

  • VMWare

  • VirtualBox

  • VMLite WorkStation

  • Qemu

  • HopeddotVOS

那么我们就可以在课程中将Linux操作系统安装在虚拟机中,我们课上选择的虚拟机软件是VMware。

3.2 安装VMware

推荐安装vm16

image-20210809223354144

在我们的课程资料中提供了VMware的安装程序。直接双击运行VMware安装程序,根据提示完成安装即可。

image-20210809223932893

image-20210809223953820

以上就是VMware在安装时的每一步操作,基本上就是点击 "下一步" 一直进行安装。

3.3 安装Linux

VMware虚拟机安装完毕之后,我们就可以打开VMware,并在上面来安装Linux操作系统。具体步骤如下:

1). 选择创建新的虚拟机

2). 选择"典型"配置

3). 选择"稍后安装操作系统(S)"

image-20210809224740271

4). 选择"Linux"操作系统,"CentOS7 64位"版本

image-20210809224851755

5). 设置虚拟机的名称及系统文件存放路径

image-20210809225106268

6). 设置磁盘容量

推荐单个文件: 方便复制

image-20210809225243488

7). 自定义硬件信息

image-20210809225706412

8). 启动上述创建的新虚拟机

安装centos系统

9). 选择"Install CentOS7"

进入到Linux系统里面, 我们发现光标无法移动到windows操作系统中了, 这个时候, 我们可以通过快捷键 "Ctrl+Alt" 切换光标到windows系统中。

10). 选择语言为 "简体中文"

11). 选择"自动配置分区"

image-20210809231704202

12). 选择"基本网页服务器"

1641174595929

  1. . 网络设置

1641174820784

14). 设置"root"用户密码

image-20210809232438579

安装完毕后,点击窗口中的蓝色的 "重启" 按钮,重启Linux系统。

15). 登录系统

image-20210809232913715

注意 : 在Linux系统中,在命令行中输入密码信息,为了保证安全性,密码是不显示的(看似没有输入,实际已经输入了);

1641175210886

如果大家可以看到ens33网卡的ip地址,说明网络设置成功,如果看不到,转到3.4进行网卡设置

3.4 网卡设置

服务器重启完成之后,我们可以通过linux的指令 ip addr 来查询Linux系统的IP地址,具体信息如下:

从图中我们可以看到,并没有获取到linux系统的IP地址,这是为什么呢?这是由于启动服务器时未加载网卡,导致IP地址初始化失败而造成的。那么接下来我们就需要来修改网络初始化配置,设定网卡在系统启动时初始化。

具体操作步骤如下:

1). 修改网卡的配置项

cd /				进入根目录
cd etc				进入etc目录
cd sysconfig		进入sysconfig目录
cd network-scripts	进入network-scripts
vi ifcfg-ens33		编辑ifcfg-ens33文件


进入文件后执行如下操作: 
①. 按 i 键 		 进入编辑状态
②. 按↑↓键来移动光标, 删除no,输入yes 
③. 按 ESC 键
④. 输入 :wq
⑤. 按 ENTER	保存退出

image-20210809234131816

备注: 在上述的操作中用到了Linux中的相关指令, 目前大家不用深究, 后面会详细讲解, 目前大家只需要把这个文件的配置项ONBOOT的值有no改为yes即可。

2). 重新启动虚拟机

重启之后, 再次输入root的用户名密码,登录到Linux系统之后,可以通过指令 ip addr 来查看IP地址。

3.5 拍摄快照(备份)

拍摄快照是给当前linux系统进行备份, 目的是如果在学习过程中把linux系统弄坏了,随时恢复到备份状态.

1641138006621

1641138030071

3.6 安装SSH连接工具

3.6.1 SSH连接工具介绍

Linux已经安装并且配置好了,接下来我们要来学习Linux的基本操作指令。而在学习之前,我们还需要做一件事情,由于我们企业开发时,Linux服务器一般都是在远程的机房部署的,我们要操作服务器,不会每次都跑到远程的机房里面操作,而是会直接通过SSH连接工具进行连接操作。

image-20210810000224690

SSH(Secure Shell),建立在应用层基础上的安全协议。常用的SSH连接工具:

3.6.2 FinalShell安装

在课程资料中,提供了finalShell的安装包(联网安装)

image-20210810000309123

双击.exe文件,然后进行正常的安装即可。

image-20210810000318212

3.6.3 连接Linux

1). 打开finalShell

2). 建立连接

image-20210810173900140

3.7 Linux目录结构

登录到Linux系统之后,我们需要先来熟悉一下Linux的目录结构。在Linux系统中,也是存在目录的概念的,但是Linux的目录结构和Windows的目录结构是存在比较多的差异的 在Windows目录下,是一个一个的盘符(C盘、D盘、E盘),目录是归属于某一个盘符的。Linux系统中的目录有以下特点:

A. / 是所有目录的顶点

B. 目录结构像一颗倒挂的树

Linux 和 Windows的目录结构对比:

Linux的目录结构,如下:

image-20210810174954476

根目录/ 下各个目录的作用及含义说明:

编号 目录 含义
1 /bin 存放二进制可执行文件
2 /boot 存放系统引导时使用的各种文件
3 /dev 存放设备文件
4 /etc 存放系统配置文件
5 /home 存放系统用户的文件
6 /lib 存放程序运行所需的共享库和内核模块
7 /opt 额外安装的可选应用程序包所放置的位置
8 /root 超级用户目录
9 /sbin 存放二进制可执行文件,只有root用户才能访问
10 /tmp 存放临时文件
11 /usr 存放系统应用程序
12 /var 存放运行时需要改变数据的文件,例如日志文件

4. Linux常用命令

运维 : 掌握200多个linux命令

后端程序员: 掌握20多个linux命令,其他了解

4.1 Linux命令初体验

4.1.1 常用命令演示

在这一部分中,我们主要介绍几个常用的命令,让大家快速感受以下Linux指令的操作方式。主要包含以下几个指令:

序号 命令 对应英文 作用
1 ls [目录名] list 查看当前目录下的内容
2 pwd print work directory 查看当前所在目录
3 cd [目录名] change directory 切换目录
4 touch [文件名] touch 如果文件不存在,创建文件
5 mkdir [目录名] make directory 创建目录
6 rm [文件名] remove 删除指定文件

接下来,我们快速的来演示一下这些常用的指令。

1). ls

image-20210810182042076

指令解读:

​ ls 查看当前目录下的内容(文件及目录)

​ ls / 查看指定目录(/)下的内容

2). pwd

image-20210810182335470

指令解读:

​ pwd 查看当前所在目录

3). cd

image-20210810182607821

指令解读:

​ cd / 切换到根目录

​ cd /root 切换到/root目录

4). touch

image-20210810182917750

指令解读:

​ touch 1.txt 创建文件1.txt

​ touch 2.txt 3.txt 4.txt 一次性创建文件2.txt,3.txt,3.txt

5). mkdir

image-20210810183154023

指令解读:

​ mkdir 01 创建文件夹01

6). rm

image-20210810183522849

指令解读:

​ rm 4.txt 删除文件 (删除文件时,需要确认,输入y, 代表确定)

注意:

image-20210810184600425

在执行Linux命令时,提示信息如果显示为乱码,如上图所示。这是由于编码问题导致,只需要修改Linux的编码即可,命令如下:

​ echo 'LANG="en_US.UTF-8"' >> /etc/profile

​ source /etc/profile

4.1.2 Linux命令使用技巧

在我们使用Linux系统命令时,可以使用以下几个技巧:

1). Tab键自动补全

无歧义

2). 连续两次Tab键,给出操作提示

有歧义

3). 使用上下箭头快速调出曾经使用过的命令

4). 使用clear命令或者Ctrl+l快捷键实现清屏

操作示例:

A. 执行指令的时候,对于操作的文件/目录,按一下Tab会自动补全:

image-20210810185641027

B. 如果上述以 "1." 开头的文件有多个,可以按两下Tab键,给出操作提示:

image-20210810190101671

C. 使用clear命令或者Ctrl+l快捷键实现清屏:

image-20210810190458929

清屏之后,界面就变得干净了:

image-20210810190546209

4.1.3 Linux命令格式

command [-options] [parameter]
	
说明: 
	command: 	 命令名
	[-options]:  选项,可用来对命令进行控制,也可以省略
	[parameter]: 传给命令的参数,可以是零个、一个或者多个
	
注意: 
	[] 	 代表可选
	命令名、选项、参数之间有空格进行分隔

操作示例:

image-20210810192202455

4.2 文件目录操作命令

4.2.1 ls (查看)

作用: 显示指定目录下的内容
语法: ls [-al] [dir]
说明: 
	-a 显示所有文件及目录 (. 开头的隐藏文件也会列出) all
	-l 除文件名称外,同时将文件型态(d表示目录,-表示文件)、权限、拥有者、文件大小等信息详细列出 detail
	
注意: 
	由于我们使用ls命令时经常需要加入-l选项,所以Linux为ls -l命令提供了一种简写方式,即ll
	
常见用法: 
	ls -al 	查看当前目录的所有文件及目录详细信息
	ls -al /etc   查看/etc目录下所有文件及目录详细信息
	ll  	查看当前目录文件及目录的详细信息 (是 ls -l 的缩写)

操作示例:

# 第一位参数说明
1. d : directory 目录
2. l : link 链接,快捷方式
3. - : 文件

image-20210810193149925

image-20210810193302047

image-20210810193605487

image-20210810194129919

4.2.2 cd (切换)

作用: 用于切换当前工作目录,即进入指定目录
语法: cd [dirName]
	
特殊说明: 
	~	表示用户的根目录
		1). 如果是root用户(超级管理员), 此用户根目录为/root
		2). 其他用户的根目录为/home
	. 	表示目前所在的目录(可以省略)
	.. 	表示目前目录位置的上级目录
	
举例: 
	cd 	..		切换到当前目录的上级目录
	cd 	~		切换到用户的home目录
	cd 	/usr/local	切换到/usr/local目录

备注:

​ 用户的home目录

​ root用户 /root

​ 其他用户 /home/xxx

操作示例:

image-20210810230949775

image-20210810231024129

cd .. 切换到当前目录位置的上级目录; 可以通过 cd ../.. 来切换到上级目录的上级目录。

4.2.3 cat (查看文件)

作用: 用于显示文件内容
语法: cat [-n] fileName

说明:
	-n: 由1开始对所有输出的行数编号 (number)

举例:
	cat /etc/profile		查看/etc目录下的profile文件内容

操作演示:

image-20210810231651338

cat 指令会一次性查看文件的所有内容,如果文件内容比较多,这个时候查看起来就不是很方便了,这个时候我们可以通过一个新的指令more。

4.2.4 more(分页查看文件)

作用: 以分页的形式显示文件内容
语法: more fileName

操作说明:
    回车键 	向下滚动一行
    空格键 	向下滚动一屏
    b 		返回上一屏
    q或者Ctrl+C	退出more (quit/cancel)
	
举例:
	more /etc/profile		以分页方式显示/etc目录下的profile文件内容

操作示例:

当我们在查看一些比较大的文件时,我们可能需要经常查询文件尾部的数据信息,那这个时候如果文件很大,我们要一直向下翻页,直到最后一页,去看最新添加的数据,这种方式就比较繁琐了,此时,我们可以借助于tail指令。

4.2.5 tail(查看日志)

作用: 查看文件末尾的内容
语法: tail [-f] fileName

说明:
	-f : 动态读取文件末尾内容并显示,通常用于日志文件的内容输出(follow)
	
举例: 
tail /etc/profile		显示/etc目录下的profile文件末尾10行的内容
tail -20 /etc/profile	显示/etc目录下的profile文件末尾20行的内容
tail -f /itcast/my.log	动态读取/itcast目录下的my.log文件末尾内容并显示

操作示例:

A. 默认查询文件尾部10行记录

image-20210810232758510

B. 可以通过指定参数设置查询尾部指定行数的数据

image-20210810232947018

C. 动态读取文件尾部的数据

image-20210810233514284

在窗口1中执行指令 tail -f 1.txt 动态查看文件尾部的数据。然后在顶部的标签中右键选择 "复制标签",打开新的窗口2 , 此时再新打开的窗口2中执行指令 echo 1 >> 1.txt , 往1.txt文件尾部追加内容,然后我们就可以在窗口1中看到最新的文件尾部的数据。

如果我们不想查看文件尾部的数据了,可以直接使用快捷键 Ctrl+C , 结束当前进程。

4.2.6 mkdir(创建)

作用: 创建目录
语法: mkdir [-p] dirName

说明: 
	-p: 确保目录名称存在,不存在的就创建一个。通过此选项,可以实现多层目录同时创建

举例: 
    mkdir itcast  在当前目录下,建立一个名为itcast的子目录
    mkdir -p itcast/test   在工作目录下的itcast目录中建立一个名为test的子目录,若itcast目录不存在,则建立一个

操作演示:

image-20210810234541073

4.2.7 rmdir(删除)

作用: 删除空目录
语法: rmdir [-p] dirName

说明:
	-p: 当子目录被删除后使父目录为空目录的话,则一并删除

举例:
    rmdir itcast   删除名为itcast的空目录
    rmdir -p itcast/test   删除itcast目录中名为test的子目录,若test目录删除后itcast目录变为空目录,则也被删除
    rmdir itcast*   删除名称以itcast开始的空目录

操作演示:

A. 删除空目录

image-20210810235044921

B. 删除非空目录

image-20210810235221722

C. 使用*通配符删除目录

image-20210810235305140

*: 是一个通配符,代表任意字符;

rmdir itcast* : 删除以itcast开头的目录

rmdir *itcast : 删除以itcast结尾的目录

4.2.8 rm(删除!)

作用: 删除文件或者目录
语法: rm [-rf] name

说明: 
    -r: 将目录及目录中所有文件(目录)逐一删除,即递归删除 (recursion 递归)
    -f: 无需确认,直接删除 (force 强制)
	
举例: 
    rm -r itcast/     删除名为itcast的目录和目录中所有文件,删除前需确认
    rm -rf itcast/    无需确认,直接删除名为itcast的目录和目录中所有文件
    rm -f hello.txt   无需确认,直接删除hello.txt文件

操作示例:

image-20210810235809473

注意: 对于 rm -rf xxx 这样的指令,在执行的时候,一定要慎重,确认无误后再进行删除,避免误删。

4.3 拷贝移动命令

4.3.1 cp

作用: 用于复制文件或目录
语法: cp [-r] source dest

说明: 
	-r: 如果复制的是目录需要使用此选项,此时将复制该目录下所有的子目录和文件 (copy)

举例: 
    cp hello.txt itcast/            将hello.txt复制到itcast目录中
    cp hello.txt ./hi.txt           将hello.txt复制到当前目录,并改名为hi.txt
    cp -r itcast/ ./itheima/    	将itcast目录和目录下所有文件复制到itheima目录下
    cp -r itcast/* ./itheima/ 	 	将itcast目录下所有文件复制到itheima目录下

操作示例:

image-20210811180508369

image-20210811180638556

image-20210811180914417

如果拷贝的内容是目录,需要加上参数 -r

4.3.2 mv

作用: 为文件或目录改名、或将文件或目录移动到其它位置
语法: mv source dest  (move)

举例: 
    mv hello.txt hi.txt                 将hello.txt改名为hi.txt
    mv hi.txt itheima/                  将文件hi.txt移动到itheima目录中
    mv hi.txt itheima/hello.txt   		将hi.txt移动到itheima目录中,并改名为hello.txt
    mv itcast/ itheima/                 如果itheima目录不存在,将itcast目录改名为itheima
    mv itcast/ itheima/                 如果itheima目录存在,将itcast目录移动到itheima目录中

操作示例:

mv 命令既能够改名,又可以移动,具体是改名还是移动,系统会根据我们输入的参数进行判定(如果第二个参数dest是一个已存在的目录,将执行移动操作,其他情况都是改名)

image-20210811184240003

4.4 打包压缩命令

windows : 打包压缩一个意思

linux : 打包是一个操作, 压缩是另一个操作

作用: 对文件进行打包、解包、压缩、解压
语法: tar  [-zcxvf]  fileName  [files]
    包文件后缀为.tar表示只是完成了打包,并没有压缩
    包文件后缀为.tar.gz表示打包的同时还进行了压缩

说明:
    -z: z代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压
    -c: c代表的是create,即创建新的包文件
    -x: x代表的是extract,实现从包文件中还原文件
    -v: v代表的是verbose,显示命令的执行过程
    -f: f代表的是file,用于指定包文件的名称

举例:
    打包
        tar -cvf hello.tar ./*		  		将当前目录下所有文件打包,打包后的文件名为hello.tar
        tar -zcvf hello.tar.gz ./*		  	将当前目录下所有文件打包并压缩,打包后的文件名为hello.tar.gz
		
    解包
        tar -xvf hello.tar		  			将hello.tar文件进行解包,并将解包后的文件放在当前目录
        tar -zxvf hello.tar.gz		  		将hello.tar.gz文件进行解压,并将解压后的文件放在当前目录
        tar -zxvf hello.tar.gz -C /usr/local     将hello.tar.gz文件进行解压,并将解压后的文件放在/usr/local目录


打包: 
	tar  -cf  ziliao.tar a.txt b.txt
	tar  -cvf  ziliao.tar a.txt b.txt
	tar  -zcvf  ziliao.tar.gz a.txt b.txt
解压:
      tar -xf ziliao.tar
      tar -zxf ziliao.tar.gz
      tar -zxvf ziliao.tar.gz

操作示例:

A. 打包

image-20210811185728541

B. 打包并压缩

image-20210811190035256

C. 解包

image-20210811190307630

D. 解压

image-20210811190450820

解压到指定目录,需要加上参数 -C

image-20210811190626414

4.5 文本编辑命令(重要)

文本编辑的命令,主要包含两个: vi 和 vim,两个命令的用法类似,我们课程中主要讲解vim的使用。

4.5.1 vi&vim介绍

作用: vi命令是Linux系统提供的一个文本编辑工具,可以对文件内容进行编辑,类似于Windows中的记事本

语法: vi fileName

说明:
1). vim是从vi发展来的一个功能更加强大的文本编辑工具,编辑文件时可以对文本内容进行着色,方便我们对文件进行编辑处理,所以实际工作中vim更加常用。
2). 要使用vim命令,需要我们自己完成安装。可以使用下面的命令来完成安装:yum install vim

4.5.2 vim安装

命令: yum install vim

在线安装(联网)

image-20210811192217715

安装过程中,会有确认提示,此时输入 y,然后回车,继续安装:

image-20210811192256269

image-20210811192350907

4.5.3 vim使用

作用: 对文件内容进行编辑,vim其实就是一个文本编辑器
语法: vim fileName
说明:
1). 在使用vim命令编辑文件时,如果指定的文件存在则直接打开此文件。如果指定的文件不存在则新建文件。
2). vim在进行文本编辑时共分为三种模式,分别是 命令模式(Command mode),插入模式(Insert mode)和底行模式(Last line mode)。这三种模式之间可以相互切换。我们在使用vim时一定要注意我们当前所处的是哪种模式。

三种模式:
- 命令模式
A. 命令模式下可以查看文件内容、移动光标(上下左右箭头、gg、G)
B. 通过vim命令打开文件后,默认进入命令模式
C. 另外两种模式需要首先进入命令模式,才能进入彼此

  | 命令模式指令 | 含义                              |
  | ------------ | --------------------------------- |
  | gg           | 定位到文本内容的第一行            |
  | G            | 定位到文本内容的最后一行          |
  | dd           | 删除光标所在行的数据              |
  | ndd          | 删除当前光标所在行及之后的n行数据 |
  | u            | 撤销操作                          |
  | shift+zz     | 保存并退出                        |
  | i 或 a 或 o  | 进入插入模式                      |
  | /要搜索的内容  | 查询定位内容 

  • 插入模式
    A. 插入模式下可以对文件内容进行编辑
    B. 在命令模式下按下[i,a,o]任意一个,可以进入插入模式。进入插入模式后,下方会出现【insert】字样
    C. 在插入模式下按下ESC键,回到命令模式

  • 底行模式
    A. 底行模式下可以通过命令对文件内容进行查找、显示行号、退出等操作
    B. 在命令模式下按下[:,/]任意一个,可以进入底行模式
    C. 通过/方式进入底行模式后,可以对文件内容进行查找
    D. 通过:方式进入底行模式后,可以输入wq(保存并退出)、q!(不保存退出)、set nu(显示行号)

    底行模式命令 含义
    :wq 保存并退出
    :q! 不保存退出
    :set nu 显示行号
    :set nonu 取消行号显示
    :n 定位到第n行, 如 :10 就是定位到第10行

操作示例:

image-20210811200005097

4.6 查找命令

作用: 在指定目录下查找文件
语法: find dirName -option fileName
举例:
    find  .  –name "*.java"			在当前目录及其子目录下查找.java结尾文件
    find  /itcast  -name "*.java"	在/itcast目录及其子目录下查找.java结尾的文件

操作示例:

image-20210811200438459

4.7 其他命令

1)显示工作目录

* 语法
		pwd	:  Print Working Directory 打印当前的目录(绝对路径)

2)查看进程

* 语法
		ps -ef:当前用户打开的程序进程 (重要)
		
* 参数解释
		-e   此参数的效果和指定"A"参数相同,显示所有程序
		-f   显示UID,PPID,C与STIME栏位

3)杀死进程

* 语法
		kill 进程号: 杀死指定进程
		kill -9 进程号:强制杀死指定进程

4)文本搜索

* 语法
		grep [参数] 搜索字符串 文件名 

* 参数解释
		-i   搜索时不区分大小写,大小写不敏感(ignore)
		-n   显示匹配行及行号,大小写敏感(number)
		-v   显示不匹配行,大小写敏感(reverse)
		
* 命令
        cd /
        grep as 123.txt				在123.txt文件中搜索as字符串,大小写敏感,显示行		
        grep -n as 123.txt			在123.txt文件中搜索as字符串,大小写敏感,显示行及行号
        grep -v as 123.txt			在123.txt文件中搜索as字符串,大小写敏感,显示没搜索到行
        grep -i as 123.txt			在123.txt文件中搜索as字符串,大小写不敏感,显示行
        grep -ni "Q q" 123.txt	    在123.txt文件中搜索Q q字符串,大小写不敏感,显示行及行号

5)管道

* 语法
		xx | xx
		一个命令的输出作为另一个命令的输入

* 命令
		ls --help | more    分页查询帮助信息
		ps -ef | grep system 	在ps -ef的结果中,搜索字符串system

6)关机和重启

* 语法
		poweroff : 关机
		reboot :  重启

4.8 网络(卡)服务

查看当前网络的状态,并启动和停止网络服务。

* 查看ip
		ifconfig 
		ip addr  :CentOS7版本新增
		
* 修改网卡ip
		vim /etc/sysconfig/network-scripts/ifcfg-ens33
		
* 概要信息如下		
		DEVICE=ens33                  	#网卡名称
		TYPE=Ethernet               	#网卡类型 以太网
		ONBOOT=yes                  	#是否开机就使用此网卡   在我们安装的时候都已经配置好
		BOOTPROTO=dhcp    				#启动网卡时指定获取IP地址的方式
			常用取值:dhcp               (自动获取ip地址,网关,子网掩码等信息无需设置) 
			常用取值:static             (静态ip,如需要访问网络,需要自己设置ip地址等信息) 
			其他取值:none               (不指定)
            
      	IPADDR=192.168.200.133    #ip地址
		GATEWAY=192.168.200.2     #网关
		NETMASK=255.255.255.0     #子网掩码
		DNS1=8.8.8.8			  # Google提供的公用DNS       

* 重启网卡服务
		systemctl status network       查看网络服务的状态
        systemctl stop network         停止网络服务
        systemctl start network        启动网络服务
        systemctl restart network      重启网络服务

配置静态IP地址

设置ip分为2种类型,dhcp和static。dhcp是动态获取ip,static是配置静态ip。dhcp动态获取ip可能ip经常会发生变化,导致客户端无法连接到。静态ip配置后就不会发生改变,这样客户端连接服务器具有更好的安全性。

操作步骤

  1. 查看当前虚拟机网关(记住这个网关,后面使用)

    1641142703246

  2. 进入目录命令:cd /etc/sysconfig/network-scripts/

    1641142716881

  3. 编辑网卡配置文件命令:vim ifcfg-ens33

    1641142728978

  4. 配置静态IP,增加修改如下信息:

    修改的内容:

    BOOTPROTO=static      
    

    在文本的末尾增加的内容(一定要注意: IPADDR和GATEWAY前3个网段要一致):

    GATEWAY是刚才查看到的网关(因人而异)

    IPADDR的前三个网段跟网关一致,第四个自定义(推荐88,99,取值范围 0~254(0,2不要用)

    IPADDR=192.168.47.111
    GATEWAY=192.168.47.2
    NETMASK=255.255.255.0
    DNS1=8.8.8.8
    

    1641142739835

  5. 退出保存, 最后重启网卡服务

    1641142749179

执行结果

  1. 查看ip

    1641142801060

  2. Ping外网,如下信息说明可以连接外网

    1641142809926

posted @   忘了鱼尾纱的猫  阅读(70)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
  1. 1 刘哈哈与大先生 刘心&大鹏
  2. 2 我们打着光脚在风车下跑,手上的狗尾巴草摇啊摇 等一下就回家 / -艾兜
  3. 3 哎呦 毛不易
  4. 4 夜、萤火虫和你 AniFace
我们打着光脚在风车下跑,手上的狗尾巴草摇啊摇 - 等一下就回家 / -艾兜
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

作词:等一下就回家/艾兜

作曲:等一下就回家/艾兜

混音:裴济逸

编曲:HYPER MUSIC

风是从哪儿来手上的狗尾巴草摇的更剧烈

稻穗也晃起来我紧握着你的手把它拍成照片

我们俩转 就像大风车

早该逃离这我转转 把云卷散了

下个地方 风筝睡醒了

乘着它走吧 飘飘 等着大风车

像在画一幅油画

陶醉你的笑容

就沿着风车走吧

不用 猜忌 下个地点

让我忘记时间to the midnight

the sun came out 把所有染成金色的

风风风让它吹过来

至少年轻我还记得

oh 找一个地方落下

躺在谷仓里

和你讲着小话

什么风都吹不倒它

它就像是活的

知道哪是它的家

风是从哪儿来手上的狗尾巴草摇的更剧烈

稻穗也晃起来我紧握着你的手把它拍成照片

我们俩转 就像大风车

早该逃离这我转转 把云卷散了

下个地方 风筝睡醒了

乘着它走吧 飘飘 等着大风车

像在画一幅油画

陶醉你的笑容

就沿着风车走吧

不用 猜忌 下个地点

我们打着光脚在那风车下跑

等一下就回家怎么才到半山腰

就让那些烦恼都随风去吧

随着稻香飘过的地方耶哎呦喂

喜欢那时候风言风语

总是习惯悲中带着笑

喜欢被无视的童言无忌

被风车带走不在

风是从哪儿来手上的狗尾巴草摇的更剧烈

稻穗也晃起来我紧握着你的手把它拍成照片

我们俩转 就像大风车

早该逃离这我转转 把云卷散了

下个地方 风筝睡醒了

乘着它走吧 飘飘 等着大风车

像在画一幅油画

陶醉你的笑容

就沿着风车走吧

不用 猜忌 下个地点

点击右上角即可分享
微信分享提示