Ubuntu 系统常用操作命令大全
📁 文件和目录操作
基础导航
bash
# 查看当前所在目录
pwd
# 列出目录内容
ls # 基本列表
ls -l # 详细列表(权限、大小、时间)
ls -la # 显示所有文件(包括隐藏文件)
ls -lh # 人类可读的文件大小
# 切换目录
cd /path/to/dir # 进入指定目录
cd .. # 返回上一级
cd ~ # 回到用户主目录
cd - # 返回上一个目录
# 创建目录
mkdir dirname # 创建单个目录
mkdir -p a/b/c # 递归创建多级目录
文件操作
bash
# 创建文件
touch filename # 创建空文件或更新时间戳
echo "content" > file.txt # 创建并写入内容
cat > file.txt # 手动输入内容(Ctrl+D 结束)
# 复制文件/目录
cp source dest # 复制文件
cp -r dir1 dir2 # 递归复制目录
# 移动/重命名
mv oldname newname # 重命名
mv file /path/to/ # 移动到其他位置
# 删除
rm filename # 删除文件
rm -r dirname # 递归删除目录
rm -rf dirname # 强制删除(谨慎使用!)
# 查看文件内容
cat filename # 显示全部内容
less filename # 分页查看(空格翻页,q 退出)
head -n 20 file # 查看前 20 行
tail -n 20 file # 查看后 20 行
tail -f logfile # 实时跟踪日志更新
🔍 查找和搜索
文件查找
bash
# find 命令
find /path -name "filename" # 按名称查找
find /path -type f -name "*.txt" # 查找特定类型文件
find /path -type d -name "dirname" # 查找目录
find /path -mtime -7 # 查找 7 天内修改的文件
find /path -size +100M # 查找大于 100MB 的文件
# locate 命令(更快,但依赖数据库)
locate filename # 快速查找文件
sudo updatedb # 更新 locate 数据库
内容搜索
bash
# grep 命令
grep "pattern" file # 在文件中搜索文本
grep -r "pattern" /path # 递归搜索目录
grep -i "pattern" file # 忽略大小写
grep -v "pattern" file # 反向匹配(不包含的行)
grep -n "pattern" file # 显示行号
grep -C 3 "pattern" file # 显示匹配行及前后 3 行
👥 权限和用户管理
文件权限
bash
# 查看权限
ls -l filename
# 修改权限
chmod 755 filename # rwxr-xr-x(所有者可读写执行,其他人可读执行)
chmod +x script.sh # 添加执行权限
chmod -R 755 dirname # 递归修改目录权限
# 权限数字表示
# 4 = read (读)
# 2 = write (写)
# 1 = execute (执行)
# 755 = rwxr-xr-x, 644 = rw-r--r--
所有权修改
bash
chown user:group filename # 修改文件所有者和组
chown -R user:group dir/ # 递归修改
chgrp groupname filename # 只修改所属组
用户管理
bash
# 查看用户信息
whoami # 当前用户名
id # 用户 ID 和组信息
users # 登录用户列表
w # 显示登录用户及其活动
# 切换用户
su username # 切换到其他用户
sudo command # 以管理员权限执行命令
💾 磁盘和系统监控
磁盘使用
bash
df -h # 查看磁盘空间使用情况(人类可读格式)
du -sh dirname # 查看目录总大小
du -h --max-depth=1 # 查看一级子目录大小
ncdu # 交互式磁盘使用分析工具(需安装)
内存和进程
bash
free -h # 查看内存使用情况
top # 实时进程监控(q 退出)
htop # 增强版 top(更直观,需安装)
ps aux # 显示所有进程
ps -ef | grep process # 查找特定进程
kill PID # 终止进程
kill -9 PID # 强制终止进程
pkill process_name # 按名称终止进程
系统信息
bash
uname -a # 显示系统信息
hostname # 显示主机名
uptime # 显示运行时间和负载
cat /etc/os-release # 查看 Ubuntu 版本
📦 软件包管理(APT)
基础操作
bash
# 更新软件包索引
sudo apt update
# 升级已安装的软件包
sudo apt upgrade # 升级所有包
sudo apt upgrade package_name # 升级指定包
# 安装/卸载软件
sudo apt install package_name # 安装软件
sudo apt remove package_name # 卸载(保留配置)
sudo apt purge package_name # 完全卸载(删除配置)
sudo apt autoremove # 清理不再需要的依赖
# 搜索软件
apt search keyword # 搜索相关软件包
apt show package_name # 显示软件包详情
apt list --installed # 列出已安装的包
常用软件安装
bash
# 开发工具
sudo apt install git vim curl wget net-tools
# 网络工具
sudo apt install nmap tcpdump iperf3
# 系统监控
sudo apt install htop iotop iftop
🌐 网络和 SSH
网络诊断
bash
ip addr # 查看 IP 地址(替代 ifconfig)
ip route # 查看路由表
ping hostname # 测试网络连通性
traceroute hostname # 追踪路由路径
netstat -tulpn # 查看端口占用
ss -tulpn # 更快的 netstat 替代
# DNS 查询
nslookup domain.com
dig domain.com
SSH 连接
bash
# 连接到远程服务器
ssh user@hostname
ssh -p port user@hostname # 指定端口
# 生成 SSH 密钥
ssh-keygen -t rsa -b 4096
# 复制公钥到远程服务器
ssh-copy-id user@hostname
# SCP 文件传输
scp file.txt user@host:/path/
scp -r dir/ user@host:/path/
🔧 压缩和解压
bash
# tar 归档
tar -cvf archive.tar file1 file2 # 创建 tar 包
tar -xvf archive.tar # 解压 tar 包
tar -czvf archive.tar.gz dir/ # 创建 gzip 压缩包
tar -xzvf archive.tar.gz # 解压 gzip 压缩包
tar -cjvf archive.tar.bz2 dir/ # 创建 bzip2 压缩包
tar -xjvf archive.tar.bz2 # 解压 bzip2 压缩包
# zip/unzip
zip -r archive.zip dir/ # 压缩
unzip archive.zip # 解压
# gzip
gzip filename # 压缩为 .gz
gunzip filename.gz # 解压
⚙️ 系统服务管理(systemd)
bash
# 服务控制
sudo systemctl start service_name # 启动服务
sudo systemctl stop service_name # 停止服务
sudo systemctl restart service_name # 重启服务
sudo systemctl status service_name # 查看状态
# 开机自启
sudo systemctl enable service_name # 启用开机自启
sudo systemctl disable service_name # 禁用开机自启
# 查看所有服务
systemctl list-units --type=service
📝 文本编辑和处理
Vim 基础操作
bash
vim filename # 打开文件
# 模式切换
i # 进入插入模式
Esc # 退出插入模式
:w # 保存
:q # 退出
:q! # 强制退出不保存
:wq # 保存并退出
# 导航
gg # 跳到文件开头
G # 跳到文件末尾
:n # 跳到第 n 行
$ # 跳到行尾
0 # 跳到行首
# 编辑
dd # 删除当前行
yy # 复制当前行
p # 粘贴
u # 撤销
Ctrl+r # 重做
文本处理管道
bash
# 管道和重定向
command1 | command2 # 将命令 1 输出作为命令 2 输入
command > file # 重定向输出(覆盖)
command >> file # 追加输出
command 2>&1 # 重定向错误输出到标准输出
# 常用组合
cat file | grep "pattern" | wc -l # 统计匹配行数
ps aux | grep nginx | grep -v grep # 查找进程
history | grep command # 查找历史命令
🎯 实用技巧
命令历史
bash
history # 查看命令历史
!123 # 执行历史中的第 123 条命令
!! # 执行上一条命令
!ssh # 执行最近一条 ssh 命令
Ctrl+r # 搜索历史命令
别名设置
bash
# 临时别名
alias ll='ls -la'
alias cls='clear'
# 永久别名(添加到 ~/.bashrc)
echo "alias ll='ls -la'" >> ~/.bashrc
source ~/.bashrc
后台执行
bash
command & # 后台运行
jobs # 查看后台任务
fg %1 # 将后台任务调到前台
Ctrl+z # 暂停当前任务
bg # 将暂停的任务放到后台
nohup command & # 退出终端后继续运行
🛡️ 安全相关
bash
# 防火墙(ufw)
sudo ufw status # 查看状态
sudo ufw enable # 启用防火墙
sudo ufw allow 22 # 允许 SSH
sudo ufw deny 80 # 阻止 HTTP
# 查看登录记录
last # 最后登录记录
lastlog # 所有用户登录情况
who # 当前登录用户
📋 快速参考卡片
| 类别 | 命令 | 用途 |
|---|---|---|
| 导航 | pwd, cd, ls |
查看和切换目录 |
| 文件 | cp, mv, rm, mkdir |
复制/移动/删除/创建 |
| 查看 | cat, less, tail -f |
查看文件内容 |
| 查找 | find, grep, locate |
搜索文件和文本 |
| 权限 | chmod, chown |
修改权限和所有者 |
| 系统 | top, ps, free -h |
监控进程和内存 |
| 磁盘 | df -h, du -sh |
查看磁盘使用 |
| 网络 | ssh, scp, ping |
远程连接和诊断 |
| 软件 | apt install/update |
安装包管理 |
| 压缩 | tar, zip, gzip |
压缩和解压 |
提示: 遇到不认识的命令可以使用 man command 查看手册,或使用 command --help 查看简要帮助。