一、Linux 系统基础
1. 系统架构
2. Linux 发行版
Debian 系:Ubuntu、Mint、DebianRed Hat 系:RHEL、CentOS、Fedora二、文件系统
1. 目录结构
/ # 根目录├── bin # 基础命令二进制文件├── etc # 系统配置文件├── home # 用户家目录├── var # 可变数据(日志、数据库)├── tmp # 临时文件├── usr # 用户程序├── boot # 启动文件├── dev # 设备文件├── proc # 进程信息(虚拟文件系统)└── lib # 系统库文件
2. 文件类型
3. 文件权限
rwx rwx rwx↑ ↑ ↑用户 用户组 其他人
符号表示法:chmod u+x,g-w,o=r filename三、常用命令
1. 文件操作
ls # 列出目录内容ls -l # 详细信息ls -a # 显示隐藏文件ls -lh # 人类可读格式cp # 复制文件/目录mv # 移动/重命名rm # 删除文件rm -r # 递归删除目录touch # 创建空文件/更新时间戳mkdir # 创建目录mkdir -p # 创建多层目录rmdir # 删除空目录
2. 文件查看与编辑
cat # 显示文件内容more # 分页显示less # 更好的分页查看器head # 显示文件开头tail # 显示文件末尾tail -f # 实时跟踪文件变化nano # 简单文本编辑器vim # 高级文本编辑器
3. 权限管理
chmod # 修改权限chown # 修改文件所有者chgrp # 修改文件所属组umask # 设置默认权限掩码
4. 系统信息
uname -a # 显示系统信息hostname # 显示主机名whoami # 显示当前用户who # 显示登录用户w # 显示系统负载和登录用户uptime # 系统运行时间
5. 进程管理
ps # 显示进程状态ps aux # 显示所有进程top # 动态显示进程htop # 增强版topkill # 终止进程kill -9 # 强制终止pkill # 按名称终止进程bg/fg # 后台/前台运行jobs # 显示后台任务
6. 网络相关
ping # 测试网络连通性ifconfig # 网络接口配置(旧)ip addr # 显示IP地址(推荐)netstat # 网络状态ss # socket统计(推荐)curl # 传输数据wget # 下载文件scp # 安全复制ssh # 远程登录
7. 磁盘管理
df -h # 磁盘空间使用情况du -sh # 目录大小fdisk # 磁盘分区mount # 挂载文件系统umount # 卸载文件系统lsblk # 列出块设备
四、包管理
1. Debian/Ubuntu (APT)
apt update # 更新包列表apt upgrade # 升级已安装的包apt install # 安装包apt remove # 删除包apt search # 搜索包apt list --installed # 列出已安装的包
2. RHEL/CentOS (YUM/DNF)
yum install # 安装包(旧)dnf install # 安装包(新)yum update # 更新包yum remove # 删除包
五、Shell 编程
1. 变量
VAR="value" # 定义变量echo $VAR # 使用变量readonly VAR # 只读变量unset VAR # 删除变量
2. 环境变量
PATH # 可执行文件搜索路径HOME # 用户家目录USER # 当前用户名SHELL # 当前shellPWD # 当前工作目录
3. Shell 脚本基础
#!/bin/bash # shebang# 注释echo "Hello World" # 输出
4. 控制结构
# 条件判断if [ condition ]; then commandselif [ condition ]; then commandselse commandsfi# 循环for i in {1..5}; do echo $idonewhile [ condition ]; do commandsdone# case语句case $VAR in pattern1) commands ;; pattern2) commands ;; *) default commands ;;esac
六、系统管理
1. 用户管理
useradd # 添加用户userdel # 删除用户usermod # 修改用户passwd # 修改密码groupadd # 添加组
2. 服务管理 (Systemd)
systemctl start service # 启动服务systemctl stop service # 停止服务systemctl restart service # 重启服务systemctl status service # 查看状态systemctl enable service # 开机自启systemctl disable service # 禁用自启journalctl # 查看日志
3. 定时任务
crontab -e # 编辑定时任务crontab -l # 列出定时任务crontab -r # 删除所有定时任务
4. 日志管理
/var/log/ # 日志目录syslog # 系统日志dmesg # 内核消息journalctl # systemd日志
七、高级主题
1. 正则表达式
. # 任意单个字符* # 零个或多个前导字符^ # 行首$ # 行尾[] # 字符集合
2. 文本处理三剑客
grep # 文本搜索sed # 流编辑器awk # 文本处理语言
3. 重定向与管道
> # 标准输出重定向(覆盖)>> # 标准输出重定向(追加)2> # 错误输出重定向| # 管道
4. 压缩与归档
tar # 打包gzip # 压缩zip # 压缩unzip # 解压
八、性能监控
1. 系统监控
top/htop # 进程监控vmstat # 虚拟内存统计iostat # I/O统计sar # 系统活动报告free -h # 内存使用情况
2. 网络监控
iftop # 网络流量nethogs # 进程网络使用tcpdump # 网络包分析
九、安全相关
1. 防火墙
# iptables(旧)iptables -L # 列出规则# firewalld(新)firewall-cmd --list-all # 列出所有规则firewall-cmd --add-port=80/tcp --permanent
2. SELinux
getenforce # 查看SELinux状态setenforce 0 # 临时禁用sestatus # 查看状态
十、故障排查
1. 常用排查步骤
2. 常用命令
dmesg | tail # 查看最近的系统消息journalctl -xe # 查看详细的systemd日志strace # 跟踪系统调用lsof # 列出打开的文件
学习建议
善用帮助:man、info、--help 是最好的老师社区资源:充分利用 Stack Overflow、GitHub 等社区资源
常用快捷键:
这个总结涵盖了Linux的主要知识点,适合作为学习和复习的参考。建议根据实际需求深入学习相关部分。