第五章-Linux实操篇


title: 第五章 Linux实操篇
categories:

  • Linux
    tags:
  • linux
    typora-root-url: …
    abbrlink: 93414991
    date: 2019-08-15 15:27:58

原文地址

第五章 Linux实操篇 远程登录Linux系统

5.1 为什么要远程登录服务器

5.2 xhell5(windows)远程登录软件

  • 需要Linux开启sshd服务 22端口

5.3 xftp 远程文件操纵

第六章 Linux实操篇 vi和vim编辑器

6.1 vi 和vim介绍

vi是系统自带的文本编辑器

vim是vi的增强版

6.2 三种模式

6.2.1 正常模式

正常模式下,我们可以使用快捷键

6.2.2 插入模式

在该模式下,程序员可以输入内容

6.2.3 命令行模式

完成读取、存盘、替换、显示行号等动作

6.3 快速入门

yy 复制

dd 删除

u撤销

set nu 设置行号 set nonu 取消行号

shift+g 定位 eg: 5 shift+g 定位到第5行


第七章 Linux实操篇 开机、重启、用户登录注销

7.1 关机和重启指令

shutdown

  • shutdown - h now
  • shutdown -h 1 表示1分钟后关机
  • shutdown -r now 立即重启

halt

  • 直接使用,效果等价于关机

reboot

  • 重启系统

sync

  • 把内存的数据同步到磁盘

关机或重启时,先执行sync指令,把内存写入磁盘

7.2 用户登录和注销

  • 一般不直接用root登录

logout

用户注销

使用细节

logout注销指令在图形界面无效,在运行级别3下有效


第八章 Linux实操篇 用户管理

8.1 基本介绍

  • 用户
    • root
    • leeyf其他用户
  • 用户组
    • root
    • group其他组
  • 用户家目录:
    • /home 目录下有各个创建的用户对应的家目录,当用户登录时,会自动进入到自己的家目录

说明

  • Linux系统是一个多用户多任务的操作系统,任何一个使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以该账号进入系统
  • Linux的用户需要至少属于一个组

8.2 添加用户

8.2.1基本语法

useradd

8.2.2 案例

useradd leeyf //添加用户leeyf 默认创建group leeyf

8.2.3 细节说明

创建成功后,会自动创建和用户同名的家目录

可通过useradd -d 指定目录,创建新用户,并指定家 目录

8.3 修改密码

passwd 用户名 //修改密码

8.4 删除用户

8.4.1 基本语法

userdel 用户名 //删除用户保留用户主目录
userdel -r 用户名 //删除用户及用户主目录

8.4.2细节说明

是否保留家目录?

删除用户时,一般不会删除家目录

8.5 查询用户信息

8.5.1 基本语法

id 用户名

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lyo2GTlL-1571913902523)(/pic/4-1569569340608.png)]

8.5.2 细节说明

当用户不存在,返回无此用户

8.6 切换用户

8.6.1 基本语法

su - 切换用户名
exit //返回到原来用户 或者ctrl+D 退出当前用户

8.7 查询当前用户

whoami / who am i  

8.8 用户组

8.8.1 介绍

  • 类似于角色,系统可以对有共性的多个用户进行统一的管理

8.8.2 增加组

groupadd 组名 //创建组

8.8.3 删除组

groupdel 组名 //删除组

8.8.4 增加用户直接指定组

useradd -g 用户组 用户名

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bsPK73Ko-1571913902525)(/pic/5-1569569340608.png)]

8.8.5 修改用户的组

usermod  -g 用户组 用户名 /将用户改组

8.9 用户配置文件

/etc/passwd  //用户配置文件

/etc/group  //组胚子文件

/etc/shadow //口令配置文件(密码和登录信息)加密

8.9.1 /etc/passwd

leeyf:x:1000:1000::/home/leeyf:/bin/bash
用户名:加密密码:用户id:用户组id::家目录:shell路径

8.9.2 /etc/group

leeyf:x:1000
组名:口令组标识符:组id:组内用户列表(隐藏)

第九章 Linux实操篇 实用指令

9.1 运行级别

9.1.1 介绍

级别 含义
0 关机
1 单用户(找回密码)
2 多用户无网络服务
3 多用户有网络服务
4 保留
5 图形界面
6 重启

9.1.2 配置文件

/etc/inittab
id:5:initdefault 这行中的数字为运行级别

9.2 切换指定运行级别

init [012356]

面试题:如何找回丢失的root密码

解题思路:进入单用户

//centos7
引导界面
e 进入编辑界面
ro 改 rw 
删除 rhjb quite
utf8 后 + init/bin/sh
ctrl+x 执行进入单用户
passwd root
如果乱码 LANG=en
修改后
touch /.autorelabel
然后重启

9.3 帮助指令

9.3.1 介绍

当我们对某个指令不熟悉时,我们可以使用Linux提供的帮助指令来了解指令的使用方法。

9.3.2 man

  • man [命令或者配置文件]

9.3.3 help

  • help [命令或者配置文件]

9.3.4 百度更直接

9.4 文件目录类

9.4.1 pwd指令

  • 基础语法
    • pwd (显示当前目录绝对路径)

9.4.2 ls指令

  • 基础语法
    • ls [选项] [目录或文件]
      • -a ,显示当前目录所有文件和目录,包括隐藏
      • -l ,以列表的方式显示信息
      • 更多选项 man ls查看

9.4.3 cd指令

  • 基础语法
    • cd [参数] [路径]
    • 常用参数:
      • 绝对路径和相对路径
        • 绝对 :/ 开始
        • 相对:从当前位置开始
      • cd ~ 回到家目录
      • cd .. 回到当前目录的上一级目录

9.4.4 mkdir指令&rmdir指令

  • 基础语法
    • mkdir [选项] 要创建的目录
    • rmdir [选项] 要删除的空目录
  • 常用选项
    • -p 创建多级目录
  • 删除非空目录
    • rm -rf 目录

9.4.5 touch 指令

  • 基础语法
    • touch 文件名称 创建空文件
    • touch [文件1,文件2] 可一次性创建多个文件

9.4.6 cp 指令

  • 拷贝指令
  • 基础语法
    • cp [选项] source dest
  • 常用选项
    • -r 递归复制整个文件夹
  • 强制覆盖
    • /cp 直接覆盖

9.4.7 rm指令

  • rm 移除文件或目录
  • 基本语法
    • rm [选项] 文件或目录
  • 常用选项
    • -r 递归删除整个文件夹
    • -f 强制删除不提示

9.4.8 mv指令

  • mv 移动文件与目录或重命名
  • 基本语法
    • mv oldNameFile newNameFile 重命名
    • mv /temp/movefile /targetFolder 移动文件

9.4.9 cat指令

  • 查看文件内容
  • 基础语法
    • cat [选项] 内容
  • 常用选项
    • -n 显示行号
  • 常用法
    • cat [选项] 内容 | more 以cat打开文件,并使用分页显示

9.4.10 more指令

  • 基于vi编辑器的文本过滤器,以全屏幕的方式按页显示内容

  • 基础语法

    • more 要查看的文件
  • 内置快捷键

    快捷键 功能
    空白键space 向下翻一页
    Enter 向下翻一行
    q 立即离开more,不再显示文件内容
    ctrl+F 向下滚动一屏
    ctrl+B 返回上一屏
    = 输出当前行号
    f 输出文件名和当前行的行号

9.4.11 less指令

  • 分屏查看文件内容,功能与more相似,但比more强大。

    less在显示文件内容时,并部署一次将整个文件加载之后再显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率

    操作 功能说明
    空白键 向下移动一页
    [pagedown] 向下翻动一页
    [pageup] 向上翻动一页
    /字串 向下搜寻[字串],n向下查询,N向上查询
    ?字串 向上搜寻[字串],n向上查询,N向下查询
    q 离开less程序

9.4.12 >指令和 >>指令

  • > 输出重定向 和 >> 追加
    • > 覆盖原来内容
    • >> 追加内容在原文件
  • 基本语法
    • ls -l > 文件 列表的内容写入文件中
    • ls -al >> 文件 列表的内容追加到文件的末尾
    • cat 文件1 > 文件2 将文件1的内容覆盖到文件2
    • echo "内容" >> 文件

9.4.13 echo指令

  • 输出内容到控制台
  • echo [选项] [输出内容]
  • echo $PATH 输出环境变量

9.4.14 head指令

  • 用于显示文件的开头部分内容,默认情况head指令显示文件的前10行内容
  • 基本语法
    • head 文件 查看文件头10行内容
    • head -n 5 查看文件头5行内容

9.4.15 tail指令

  • 用于输出文件尾部的内容,默认情况下tail 显示文件的后10行内容
  • 基本语法
    • tail 文件 查看文件后10行内容
    • tail -n 5 文件 查看文件后5行内容
    • tail -f 文件 实时追踪该文档的所有更新

9.4.16 ln指令

  • 软链接~符号链接 ,主要存放了链接其他文件的路径

  • 基本语法

    • ln -s [原文件或目录] [软链接名] 给原文件创建一个软链接
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H52YgVw0-1571913902526)(/pic/6-1569569340608.png)]

    • 删除软链接

      rm -rf LinkToROot
      
      
  • 当用pwd查看目录时,仍然是软链接所在目录

9.4.17 history指令

  • 查看已经执行过历史命令,也可以执行历史指令

  • 基本语法

    • history   
      
      
  • history显示所有执行过的所有历史指令

  • history 10 显示最近执行过的10个指令

  • !10 执行历史指令中编号为10的指令

9.5 时间日期类

9.5.1 date指令

9.5.1.1 显示当前日期

  • 基本用法
    • date 显示当前时间
    • date +"%Y" 显示当前年
    • date +"%m"显示当前月
    • date +"%d"显示当前日
    • date +"%Y-%m-%d-%H%M%S" 显示年月日时分秒

9.5.1.2 设置系统时间

  • 基本语法
    • date -s 字符串时间

9.5.2 cal 指令

  • 查看日历指令
  • 基本语法
    • cal [选项] 不加选项,显示本月日历
    • cal 2020 显示 2020年日历

9.6 搜索查询类

9.6.1 find指令

  • 从指定目录向下递归遍历各个子目录,将满足条件的 文件或目录显示在终端

  • 基本语法

    • find [搜索范围] [选项]
  • 选项说明

    • -name <查询方式> 按照指定的文件名查找模式或文件
    • -user<用户名> 查找属于指定用户名的所有文件
    • -size<文件大小> 按照指定的文件大小查找文件

    find / -size +20M 查找大于20M的文件

    find / -size -20M 查找小于20M的文件

9.6.2 locate指令

  • 快速定位文件路径。locate指令利用事先建立的系统中所有的文件名称及路径的locate数据库实现快速定位给定的文件。
  • 为了保证查询结果的准确度,管理员必须顶起更新locate时刻
  • 由于locate基于数据库进行查询,所以第一次运行前,使用updatedb指令创建locate数据库
  • 基本语法
    • locate 查询文件

9.6.3 grep指令和管道符号|

  • 过滤查找。 管道符号"|",表示将前面的命令结果交给后面的命令处理
  • 基本语法
    • grep [选项] 查找内容的源文件
  • 常用选项
    • -n 显示匹配行及行号
    • -i 忽略字母大小写

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l8IxdSUD-1571913902527)(/pic/7-1569569340608.png)]

9.7 压缩跟解压缩类

9.7.1 gzip/gunzip指令

  • 基本语法
    • gzip 文件 压缩为 *.gz文件
    • gunzip 文件 解压缩 将*.gz 文件解压
  • 细节说明
    • 使用gzip压缩后不会保留原文件

9.7.2 zip/unzip指令

  • zip用于压缩,unzip用于解压
  • 基本语法
    • zip [选项] xxx.zip 要压缩的内容 压缩文件和目录
    • unzip [选项] xxx.zip 解压缩文件
  • 常用选项
    • zip -r 递归压缩,压缩目录
    • unzip -d 目录 指定解压缩后文件的存放目录

9.7.3 tar指令

  • 打包指令
  • 基本语法
    • tar [选项] xxx.tar.gz打包内容
  • 选项说明
    • -c产生tar打包文件
    • -v显示详细信息
    • -f指定压缩后的文件名
    • -z打包同时压缩
    • -x解包tar文件
  • tar -zcvf a.tar.gz 要压缩的文件 压缩打包
  • tar -zxvf a.tar.gz 解压打包

第十章 Linux实操篇 组管理和权限管理

10.1 Linux组基本介绍

  • 每个用户必须属于一个组,不能独立于组外,在linux中每个文件有所有者、所在组、其他组的概念

10.2 文件/目录的所有者

10.2.1 查看所有者

  • 基本语法
    • ls -ahl查看文件的所有者

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IDQwgSEv-1571913902527)(/pic/8-1569569340608.png)]

10.2.2 修改文件所有者

  • 基本语法
    • chown 用户名 文件名 修改文件所有者

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jz2JdJbv-1571913902528)(/pic/9-1569569340608.png)]

10.3 组的创建

10.3.1 创建组

  • 基本语法
    • groupadd 组名

10.3.2 创建指定组的用户

  • 基本语法
    • useradd -g 组名 用户名

10.4 文件或者目录所在组

  • 当用户创建文件后,用户所在组就是文件所在组

10.4.1 查看所有组

  • 基本语法
    • ls-ahl

10.4.2 修改所在组

  • 基本语法
    • chgrp== 用户组 文件名

10.5 改变用户所在组

10.5.1 改变用户所在组

  • 基本语法
    • usermod -g 组名 用户名

10.5.2 改变用户登录的初始目录

  • 基本语法
    • usermod -d 目录名 用户名

10.6 权限管理

10.6.1 基本介绍

10.6.1.1 文件类型

  • ----------
类型 定义
- 普通文件
d 目录
l 链接文件
c 字符设备【键盘、鼠标】
b 块文件【硬盘】

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SKyintV9-1571913902528)(/pic/11-1569569340608.png)]

10.6.1.2 所有者权限

  • ------- 1 root root 148 Aug 20 11:58 a.txt
类型 定义
r
w
x 执行

10.6.1.3 所在组权限

  • ----— 1 root root 148 Aug 20 11:58 a.txt
类型 定义
r
w
x 执行

10.6.1.4 其他组用户权限

  • ------- 1 root root 148 Aug 20 11:58 a.txt
类型 定义
r
w
x 执行

10.6.1.5 num

  • ---------- 1 root root 148 Aug 20 11:58 a.txt
    • 1 如果是文件代表 硬链接的数目
    • 1 如果是目录代表 该目录子目录的个数

10.6.1.6 size

  • ----------1 root root 148 Aug 20 11:58 a.txt
    • 148 代表文件大小
    • 如果是目录大小为4096

10.6.1.7 time

  • ---------- 1 root root 148 Aug 20 11:58 a.txt
    • Aug 20 11:58 最后修改时间

10.6.1.8 name

  • ----------1 root root 148 Aug 20 11:58 a.txt
    • a.txt 文件名

10.6.2 详解rwx权限

10.6.2.1 rwx作用到文件

符号 代表
r 读取查看
w 可以修改,不代表可以删除(删除条件对该文件所在目录有写权限,才能删除)
x 代表可以被执行

10.6.2.2 rwx作用在目录

符号 代表
r 可读取
w 可以修改,目录内创建+删除+重命名目录
x 可以进入目录

10.6.3 权限管理-chmod

10.6.3.1 通过chmod指令,可以修改文件或目录的权限

  • 第一种 + - = 变更权限
符号 含义
u 所有者
g 所有组
o 其他人
a 所有人(u,g,o)
  • 基本用法
    • chmod u=rwx,g=rx,o=x 文件目录名
    • chmod o+w 文件目录名
    • chmod a-x 文件目录名
  • 案例
    • 给abc文件的所有者 读写执行 的权限,给所在组 读执行权限 ,给其他组读执行权限
      • chmod u=rwx,g=xr,o=xr abc
    • 给abc文件的所有者除去执行的权限,增加组写的权限
      • chmod u-x,g+w abc
    • 给abc文件的所有用户添加读的权限
      • chmod a+r abc

10.6.3.2 通过数字变更权限

规则 :r=4 w=2 x=1 rwx=4+2+1=7

chmod u=rwx,g=rx,o=x 文件目录

相当于 chmod 751 文件目录

10.6.4 修改文件所有者&所有组

10.6.4.1 改变文件所有者-chmod

  • chown newowner file 改变文件所有者
  • chown newowner:newgroup file 改变用户的所有者和所有组
  • -R 如果是目录,择使其下所有子文件或目录递归生效

10.6.4.2 改变文件所有组-chgrp

  • chgrp newgroup file 改变文件的所有组
  • -R 如果是目录,择使其下所有子文件或目录递归生效

10.7实践–警匪游戏

police ,bandit

jack,jerry: 警察
xh,xq:土匪
1.创建组
2.创建用户
3.jack 创建一个文件,自己可以读写,本组人可以读写,其他组没有任何权限
4.jack修改该文件,让其他组可以读,本组人可以读写
5.xh投靠警察,查看是否可以读写

groupadd police //创建组
groupadd bandit  //创建组

useradd -g police jack //创建用户并指定组
useradd -g police jerry 
useradd -g bandit xh
useradd -g bandit xq
passwd 用户 //给所有用户添加密码

touch a.txt //创建文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OM9VeMz3-1571913902529)(/pic/12-1569569340608.png)]

chmod o-r a.txt

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qIsljzWN-1571913902530)(/pic/13-1569569340608.png)]

chmod o+r,g+rw a.txt

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2NR86yn3-1571913902531)(/pic/14-1569569340608.png)]

usermod -g police xh //改变xh所在组

chmod g=rx jack //给所在组 r x权限

第十一章 Linux实操篇 定时任务调度

11.1 crond 任务调度

  • 任务调度,指系统在某个时间执行的特定的命令或程序
  • 分类
    • 1.系统工作,重要工作必须周而复始的执行
    • 个别用户工作
  • 基本语法
    • crontab [选项]
  • 常用选项
    • -e编辑定时任务
    • -l查看定时任务
    • -r删除当前用户所有定时任务
    • service crond restart 重启任务调度
  • 参数细节说明
    • */ * * * * * 指令
项目 含义 范围
第一个’*’ 一小时中的第几分钟 0-59
第二个* 一天中的第几个小时 0-23
第三个* 一个月当中的第几天 1-31
第四个* 一年当中的第几个月 1-12
第五个* 一周中的星期几 0-7(07是周天)
  • 特殊说明
特殊符号 含义
* 代表任何时间。比如第一个※代表一个消失中每分钟都执行一次的意思
代表不连续的时间。比如’0 8,12,16 * * * 命令’,代表在每天的8点0坟,12点0分,16点0分都执行一次命令
- 代表连续的时间范围。比如’0 5 * * 1-6 命令’,代表在周一到周六的5点0分执行命令
*/n 代表每隔多久执行一次。比如’*/10 * * * * 命令’,代表每隔10分钟执行一次命令
  • 应用实例
    • 案例1:每隔1分钟,将当前时间信息,追加到/tmp/mydate文件中
      • */1 * * * * date>> /tmp/mydate

第十二章 Linux实操篇 Linux磁盘分区和挂载

12.1 分区基础知识

12.1.1 mbr分区

  • 最多支持四个主分区
  • 系统只能安装在主分区
  • 扩展分区要占一个主分区
  • MBR最大只支持2TB,但是拥有最好的兼容性

12.1.2 gtp分区

  • 支持无限多个主分区(操作系统可能限制,Windows下最多128个分区)
  • 最大支持18EB的大容量(1EB=1024PB,1PB=1024TB)
  • Windows7 64以后支持gtp

12.2分区介绍

12.2.1 windows分区

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kjLF69kC-1571913902531)(/pic/15-1569569340608.png)]

12.2.2 Linux分区

  • 原理介绍
    • Linux无论有几个分区,分给哪个目录使用,归根结底只有一个根目录。一个独立且唯一的文件结构,每个分区都用来组成整个文件系统的一部分。
    • 采用一种"载入"的处理方式,整个文件系统中包含了一整套文件和目录,且将一个分区和一个目录联系起来,这是要载入的一个分区将使用它的存储空间在一个目录下获得
  • 示意图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wLSJmk46-1571913902532)(/pic/16-1569569340608.png)]

12.3 硬盘说明

  • 硬盘分为IDE和SCSI硬盘,目前基本是SCSI硬盘
  • 对于IDE硬盘,驱动器标识符为’hdx’,hd标明分区所在设备类型x为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从盘),’~'代表分区,前四个分区用数字1到4表示,他们为主分区或者扩展分区,从5开始为逻辑分区。hda3为第一个IDE盘上第三个主分区或者扩展分区,hdb2表示第二个IDE盘上的第二个主分区或扩展分区。
  • 对于SCSI硬盘则标识为’sdx’,其他标识跟IDE硬盘表示方法一样
  • lsblk -f(老师不离开) 查看系统的分区和挂载情况

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L4eemzZP-1571913902533)(/pic/17-1569569340609.png)]

12.4 挂载经典案例

  • 需求 给Linux增加一块硬盘,挂载到/home/newdisk
  • 虚拟机添加硬盘
  • 分区 fdisk /dev/sdb
  • 格式化 mkfs -t ext4 /dev/sdb x
  • 挂载 先创建一个目录 /home/newdisk, 挂载 ,mount /dev/sdbx /home/newdisk
  • 设置自动挂载 vim /etc/fstab
    • /dev/sdbx /home/newdisk ext4 defaults 0 0
  • 断掉挂载 umount /dev/sdb1

12.5 查询系统整体磁盘使用情况

12.5.1 df指令

  • 基本语法
    • df -lh

12.5.2 du指令

  • 基本语法
    • du -h /目录
  • 选项
    • -s指定目录占用大小汇总
    • -h带计量单位
    • -a含文件
    • --max-depth=1 子目录深度
    • -c 列出明细同时,增加汇总值
  • 应用实例
    • 查询/opt目录的磁盘占用情况,深度为1

12.6 磁盘情况-工作实用指令

  • 统计/home文件夹下文件的个数
    • ls -l /home/leeyf | grep '^-' | wc -l
    • ls 列出来
    • grep 过滤 - 打头的文件
    • wc统计
  • 统计/home下面目录的个数
    • ls -l /home/leeyf | grep '^d' | wc -l
  • 统计/home文件夹下文件的个数,包括子文件夹里的
    • ls -lR /home/leeyf | grep '^-' | wc -l
    • -R 递归
  • 统计文件夹下目录的个数
    • ls -lR /home/leeyf | grep '^d' | wc -l
  • 用树状图显示目录结构
    • tree 目录

第十三章 Linux实操篇 网络配置

13.1 Linux网络配置原理图(含虚拟机)

  • 目前的网络配置采用NAT模式

NAT模式(网络环境)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-86iCGjaC-1571913902533)(/pic/18-1569569340609.png)]

13.2 查看网络ip跟网关

  • ifconfig

13.3 测试网络联通

  • ping

13.4 Linux 网络环境配置

  • 自动获取(获取的ip可能不一样)不适用于做服务器
  • 修改配置文件指定ip
    • 直接修改配置文件来指定ip,并且可以连接到外网
    • 编辑 vim /etc/sysconfig/network-scripts/ifcfg-eth0
    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ST15eAEE-1571913902534)(/pic/19-1569569340609.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pri7eJxn-1571913902535)(/pic/20-1569569340609.png)]

第十四章 Linux实操篇 进程管理

14.1 基本介绍

  • Linux中每个执行的程序都称为一个进程,都分配一个ID号
  • 每一个进程都对应一个父进程,而父进程可以复制多个进程
  • 每个进程都可能以两种方式存在,前台与后台
  • 一般 系统的服务都是以后台运行的,常驻在后台,直到关机结束

14.2 ps指令

  • 显示系统执行的进程
  • 基本语法
    • ps -a:显示当前终端的所有进程信息
    • ps -u:以用户个事显示进程信息
    • ps -x:显示后台进程运行的参数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1sqKU10N-1571913902536)(/pic/21-1569569340609.png)]

  • ps -aux |grep xxx过滤查询
  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NyWeBWOy-1571913902536)(/pic/22-1569569340609.png)]
  • ps -ef 查看父进程
    • e 显示所有进程
    • f 全格式

14.3 终止进程kill 和killall

  • kill [选项] PID 强制终止进程通过进程号
  • killall 进程名称 通过进程名称杀死进程,也支持通配符,这在系统过载而变得很慢时很有用
  • 常用选项
    • -9强迫进程立即停止
  • 案例
    • 踢掉某个非法登录的用户
      • 查询 ps -aux |grep sshd
      • kill -9 非法用户进程
    • 终止远程登录服务
      • kill sshd的服务

14.4 查看进程树 pstree

  • 语法
    • pstree [选项] 更加直观的查看进程信息
  • 选项
    • -p显示进程的PID
    • -u 显示进程的所属用户

14.5 服务管理

  • 介绍
    • 本质是进程,但是运行在后台,通常会监听某个端口,等待其他程序的请求,因此我们又称为守护进程,是Linux中重要的知识点
  • 原理图
    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a19fU4oJ-1571913902537)(/pic/23-1569569340609.png)]
  • 指令
    • service 服务名 【start|stop| restart| reload | status】
    • CentOS7.0以后 使用 systemctl 代替 service

14.5.1 telnet 指令

  • 检查Linux的某个端口是否在监听,并且可以访问
  • 语法
    • telnet ip 端口号

14.5.2 chkconfig指令

  • 通过chkconfig命令可以给各个运行级别设置自启动/关闭
  • 基本语法
    • 查看服务 chkconfig --list|grep xxx
    • chkconfig 服务名 --list
    • chkconfig --level 5 服务名 on/off

14.6 动态监控进程

14.6.1 top指令

跟ps相似,top在执行一段时间可以更新正在运行的进程

  • 基础语法
    • top [选项]
  • 选项
    • -d 秒数 指定top命令每隔几秒更新,默认是秒在top命令的交互模式当中可以执行的命令
    • -i 使top不显示僵死或者闲置的进程
    • -p 通过指定监控进程ID来仅仅监控某个进程的状态
  • 交互操作说明
    • p 以CPU使用率排序,默认此项
    • M 以内存的使用率排序
    • N 以PID排序
    • q 退出top

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4ciEft2Z-1571913902538)(/pic/24-1569569340609.png)]

14.5 监控网络状态

14.5.1 netstat指令

  • 基本语法
    • netstat [选项]
  • 选项
    • -an 按一定顺序排列输出
    • -p 显示哪个进程在调用

你可能感兴趣的:(Linux)