1. Ubuntu命令操作基础认知
作为Linux发行版中最受欢迎的桌面系统之一,Ubuntu的命令行操作是每位用户必须掌握的技能。与图形界面相比,命令行操作具有效率高、资源占用少、可脚本化等显著优势。根据多年运维经验,我将系统性地梳理Ubuntu中的高频命令,并附上实际应用场景说明。
重要提示:所有命令操作前请确认当前用户权限,涉及系统级修改的命令需要添加sudo前缀获取root权限
2. 文件与目录管理
2.1 基础导航命令
pwd:显示当前工作目录绝对路径ls:列出目录内容(参数组合示例):ls -alh # 显示所有文件(含隐藏)的详细信息+人性化大小显示 ls -t # 按修改时间排序 ls -S # 按文件大小排序cd:切换目录(特殊符号用法):cd ~ # 返回用户主目录 cd - # 返回上次所在目录 cd .. # 返回上级目录
2.2 文件操作命令
cp:复制文件(带进度显示):cp -v source.txt dest/ # -v显示复制进度 cp -r dir1 dir2 # 递归复制目录mv:移动/重命名文件:mv old.txt new.txt # 重命名 mv *.log /var/log/ # 批量移动rm:删除文件(危险操作!):rm -i *.tmp # 删除前确认 rm -rf dir/ # 强制递归删除目录
2.3 文件查看与搜索
cat:查看小文件内容less:分页查看大文件(支持搜索):less /var/log/syslog # 在less中按/可搜索,n/N跳转匹配项find:高级文件搜索:find /home -name "*.conf" -size +1M -mtime -7 # 查找/home下7天内修改过的大于1MB的conf文件
3. 系统监控与管理
3.1 进程管理
ps:查看进程(常用组合):ps aux | grep nginx # 查看nginx相关进程top/htop:动态进程监控(htop需安装):sudo apt install htop htop # 交互式进程管理器kill:终止进程:kill -9 1234 # 强制终止PID为1234的进程 pkill -f nginx # 按名称终止进程
3.2 硬件信息查看
lscpu:CPU详细信息free -h:内存使用情况(人性化显示)df -h:磁盘空间统计lsblk:块设备列表lspci | grep -i vga:查看显卡信息
3.3 网络管理
ip addr:查看网络接口信息(替代ifconfig)ping:测试网络连通性netstat:网络连接统计:netstat -tulnp # 查看监听端口及对应进程ss:更快速的socket统计:ss -ltn # 监听TCP端口数字显示
4. 软件包管理
4.1 APT基础操作
- 更新软件源:
sudo apt update - 升级已安装包:
sudo apt upgrade sudo apt full-upgrade # 处理依赖关系变更 - 软件安装/卸载:
sudo apt install vim sudo apt remove --purge package # 彻底卸载
4.2 高级包管理
- 搜索软件包:
apt search ^nginx # 正则搜索 - 查看包信息:
apt show nginx - 清理无用包:
sudo apt autoremove # 删除孤立包 sudo apt clean # 清理下载缓存
5. 用户与权限管理
5.1 用户账户操作
- 创建用户:
sudo adduser newuser # 交互式创建 - 修改密码:
passwd # 修改当前用户密码 sudo passwd username # root修改其他用户密码 - 删除用户:
sudo deluser --remove-home username
5.2 权限控制
chmod:修改文件权限:chmod 755 script.sh # 所有者rwx,其他用户rx chmod +x file # 添加执行权限chown:修改文件所有者:sudo chown user:group filesudo:临时提权:sudo -i # 启动root shell sudo -u user command # 指定用户执行
6. 文本处理三剑客
6.1 grep文本搜索
- 基础搜索:
grep "error" /var/log/syslog - 高级用法:
grep -r "TODO" /project/ # 递归搜索 grep -v "^#" config.conf # 排除注释行
6.2 sed流编辑器
- 替换文本:
sed 's/old/new/g' file.txt - 删除空行:
sed '/^$/d' input.txt
6.3 awk数据处理
- 提取特定列:
awk '{print $1,$3}' data.txt - 条件过滤:
awk '$3 > 100 {print $0}' sales.csv
7. 系统服务管理
7.1 systemd基础
- 查看服务状态:
systemctl status nginx - 服务控制:
sudo systemctl start|stop|restart service sudo systemctl enable|disable service # 开机自启管理
7.2 日志查看
journalctl:查看系统日志:journalctl -u nginx --since "1 hour ago"- 跟踪日志:
tail -f /var/log/nginx/access.log
8. 实用技巧合集
8.1 命令组合技巧
- 统计当前目录文件数:
ls -1 | wc -l - 查找大文件:
find / -type f -size +100M -exec ls -lh {} \;
8.2 历史命令优化
- 快速执行历史命令:
!n # 执行历史记录中第n条命令 !string # 执行最近以string开头的命令 - 设置历史记录:
export HISTSIZE=10000 # 内存中保存数量 export HISTFILESIZE=20000 # 文件中保存数量 export HISTTIMEFORMAT="%F %T " # 添加时间戳
8.3 定时任务管理
- 编辑crontab:
crontab -e # 用户级定时任务 - 示例任务:
0 3 * * * /path/to/backup.sh # 每天3点执行 */10 * * * * ping -c 1 example.com # 每10分钟
9. 网络配置实战
9.1 静态IP配置
修改/etc/netplan/下的配置文件:
network: version: 2 renderer: networkd ethernets: eth0: addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 1.1.1.1]应用配置:
sudo netplan apply9.2 防火墙管理
- 查看规则:
sudo ufw status verbose - 放行端口:
sudo ufw allow 22/tcp sudo ufw enable # 启用防火墙
10. 性能调优命令
10.1 系统监控
vmstat:虚拟内存统计:vmstat 1 # 每秒刷新一次iostat:磁盘I/O统计:iostat -x 1 # 显示扩展统计
10.2 性能分析
strace:跟踪系统调用:strace -p 1234 # 跟踪PID为1234的进程perf:性能分析工具:sudo apt install linux-tools-common perf top # 实时性能监控
掌握这些命令后,你将能高效完成90%以上的Ubuntu系统管理任务。建议在日常使用中逐步熟悉,遇到不熟悉的命令随时通过man命令查看手册。