一、文件和目录管理
基础操作
bash
ls # 列出目录内容
ls -l # 详细列表
ls -a # 显示隐藏文件
ls -lh # 人类可读大小格式
cd # 切换目录
pwd # 显示当前目录
mkdir # 创建目录
mkdir -p # 递归创建目录
rmdir # 删除空目录
文件操作
bash
cp # 复制文件/目录
cp -r # 递归复制目录
mv # 移动/重命名文件
rm # 删除文件
rm -r # 递归删除目录
rm -rf # 强制递归删除(慎用!)
touch # 创建空文件/更新时间戳
查看文件内容
bash
cat # 显示整个文件
less # 分页查看文件(可上下翻页)
more # 分页查看文件(只能向下)
head # 显示文件头部
head -n 20 # 显示前20行
tail # 显示文件尾部
tail -f # 实时跟踪文件变化
tail -n 50 # 显示后50行
文件查找
bash
find # 查找文件
find /home -name "*.txt" # 按名称查找
find . -type f -mtime -7 # 7天内修改的文件
find . -size +100M # 大于100M的文件
locate # 快速查找(需先updatedb)
which # 查找命令位置
whereis # 查找二进制、源码、帮助文件
文件权限
bash
chmod # 修改权限
chmod 755 filename # 数字模式
chmod u+x filename # 符号模式
chown # 修改所有者
chgrp # 修改所属组
umask # 设置默认权限掩码
二、文本处理
文本编辑
bash
vim / vi # 文本编辑器
nano # 简单文本编辑器
sed # 流编辑器
awk # 文本处理工具
文本分析
bash
grep # 文本搜索
grep -r "pattern" dir/ # 递归搜索
grep -i # 忽略大小写
grep -v # 反向匹配
grep -E # 使用扩展正则
grep -c # 统计匹配行数
wc # 统计行数、单词数、字节数
wc -l # 只统计行数
wc -w # 只统计单词数
sort # 排序
sort -r # 逆序排序
sort -n # 按数值排序
sort -u # 去重排序
uniq # 去重(需先排序)
uniq -c # 统计重复次数
cut # 提取列
cut -d: -f1 # 以冒号分隔取第一列
tr # 字符替换/删除
tr 'a-z' 'A-Z' < file # 小写转大写
diff # 比较文件差异
diff -u # 统一格式输出
三、系统信息
系统状态
bash
uname # 系统信息
uname -a # 显示所有信息
uptime # 运行时间
hostname # 主机名
date # 日期时间
cal # 日历
whoami # 当前用户
id # 用户身份信息
硬件信息
bash
lscpu # CPU信息
free # 内存信息
free -h # 人类可读格式
df # 磁盘空间
df -h # 人类可读格式
du # 目录大小
du -sh dir/ # 汇总目录大小
lsblk # 块设备信息
lspci # PCI设备
lsusb # USB设备
进程管理
bash
ps # 进程状态
ps aux # 所有用户所有进程
ps -ef # 完整格式
top # 实时进程监控
htop # 增强版top(需安装)
kill # 结束进程
kill -9 # 强制结束
pkill # 按名称结束进程
pgrep # 查找进程ID
jobs # 显示后台作业
bg # 后台运行
fg # 前台运行
nice # 调整优先级
renice # 修改优先级
四、网络管理
网络配置
bash
ifconfig # 网络接口配置(老版本)
ip # 新网络工具
ip addr # 显示IP地址
ip route # 显示路由表
ping # 测试连通性
traceroute # 跟踪路由路径
netstat # 网络统计
netstat -tulpn # 查看监听端口
ss # 替代netstat(更快)
网络工具
bash
curl # 数据传输工具
wget # 下载工具
ssh # 远程登录
scp # 安全复制
sftp # 安全文件传输
rsync # 远程同步
telnet # 远程登录(不安全)
nc # 网络调试工具
nslookup # DNS查询
dig # DNS查询工具
host # DNS查询
五、打包压缩
常见格式
bash
# tar包
tar -cvf archive.tar files/ # 创建tar包
tar -xvf archive.tar # 解压tar包
tar -czvf archive.tar.gz files/ # 创建tar.gz
tar -xzvf archive.tar.gz # 解压tar.gz
tar -cjvf archive.tar.bz2 files/# 创建tar.bz2
tar -xjvf archive.tar.bz2 # 解压tar.bz2
# gzip
gzip file # 压缩
gunzip file.gz # 解压
# zip
zip archive.zip files/ # 创建zip
unzip archive.zip # 解压zip
# 7z
7z a archive.7z files/ # 创建7z
7z x archive.7z # 解压7z
六、用户和权限
用户管理
bash
useradd # 添加用户
userdel # 删除用户
usermod # 修改用户
passwd # 修改密码
groupadd # 添加组
groupdel # 删除组
groups # 显示用户组
权限提升
bash
sudo # 以超级用户执行
su # 切换用户
visudo # 编辑sudo配置
七、软件包管理
Debian/Ubuntu (APT)
bash
apt update # 更新包列表
apt upgrade # 升级所有包
apt install # 安装包
apt remove # 删除包
apt purge # 删除包及配置
apt search # 搜索包
apt show # 显示包信息
apt list --installed # 已安装包列表
RedHat/CentOS (YUM/DNF)
bash
yum install # 安装包
yum remove # 删除包
yum update # 更新包
yum search # 搜索包
yum info # 包信息
dnf # 新版替代yum
Arch (Pacman)
bash
pacman -S # 安装包
pacman -R # 删除包
pacman -Syu # 更新系统
pacman -Ss # 搜索包
八、磁盘管理
磁盘操作
bash
fdisk # 磁盘分区
parted # 分区工具
mkfs # 创建文件系统
mount # 挂载
umount # 卸载
fsck # 文件系统检查
blkid # 显示块设备属性
磁盘监控
bash
iostat # I/O统计
iotop # I/O监控工具
smartctl # SMART监控
九、系统服务
systemd (新系统)
bash
systemctl start service # 启动服务
systemctl stop service # 停止服务
systemctl restart service # 重启服务
systemctl status service # 服务状态
systemctl enable service # 开机启动
systemctl disable service # 禁用开机启动
systemctl list-units # 列出所有单元
journalctl # 查看日志
十、日志管理
日志查看
bash
dmesg # 内核日志
journalctl # 系统日志
tail -f /var/log/syslog # 跟踪系统日志
cat /var/log/messages # 系统消息
cat /var/log/auth.log # 认证日志
十一、Shell相关
变量和环境
bash
echo $PATH # 显示PATH变量
export VAR=value # 设置环境变量
env # 显示所有环境变量
set # 显示所有变量
unset VAR # 删除变量
Shell功能
bash
alias # 创建别名
unalias # 删除别名
history # 命令历史
!! # 上一条命令
!string # 执行最近以string开头的命令
source # 执行脚本文件
echo # 输出文本
printf # 格式化输出
十二、性能监控
输入输出重定向
bash
top # 实时系统监控
htop # 增强版top
vmstat # 虚拟内存统计
iostat # I/O统计
mpstat # CPU统计
sar # 系统活动报告
nmon # 系统监控工具
十三、安全相关
安全工具
bash
passwd # 修改密码
chage # 密码过期管理
last # 登录历史
who # 当前登录用户
w # 显示谁在做什么
fail2ban # 防止暴力破解
iptables # 防火墙
ufw # 简单防火墙
十四、实用技巧
快捷键
bash
Ctrl+C # 终止当前命令
Ctrl+Z # 暂停当前命令
Ctrl+D # 结束输入/退出shell
Ctrl+L # 清屏
Ctrl+R # 搜索历史命令
Ctrl+A # 光标移动到行首
Ctrl+E # 光标移动到行尾
Ctrl+U # 删除光标前所有内容
Ctrl+K # 删除光标后所有内容
Tab # 自动补全
常用组合
bash
# 查看进程并grep
ps aux | grep nginx
# 统计文件行数
find . -name "*.py" | xargs wc -l
# 批量重命名
rename 's/\.txt$/\.md/' *.txt
# 查看大文件
find / -type f -size +100M 2>/dev/null
# 实时监控日志
tail -f /var/log/nginx/access.log | grep "404"
学习建议
bash
man command # 查看手册
command --help # 查看帮助
info command # 查看info文档
-
循序渐进:从基础命令开始,逐步学习高级用法
-
实践为主:在虚拟机或测试环境中多练习
-
理解原理:不仅记住命令,还要理解其工作原
涵盖了Linux系统管理的大部分常用命令,掌握这些命令将大大提高效率。建议收藏并逐步实践每个命令的不同选项!
