[命令] Linux 命令 chattr (文件锁)

内容一: chattr 格式
1.1 锁定文件的格式(文件将无法被修改、追加和删除)

# chattr +i <file>

1.2 解锁文件的格式(文件将可以被修改、追加和删除)

# chattr -i <file>

1.3 锁定文件后仅可追加内容的格式(文件将无法被修改和删除,但是可以被追加新内容)

# chattr +a <文file> 

1.4 解锁文件只可被追加内容的格式(文件将取消无法被修改和删除,但红四可以被追加新内容的状态)

# chattr -a <file> 

1.5 显示文件特殊属性

# lsattr <file> 

内容二: chattr 的使用案例
2.1 案例一:锁定文件并显示文件的锁定状态
2.1.1 锁定文件

# chattr +i /etc/resolv.conf

(补充:这里以锁定 /etc/resolv.conf 文件为例)

2.1.2 显示文件的锁定状态

# lsattr /etc/resolv.conf
----i----------- /etc/resolv.conf

(补充:这里以显示 /etc/resolv.conf 文件为例)

2.1.3 解锁文件

# chattr -i /etc/resolv.conf

(补充:这里以解锁 /etc/resolv.conf 文件为例)

2.2 案例二:锁定文件后仅可追加内容并显示文件的锁定状态
2.2.1 锁定文件后仅可追加内容

# chattr +a /etc/hosts

(补充:这里以锁定 /etc/hosts 文件为例)

2.2.2 显示文件的锁定状态

# lsattr /etc/hosts
----a---------- /etc/hosts

(补充:这里以显示 /etc/hosts 文件为例)

2.2.3 解锁仅可追加内容的文件

# chattr -a /etc/hosts

(补充:这里以解锁 /etc/hosts 文件为例)

[内容] Linux 硬件信息的显示 (CPU、内存、硬盘和其他硬件信息)

内容目录:

内容一:显示 CPU 信息
1.1 显示 CPU 个数(也就是处理的 socket 数)
1.2 显示 CPU 核心数
1.3 显示 CPU 的详细信息

内容二:显示内存大小
2.1 显示内存大小
2.2 显示内存详细信息

内容三:显示硬盘信息

内容四:显示其他硬件的方法
4.1 显示其他所有硬件的方法
4.2 显示某一个硬件的方法

具体的内容:

内容一:显示 CPU 信息
1.1 显示 CPU 个数(也就是处理的 socket 数)

# cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l

1.2 显示 CPU 核心数

# cat /proc/cpuinfo | egrep "core id|physical id" | tr -d "\n" | sed s/physical/\\nphysical/g | grep -v ^$ | sort | uniq | wc -l

1.3 显示 CPU 的详细信息

# lscpu

或者:

# cat /proc/cpuinfo 

内容二:显示内存大小
2.1 显示内存大小

# free -m

2.2 显示内存详细信息

# cat /proc/meminfo 

内容三:显示硬盘信息

# lsblk

内容四:显示其他硬件的信息
4.1 显示其他所有硬件的信息

# dmesg

4.2 显示某 1 个硬件的信息

# dmesg | grep -i mouse

(补充:这里以显示鼠标信息的方法为例)

[工具] Shell 检测性能指标 (例如:剩余硬盘空间、内存空间等)

介绍:

#名称: 检测性能指标(例如:剩余硬盘空间、内存空间等)
#作用: 检测性能指标(例如:剩余硬盘空间、内存空间等)

#使用方法:
#1. 给此脚本添加执行权限
#2. 执行此脚本

脚本:

#!/bin/bash

ip=`ip a s | awk '/[1-2]?[0-9]{0,2}\.[1-2]?[0-9]{0,2}/&&!/127.0.0.1/{print $2}'`
host=`hostname`
disk=`df -h | awk '/\/$/{print $5}'`
mem=`free -m | awk '/Mem/{print $4}'`
cpu=`top -bn 1 | awk -F',' '/^%Cpu/{print $4 }' | awk '{print $1}'`
soft=`rpm -qa | wc -l`
port=`ss -ntulap | wc -l`

echo "$ip $host disk $disk"
echo "$ip $host mem $mem"
echo "$ip $host cpu $cpu"
echo "$ip $host soft $soft"
echo "$ip $host port $port"
echo

[步骤] Linux 开机自启 (通过 chkconfig 实现)

案例一:添加一个受 chkconfig 管理的服务(脚本)
1.1 编写一个脚本

# vim /etc/init.d/start.sh

创建以下内容:

#!/bin/bash
systemctl start httpd

# chkconfig: 345 85 15
# description: This is a script of starting httpd

(补充:chkconfig:后面的 3 个含义为 httpd 的级别为 3、4 和 5,启动序号为 85,关闭序号为 15)

1.2 给脚本添加执行权限

# chmod +x /etc/init.d/start.sh

1.3 将脚本添加到 chkconfig 中

# chkconfig --add start.sh

1.4 显示刚刚添加到 chkconfig 的应用

# chkconfig --list

案例二:通过 chkconfig 管理一个服务或脚本
2.1 设定 start.sh 在 3 和 5 等级为 on

# chkconfig --level 35 start.sh on

2.2 设定 start.sh 在各等级为 on,“各等级”包括 2、3、4、5 等级

# chkconfig start.sh on

2.3 设定 start.sh 在各等级为 off,“各等级”包括 2、3、4、5 等级

# chkconfig start.sh off