Linux 运维知识梳理(1)运维基本功
2021/10/13 7:16:09
本文主要是介绍Linux 运维知识梳理(1)运维基本功,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 一、Linux 操作系统基础
- 1、Linux 相较于 Windows 系统有哪些优点
- 2、Linux 常见版本分支有哪些
- 3、Linux 进程文件存放在那里
- 4、Linux 如何给系统添加一个新硬盘
- 5、Linux 下 /bin 与 /sbin 的区别
- 6、Linux 如何切换到上一次的工作目录
- 7、Linux 中延迟关机方法
- 8、Linux 中设置主机名方法
- 9、Linux 中 swap 分区的作用是什么
- 二、Linux 文件管理
- 1、如何快速创建 100 个文件或目录
- 2、不解包查看 tar 包中的内容
- 3、往 tar 包中追加文件
- 4、vim 对文本内容进行替换
- 5、vim 显示/取消行号
- 6、vim 粘贴代码清除逐行累加的缩进
- 7、vim 可视模式下复制粘贴
- 8、vim 可视模式添加、取消注释
- 9、vim 代码着色设置
- 10、使用 cat 将文件内容合并
- 11、more 与 less 区别
- 12、输出重定向
- 三、Linux 用户管理
- 1、用户组
- 2、用户
- 3、锁定/解锁用户
- 四、Linux 管道符详解
- 1、标准输入/标准输出/错误输出
- 2、管道符功能
- 3、xargs 命令拓展
- 五、Linux 网络配置
- 1、网络相关硬件
- 2、netstat 中的网络状态
- 3、VMware 的网络模式
- 4、网卡基本信息
- 5、网卡配置文件
- 6、systemctl 控制网卡状态
- 7、查看网卡是否插好
- 8、路由表
- 六、Linux 系统服务
- 1、CentOS 6 与 CentOS 7 系统管理命令的区别
- 2、systemctl 命令详解
- 3、CentOS 7 下软件的安装方式
- 4、RPM 包管理器
- 5、ntpd 时间同步服务
- 6、firewalld 防火墙
- 7、crond 定时任务
- 8、at 一次性任务
- 七、Linux 进程管理
- 1、查看 CPU 的核数
- 2、进程的优先级
- 3、top 快捷键
一、Linux 操作系统基础
1、Linux 相较于 Windows 系统有哪些优点
① 性能问题:Windows 操作系统性能不如 Linux 系统高。
② 稳定性问题:Linux 系统比 Windows 系统更稳定,可以运行长达几年而不关机。Linux 底层源代码开源。
③ 安全性问题:Linux 系统相较于 Windows 系统更加安全。
④ 远程管理:Windows 远程管理不如 Linux 方便。
⑤ 资源利用率:Windows 较多资源用于图像渲染,资源利用率差,而 Linux 系统大多没有图形化界面。
2、Linux 常见版本分支有哪些
① redhat(企业版)、centos(社区版-最常用)
② ubuntu(个人用户常用)
③ suse、debian
④ 银河麒麟、深度OS、红旗(国产系统)
3、Linux 进程文件存放在那里
Linux 的所有进程都存放在 /proc
目录中,以进程号为目录保存。
4、Linux 如何给系统添加一个新硬盘
Linux 添加新硬盘主要分为三个步骤:硬盘分区、格式化、挂载到目录
首先确定添加的硬盘名称,如下 /dev/sdb
为我新添加的硬盘,还没有分区信息
[root@192 ~]# fdisk -l 磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x0009b364 设备 Boot Start End Blocks Id System /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 41943039 19921920 8e Linux LVM 磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘 /dev/mapper/centos-root:18.2 GB, 18249416704 字节,35643392 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘 /dev/mapper/centos-swap:2147 MB, 2147483648 字节,4194304 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节
① 分区
[root@192 ~]# fdisk /dev/sdb 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 Device does not contain a recognized partition table 使用磁盘标识符 0xc7a73831 创建新的 DOS 磁盘标签。 命令(输入 m 获取帮助):n #这里既然我们是要创建一个分区,就用 n 选项。 Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p #创建主分区或者扩展分区。默认情况下我们最多可以有 4 个主分区。 分区号 (1-4,默认 1):1 #按需求输入分区编号。推荐使用默认的值 1。 起始 扇区 (2048-20971519,默认为 2048):2048 #输入第一个扇区的大小。如果是一个新的磁盘,通常选择默认值。如果你是在同一个磁盘上创建第二个分区,我们需要在前一个分区的最后一个扇区的基础上加 1。 Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):20971519 #输入最后一个扇区或者分区大小的值。通常推荐输入分区的大小。 分区 1 已设置为 Linux 类型,大小设为 10 GiB 命令(输入 m 获取帮助):w #保存更改并退出。 The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盘。
随后我们可以看到硬盘 /dev/sdb
已经有一个名为 /dev/sdb1
分区了
[root@192 ~]# fdisk -l 磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x0009b364 设备 Boot Start End Blocks Id System /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 41943039 19921920 8e Linux LVM 磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0xc7a73831 设备 Boot Start End Blocks Id System /dev/sdb1 2048 20969471 10483712 83 Linux 磁盘 /dev/mapper/centos-root:18.2 GB, 18249416704 字节,35643392 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘 /dev/mapper/centos-swap:2147 MB, 2147483648 字节,4194304 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节
② 格式化
[root@192 ~]# mkfs.ext4 /dev/sdb1 mke2fs 1.42.9 (28-Dec-2013) 文件系统标签= OS type: Linux 块大小=4096 (log=2) 分块大小=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 655360 inodes, 2620928 blocks 131046 blocks (5.00%) reserved for the super user 第一个数据块=0 Maximum filesystem blocks=2151677952 80 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632 Allocating group tables: 完成 正在写入inode表: 完成 Creating journal (32768 blocks): 完成 Writing superblocks and filesystem accounting information: 完成
③ 挂载到目录
mount /dev/sdb1 /mnt
可以看到 /mnt
目录已经被挂载了
[root@192 ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 898M 0 898M 0% /dev tmpfs 910M 0 910M 0% /dev/shm tmpfs 910M 9.4M 901M 2% /run tmpfs 910M 0 910M 0% /sys/fs/cgroup /dev/mapper/centos-root 17G 1.3G 16G 8% / /dev/sda1 1014M 151M 864M 15% /boot tmpfs 182M 0 182M 0% /run/user/0 /dev/sdb1 9.8G 37M 9.2G 1% /mnt
在 /etc/fstab
文件中添加条目以便永久启动时自动挂载。
/dev/sdb1 /mnt ext4 defaults 0 0
5、Linux 下 /bin 与 /sbin 的区别
/bin
目录下存放系统命令,普通用户和 root 用户都可执行。/sbin
保存与系统环境设置相关的命令,只有 root 用户可以使用这些命令来配置环境。
6、Linux 如何切换到上一次的工作目录
- 使用
cd -
命令可以直接回到上一次的工作目录 - 使用
cd ~
命令可以直接回到当前用户的家目录
7、Linux 中延迟关机方法
shutdown -h now # 立即关机 shutdown -h 10 # 十分钟之后关机 shutdown -c # 取消关机计划
8、Linux 中设置主机名方法
可以用 hostnamectl
命令查看当前主机名称。
[root@192 ~]# hostnamectl Static hostname: localhost.localdomain Transient hostname: 192.168.0.200 Icon name: computer-vm Chassis: vm Machine ID: 3e9a06c84a384e72b9bb51b8147906a8 Boot ID: 6305e4e798664c019add98a765175fcf Virtualization: vmware Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-1160.el7.x86_64 Architecture: x86-64
Transient hostname
为瞬态主机名称:临时主机名称,重启或关机后,名称失效。
hostnamectl --transient set-hostname redis.liuli.com
Static hostname
为静态主机名称:关机或者重启,设置的主机名仍然生效。
hostnamectl --static set-hostname redis.liuli.com
Pretty hostname
为灵活主机名称:可以设置特殊符号
hostnamectl --pretty set-hostname "liuli's server"
9、Linux 中 swap 分区的作用是什么
swap 就是 Linux 下的虚拟内存分区,它的作用是在物理内存使用完之后,将磁盘空间(也就是 swap 分区)虚拟成内存来使用,防止系统内存被程序占满,而导致系统卡死。swap 分区大小一般是物理内存的 1-2 倍。
由于 swap 空间是由磁盘划出的,磁盘的读取写入速度都比传统内存条慢,所以性能不强,不推荐长久使用 swap 分区,应及时拓展服务器内存。
二、Linux 文件管理
1、如何快速创建 100 个文件或目录
使用 {开始序号..结束序号}
来设置创建数量
# 创建目录 mkdir {1..100}_dir # 创建文件 touch file{1..100}
2、不解包查看 tar 包中的内容
tar -tf root.tar
3、往 tar 包中追加文件
tar -uf root.tar 1.txt
4、vim 对文本内容进行替换
# 替换当前行第一个满足条件的 :s/old_word/new_word # 替换当前行所有满足条件的 :s/old_word/new_word/g # 整个文本全局替换第一个满足条件的 :%s/old_word/new_word # 整个文本全局替换所有满足条件的 :%s/old_word/new_word/g
5、vim 显示/取消行号
# 显示 :set nu # 取消 :set nonu
6、vim 粘贴代码清除逐行累加的缩进
使用 vim 粘贴代码时,会出现逐行叠加的缩进,如下图:
使用 set paste
模式,可以解决这种逐行缩进
# 在粘贴代码前 :set paste # 粘贴完代码后 :set nopaste
7、vim 可视模式下复制粘贴
命令模式下:
- ctrl + v(可视块)
- V (可视行)
- v (可视)
然后按上下左右键选取要复制的内容,y 复制,p 粘贴。
8、vim 可视模式添加、取消注释
待操作文本
- 给 9-17 添加注释
:9 + 回车
:光标定位到第九行ctrl + v
:进入可视块模式- 选择
9-17
行 shift + i
: 进入编辑模式- 输入
#
号 - 按两下
ESC
键完成注释
- 取消 9-17 添加注释
:9 + 回车
:光标定位到第九行ctrl + v
:进入可视块模式- 选择
9-17
行 - 按
delete
键删除
9、vim 代码着色设置
# 开启 :syntax on # 关闭 :syntax off
10、使用 cat 将文件内容合并
cat 1.py 2.py > 3.py
11、more 与 less 区别
more
命令读取文件,是一次性将所有文件所有内容加载到内存中,如果文件较大,则有可能会产生卡顿。less
命令是more
的增强版,加载文件为一点点加载,而不是一次加载完毕。读取大文件时,效率较高。
12、输出重定向
- >:标准输出重定向:覆盖输出,会覆盖掉原先的文件内容。
- >>:追加重定向:不会覆盖原始文件内容,会在原始内容末尾继续追加
三、Linux 用户管理
1、用户组
与用户组相关的文件:/etc/group
# 添加 tester 用户组,指定 gid 为 1100 groupadd -g 1100 tester # 修改 tester 用户组名字为 testgroup groupmod tester -n testgroup # 修改 testgroup 用户组 gid 为 1010 groupmod testgroup -g 1010 # 删除 testgroup 用户组 groupdel testgroup
2、用户
与用户组相关的文件:/etc/passwd
tester:x:1001:1100:test user:/home/tester:/sbin/nologin 第一列:tester: 用户名称 第二列: x: 密码占位符 第三列: 1001: uid 第四列: 1100: gid 第五列: test user: 备注信息 第六列: /home/tester: 家目录 第七列: /sbin/nologin: 可以使用的 bash 类型
# 添加用户 tester 指定用户组 gid 为 1100,不允许登录 useradd tester -g 1100 -s /sbin/nologin -c 'test user' # 查看用户信息 id tester # 修改 tester 用户名为 testuser,并允许登录 usermod tester -l testuser -s /bin/bash # 删除用户,-r 参数,同时删除用户家目录 userdel -r testuser
3、锁定/解锁用户
# 锁定/禁止 testuser 用户登录 usermod -L testuser # 解锁/允许 testuser 用户登录 usermod -U testuser
四、Linux 管道符详解
1、标准输入/标准输出/错误输出
|
: 前面一个程序的标准输出(stdout)作为后面程序的标准输入(stdin)
0:标准输入:程序或命令需要外部的某些程序传递相应的参数,才能正常运行。
1:标准输出:程序或命令正确的输出结果,我们就称之为标准输出。
2:标准错误:程序或命令错误的输出结果,我们就称之为标准错误。
2、管道符功能
# 查找 sshd 进程 ps -ef | grep sshd # 查找 mysql 安装信息 rpm -qa | grep mysql # less 组合 cat /etc/my.cnf | less # 统计 /etc/ 目录下的文件数 ls /etc/ | wc -l
3、xargs 命令拓展
由于很多命令不支持使用管道符来传入参数,所以使用 xargs 命令来拓展管道符的使用,是所有命令都支持管道符。
# ls -l 显示 /etc 目录下的 *.conf 文件 find /etc -name '*.conf' -type f | xargs ls -l # 删除 /root 目录下 *.py 文件 find /root -name '*.py' | xargs rm -rf {}
五、Linux 网络配置
1、网络相关硬件
- 集线器(HUB)
共享带宽的设备,采用广播的形式来传输信息,可以实现多台电脑同时使用一个进线接口来上网或组成局域网。
集线器不管有多少个端口,所有端口都共享一条带宽,在同一时刻只能有两个端口传送数据,其他端口只能等待。
运作在 OSI 模型的物理层
- 交换机
独享带宽的设备,能够进行地址学习(mac地址:源端和目标端),采用存储转发的形式来交换报文。
可以隔离冲突域。因为没一个端口都有一个独占的带宽,当两个端口工作时,不影响其他端口工作。
运行在 OSI 模型的数据链路层
- 路由器
一个作用是连通不同的网络,另一个作用是选择信息传送的线路(选路)
选择通畅快捷的近路,能大大提高通信速度,减轻网络系统通信负荷,节约网络系统资源,提高网络系统畅通率,从而让网络系统发挥出更大的效益来。
路由器可以在无网络或有网络时可以让几台电脑同时互联,并且进行局域网连接。
运行在 OSI 模型的网络层
2、netstat 中的网络状态
3、VMware 的网络模式
- 网卡
VMnet0:用于虚拟 桥接 网络下的虚拟交换机
VMnet1:用于虚拟 Host-Only 网络下的虚拟交换机
VMnet8:用于虚拟 NAT 网络下的虚拟交换机
VMware Network Adapter VMnet1:Host 用于与 Host-Only 虚拟网络进行通信的虚拟网卡
VMware Network Adapter VMnet8:Host 用于与 NAT 虚拟网络进行通信的虚拟网卡
- 网络连接
桥接模式:桥接网络是指虚拟网卡通过 VMnet0 虚拟交换机和本地物理网卡进行桥接,那么物理网卡和虚拟网卡就相当于处在同一个网段,虚拟交换机就相当于现实网络中的一台交换机。所以想虚拟机也可以连接到互联网中,那么两个网卡的 IP 地址也要设置成同一个网段。
NAT 模式:会用到 VMware Network Adapter VMnet8 虚拟网卡,主机上的 VMware Network Adapter VMnet8 虚拟网卡被直接连接到 VMnet8 虚拟交换机上与虚拟网卡进行通信。VMware Network Adapter VMnet8 虚拟网卡的作用仅限于和 VMnet8 网段进行通信,它不给 VMnet8 网段提供路由功能,所以虚拟机虚拟一个 NAT 服务器,使虚拟网卡可以连接到 internet 。VMware Network Adapter VMnet8 虚拟网卡的 IP 地址是在安装 VMware 时系统指定生成的,我们尽量不要修改这个数值,否则会使主机和虚拟机无法通信。
Host-Only 模式:虚拟网络是一个全封闭的网络,它唯一能访问的就是物理真机。主机和虚拟机之间的通信是通过 VMware Network Adapter VMnet1 虚拟网卡来实现的。
4、网卡基本信息
# ifconfig ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.11 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::4d30:ec98:587b:cc03 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:18:89:d9 txqueuelen 1000 (Ethernet) RX packets 63102974 bytes 33626145608 (31.3 GiB) RX errors 0 dropped 14 overruns 0 frame 0 TX packets 36389113 bytes 147282307107 (137.1 GiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
inet 192.168.1.11: 代表 ens192 网卡的 ip 地址 netmask 255.255.255.0: 子网掩码,一般为 255.255.255.0 broadcast 192.168.1.255: 广播地址
5、网卡配置文件
网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-ens192
# 网络类型,Ethernet 以太网 TYPE="Ethernet" # IP 的获取方式,dhcp 代表自动获取,static/none 代表手动设置 BOOTPROTO="none" # 启动默认路由 DEFROUTE="yes" # 不启用 ipv4 错误检测 IPV4_FAILURE_FATAL="no" # 网卡的名称 NAME="ens192" # 网卡的唯一 UUID 编号 UUID="9c6f674b-ecd2-4ed0-bde2-415d55fc9f5b" # 设备名称 DEVICE="ens192" # 网卡是否开机启动,no 表示不启动 ONBOOT="yes" # 手动设置网卡的 IP 地址 IPADDR="192.168.1.11" # 手动设置网卡的网关地址 GATEWAY="192.168.1.1" # 手动设置网卡的 DNS 服务器地址 DNS1="192.168.1.1"
6、systemctl 控制网卡状态
# 查看网络状态 systemctl status network # 开启网卡 systemctl start network # 关闭网卡 systemctl stop network # 重启网卡 systemctl restart network
7、查看网卡是否插好
[root@localhost ~]# ethtool ens33 Settings for ens33: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Supported FEC modes: Not reported Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Advertised FEC modes: Not reported Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 0 Transceiver: internal Auto-negotiation: on MDI-X: off (auto) Supports Wake-on: d Wake-on: d Current message level: 0x00000007 (7) drv probe link Link detected: yes
8、路由表
交换、路由、路由表的概念
- 交换是指同网络访问(两台机器连接在同一交换机上,配置同网段的不同 IP 即可互相访问)
- 路由就是跨网络访问(路径选择)
- 路由表是记录路由信息的表,在 Linux 中首先是一张可见的,可更改的表,它的作用就是当数据表发送到 Linux 的时候,内核就根据这张表中记录的信息,来决定数据包接下来该怎么走。
查看路由表信息
[root@localhost ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 ens33 192.168.1.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
Destination: 目标网络 Gateway: 网关 Genmask: 子网掩码 Flags: 路由标志,U 启动状态,UG 该网关为路由器 Iface: 网卡
路由表编辑
# 增加一个默认网关 route add default gw 192.168.2.1 # 删除默认网关 route del default gw 192.168.2.1 # 增加一条到达网络 route add -net 192.168.1.0/24 dev ens33 # 删除一条到达网路 route del -net 192.168.1.0/24 dev ens33
六、Linux 系统服务
1、CentOS 6 与 CentOS 7 系统管理命令的区别
- CentOS 6 使用 service 管理(启动/停止/重启/查看)系统服务,chkconfig 来设置开机自启/关闭。
- CentOS 7 使用 systemctl 管理(启动/停止/重启/查看/开机自启/开机关闭)系统服务。
2、systemctl 命令详解
# 列出所有系统服务 systemctl list-units --type service --all # 仅列出启动的系统服务 systemctl list-units --type service # 启动 sshd 服务 systemctl start sshd.service # 停止 sshd 服务 systemctl stop sshd.service # 查看 sshd 服务状态 systemctl status sshd.service # 重载 sshd 服务 systemctl reload sshd.service # 设置 sshd 服务开机自启 systemctl enable sshd.service # 取消 sshd 服务开机自启 systemctl disable sshd.service
3、CentOS 7 下软件的安装方式
- RPM 软件安装包 ==> 软件名.rpm
- YUM 包管理器 ==> yum install -y 软件包名
- 源码安装 ==> 下载软件源码 → 编译 → 安装 (操作负责但是稳定)
4、RPM 包管理器
- 查找系统中已安装的 mysql 软件包
rpm -qa | grep mysql -q:query,查询操作 -a:all,代表所有
- 卸载已安装的 mysql 软件包
rpm -e mysql --nodeps --nodeps:强制卸载
- 安装 mysql 软件包
rpm -ivh mysql.rpm -i:install,安装 -v:显示进度条 -h:以 '#' 形式显示进度条
- 升级 mysql 软件包
rpm -Uvh mysql5.7.rpm -U:Update,升级
- 查找文件所属那个软件包
rpm -qf /etc/my.cnf
- 查询安装完成后生成了那些文件
rpm -ql mysql-community-server 配置文件类:/etc 使用手册类:/usr/share/doc 二进制程序:/usr/bin 或 /usr/sbin
5、ntpd 时间同步服务
ntp 服务器池:http://www.ntp.org.cn/pool
# 手动同步 ntpdate cn.ntp.org.cn # 自动同步 systemctl start ntpd.service systemctl enable ntpd.service
6、firewalld 防火墙
- 区域
firewalld 防火墙增加了区域(zone)的概念,类似于预设的策略模版,可以根据不同的使用场景选择区域模版。CentOS 7 默认使用 public 区域。
区域 | 默认策略 |
---|---|
trusted | 允许所有数据包 |
home | 拒绝流入的流量,除非与流出的流量相关,允许 ssh,mdns,ippclient,amba-client,dhcpv6-client |
Internal | 与 home 相同 |
work | 拒绝流入的流量,除非与流出的流量相关,允许 ssh,ippclient,dhcpv6-client |
public | 拒绝流入的流量,除非与流出的流量相关,允许 ssh,dhcpv6-client |
external | 拒绝流入的流量,除非与流出的流量相关,允许 ssh |
dmz | 拒绝流入的流量,除非与流出的流量相关,允许 ssh |
block | 拒绝流入的流量,除非与流出的流量相关,非法流量采取拒绝操作 |
drop | 拒绝流入的流量,除非与流出的流量相关,非法流量采取丢弃操作 |
- 运行模式和永久模式
运行模式:此模式下,配置的防火墙规则立即生效,但是不写入配置文件,重启后失效。firewalld 默认采用此模式。
永久模式:此模式下,配置的防火墙规则写入配置文件,但是需要 reload 加载才能生效。
- firewall-cmd 管理工具
# 查看默认使用的区域 [root@localhost ~]# firewall-cmd --get-default-zone public # 查看所有支持的区域 [root@localhost ~]# firewall-cmd --get-zones block dmz drop external home internal public trusted work # 列出当前使用的区域配置 [root@localhost ~]# firewall-cmd --list-all public (active) # 当前使用的区域 target: default icmp-block-inversion: no # 服务器 IP 是否禁 ping interfaces: ens33 # 防火墙规则适用的网卡 sources: # 来源 IP services: dhcpv6-client ssh # 防火墙放行的服务 ports: # 端口 protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: # 放行规则
- 添加允许通过的服务或端口 ☆
① 添加服务
firewalld 支持的服务在 /usr/lib/firewalld/services/
目录中,如果不存在,可以自己添加文件。
将 http 服务添加到防火墙规则中
# 1)运行模式(立即生效,重启失效) firewall-cmd --zone=public --add-service=http # 2)永久模式(reload 后生效,永久有效) firewall-cmd --zone=public --add-service=http --permanent firewall-cmd --reload
将 http 服务从防火墙规则中移除
# 1)运行模式(立即生效,重启失效) firewall-cmd --zone=public --remove-service=http # 2)永久模式(reload 后生效,永久有效) firewall-cmd --zone=public --remove-service=http --permanent firewall-cmd --reload
② 添加端口
添加 80 端口到防火墙规则中
# 1)运行模式(立即生效,重启失效) firewall-cmd --zone=public --add-port=80/tcp # 2)永久模式(reload 后生效,永久有效) firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --reload
将 80 端口从防火墙规则中移除
# 1)运行模式(立即生效,重启失效) firewall-cmd --zone=public --remove-port=80/tcp # 2)永久模式(reload 后生效,永久有效) firewall-cmd --zone=public --remove-port=80/tcp --permanent firewall-cmd --reload
7、crond 定时任务
在指定的时间,进行指定的操作
crontab [选项] -l: list,显示当前已经设置的计划任务 -e: 使用 vim 编辑计划任务的文件
命令规则
使用的命令要使用命令的完整路径,可以使用 whereis
查找完整路径
[root@localhost ~]# whereis echo echo: /usr/bin/echo
时间规则
* * * * * program - - - - - | | | | | | | | | +----- 星期中星期几 (0 - 6) (星期天 为0) | | | +---------- 月份 (1 - 12) | | +--------------- 一个月中的第几天 (1 - 31) | +-------------------- 小时 (0 - 23) +------------------------- 分钟 (0 - 59)
符号规则
* : 表示取值范围内的任意一个数字 - : 做连续区间表达式,要想表示 1 至 7,则写 1-7 / : 表示多少次,比如想每 10 分钟执行一次,则在分钟位置写:*/10 , : 表示取多少值,比如想在 1 点,2 点,6 点执行,则在小时的位置写:1,2,6
计划任务文件
# 计划任务文件 /var/spool/cron/用户名文件 # 计划任务日志文件 /var/log/cron
8、at 一次性任务
# 查看是否在运行 systemctl status atd # 如果没有该服务则安装 yum install -y at
示例
- 三天后的下午五点执行
/bin/ls
命令
[root@localhost ~]# at 5pm+3 days at> /bin/ls at> <EOT> # ctrl + d 退出 job 1 at Thu Oct 14 17:00:00 2021
- 明天 17 点 ,输出内容到指定文件
[root@localhost ~]# at 17:00 tomorrow at> echo '123' > /root/1.txt at> <EOT> job 2 at Tue Oct 12 17:00:00 2021
查询已设定的 at
任务
[root@localhost ~]# atq 1 Thu Oct 14 17:00:00 2021 a root 2 Tue Oct 12 17:00:00 2021 a root
删除指定的 at
任务
atrm 任务号
七、Linux 进程管理
1、查看 CPU 的核数
grep 'core id' /proc/cpuinfo | sort -u | wc -l
2、进程的优先级
PR:数值越小,优先级越高
NI:NICE 优先级,数值越小,优先级越高(范围:-20 ~ 19,默认是 0)
3、top 快捷键
P: 将进程按照 CPU 使用率,从高到低排序 M: 将进程按照 内存 使用率,从高到低排序 c: 显示进程的详细命令 q: 退出 top 界面
这篇关于Linux 运维知识梳理(1)运维基本功的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法