CentOS 7 常用命令
huty
2022年11月19日 · 阅读 1,290
系统资源相关
查看 CPU 信息
查看物理 CPU 个数
grep 'physical id' /proc/cpuinfo | sort -u | wc -l
查看 CPU 核心数量
grep 'core id' /proc/cpuinfo | sort -u | wc -l
查看 CPU 线程数
grep 'processor' /proc/cpuinfo | sort -u | wc -l
查看 CPU 型号
dmidecode -s processor-version
查看 CPU详细信息
cat /proc/cpuinfo
查看 CPU 大小
cat /proc/cpuinfo |grep model name && cat /proc/cpuinfo |grep physical id
查看内存信息
查看内存大小
cat /proc/meminfo |grep MemTotal
或
free -h
查看硬盘信息
查看硬盘和分区信息
查看硬盘和分区
lsblk
查看硬盘别名
blkid
查看硬盘和分区信息
fdisk -l
查看硬盘信息
fdisk -l | grep Disk
查看分区信息
cfdisk 分区名称
查看硬盘空间使用情况
df -h
查看当前目录空间使用情况
查看当前目录各文件的空间使用量
du -h
统计当前目录各文件夹大小
du -sh ./*
统计当前目录各文件夹的空间使用情况,并由大至小显示5位
du -sm ./* | sort -rn | head -5
统计当前目录各文件夹的空间使用情况,并由小至大显示5位
du -sm ./* | sort -n | head -5
数据卷相关
查看数据卷情况
查看 PV (物理卷) 情况
- 查看 PV 列表
pvds
- 查看 PV 详细信息
pvdisplay
查看 VG (卷组) 情况
- 查看 VG 列表
vgs
- 查看 VG 详细信息
vgdisplay
查看 LV (逻辑卷) 情况
- 查看 LV 列表
lvs
- 查看 LV 详细信息
lvdisplay
将新建的硬盘分区加入卷组
vgextend 卷组名称 分区名称
示例:
vgextend pve /dev/nvme1n1p2
将卷组中的数据分配至逻辑卷
lvextend -L +需分配的空间 /dev/卷组名称/逻辑卷名称 分区名称
示例:
lvextend -L +136.93G /dev/pve/data /dev/nvme1n1p2
lvextend -L +60% /dev/pve/data /dev/nvme1n1p2
重新加载逻辑卷
resize2fs /dev/卷组名称/逻辑卷名称
示例:
resize2fs /dev/pve/data
操作系统相关
查看操作系统信息
查看当前系统版本
cat /etc/redhat-release
查看内核版本
uname -a
环境变量相关
查看环境变量
查看全部环境变量
env
查看指定环境变量
env | grep 环境变量名称
或
echo $环境变量名称
设置环境变量
设置临时环境变量(仅此次 Shell 生效)
export 变量名称=变量值
设置系统环境变量
- 在
/etc/profile
文件中设置
vim /etc/profile
source /etc/profile
- 在
/etc/profile.d
目录下的文件中设置
vim /etc/profile.d/xx.sh
- 在
/etc/bashrc
文件中设置
vim /etc/bashrc
source /etc/bashrc
设置用户环境变量
- 在
.bash_profile
文件中设置
vim ~/.bash_profile
source ~/.bash_profile
- 在
.bashrc
文件中设置(每次登录或打开新的 Shell 时读取)
vim ~/.bashrc
source ~/.bashrc
- 在
.bash_logout
文件中设置(每次退出系统时读取)
vim ~/.bash_logout
清理缓存
- 将 dirty 的内容写回硬盘
sync
- 清除 pagecache
echo 1 > /proc/sys/vm/drop_caches
- 清除回收 slab 分配器中的对象(包括目录项缓存和 inode 缓存)。
slab分配器是内核中管理内存的一种机制,其中很多缓存数据实现都是用的pagecache
echo 2 > /proc/sys/vm/drop_caches
- 清除 pagecache 和 slab 分配器中的缓存对象
echo 3 > /proc/sys/vm/drop_caches
系统服务相关
查看系统当前进程情况
ps
参数说明:
-A
:显示所有-u 用户名
:显示指定用户的进程-ef
:显示所有,包含命令行提示符信息-aux
:显示所有正在内存中的进程,并展示进程占用的系统资源信息-l
:显示命令行相关进程-axjf
:以树形结构展示所有进程
查看系统当前网络情况
netstat -tulpn
参数说明:
-a
:all-t
:tcp-u
:tdp-l
:listening-n
:number,显示监听端口号-p
:program,显示启动网络连接的程序命令-r
:显示路由信息-e
:显示扩展信息-s
:按各个协议进行统计-c
:每隔一段时间执行该命令
firewall相关
服务相关
停止
systemctl stop firewalld.service
启动
systemctl start firewalld.service
重启
systemctl restart firewalld.service
查看状态
systemctl status firewalld
设置firewall开机启动
systemctl enable firewalld.service
禁止firewall开机启动
systemctl disable firewalld
状态相关
查看默认防火墙状态
firewall-cmd --state
响应说明:关闭后显示notrunning,开启后显示running
查看防火墙规则
firewall-cmd --list-all
响应说明:只显示/etc/firewalld/zones/public.xml中防火墙策略
查看所有的防火墙策略
firewall-cmd --list-all-zones
响应说明:即显示/etc/firewalld/zones/下的所有策略
重新加载配置文件
firewall-cmd --reload
开放端口
开放指定端口
- 开放端口
firewall-cmd --permanent --add-port=8080/tcp
- 重载配置
firewall-cmd --reload
开放指定端口,并且只允许指定网段访问
- 添加规则
示例:使mysql服务的3306端口只允许192.168.1.1/24网段的服务器能访问
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.1/24" port protocol="tcp" port="3306" accept"
- 重载配置
firewall-cmd --reload
端口转发
- 开启伪装IP
firewall-cmd --permanent --add-masquerade
- 配置端口转发
示例:将到本机的3306端口的访问转发到192.168.1.1服务器的3306端口
firewall-cmd --permanent --add-forward-port=port=3306:proto=tcp:toaddr=192.168.1.2:toport=13306
- 重载配置
firewall-cmd --reload
用户相关
用户组相关
查询用户组
cat /etc/group
添加用户组
groupadd 选项 组名
选项说明:
-g 用户组ID
:指定用户组ID-r
:创建系统组
示例如下:
groupadd -g 1000 git
修改用户组
groupmod 选项 组名
选项说明:
-n 组名
:修改组名-g 用户组ID
:修改用户组ID
删除用户组
groupdel 组名
用户相关
查看用户
cat /etc/passwd
添加用户
useradd 选项 用户名
选项说明:
-g 用户组ID/用户组名
:指定用户主要组-G 用户组ID/用户组名
:指定用户附加组-u 用户ID
:指定用户ID-d 目录
:指定用户的 home 目录-M
:不创建 home 目录-s SHELL
:指定用户默认的 Shell-c 描述
:指定用户描述
修改用户
usermod 选项 用户名
选项说明:
-l 用户名
:修改用户名-g 用户组ID/用户组名
:修改用户主要组-G 用户组ID/用户组名
:修改用户附加组-a 用户组ID/用户组名
:追加用户附加组-u 用户ID
:指定用户ID-d 目录
:指定用户的 home 目录-s SHELL
:指定用户默认的 Shell-c 描述
:指定用户描述
删除用户
userdel 选项 用户名
选项说明:
-r
:删除用户 home 目录和邮件目录-f
:强制删除用户
修改用户密码
passwd 选项 用户名
选项说明:
-l
:锁定用户(仅限 root 使用)-u
:解锁用户(仅限 root 使用)-x 天数
:设定密码最长使用天数(仅限 root 使用)-n 天数
:设定密码最短使用天数(仅限 root 使用)-w 天数
:设定密码过期前提醒天数(仅限 root 使用)-i 天数
:设定密码过期后宽限天数(仅限 root 使用)-S
:查看用户安全状态- 用户名为空时修改当前登录用户密码
切换用户
su 选项 命令
选项说明:
-u 用户名
:以某一用户的身份执行命令-i
:运行指定用户的默认 Shell
目录相关
创建名称当前日期的文件夹
mkdir $(date +%Y)$(date +%m)$(date +%d)
或
mkdir `date +%Y``date +%m``date +%d`
设置目录所属用户
chown -R 用户名.用户组 目录
参数说明:
-R
:递归设置
设置目录权限
chmod -R 权限 目录
权限说明:
r
或4
:读w
或2
:写x
或1
:执行7
:读、写、执行6
:读、写5
:读、执行4
:只读0
:无任何权限
参数说明:-R
:递归设置
设置默认权限
查看当前目录的默认权限
umask
临时设置当前目录的默认权限
umask umask值
默认权限为 777 - umask值
,如设置 umask值 为 022
,则当前目录的默认权限为 755
文件相关
查询被进程打开的文件
查询全部文件
lsof
查询被进程打开但已删除的文件
lsof | grep deleted
压缩与解压
tar 文件
压缩
仅打包
tar cvf 打包文件名称.tar 打包目录
打包并压缩
tar czvf 压缩包名称.tar.gz 压缩目录
解压
解压打包文件
tar xvf 打包文件名称.tar
解压压缩文件
tar xzvf 压缩包名称.tgz
tar xzvf 压缩包名称.tgz --strip-components 1
参数说明
-c
:新建备份文件(新建打包、压缩文件)-x
:还原备份文件(解压打包、压缩文件)-f
:指定备份文件-v
:显示指令执行过程-z
:通过gzip
指令处理文件(压缩、解压)-p
:保存目录的权限设置--strip-components 1
:解压后不包括压缩文件中的目录
zip 文件
压缩
zip -r 压缩包名称.zip 压缩目录
参数说明:
-r
:递归压缩子目录和文件
解压
unzip 压缩包名称.zip
参数说明:
-d 目录名称
:解压到指定目录
gz 文件
压缩
压缩单个文件(仅限压缩文件,不可压缩目录)
不保留原文件
gzip 压缩文件名称
保留原文件
gzip -k 压缩文件名称
压缩多个文件(仅限压缩文件,不可压缩目录)
分别压缩(每个文件压缩成一个对应的gz文件)
gzip 压缩文件1名称 压缩文件2名称 压缩文件3名称 ...
一起压缩(所有文件压缩成一个gz文件)
gzip -c 压缩文件1名称 压缩文件2名称 压缩文件3名称 ... > 压缩包名称.gz
解压
解压后删除压缩文件
gzip -d 压缩包名称.gz
gunzip 压缩包名称.gz
解压后保留压缩文件
gzip -dk 压缩包名称.gz
bz2 文件
压缩
bzip2 -k 压缩文件名称
参数说明:
-k
:保留原文件
解压
bunzip2 压缩包名称.bz2
网络相关
查看本机公网IP
curl icanhazip.com
或
curl cip.cc
网速测试
yum -y install speedtest-cli
speedtest-cli
抓包
yum -y install tcpdump
tcpdump tcp port https -w tcpdump_test.pcap
wget
直接下载文件
wget 文件URL
后台下载文件
wget -b 文件URL
启用断点续传
wget -c 文件URL
rsync
同步本地文件
rsync -av 源目录 目标目录
参数说明:
-r
:递归目录-a
:同步元数据-n
:模拟执行-v
:输出结果到终端--exclude
:指定需要排除的文件--include
:指定必须同步的文件
示例:
将本机的 /root
目录同步至本机的 /data/root
目录
rsync -av /root /root/10
同步远程文件
rsync -av -e 参数 username@ip:远程文件 本地路径
参数说明:
-r
:递归目录-a
:同步元数据-n
:模拟执行-v
:输出结果到终端-e
:指定参数--exclude
:指定需要排除的文件--include
:指定必须同步的文件
示例:
将 192.168.1.10
机器的 /root
目录同步至本机的 /root/10
目录
rsync -av -e 'ssh -p 22' root@192.168.1.10:/root /root/10
参考博客
本文作者:huty
评论已关闭