menu 学习笔记
search self_improvement
目录

CentOS 7 常用命令

huty
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

清理缓存

  1. 将 dirty 的内容写回硬盘
sync
  1. 清除 pagecache
echo 1 > /proc/sys/vm/drop_caches
  1. 清除回收 slab 分配器中的对象(包括目录项缓存和 inode 缓存)。
    slab分配器是内核中管理内存的一种机制,其中很多缓存数据实现都是用的pagecache
echo 2 > /proc/sys/vm/drop_caches
  1. 清除 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

开放端口

开放指定端口

  1. 开放端口
firewall-cmd --permanent --add-port=8080/tcp
  1. 重载配置
firewall-cmd --reload

开放指定端口,并且只允许指定网段访问

  1. 添加规则
    示例:使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"
  1. 重载配置
firewall-cmd --reload

端口转发

  1. 开启伪装IP
firewall-cmd --permanent --add-masquerade
  1. 配置端口转发
    示例:将到本机的3306端口的访问转发到192.168.1.1服务器的3306端口
firewall-cmd --permanent --add-forward-port=port=3306:proto=tcp:toaddr=192.168.1.2:toport=13306
  1. 重载配置
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 权限 目录

权限说明:

  • r4:读
  • w2 :写
  • x1 :执行
  • 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

参考博客

分类: CentOS
标签: CentOS

评论已关闭