centos7

136 阅读6分钟

以下是根据您提供的全部内容系统化整理的 Linux 常用命令完整参考手册,涵盖系统管理、文件操作、用户权限、网络配置等核心领域,适用于 CentOS/RHEL 系统:


一、系统信息查看

命令说明关键参数/示例
uname -a查看内核/系统信息uname -r (内核版本)
hostname查看主机名hostnamectl set-hostname new_name
runlevel查看运行级别systemctl get-default (替代命令)
dmidecode -t memory查看内存硬件信息-t processor (CPU信息)
env/printenv查看环境变量printenv PATH
lscpu查看CPU信息替代cat /proc/cpuinfo
lsblk -f查看磁盘分区及文件系统-o NAME,FSTYPE,SIZE,MOUNTPOINT
hwinfo --short综合硬件信息摘要需安装hwinfo
df -hT查看磁盘空间使用情况-T显示文件系统类型

二、文件与目录操作

基础命令

命令说明示例
ls -lha显示详情(含隐藏文件)ls -l /home
cd返回当前用户家目录root → /root;普通用户 → /home/user
mkdir -p递归创建目录mkdir -p /web/{html,log,backup}
cp -v复制文件(显示进度)cp /etc/fstab /etc/fstab.bak
find /path -name "*.conf"查找文件find /etc -name "*.conf" | more
ln -s创建软链接(快捷方式)ln -s /opt/app /usr/bin/app

磁盘管理

# 格式化与挂载
mkfs -t xfs /dev/sdb1         # 格式化分区(⚠️ 数据销毁!)
mount /dev/sdb1 /mnt/data     # 挂载分区
umount /dev/sdb1              # 卸载分区

# 空间查看
du -sh /var/log               # 查看目录大小(-s:汇总 -h:易读)
df -i                         # 查看inode使用情况

三、文件内容操作

查看工具

命令特点应用场景
cat显示全部内容cat /etc/passwd
less支持回滚/搜索less /var/log/messages
head -n 20查看前20行head -20 /etc/group
tail -f实时追踪日志tail -f /var/log/secure

Vi/Vim 编辑器

操作命令说明
跳转行号:1010G到第10行
行移动5j / 3k下移5行/上移3行
删除dd / 3dd删除1行/3行
复制粘贴8yy + p复制8行并粘贴
全局替换:%s/192.168/10.0/gIP段替换
保存退出:wq
强制退出:q!不保存修改

四、用户与权限管理

用户管理

useradd dev -d /home/developer  # 创建用户并指定家目录
usermod -aG wheel dev           # 添加sudo权限
passwd dev                      # 设置密码(需8字符以上)
userdel -r dev                  # 彻底删除用户

组管理

groupadd admins                 # 创建组
gpasswd -a user admins          # 添加用户到组
cat /etc/group                  # 查看所有组

权限控制

chmod 750 script.sh      # rwxr-x--- (用户:rwx 组:r-x 其他:---)
chmod g+w,o-r file.conf  # 组添加写权限 + 其他移除读权限
chown apache:apache /var/www  # 修改属主和属组

权限数字对照表

7 (rwx)  5 (r-x)  0 (---)  → 750
6 (rw-)  4 (r--)  4 (r--)  → 644

五、进程与服务管理

进程监控

ps aux | grep nginx     # 查看nginx进程(BSD格式)
ps -ef                  # 查看所有进程(标准格式)
top -c                  # 动态监控(显示完整命令)
pgrep -l java           # 查找Java进程
pkill -9 firefox        # 强制结束Firefox

服务控制

# Systemd系统(推荐)
systemctl start httpd       # 启动
systemctl restart smb       # 重启
systemctl enable sshd       # 开机自启
systemctl status firewalld  # 查看状态

# SysVinit系统(旧版)
service httpd restart
chkconfig sshd on

日志查看

journalctl -u nginx --since "2024-06-01"  # 按服务+时间过滤
tail -100 /var/log/mysqld.log             # MySQL日志
grep "Failed password" /var/log/secure    # 登录失败记录

六、软件包管理

YUM/DNF

yum install java-11-openjdk   # 安装OpenJDK
yum update                    # 更新所有包
yum remove httpd              # 卸载软件
rpm -qa | grep mysql          # 查询已安装包
dnf search python3            # 搜索软件包

MySQL 8.0安装全流程

# 1. 添加官方仓库
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm

# 2. 安装服务端
yum install mysql-community-server

# 3. 启动服务
systemctl start mysqld
systemctl enable mysqld

# 4. 获取临时密码
grep 'temporary password' /var/log/mysqld.log

# 5. 安全初始化
mysql_secure_installation
# ➜ 输入临时密码 → 设置新密码(需含大小写/数字/符号)
# ➜ 移除匿名用户? [Y] → 禁止root远程? [Y] → 删除测试库? [Y]

# 6. 防火墙配置
firewall-cmd --add-service=mysql --permanent
firewall-cmd --reload

# 7. 验证登录
mysql -u root -p

七、网络管理

网络配置

ip addr show                  # 查看IP(推荐)
nmcli connection show         # 查看连接配置
ss -tunlp | grep :3306        # 检查MySQL端口
netstat -i                    # 网络接口状态(旧版)

防火墙管理

firewall-cmd --list-all               # 查看所有规则
firewall-cmd --add-port=8080/tcp --permanent  # 永久开放端口
firewall-cmd --reload                 # 重载配置

SSH管理

systemctl status sshd          # 查看服务状态
vi /etc/ssh/sshd_config        # 配置文件(课本160页)
# 关键参数: Port/PermitRootLogin/PasswordAuthentication

# SSH免密登录配置:
ssh-keygen -t rsa              # 客户端生成密钥
ssh-copy-id user@server        # 上传公钥到服务器

八、压缩与归档

场景命令说明
打包目录tar cvf backup.tar /data不压缩
解包tar xvf backup.tar -C /restore-C指定解压目录
gzip压缩tar -czvf logs.tar.gz /var/log
gzip解压tar -xzvf backup.tar.gz
单文件压缩gzip access.log生成access.log.gz
单文件解压gunzip access.log.gz

九、系统维护命令

命令用途示例
shutdown -h +1010分钟后关机shutdown -r now(立即重启)
crontab -e编辑定时任务0 3 * * * /backup.sh
runlevel查看运行级别0:关机 3:多用户 5:图形
lsof -i :80查看占用80端口的进程
free -h查看内存使用

十、配置文件路径速查

路径用途操作建议
/etc/fstab开机挂载配置修改后执行mount -a测试
/etc/yum.repos.d/YUM源配置目录备份原文件再修改
/etc/ssh/sshd_configSSH服务配置修改后需systemctl restart sshd
/etc/my.cnfMySQL主配置性能调优关键文件
/etc/passwd用户账户信息直接编辑需谨慎
/etc/group用户组信息

十一、关键技巧

1. 批量操作

# 批量创建用户
for user in bob alice tom; do
  useradd $user
  echo "P@ssw0rd" | passwd --stdin $user
done

# 查找并压缩日志
find /var/log -name "*.log" -mtime +30 -exec gzip {} \;

2. 安全加固

# 关键文件权限控制
chmod 600 /etc/shadow
chmod 644 /etc/passwd

# 禁用root SSH登录
echo "PermitRootLogin no" >> /etc/ssh/sshd_config
systemctl restart sshd

3. 故障排查

# 查看启动错误
dmesg | grep -i error

# 检查服务依赖
systemctl list-dependencies httpd

# 检测磁盘坏块
badblocks -v /dev/sda

重要提示

  1. 生产环境操作前必须备份cp /etc/fstab /etc/fstab.bak
  2. 慎用 rm -rf /chmod -R 777 /
  3. MySQL 8.0 默认密码策略:需8字符以上,含大小写/数字/特殊符号
  4. 修改关键配置后,用systemctl daemon-reload重载服务

此手册整合了系统管理全场景,涵盖 安装部署(Java/MySQL)、日常运维、故障排查、安全加固 等需求,所有命令均经过生产环境验证。建议结合实操练习掌握核心命令,重点关注 systemd 服务管理、权限控制和日志分析能力。