Ubuntu 系统常用操作命令大全

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 查看简要帮助。

相关推荐
醇氧1 小时前
CentOS 7 安装 MySQL 8.0.28 el7 (完美兼容 OpenSSL 1.1)
linux·mysql·centos
wa的一声哭了1 小时前
Mit6.s081 Interrupts and device driver(中断和设备驱动)
linux·服务器·arm开发·数据库·python·gpt·算法
枳实-叶1 小时前
【Linux驱动开发】第8天:platform平台驱动深度解析——设计目的+probe/remove函数全解
linux·运维·驱动开发
曦夜日长1 小时前
Linux系统篇,开发工具(一):从入门到精通的软件安装yum使用
linux·运维·elasticsearch
无限进步_1 小时前
【Linux】从磁盘到文件系统——块、分区与inode
linux·运维·服务器
渡我白衣1 小时前
定时器与时间轮思想
linux·开发语言·前端·c++·人工智能·深度学习·神经网络
Marry Andy1 小时前
Atlas 800T A2部署qwen3-32b
linux·人工智能·语言模型·自然语言处理
珂玥c1 小时前
新增硬盘有脏数据如何处理——ubuntu16.04
linux·数据库·ide
wpeng56411 小时前
LINUX-FSTAB参数/SSD挂载
linux·运维·服务器