CentOS简单上手——第五篇

系列篇:

1. crond 任务调度

crond 进行定时任务的设置

1.1 概述

  • 任务调度:是指系统在某个时间段执行的特定的命令或程序
  • 任务调度分类:
  1. 系统工作:有些重要的工作必须周而复始地执行,如病毒扫描等
  2. 个别用户工作:个别用户可能希望执行某些程序,比如对 mysql 数据库的备份。

1.2 基本语法

crontab 【选项】

1.3 常用选项

在这里插入图片描述

1.4 快速入门

设置任务调度文件:/etc/crontab
设置个人任务调度:执行 crontab -e 命令
接着输入任务到调度文件
如:*/1 * * * * ls -l /etc/ >> /tmp/to.txt
意思说每小时的每分钟执行 ls -l /etc/ >> /tmp/to.txt 命令

1.4.1 演示案例

首先设置个人任务调用,终端输入:crontab -e进入编辑模式
在这里插入图片描述
在这里插入图片描述
然后我们等待1分钟后进入 /tmp/目录下发现出现了 ok.txt 文件
在这里插入图片描述
然后我们查看此文件的内容,发现正是 ls -l 指令输出的内容
在这里插入图片描述

1.4.2 参数细节说明

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.5 任务调度的几个案例

  1. 每隔1分钟,就将当前的日期信息,追加到 /tmp/mydate 文件中
  • 先编写一个文件 /home/mytask1.sh
    date >> /tmp/mydate
  • 给 mytask1.sh 一个可执行权限
    chmod 744 /home/mytask1.sh
  • crontab -e 编辑
*/1 * * * *  /home/mytask1.sh
  • 成功
  1. 每隔1分钟,将当前日期和日历都追加到 /home/mycal 文件中
  • 先编写一个文件 /home/mytask2.sh
    date >> /tmp/mycal
    cal >> /tmp/mycal
  • 给 mytask1.sh 一个可执行权限
    chmod 744 /home/mytask2.sh
  • crontab -e 编辑
*/1 * * * *  /home/mytask2.sh
  • 成功
  1. 每天凌晨 2:00 将 mysql 数据库 testdb,备份到文件中。

1.6 crond 相关指令

  • crontab -r:终止任务调度
  • crontab -l:列出当前有哪些任务调度
  • service crond restart:【重启任务调度】

2. Linux 磁盘分区介绍

2.1 分区的方式

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

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

2.2 windows 磁盘分区示意图

在这里插入图片描述

2.3 Linux 分区

2.3.1 原理介绍

  • Linux 来说无论有几个分区,分给哪一目录使用,它归根结底只有一个根目录,一个独立且唯一的文件结构,Linux 中每个分区都是用来组成整个文件系统的一部分。
  • Linux 采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录练习起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。
  • 示意图
    在这里插入图片描述

2.3.2 硬盘说明

  • Linux 硬盘分为 IDE 硬盘和 SCSI 硬盘,目前基本上是 SCSI 硬盘
  • 对于 IDE 硬盘,驱动器标识符位 “hdx~”,其中 “hd” 表明分区所在设备的类型,这里是指 IDE 硬盘了,“x"为盘号(a 为基本盘、b为基本从属盘、c为辅助主盘、d为辅助从属盘)”~"代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区,例如:had3 表示为第一个 IDE 硬盘上的第三个主分区或扩展分区,hdb2 表示为第二个 IDE 硬盘上的第二个主分区或扩展分区。
  • 对于 SCSI 硬盘则标识为 “sdx~”,SCSI 硬盘是用 “sd” 来表示分区所在设备的类型的,其余则和 IDE 硬盘的表示方法一样。

2.3.3 使用 lsblk 指令查看当前系统的分区情况

在这里插入图片描述

2.4. 挂载的经典案例

需求是给我们的 Linux 系统增加一个新的硬盘,并且挂载到 /home/newdisk
在这里插入图片描述

2.4.1 如何增加一块硬盘

1.虚拟机添加硬盘
2.分区 【分区指令 fdisk /dev/sdb】
3.格式化 【格式化指令 mkfs -t ext4 /dev/sdb1】
4.挂载 【挂载指令 mount /dev/sdb1 /home/newdisk】
先创建一个 /home/newdisk
【这个只是临时挂载】
5.设置可以自动挂载【永久挂载,重启系统,也不会影响到挂载】
vim /etc/fstab
/dev/sdb1 /home/newdisk ext4 defaults 0 0
mount -a

2.5 具体的操作步骤整理

2.5.1 虚拟机增加硬盘步骤 1

在【虚拟机】菜单中,选择【设置】,然后设备列表里添加硬盘,然后一路【下一步】,中间只有选择磁盘大小的地方需要修改,直到完成,然后重启系统【才能识别】!
在这里插入图片描述

2.5.2 虚拟机增加硬盘步骤 2

分区命令 fdisk /dev/sdb
开始对 /sdb 分区
m 显示命令列表
p 显示磁盘分区 同 fdisk -1
n 新增分区
d 删除分区
w 写入并推出
说明:开始分区后输入n,新增分区,然后选择p,分区类型为主分区,两次回车默认剩余全部空间。最后输入 w 写入分区并退出,若不保存退出输入q
在这里插入图片描述

2.5.3 虚拟机增加硬盘步骤 3

格式化磁盘
分区命令 mkfs -t ext4 /dev/sdb1
其中 ext4 是分区类型

2.5.4 虚拟机增加硬盘步骤 4

挂载:将一个分区与一个目录联系起来
mount 设备名称 挂载目录
umount 设备名称 挂载目录

2.5.5 虚拟机增加硬盘步骤 5

永久挂载:通过修改 /etc/fstab 实现挂载
添加完成后 【/dev/sdb1 /home/newdisk ext4 defaults 0 0】
执行 mount -a 即刻生效
在这里插入图片描述

2.6 磁盘情况查询

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

基本语法:df -lh
应用实例:查询系统整体磁盘使用情况
在这里插入图片描述

2.6.2 查询指定目录的磁盘占用情况

基本语法:du -h /目录
查询指定目录的磁盘占用情况,默认为当前目录
-s 指定目录占用大小汇总
-h 带计量单位
-a 含文件
–max-depth=1 子目录深度
-c 列出明细的同时,增加汇总值
应用实例:查询 /opt 目录的磁盘占用情况,深度为1
在这里插入图片描述

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

1.统计 /home 文件夹下文件的个数

ls -l /home | grep "^-" | wc -l

在这里插入图片描述

2.统计 /home 文件夹下目录的个数

ls -l /home | grep "^d" | wc -l

在这里插入图片描述

3.统计 /home 文件夹下文件的个数,包括子文件夹里的

ls -lR /home | grep "^-" | wc -l

4.统计文件夹下目录的个数,包括子文件夹里的

ls -lR /home | grep "^d" | wc -l

5.以树状显示目录结构
首先安装 tree,然后在进行查询

yum install tree
tree 

在这里插入图片描述

3. Linux 网络配置

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

目前我们的网络配置采用的是 NAT 模式
在这里插入图片描述

3.2 查看网络 IP 和网关

3.2.1 查看虚拟网络编辑器

在这里插入图片描述

3.2.2 修改 ip 地址(修改虚拟机的ip地址)

在这里插入图片描述

3.2.3 查看网关

在这里插入图片描述

3.2.4 查看 windows 环境的网络 Ip

  • 通过 ipconfig 查看
    在这里插入图片描述

  • 界面查看

3.3 ping 测试主机之间网络连通

3.3.1 基本语法

ping 目的主机 (功能描述:测试当前服务器是否可以链接目的主机)

3.3.2 应用实例

测试当前服务器是否可以连接百度
在这里插入图片描述

3.4 Linux 网络环境配置

3.4.1 方法一【自动获取】

说明:登陆后,通过界面的来设置自动获取 ip
在这里插入图片描述
在这里插入图片描述

特点:linux 启动后会自动获取 ip,缺点是每次自动获取的 ip 地址可能不一样。

3.4.2 方式二【指定固定 IP】

  • 说明:直接修改配置文件来指定 IP,并可以连接到外网(程序员推荐),编辑 /etc/sysconfig/network-scripts/ifcfg-eth0
    要求:将 ip 地址配置的静态的,ip 地址为 192.168.184.130
    修改后,一定要重启服务【两种方式】
  • service network restart
  • reboot 重启机器

4 Linux 进程管理

4.1 Linux 进程基本介绍

1.在Linux中,每个执行的程序、代码都称为一个进程,每一个进程都分配一个ID号。
2.每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程,例如www服务器。
3.每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。
4.一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中, 直到关机才结束。

4.2 显示系统执行的进程

说明:查看进程使用的指令是:ps,一般来说使用的参数是:ps -aux
在这里插入图片描述
在这里插入图片描述

4.2.1 ps 指令详解

  1. 指令:ps -aux | grpe xxx
  2. 指令说明:
    • System V 展示风格
    • USER:用户名称
    • PID:进程号
    • %CPU:进程占用CPU的百分比
    • %MEM:进程占用物理内存的百分比
    • VSZ:进程占用的虚拟内存大小(单位:KB)
    • RSS:进程占用的物理内存大小(单位i:KB)
    • TT:终端名称缩写
    • STAT:进程状态,S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止。
    • STARTED:进程的启动时间
    • TIME:CPU时间,即进程使用CPU的总时间
    • COMMAND:启动线程所用的命令和参数,如果过长会被截断显示

4.2.2 应用实例

要求:以全格式显示当前所有的进程,查看进程的父进程。
在这里插入图片描述

  • ps -ef 是以全格式显示当前所有的进程
  • -e 显示所有的进程。-f 全格式
  • ps -ef | grep xxx
    • 是BDS风格
    • UID:用户ID
    • PID:进程ID
    • PPID:父进程ID
    • C:CPU用于计算执行优先级的因子,数值越大,表明进程是CPU密集型运算,执行优先级会降低,数值越小,表明进程是I/O密集型运算,执行优先级会提高
    • STIME:进程启动的时间
    • TTY:完成的终端名称
    • TIME:CPU时间
    • CMD:启动进程所用的命令和参数

4.3 终止进程 kill 和 killall

4.3.1 基本介绍

若是某个进程执行一半需要停止时,或是已经消耗了很大的系统资源,此时可以考虑停止该进程,使用 kill 命令来完成此项任务。

4.3.2 基本语法

kill 【选项】 进程号(功能描述:通过进程号杀死进程)
killall 进程名称(功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)

4.3.3 常用选项

-9 :表示强迫进程立即停止

4.3.4 最佳实践

  1. 踢掉某个非法登陆用户

在这里插入图片描述

  1. 终止远程登陆服务 sshd,在适当时候再次重启 sshd 服务

在这里插入图片描述

  1. 终止多个 gedit 编辑器【killall,通过进程名称来终止进程】
killall gedit
  1. 强制杀掉一个终端【】
kill -9 进程号

在这里插入图片描述

4.4 查看进程树 pstree

4.4.1 基本语法

pstree 【选项】 可以更直观的来看进程信息

4.4.2 常用选项

-p:显示进程的 PID
-u:显示进程的所属用户

4.4.3 应用实例

  1. 请以树状的形式显示进程的 pid

在这里插入图片描述

  1. 请以梳状的形式显示进程的用户 id
    在这里插入图片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章