跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / Bash

Linux 常用命令详解与系统管理实战指南

详细整理了 Linux 操作系统中的常用命令与系统管理方法。内容涵盖文件系统结构、基础操作、目录与文件管理、权限控制、打包解压、网络配置、用户管理、进程监控及日志分析等核心模块。通过提供具体的命令示例、参数解释及实际应用场景,帮助读者快速掌握 Linux 命令行技能,适用于系统管理员及开发人员的日常运维工作。

CodeArtist发布于 2025/2/6更新于 2026/9/363 浏览
Linux 常用命令详解与系统管理实战指南

Linux 常用命令详解与系统管理实战指南

01 基础知识

1.1 Linux 系统的文件结构

Linux 文件系统采用树状结构,根目录为 /。以下是核心目录的说明:

目录说明
/bin二进制文件,存放系统常规命令(如 ls, cp)
/boot系统启动分区,存放内核及引导加载程序文件
/dev设备文件,代表硬件设备(如 /dev/sda)
/etc大多数配置文件存放位置
/home普通用户的家目录
/lib32 位函数库
/lib6464 位库
/media手动临时挂载点(如 U 盘、光盘)
/mnt手动临时挂载点
/opt第三方软件安装位置
/proc进程信息及硬件信息的虚拟文件系统
/rootroot 用户的家目录
/sbin系统管理命令(如 shutdown, ifconfig)
/srv服务数据
/tmp临时文件,重启可能清空
/usr用户相关设定及应用程序
/var经常变化的数据(如日志、邮件)
/sys内核相关信息

1.2 Linux 系统命令行的含义

命令行提示符通常包含以下元素:

示例:root@app00:~#
  • root:用户名,root 为超级用户。
  • @:分隔符。
  • app00:主机名称。
  • ~:当前所在目录,默认用户目录为 ~,随目录切换而变化。
  • #:表示当前用户是超级用户;普通用户通常为 $。

1.3 命令的组成

标准命令格式为:

命令 [参数] [参数值]

例如:ls -l /home。

02 基础操作

2.1 关机与重启

立即关机:

shutdown -h now
# 或
poweroff

两分钟后关机:

shutdown -h 2

取消关机计划:

shutdown -c

立即重启:

shutdown -r now
# 或
reboot

2.2 帮助命令

查看命令用法:

ifconfig --help
man shutdown

在 man 页面中,可按 q 键退出,按空格翻页。

2.3 切换用户

切换到其他用户(需密码):

su yao
exit

使用 sudo 执行单条命令:

sudo command

03 目录操作

3.1 切换目录 (cd)

cd /                 # 切换到根目录
cd /bin              # 切换到 bin 目录
cd ..                # 切换到上一级目录
cd ~                 # 切换到 home 目录
cd -                 # 切换到上次访问的目录
cd xx                # 切换到子目录
cd /xxx/xx/x         # 使用绝对路径,支持 Tab 补全

3.2 查看目录 (ls)

ls                   # 列出当前目录内容
ls -a                # 显示隐藏文件(以 . 开头)
ls -l                # 列表模式,显示详细信息
ls -lh               # 人类可读的文件大小
ll                   # 等同于 ls -l

3.3 创建目录 (mkdir)

mkdir tools          # 创建当前目录下的 tools
mkdir -p /a/b/c      # 递归创建多级目录

3.4 删除目录与文件 (rm)

rm filename          # 删除文件
rm -f filename       # 强制删除,不询问
rm -r directory      # 递归删除目录
rm -rf directory     # 强制递归删除(慎用!)
rm -rf /*            # 危险操作,相当于格式化系统

3.5 移动与重命名 (mv)

mv oldname newname   # 重命名
mv file /dest        # 移动文件
mv -r dir /dest      # 递归移动目录

3.6 复制目录 (cp)

cp src dest          # 复制文件
cp -r src dest       # 递归复制目录
cp -i                # 覆盖前询问

3.7 搜索目录 (find)

find /bin -name 'a*'      # 查找 bin 下以 a 开头的文件
find . -type f            # 查找当前目录下所有普通文件
find . -ctime -20         # 查找 20 天内修改过的文件
find /var/log -mtime +7   # 查找 7 天前修改的文件

3.8 查看当前路径 (pwd)

pwd                      # 显示当前工作目录绝对路径

04 文件操作

4.1 新增文件 (touch)

touch a.txt              # 创建空文件或更新时间戳

4.2 编辑文件 (vi/vim)

进入三种模式:命令模式、插入模式、底行模式。

基本操作:

  • i:插入模式
  • Esc:返回命令模式
  • dd:删除当前行
  • /字段:查找
  • ::进入底行模式

保存与退出:

  • :wq:保存并退出
  • :q!:强制退出不保存
  • :w filename:另存为

高级用法:

vim +10 filename.txt     # 打开文件跳到第 10 行
vim -R /etc/passwd       # 只读模式打开

4.3 查看文件内容

cat a.txt                # 一次性显示全部内容
less a.txt               # 分页查看,支持上下翻页
more a.txt               # 简单分页查看
tail -100 a.txt          # 查看最后 100 行
tail -f a.txt            # 实时跟踪文件更新(常用于日志)
head -n 10 a.txt         # 查看前 10 行

05 文件权限

5.1 权限说明

权限分为三类:读 (r=4)、写 (w=2)、执行 (x=1)。

示例:-rwxrw-r--

  • 第一位 - 代表文件,d 代表目录。
  • 第一组三位:拥有者权限。
  • 第二组三位:所属组权限。
  • 第三组三位:其他用户权限。

5.2 修改权限 (chmod)

符号法:

chmod +x a.txt           # 添加执行权限
chmod u+w a.txt          # 用户增加写权限

数字法:

chmod 777 a.txt          # 赋予所有人读写执行权限
chmod 755 script.sh      # 所有者可读写执行,其他人可读执行

5.3 修改所有者 (chown)

chown user:group file    # 修改文件所有者和组
chown -R user dir        # 递归修改目录及其内容

06 打包与解压

6.1 常见压缩格式

  • .zip:Windows 常用
  • .tar:Linux 打包(未压缩)
  • .gz:gzip 压缩
  • .tar.gz:打包并压缩(最常见)
  • .rar:Windows 压缩

6.2 打包文件

tar -zcvf archive.tar.gz file1 file2
# z: gzip 压缩, c: 创建, v: 显示过程, f: 指定文件名

6.3 解压文件

tar -zxvf archive.tar.gz      # 解压到当前目录
tar -zxvf archive.tar.gz -C /opt  # 指定解压位置
unzip test.zip                # 解压 zip 文件
unzip -l test.zip             # 查看 zip 内容

07 其他常用命令

7.1 whereis & which

whereis ls                    # 查找 ls 相关文件
which bash                    # 查找 bash 的绝对路径

7.2 sudo

sudo -l                       # 列出当前用户 sudo 权限
sudo -u yao vi index.html     # 以 yao 身份编辑文件

7.3 grep (文本搜索)

grep -i "the" demo_file       # 忽略大小写搜索
grep -A 3 "example" text      # 输出匹配行及之后 3 行
grep -r "ramesh" *            # 递归搜索文件夹

7.4 service & systemctl

System V init 脚本管理:

service ssh status            # 查看 SSH 状态
service ssh restart           # 重启服务
chkconfig iptables on         # 设置开机自启

CentOS 7+ 使用 systemd:

systemctl status firewalld.service
systemctl stop firewalld.service
systemctl disable firewalld.service

7.5 内存与磁盘

free -g                       # 以 GB 显示内存使用情况
free -t                       # 显示总计
df -h                         # 查看磁盘空间(人类可读)
du -sh /var/log               # 查看目录占用大小

7.6 top & ps

top                           # 动态显示进程资源占用
ps -ef                        # 查看所有进程
ps aux                        # BSD 风格显示
pstree                        # 树状显示进程关系
pgrep nginx                   # 根据名称查找 PID

7.7 mount & umount

mount /dev/sdb1 /u01          # 挂载设备
umount /u01                   # 卸载设备

7.8 uname

uname -a                      # 显示系统内核信息

7.9 yum & rpm

YUM 包管理:

yum install httpd             # 安装 Apache
yum update httpd              # 更新
yum remove httpd              # 卸载

RPM 包管理:

rpm -ivh package.rpm          # 安装
rpm -e package                # 卸载

7.10 date & time

date                          # 显示当前时间
date -s "01/31/2010 23:59:53" # 设置系统时间
ntpdate ntp.server.com        # 同步网络时间

7.11 wget & curl

下载工具:

wget -O file.tar.gz url       # 下载并重命名
curl -O url                   # 下载原文件名

7.12 ftp & scp

FTP 连接:

ftp IP/hostname

SCP 安全拷贝:

scp localfile user@host:/path
scp -r dir user@host:/path

08 系统管理进阶

8.1 防火墙配置

CentOS 7 使用 firewalld:

firewall-cmd --state
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload

8.2 修改主机名

hostnamectl set-hostname newname

8.3 网络配置

编辑网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0

TYPE=Ethernet
BOOTPROTO=static
DEVICE=ens00
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
ONBOOT=yes

重启网络:

service network restart
# 或
nmcli connection up eth0

8.4 hosts 映射

编辑 /etc/hosts:

192.168.1.101 node1
192.168.1.102 node2

8.5 进程管理

kill pid                      # 正常终止进程
kill -9 pid                   # 强制杀死进程
killall process_name          # 按名称杀死进程
nice -n 10 command            # 降低进程优先级

8.6 远程连接 (SSH)

ssh user@ip                   # 登录远程主机
ssh-keygen -t rsa             # 生成密钥对
ssh-copy-id user@ip           # 配置免密登录

8.7 清屏与历史

clear                         # 清屏
Ctrl+l                        # 快捷键清屏
history                       # 查看命令历史
!!                            # 执行上一条命令

09 用户与组管理

9.1 用户操作

useradd -m username           # 创建用户并建家目录
passwd username               # 修改密码
userdel -r username           # 删除用户及家目录

9.2 组操作

groupadd groupname            # 创建组
gpasswd -a user groupname     # 将用户加入组
groupdel groupname            # 删除组

10 定时任务 (Cron)

编辑 crontab:

crontab -e

格式:分 时 日 月 周 命令

示例:每天凌晨 3 点备份:

0 3 * * * tar -czf backup.tar.gz /data

11 日志分析

journalctl -xe                # 查看系统日志
tail -f /var/log/messages     # 实时监控消息日志
grep ERROR /var/log/syslog    # 搜索错误日志

12 文本处理 (sed/awk)

12.1 sed

替换文本:

sed 's/old/new/g' file        # 全局替换
sed -i 's/old/new/g' file     # 原地修改

12.2 awk

提取列:

awk '{print $1}' file         # 打印第一列
awk -F: '{print $1}' /etc/passwd  # 冒号分隔取第一列

13 故障排查技巧

  1. 检查网络连接:使用 ping, traceroute, netstat -an。
  2. 检查端口监听:使用 netstat -tulpn 或 ss -tulpn。
  3. 检查磁盘空间:使用 df -h 和 du -sh *。
  4. 检查内存泄漏:使用 top 观察内存趋势。
  5. 检查系统负载:使用 uptime 或 w。

掌握以上命令,能够应对绝大多数 Linux 日常运维场景。建议在实际环境中多练习,熟悉不同发行版(如 CentOS, Ubuntu)的命令差异。

目录

  1. Linux 常用命令详解与系统管理实战指南
  2. 01 基础知识
  3. 1.1 Linux 系统的文件结构
  4. 1.2 Linux 系统命令行的含义
  5. 1.3 命令的组成
  6. 02 基础操作
  7. 2.1 关机与重启
  8. 或
  9. 或
  10. 2.2 帮助命令
  11. 2.3 切换用户
  12. 03 目录操作
  13. 3.1 切换目录 (cd)
  14. 3.2 查看目录 (ls)
  15. 3.3 创建目录 (mkdir)
  16. 3.4 删除目录与文件 (rm)
  17. 3.5 移动与重命名 (mv)
  18. 3.6 复制目录 (cp)
  19. 3.7 搜索目录 (find)
  20. 3.8 查看当前路径 (pwd)
  21. 04 文件操作
  22. 4.1 新增文件 (touch)
  23. 4.2 编辑文件 (vi/vim)
  24. 4.3 查看文件内容
  25. 05 文件权限
  26. 5.1 权限说明
  27. 5.2 修改权限 (chmod)
  28. 5.3 修改所有者 (chown)
  29. 06 打包与解压
  30. 6.1 常见压缩格式
  31. 6.2 打包文件
  32. z: gzip 压缩, c: 创建, v: 显示过程, f: 指定文件名
  33. 6.3 解压文件
  34. 07 其他常用命令
  35. 7.1 whereis & which
  36. 7.2 sudo
  37. 7.3 grep (文本搜索)
  38. 7.4 service & systemctl
  39. 7.5 内存与磁盘
  40. 7.6 top & ps
  41. 7.7 mount & umount
  42. 7.8 uname
  43. 7.9 yum & rpm
  44. 7.10 date & time
  45. 7.11 wget & curl
  46. 7.12 ftp & scp
  47. 08 系统管理进阶
  48. 8.1 防火墙配置
  49. 8.2 修改主机名
  50. 8.3 网络配置
  51. 或
  52. 8.4 hosts 映射
  53. 8.5 进程管理
  54. 8.6 远程连接 (SSH)
  55. 8.7 清屏与历史
  56. 09 用户与组管理
  57. 9.1 用户操作
  58. 9.2 组操作
  59. 10 定时任务 (Cron)
  60. 11 日志分析
  61. 12 文本处理 (sed/awk)
  62. 12.1 sed
  63. 12.2 awk
  64. 13 故障排查技巧

更多推荐文章

查看全部
  • OpenClaw 结合 cpolar 实现本地 AI 公网访问指南
  • LLaMA-Factory 本地部署环境配置与 WebUI 启动指南
  • JavaScript 逆向解析实战:破解现代代码混淆技术
  • OpenClaw QQ 机器人接入指南
  • RunningHub:基于开源生态的 AIGC 创作平台解析
  • 大模型 API 注册与调用实战指南
  • Rust WebAssembly 开发实战:构建高性能前端应用
  • OSS 权限控制实战:ACL、RAM、Bucket Policy 与错误排查
  • LeetCode 221. 最大正方形
  • Seedance 2.0 提示词编写实战:从五要素到精准控场
  • 时间序列预测中如何构建层级化的 Transformer 架构
  • LLaMA-Factory 合并 LoRA 适配器实战指南
  • DataRoom 开源大屏设计器:基于 SpringBoot 快速构建数据可视化平台
  • LLaMA-Factory 多 GPU 微调加速指南
  • 基于 AI 的 B 站充电视频页面结构解析方案
  • 利用 AIGC 与 Photoshop 快速生成 Spine 2D 骨骼动画拆件 PSD
  • OpenClaw Agent Skills 核心技能推荐及安装指南
  • 人脸识别核心算法:FaceNet 与 ArcFace 原理及实战
  • LLaMA Factory 微调时报 disable multiprocessing 错误解决
  • Windows 10/11 部署 OpenClaw 机器人控制框架指南

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online