余白

Ubuntu 系统常用命令

文件操作

查看与目录

ls              # 列出当前目录文件
ls -la          # 列出详细信息(含隐藏文件)
ls -lh          # 人性化显示文件大小
ls -lt          # 按修改时间排序
ls /path        # 列出指定目录

pwd             # 显示当前目录
cd              # 切换到主目录
cd /path        # 切换到指定目录
cd ..           # 返回上级目录
cd -            # 返回上一目录

tree            # 树形显示目录结构
tree -L 2       # 显示到第2层

文件操作

# 创建
touch file.txt              # 创建空文件
mkdir dir                    # 创建目录
mkdir -p a/b/c               # 递归创建目录

# 复制
cp file1 file2              # 复制文件
cp -r dir1 dir2             # 复制目录
cp -v file /path            # 显示复制过程

# 移动/重命名
mv file1 file2              # 重命名
mv file /path               # 移动文件

# 删除
rm file.txt                 # 删除文件
rm -f file.txt              # 强制删除
rm -r dir                    # 删除目录
rm -rf dir                   # 强制删除目录

# 查看文件
cat file.txt                # 查看文件内容
more file.txt               # 分页查看
less file.txt               # 上下滚动查看
head -n 20 file.txt         # 查看前20行
tail -n 20 file.txt         # 查看后20行
tail -f file.txt            # 实时查看日志

# 查找
find /path -name "*.txt"    # 按名称查找
find /path -type d          # 查找目录
find /path -size +100M      # 查找大于100M的文件

# 搜索内容
grep "keyword" file.txt     # 在文件中搜索
grep -r "keyword" /path     # 递归搜索
grep -n "keyword" file.txt  # 显示行号
grep -v "keyword" file.txt  # 反向匹配

# 链接
ln -s /path/file link       # 创建软链接

系统信息

# 系统信息
uname -a                    # 显示系统全部信息
cat /etc/os-release         # 查看系统版本
hostnamectl                 # 查看主机名和系统信息

# 资源使用
top                         # 实时进程监控
htop                        # 更友好的进程监控(需安装)
top -u user                 # 查看指定用户进程
free -h                     # 查看内存使用
df -h                       # 查看磁盘使用
du -sh *                    # 查看当前目录各文件大小

# 用户和组
whoami                      # 显示当前用户
sudo -l                     # 查看当前用户权限
useradd username            # 添加用户
passwd username             # 设置密码
usermod -aG sudo username   # 添加到sudo组
deluser username            # 删除用户

网络命令

# 网络配置
ifconfig                    # 查看网络接口
ip addr                     # 查看IP地址
ip link show                # 查看网络设备

# 网络测试
ping -c 4 example.com       # ping测试(4次)
curl http://example.com     # HTTP请求
wget https://example.com/file   # 下载文件
traceroute example.com      # 路由追踪
tracepath example.com       # 路由追踪(无需root)

# 端口与连接
netstat -tulnp              # 查看监听端口
ss -tulnp                   # 更现代的端口查看
lsof -i :8080               # 查看端口占用
lsof -i -P -n               # 查看所有连接

# 网络工具
ssh user@host               # SSH连接
scp file user@host:/path    # 远程复制
rsync -av /path/ user@host:/path/   # 同步文件

权限管理

# 权限表示
# rwx rwx rwx
# 所有者 所属组 其他人
# r=4, w=2, x=1

chmod 755 file              # 设置权限
chmod +x script.sh          # 添加执行权限
chmod -R 755 dir            # 递归设置目录权限

chown user:group file       # 修改文件所有者
chown -R user:group dir     # 递归修改目录所有者

# 特殊权限
chmod +s file               # SUID
chmod +t /tmp               # Sticky Bit

包管理

APT(Ubuntu/Debian)

# 更新
sudo apt update             # 更新软件源
sudo apt upgrade            # 升级所有包
sudo apt full-upgrade       # 完整升级

# 安装/删除
sudo apt install package    # 安装软件
sudo apt remove package     # 卸载软件
sudo apt purge package      # 卸载并清除配置
sudo apt autoremove         # 自动清理无用依赖

# 搜索
apt search keyword          # 搜索软件包
apt show package            # 查看软件包信息

# 安装本地deb
sudo dpkg -i package.deb    # 安装deb包
sudo apt install -f         # 修复依赖

Snap

snap install package        # 安装snap包
snap list                   # 列出已安装snap
snap remove package         # 卸载snap
snap refresh                # 更新snap包

Flatpak

flatpak install remote package   # 安装
flatpak list                       # 列出
flatpak update                     # 更新

系统服务

# Systemd(推荐)
systemctl start service            # 启动
systemctl stop service             # 停止
systemctl restart service          # 重启
systemctl status service           # 状态
systemctl enable service           # 开机自启
systemctl disable service          # 禁用开机自启
systemctl list-units --type=service   # 列出所有服务

# 查看日志
journalctl -u service              # 查看服务日志
journalctl -f                      # 实时查看日志
journalctl --since "1 hour ago"   # 查看最近日志

压缩解压

# tar
tar -cvf archive.tar dir/          # 打包
tar -xvf archive.tar               # 解包
tar -cvzf archive.tar.gz dir/     # 打包并压缩
tar -xvzf archive.tar.gz           # 解压.tar.gz

# zip
zip -r archive.zip dir/           # 压缩
unzip archive.zip                  # 解压
unzip -l archive.zip              # 查看内容

# 7z
7z a archive.7z dir/              # 压缩
7z x archive.7z                    # 解压

进程管理

# 查看进程
ps aux                    # 查看所有进程
ps -ef                    # 查看进程详情
pkill process_name        # 按名称杀进程
kill PID                  # 按PID杀进程
kill -9 PID               # 强制杀进程

# 后台运行
command &                 # 后台运行
nohup command &           # 忽略挂断信号
screen                    # 终端复用
tmux                      # 终端复用

# nice/优先级
nice -n 10 command        # 低优先级运行
renice -n 10 -p PID       # 修改运行中进程优先级

快捷键

快捷键功能
Ctrl + C终止当前命令
Ctrl + Z挂起当前命令
Ctrl + D退出当前终端
Ctrl + L清屏
Ctrl + R搜索命令历史
Ctrl + A光标移到行首
Ctrl + E光标移到行尾
Ctrl + U删除光标前内容
Ctrl + K删除光标后内容
Tab自动补全
Tab x2显示候选列表

常用组合

# 查看目录大小
du -sh dir/

# 查看最大目录/文件
du -sh * | sort -rh | head -10

# 查找大文件
find / -size +100M -type f 2>/dev/null

# 清理缓存
sudo apt clean             # 清理apt缓存
docker system prune -a     # 清理Docker

# 查看开机时间
uptime
systemd-analyze

# 查看系统负载
cat /proc/loadavg