Linux

一、Linux背景知识

1、什么是linux

Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统

2、为什么要学linux

  1. 在服务器端,在开发领域linux倒是越来越受欢迎,很多程序员都觉得不懂点linux都觉得不好意思,linux在开源社区的地位依然岿然不动。
  2. 作为一个后端程序员,是必须要掌握Linux的,这已经成为了我们找工作的基本门槛了

3、linux的各个发行版本

目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。

img

img

4、linux的应用领域之广袤

今天各种场合都有使用各种 Linux 发行版,从嵌入式设备到超级计算机,并且在服务器领域确定了地位,通常服务器使用 LAMP(Linux + Apache + MySQL + PHP)或 LNMP(Linux + Nginx+ MySQL + PHP)组合。

目前 Linux 不仅在家庭与企业中使用,并且在政府中也很受欢迎。

  • 巴西联邦政府由于支持 Linux 而世界闻名。

  • 有新闻报道俄罗斯军队自己制造的 Linux 发布版的,做为 G.H.ost 项目已经取得成果。

  • 印度的 Kerala 联邦计划在向全联邦的高中推广使用 Linux。

  • 中华人民共和国为取得技术独立,在龙芯处理器中排他性地使用 Linux。

  • 在西班牙的一些地区开发了自己的 Linux 发布版,并且在政府与教育领域广泛使用,如 Extremadura 地区的 gnuLinEx 和 Andalusia 地区的 Guadalinex。

  • 葡萄牙同样使用自己的 Linux 发布版 Caixa Mágica,用于 Magalh?es 笔记本电脑和 e-escola 政府软件。

  • 法国和德国同样开始逐步采用 Linux。

5、Linux是自由的

linux是自由的,包括它的名字,无论怎么说都是对的

6、一切皆文件

Linux的一切都是由文件组成的,任何操作实际上都是在对文件进行操作

二、运行环境和linux基础知识

1、运行环境

本文所使用的Linux运行环境如下:

  1. 使用shell工具(如:xshell、finalshell)连接阿里云服务器,远程操作系统
  2. 使用CentOS7.8版本的linux系统

2、基础知识

  1. root账户是最高权限账户
  2. 进程在Windows下叫做服务service,而在linux中则叫做守护进程daemon(不要与多线程中的守护线程概念混淆)
  3. 用户登录有三种方式:命令行登录(本地,无图形界面),ssh登录(远程,使用ssh工具,如:xshell、finalshell),图形界面登录(本地,有图形界面)

三、Linux的文件结构和基本命令

linux系统中:当你使用命令行输入命令后,系统没有任何回复则代表命令行使成功,若出现报错则代表失败

1、文件结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EMnrcVkR-1637138663479)(C:\Users\利姆鲁\AppData\Roaming\Typora\typora

Linux跟Windows一样也是树形目录:(Linux的一切资源都挂载在 / 根节点下)

img

根节点的下一级目录都分别有着自己的作用:

/bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。

/boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。

/dev : dev是Device(设备)的缩写, 存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。

/etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。

/home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

/lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。

/lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

/media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。

/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

/opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

/proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

/root:该目录为系统管理员,也称作超级权限者的用户主目录。

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

/srv:该目录存放一些服务启动之后需要提取的数据。

/sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。

/tmp:这个目录是用来存放一些临时文件的。

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

/usr/bin: 系统用户使用的应用程序。

/usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序。

/usr/src: 内核源代码默认的放置目录。

/var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

/run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。

2、基本命令

辅助命令:man + 命令名称,可以查看该命令的使用文档

1.关机命令
sync # 将数据由内存同步到硬盘中。
 
shutdown # 关机指令,你可以man shutdown 来看一下帮助文档。例如你可以运行如下命令关机:
 
shutdown –h 10 # 这个命令告诉大家,计算机将在10分钟后关机
 
shutdown –h now # 立马关机
 
shutdown –h 20:25 # 系统会在今天20:25关机
 
shutdown –h +10 # 十分钟后关机
 
shutdown –r now # 系统立马重启
 
shutdown –r +10 # 系统十分钟后重启
 
reboot # 就是重启,等同于 shutdown –r now
 
halt # 关闭系统,等同于shutdown –h now 和 poweroff

PS1:无论什么时候,在使用关机或重启命令的时候,都需要先运行sync命令,将数据从内存同步到硬盘中,在进行关机或者重启。

PS2:如果是使用云服务器的话,最好不要使用关机或重启命令,因为我们的服务是需要一直运行的,一般都不需要关机。

2.目录管理命令

hostname命令:可以更改主机名称

如:hostname xiafan 则现在的主机名称为xiafan

ls命令:直接使用可查看当前文件夹的文件结构(也就是当前文件夹的目录)

参数:

  • -a:可查看当前文件夹的所有文件,包括隐藏文件
  • -l:可查看当前文件夹的所有文件,但不包括隐藏文件,查询出的信息除了文件名外还有文件的属性(如文件权限等信息)
  • -al:在可以查询所有文件包括隐藏文件的基础上,还可以查询出文件的属性(如文件权限等信息)

pwd命令:返回当前用户所在的目录

cd命令:切换目录

知识补充:关于绝对路径和相对路径

​ 绝对路径:与目前的所在的目录无关,无论何时路径都不会发生改变,如:C:\TENCENT

​ 相对路径:与目前所在的目录有关,是基于目前所在的目录产生的路径,如:…/user

常见的相对路径: ./ 当前目录、…/ 上一级目录、/根目录

参数:

  • ~:cd ~,可以回到当前的用户目录,使用后搭配pwd命令可以得到当前用户所在的目录

mkdir命令:创建文件夹

参数:

  • -p:由于mkdir命令本身不能递归创建(也就是不能直接 mkdir dir1/dir2/dir3,无法直接创建这种多层目录),所以需要使用-p参数。使用后就可以递归创建文件夹,如:mkdir -p dir1/dir2/dir3

rmdir命令:删除文件夹

参数:

  • -p:若文件夹下存在子文件夹,我们又想删除它,则可以使用-p参数递归删除多个文件夹,如存在dir1/dir2/dir3文件树,而我们想删除dir1,则可以使用mrdir -p dir1/dir2/dir3

cp命令:复制文件

命令语法:cp 要复制的文件 目的路径

若重复复制同一个文件名的文件到同一个目的路径,系统会提示你是否要覆盖文件。输入y代表yes,输入n代表no。

rm命令:删除文件或目录

参数:

  • -f:忽略不存在的文件,不会出现警告,即强制删除
  • -r:自动递归的删除目录
  • -i:互动参数,查询是否删除

关键命令:奥义之删库跑路

rm -rf / 和rm -rf /*

/代表根目录 /*代表根目录下的所有文件

如果使用了这种命令,则会直接导致系统瘫痪,慎用!除非想念牢饭的味道了

mv命令:1.移动文件或目录 2.重命名文件

  1. 移动文件或目录

    命令语法: mv 要移动的文件或目录 目的路径

  2. 重命名文件

    命令语法: mv 要重命名的文件或目录名 想要更改的文件或目录名

参数:

  • -f:强制移动
  • -u:只替换更新过的文件
PS:关于文件属性的补充知识

在我们使用ls -ll命令后会出现如下的文件信息(不包含隐藏文件的信息),下面,我们来解读这些信息代表什么(以第一行为例)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iH2i2R7I-1637138663481)(C:\Users\利姆鲁\AppData\Roaming\Typora\typora-user-images\image-20211115154322892.png)]

  1. 文件类型和文件操作权限

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h5hdfDpo-1637138752099)(C:\Users\利姆鲁\AppData\Roaming\Typora\typora-user-images\image-20211115155115445.png)]

这一列信息,对应了以下的表

img

第一个字符是文件类型

  • d:代表是一个目录

  • -:代表是一个文件

  • l:代表是一个链接文档(可以理解成Windows中的快捷方式)

  • b:代表装置文件里面的可供储存的接口设备(可随机存取装置)

  • c:代表装置文件里面的串行端口设备,例如键盘、鼠标( 一次性读取装置)

其中d、-、l比较常见

之后每三个字符代表一个权限组

从左到右为:属主权限、属组权限、其他用户权限

  • r代表可读
  • w代表可写
  • x代表可执行
  • 如果为 - 则代表没有响应权限
  1. 子目录个数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ajr9NekQ-1637138663484)(C:\Users\利姆鲁\AppData\Roaming\Typora\typora-user-images\image-20211115155130816.png)]

这个属性非常好理解,多少个子目录就是多少个

  1. 标识文件创建者和其所在的组

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ApHIzNhj-1637138663485)(C:\Users\利姆鲁\AppData\Roaming\Typora\typora-user-images\image-20211115155300006.png)]

第一个为文件创建者,第二个为文件创建者所在的用户组

  1. 文件大小

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nxKY82nF-1637138663487)(C:\Users\利姆鲁\AppData\Roaming\Typora\typora-user-images\image-20211115155329369.png)]

表示文件占用的空间大小(不包括子文件),单位为B(即字节)

  1. 最后访问时间

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Bl0xiszg-1637138663487)(C:\Users\利姆鲁\AppData\Roaming\Typora\typora-user-images\image-20211115155523549.png)]

记录最后一次访问该文件的时间

  1. 文件名

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jju4Rhrd-1637138663489)(C:\Users\利姆鲁\AppData\Roaming\Typora\typora-user-images\image-20211115155600097.png)]

文件名为bin,后面的->usr/bin表示它是一个链接文档(可以理解成Windows中的快捷方式),也就是打开它会自动指向->后面的目录

3.文件属性管理命令

chgrp命令:更改文件的属组(不加参数时只改变指定文件,并不改变其下的文件)

命令语法:chgrp 新的属组名 文件名

参数:

  • -R:递归更改文件属组,即该文件下的所有文件的属组都会被改变

chown命令:更改文件属主,也可以同时更改文件属组(不加参数时只改变指定文件,并不改变其下的文件)

命令语法:

  1. chown 新的属主名 文件名
  2. chown 新的属主名:新的属组名 文件名

参数:

  • -R:递归更改文件属组,即该文件下的所有文件的属组都会被改变

chmod命令==(重要)==:更改文件的九个属性

命令语法:chmod xyz

参数:

  • -R:递归更改文件属组,即该文件下的所有文件的属组都会被改变

这里的xyz,每一个字母都代表了一个权限组的权限(顺序和文件属性中的权限组一样,从左往右为:属主权限、属组权限、其他用户权限)

这里的输入的xyz应该是三个数字,数字的说明如下:

可读r的权重为4,可写w的权重为2,可执行x的权重为1

假设本来是0,表示不可读不可写不可执行,如果要设置为可读,则要设置为4,如果要设置为可读可写,则要设置为6,如果要可读可写可执行,则要设置为7

例如:

命令 chmod 777 代表将该文件设置为所有用户均可读可写可执行的状态,以此类推

4.文件内容查看命令

cat命令(常用):由第一行开始从上往下显示文件内容,适合用来读配置文件或者文章

tac命令:顾名思义,是cat反过来,也就是由最后一行开始从下往上显示文件内容

nl命令(常用):和cat命令相同,但是会显示行号,适合查看代码

more命令:显示的内容只会填满当前页面,如果要阅读剩下的内容,按下空格代表阅读下一页,按下回车代表阅读下一行

less命令:与more命令类似,但是它不止能有more的功能,还能用↑键和↓键进行上下翻动

PS:more和less在查询的过程和查询完毕后并不会退出到终端控制台

与more和less搭配使用的命令:

q命令:有些查看命令在查看完毕后不会跳出到控制台,需要使用q命令跳出

/命令:/+所要查找的字符串,可以在当前的文件查看位置向下查询想要的字符串,对其标亮

?命令:?+所要查找的字符串,可以在当前的文件查看位置向上查询想要的字符串,对其标亮

head命令:从上往下查看几行

参数:

  • -n:控制查看多少行

tail命令:从下往上查看几行

参数:

  • -n:控制查看多少行

head和tail命令的语法:head/tail -n 查看的行数 查看的文件

5.网络配置相关命令

PS:/etc/sysconfig/network-scripts 是网络配置目录

ping命令:查看与相关IP网络是否连通,和windows的ping一样

ifconfig命令:相当于windows的ipconfig,查看当前系统的网络情况

6.硬链接和软链接相关命令

关于硬链接和软链接的释义:

硬链接:源文件和链接文件的内容相同。如果删除了源文件,则链接文件并不会失效,还会保存着原来的信息。源文件更新了,链接文件会同步更新。相当于一个同步更新的复制文件,在重要的文件上可以使用硬链接,防止不小心删除源文件。其本质还是一个文件(d),而不是一个链接文件(l)

软链接:就是我们前面提到的链接文件(l),类似于Windows的快捷方式,源文件被删除则链接文件会直接失效。

touch命令:创建文件

命令语法:touch 创建的文件名

echo命令:输入字符串,可以输入到文件中

ln命令(重要):创建一个硬链接

参数:

  • -s:如果加上-s参数创建,则创建的是一个软链接

命令语法:

  1. 硬链接:ln 源文件名 硬链接文件名
  2. 软链接:ln -s 源文件名 硬链接文件名

四、Vim编辑器

1、什么是Vim编辑器

演化历史:Vi->Vim

使用过Unix的用户应该都有接触过VI编辑器,这是Unix最初的编辑器,使用控制台图形模式来模拟文本编辑窗口,允许查看文件中的行、在文件中移动、插入、编辑和替换文本。当然它的复杂化让人厌恶,但是其大量特性支撑着Unix系统,而在Linux中vi得到改进,也就是接下来要讲的vim编辑器。

Vim是从vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

简单的来说,vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。vim则可以说是程序开发者的一项很好用的工具。

通过一些插件,可以使Vim跟我们平时使用的IDE拥有一样的功能来编辑代码

2、Vim编辑器的使用

Vi或Vim都有三种模式:分别为命令模式(Command mode)输入模式(Insert mode)底线命令模式(Last line mode)

Vim的工作模式如图所示:

img

3、Vim编辑器相关的命令

Vim 文件名:创建一个新文件或打开一个已存在的文件进行编辑

通过该命令进入文件后,我们处于命令模式中,各模式常用的命令和键盘按键作用如下:

命令模式:

  • i命令:切换到输入模式

  • x命令:删除当前光标所在的字符(防止输错命令后无法更改)

  • :命令:进入底线命令模式

输入模式中比较常用的键盘按键:

  • 字符按键以及Shift组合,输入字符
  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式

底线命令模式:

  • q命令:退出程序文件,返回到终端
  • w命令:保存当前文件

常用用法::wq可以保存文件并返回终端

  • set nu命令:可以显示行号,方便文本编写或代码编写
  • set nonu命令:取消行号显示

其他按键的说明(无需记忆,需要用到的时候再查表就可以):

第一部分:一般模式可用的光标移动、复制粘贴、搜索替换等。

Linux vim的使用方法

Linux vim的使用方法

Linux vim的使用方法

第二部分:一般模式切换到编辑模式的可用的按钮说明。

Linux vim的使用方法

第三部分:一般模式切换到指令行模式的可用的按钮说明。

Linux vim的使用方法

五、账号管理

1、为什么有账号管理

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
 用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。

2、账号管理需要的功能

每个用户账号都拥有一个唯一的用户名和各自的口令。
 用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。
 实现用户账号的管理,要完成的工作主要有如下几个方面:
 ●用户账号的添加、删除与修改。
 ●用户口令的管理。
 ●用户组的管理。

添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录ShelI等资源。

3、账号管理相关命令

这里可以通过参数来帮助指定用户的属组等属性,但不作演示,请有兴趣的朋友自行了解

1.useradd 添加用户

该命令有多个参数,这里只给最常用的-m和-g参数

-m:其作用是:创建用户,并自动创建该用户的主目录,对其他参数感兴趣的话可以自行搜索了解

-g:其作用是:设置用户的用户组,并自动创建该用户的主目录,对其他参数感兴趣的话可以自行搜索了解

如:useradd -m xiafan 则会创建一个xiafan用户,并在/home目录下自动创建一个/xiafan的用户主目录

2.userdel删除用户

该命令有多个参数,这里只给最常用的-r参数,其作用是:删除用户,并自动删除该用户的主目录,对其他参数感兴趣的话可以自行搜索了解

如:userdel -r xiafan 则会删除一个xiafan用户,并在/home目录下自动删除一个/xiafan的用户主目录

3.usermod修改用户

该命令有多个参数,这里只给最常用的-d参数,其作用是:修改用户的主目录

如:usermode -d /home/xf xiafan

4.切换用户

root用户和其他用户的区别:root用户在终端时,命令最前面会是#符号,二其他用户则是$符号

  1. 密码设置

passwd命令:有关密码的设置(密码要超过8位,而且不能过于简单)

命令语法为:passwd 用户名或直接用passwd

PS:在Linux中,密码是不会显示的,并不是系统不响应键盘输入

如果是root用户:

密码设置过程如下:

passwd xiafan //(设置密码命令)
new password://(输入用户密码)
re password: //(验证密码)

如果是普通用户:

密码设置过程如下:

passwd
(current)UNIX password: //(输入你当前用户的密码)
new password: //(输入用户新密码)
re password: //(验证密码)
  1. 冻结账号(root权限下)

命令1:passwd -l 用户名,冻结用户

如:passwd -l xiafan,会将xiafan用户锁定冻结,无法再登录

命令2:passwd -d 用户名,用户密码清空(用户没有密码是无法登录的,算是曲线救国式的冻结)

如:passwd -d xiafan,则xiafan用户无法再登录

5.账号管理的本质

我们在第一章就提过了,Linux中的一切都是以文件形式存在的,所以所谓的账号也是以文件的形式存在的,当我们创建账户的信息的时候,实际上是在/etc/passwd文件下“注册”了一个用户,而所谓的增删改,就是在对该文件中与该用户有关的信息进行更新,并以此实现了账号的管理

关于/etc/passwd文件:

如:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JYLcCPdf-1637138663490)(C:\Users\利姆鲁\AppData\Roaming\Typora\typora-user-images\image-20211116221418642.png)]

其含义为:用户名:口令(登录密码,我们不可见) :用户标识号:组标识号:注释性描述:主目录:登录Shell

各用户加密后的密码存储在/etc/shadow文件中

六、用户组管理

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理(开发、测试、运维)。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。

用户组的管理和我们上面所说的账号管理其实是相当类似的,都有增删改的操作

1、groupadd 添加用户组

命令语法:groupadd 用户组名

如:groupadd xiafan,会增加一个名为xiafan的用户组

如果不指定用户组的id的话,一般Linux系统会从1000开始自动递增赋值

该命令有多个参数,这里只给最常用的-g参数,其作用是:指定用户组id

如:groupadd -g 369 xiafan 则会创建一个xiafan用户组,且id为369

2、groupdel删除用户组

命令语法:groupdel 用户组名

如:groupdel xiafan 则会删除一个xiafan用户组

3、groupmod修改用户组

命令语法:groupmod 参数 修改后的信息… 原用户组名

参数-g可以修改用户组id,参数-n可以修改用户组名称

如:groupmod -g 666 -n xf xiafan,则会把xiafan用户组改名为xf,并将用户组id改为666

4、newgrp更改用户的用户组

先登录用户,再使用newgrp命令更改用户组

更改命令为:newgrp 更改后的用户组

如:newgrp root

5、用户组管理的本质

同账号管理的本质一样,用户组管理的本质也是在一个文件中“注册”了用户组的信息,而这个文件就是/ect/group文件,增删改的操作也就是更新这个文件的相应内容

七、磁盘管理

1、df命令:列出文件系统整体的磁盘使用量

直接使用df就可以列出文件系统整体的磁盘使用量

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Aw7xhdzB-1637138663492)(C:\Users\利姆鲁\AppData\Roaming\Typora\typora-user-images\image-20211116222933647.png)]

使用-h参数,会将内存单位设为M

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lvGlcdrV-1637138663493)(C:\Users\利姆鲁\AppData\Roaming\Typora\typora-user-images\image-20211116222939523.png)]

2、du命令:检查磁盘空间使用量

du命令可以直接查看当前目录下的磁盘空间使用量(不包括隐藏文件)

使用-a参数可以查看出包括隐藏文件的当前目录下的磁盘空间使用量

八、进程管理

1、什么是进程

  1. 在Linux中,每个程序都有自己的一个进程和一个进程号(类似Windows的PID)
  2. 每个进程都存在一个父进程
  3. 进程有两种存在方式:前台运行和后台运行
  4. 一般服务类进程都是后台运行,基本的业务程序则是前台运行

2、进程管理相关命令

ps命令:查看当前系统上正在运行的各种进程信息

参数:

  • -a:显示当前终端运行的所有进程的信息
  • -u:以用户的信息显示进程
  • -x:显示后台运行进程的参数
  • -ef:可以查看父进程的信息,一般会搭配grep命令来使用(但我们有pstree命令这种更好的选择)

常用命令: ps -aux 可以查看当前所有的进程,一般会搭配grep命令来使用

补充:在Linux系统中 | 符号被当作管道符,如A|B,所谓管道符就是把A查询到的信息,传入到B中进行操作,|相当于一个管道

grep命令:查找符合条件的字符串,常与ps命令搭配查找想要查看的进程信息

如:ps -aux|grep mysql,则可以查看与mysql相关的进程信息

pstree命令:可以查看进程树结构目录

参数:

  • -u:显示用户组
  • -p:显示父id

常用命令:pstree -up

kill命令:强制结束进程

命令语法:kill -9 进程id,-9参数是固定的,必须要有

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐