一、文件与目录操作
命令 | 功能 | 常用示例 | 解释 |
---|
ls | 列出目录内容 | ls -l /home
ls -a | -l 详细列表
-a 显示隐藏文件 |
cd | 切换目录 | cd /var/log
cd ~ | ~ 用户家目录 |
pwd | 显示当前工作目录 | pwd | |
mkdir | 创建目录 | mkdir new_dir
mkdir -p a/b/c | -p 递归创建父目录 |
touch | 创建空白文件或更新文件时间 | touch file.txt | |
cp | 复制文件或目录 | cp file.txt backup/
cp -r dir1 dir2 | -r 递归复制目录 |
mv | 移动/重命名文件 | mv old.txt new.txt
mv dir/ /target/ | |
rm | 删除文件或目录 | rm file.txt
rm -rf directory/ | ⚠️ 慎用 -rf !强制递归删除 |
cat | 查看文件内容 | cat file.txt | |
more/less | 分页查看大文件 | less log.txt | less 支持回翻 |
head/tail | 查看文件头/尾部 | tail -100f error.log | -f 实时追踪日志 |
find | 查找文件 | find /home -name "*.log" | 按名称/类型/大小检索 |
grep | 文本搜索工具 | grep "ERROR" app.log
ps aux | grep nginx | 支持正则表达式(关键!) |
二、系统信息查看
命令 | 用途 | 示例/说明 |
---|
uname -a | 查看系统内核版本 | Linux myhost 5.4.0-... x86_64 GNU/Linux |
df -h | 磁盘空间使用情况 | -h 人性化显示(GB/MB) |
du -sh | 计算目录大小 | du -sh /var/log |
free -h | 内存使用情况 | 显示总/已用/空闲内存 |
top/htop | 实时监控系统进程/资源占用 | htop (需安装,功能更直观) |
lscpu | CPU信息 | 架构/核数/缓存等 |
lsblk | 块设备信息(磁盘/分区) | 查看硬盘和分区结构 |
三、网络管理
命令 | 功能 | 示例/技巧 |
---|
ping | 测试网络连通性 | ping baidu.com |
ifconfig/ip addr | 查看网卡配置(IP地址/MAC) | ip a (推荐用 ip 命令替代 ifconfig ) |
netstat/ss | 查看网络连接状态 | ss -tulpn (显示所有监听端口+进程) |
netstat -tunlp | 查看端口占用进程 | 🔍 ` |
curl/wget | HTTP请求/文件下载 | curl -I example.com (查看响应头) |
traceroute/mtr | 追踪网络路由路径 | mtr google.com (实时监测路由) |
ssh | 远程登录服务器 | ssh user@192.168.1.100 -p 2222 |
scp | 安全传输文件 | scp file.txt user@host:/path/ |
netplan apply | 应用网络配置 (Ubuntu 18.04+) | 修改 /etc/netplan/*.yaml 后生效 |
四、权限与管理
命令 | 作用 | 语法示例 |
---|
chmod | 修改文件权限 | chmod 755 script.sh
chmod +x myapp |
chown | 改变文件所有者 | chown user:group file.txt |
sudo | 以管理员身份执行命令 | sudo apt update |
passwd | 修改用户密码 | passwd (当前用户)
sudo passwd root |
useradd/userdel | 添加/删除用户 | sudo useradd -m tom
sudo userdel -r bob |
usermod | 修改用户属性(如加入组) | sudo usermod -aG sudo tom (给tom授权) |
五、进程管理
命令 | 功能 | 常用参数/示例 |
---|
ps | 查看进程状态 | ps aux (显示所有进程) |
kill | 结束进程 | kill 1234
kill -9 1234 (强制结束) |
pkill | 按名称结束进程 | pkill nginx |
systemctl | 管理Systemd服务 (CentOS 7+/Ubuntu 16.04+) | systemctl status nginx
sudo systemctl restart docker |
service | 管理服务 (旧版系统) | service apache2 restart |
jobs/fg/bg | 前后台任务控制 | ./longtask.sh & (后台运行) |
六、压缩与打包
命令 | 说明 | 示例 |
---|
tar | 归档多个文件 | tar -cvf archive.tar dir/ (打包) |
| 解压tar包 | tar -xvf backup.tar |
gzip/gunzip | 压缩/解压.gz文件 | gzip file.txt → file.txt.gz |
zip/unzip | 处理zip压缩包 | unzip project.zip |
七、其他实用工具
命令 | 用途 | 示例 |
---|
history | 查看历史命令 | !100 (执行第100条历史命令) |
alias | 设置命令别名 | alias ll='ls -l' (临时生效) |
shutdown/reboot | 关机/重启 | shutdown -h now
reboot |
crontab | 定时任务管理 | crontab -e (编辑当前用户计划任务) |
ln | 创建链接(软/硬) | ln -s /target link_name (软链接) |
man | 查看命令手册 (救命稻草!) | man grep |
高频组合技 (Pipeline)
# 实时监控Nginx错误日志
tail -f /var/log/nginx/error.log | grep "404"
# 统计当前目录文件数量
ls -l | grep "^-" | wc -l
# 找出80端口占用进程并强制结束
sudo kill -9 $(lsof -ti :80)
# 批量重命名.jpg为.png
for f in *.jpg; do mv "$f" "${f%.jpg}.png"; done
提示:
- 善用 Tab 键:自动补全路径/命令
- Ctrl+C :终止当前命令
- Ctrl+Z :暂停任务(用
fg
恢复)
- Ctrl+D :退出终端