news 2026/7/17 7:04:04

Ubuntu命令行操作指南:从基础到高级技巧

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ubuntu命令行操作指南:从基础到高级技巧

1. Ubuntu命令操作基础认知

作为Linux发行版中最受欢迎的桌面系统之一,Ubuntu的命令行操作是每位用户必须掌握的技能。与Windows系统不同,Ubuntu中大约85%的系统管理任务都是通过命令行完成的。这主要因为:

  • 命令行操作更高效,一个简单的命令可以替代多次图形界面点击
  • 远程管理服务器时,命令行是唯一的选择
  • 许多高级系统功能没有图形界面,只能通过命令实现

初次接触Ubuntu命令时,建议先了解几个基本概念:

  1. 命令通常由"命令名 + 选项 + 参数"组成,例如ls -l /home
  2. 选项通常以---开头,用于修改命令行为
  3. 参数是命令操作的对象,如文件名、目录名等

重要提示:Ubuntu中命令区分大小写,LSls是完全不同的命令。大多数基础命令都是小写的。

2. 文件与目录管理命令精要

2.1 基础导航与查看命令

ls命令是使用频率最高的命令之一,但它的选项组合能发挥更大威力:

ls -alh --color=auto /path
  • -a:显示所有文件(包括隐藏文件)
  • -l:长格式显示详细信息
  • -h:人类可读的文件大小单位
  • --color=auto:启用颜色区分文件类型

cd命令的进阶用法:

cd - # 返回上一个工作目录 cd ~user # 切换到指定用户的家目录

2.2 文件操作深度技巧

cp命令的保留属性选项:

cp -a source dest # 等同于-dpr选项组合,保留所有属性
  • -d:保留符号链接
  • -p:保留文件属性
  • -r:递归复制目录

rm命令的安全用法:

rm -I *.log # 删除多个文件前提示确认
  • -i:每个文件删除前都询问
  • -I:删除超过3个文件或递归删除时提示一次

2.3 查找命令的实战应用

find命令的高级搜索示例:

find /var/log -name "*.log" -mtime +30 -size +10M -exec ls -lh {} \;

这个命令组合可以找出/var/log目录下:

  • 文件名以.log结尾
  • 修改时间超过30天
  • 大小超过10MB 的所有文件,并显示详细信息

3. 系统管理与监控命令详解

3.1 进程管理核心命令

ps命令的常用组合:

ps aux --sort=-%mem | head -10 # 显示内存占用最高的10个进程

关键字段说明:

  • USER:进程所有者
  • %CPU:CPU占用率
  • %MEM:内存占用率
  • VSZ:虚拟内存用量
  • RSS:实际内存用量

top命令的交互操作:

  1. M:按内存使用排序
  2. P:按CPU使用排序
  3. 1:显示所有CPU核心的负载
  4. k:终止指定PID的进程

3.2 硬件信息获取方法

综合硬件信息查看:

lshw -short # 显示硬件设备简明列表 lshw -html > report.html # 生成HTML格式的硬件报告

磁盘I/O监控:

iostat -x 2 # 每2秒显示一次扩展磁盘I/O统计

关键指标:

  • %util:设备利用率
  • await:平均I/O响应时间
  • svctm:平均服务时间

3.3 网络配置与诊断

永久修改IP地址:

sudo nmcli con mod eth0 ipv4.addresses 192.168.1.100/24 sudo nmcli con mod eth0 ipv4.gateway 192.168.1.1 sudo nmcli con mod eth0 ipv4.dns "8.8.8.8 8.8.4.4" sudo nmcli con up eth0

网络连通性测试组合:

ping -c 4 example.com # 基本连通性测试 traceroute example.com # 路径追踪 mtr -rw example.com # 实时网络质量监测

4. 软件包管理高级技巧

4.1 APT的进阶用法

解决依赖问题的完整流程:

sudo apt --fix-broken install # 尝试修复损坏的包 sudo dpkg --configure -a # 配置所有未完成的安装 sudo apt clean # 清理下载的包文件 sudo apt update # 更新源信息

查找软件包的实用命令:

apt-cache search ^python3 # 搜索以python3开头的包 apt-cache show package_name # 显示包的详细信息 apt-cache depends package_name # 查看包的依赖关系

4.2 源码编译安装的规范流程

以安装最新版Nginx为例:

# 安装编译依赖 sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev # 下载源码 wget http://nginx.org/download/nginx-1.21.6.tar.gz tar zxvf nginx-1.21.6.tar.gz cd nginx-1.21.6 # 配置编译选项 ./configure --prefix=/usr/local/nginx \ --with-http_ssl_module \ --with-http_v2_module \ --with-http_realip_module # 编译安装 make -j$(nproc) # 使用所有CPU核心编译 sudo make install

5. 系统维护与故障排查

5.1 日志分析实用命令

查看系统日志的几种方式:

journalctl -xe # 查看最近的系统日志 tail -f /var/log/syslog # 实时监控系统日志 grep -i error /var/log/*.log # 在所有日志中搜索错误信息

日志轮转配置示例(/etc/logrotate.d/custom):

/var/log/myapp/*.log { daily missingok rotate 30 compress delaycompress notifempty create 640 root adm sharedscripts postrotate /usr/bin/systemctl reload myapp > /dev/null endscript }

5.2 性能瓶颈诊断

内存瓶颈检查:

free -h # 查看内存总量和使用情况 vmstat 1 5 # 查看内存交换情况

CPU瓶颈检查:

mpstat -P ALL 1 # 查看每个CPU核心的使用率 pidstat 1 5 # 查看进程的CPU使用情况

6. 实用命令组合与脚本

6.1 常用命令组合示例

批量重命名文件:

# 将所有.jpg文件改为前缀+数字的形式 count=1 for file in *.jpg; do mv "$file" "vacation_$(printf "%03d" $count).jpg" ((count++)) done

查找并处理大文件:

# 查找大于100MB的文件并显示详细信息 find / -type f -size +100M -exec ls -lh {} \+ | sort -k5 -rh

6.2 实用Shell脚本片段

系统备份脚本框架:

#!/bin/bash BACKUP_DIR="/backups" DATE=$(date +%Y%m%d) TARGET_DIRS=("/etc" "/home" "/var/www") mkdir -p $BACKUP_DIR/$DATE for dir in "${TARGET_DIRS[@]}"; do tar -czf $BACKUP_DIR/$DATE/$(basename $dir).tar.gz $dir done # 保留最近7天的备份 find $BACKUP_DIR -type d -mtime +7 -exec rm -rf {} \;

7. 安全相关命令

7.1 用户权限管理

sudo权限精细控制示例(/etc/sudoers):

# 允许develop组用户无需密码执行特定命令 %develop ALL=(ALL) NOPASSWD: /usr/bin/apt update, /usr/bin/systemctl restart apache2 # 允许用户john管理用户账户 john ALL=(root) /usr/sbin/adduser, /usr/sbin/deluser, /usr/sbin/usermod

7.2 SSH安全加固

SSH服务端安全配置(/etc/ssh/sshd_config):

Port 2222 # 修改默认端口 PermitRootLogin no # 禁止root直接登录 MaxAuthTries 3 # 最大认证尝试次数 ClientAliveInterval 300 # 客户端活动检查间隔 ClientAliveCountMax 2 # 保持活动的最大数量 AllowUsers user1 user2 # 只允许特定用户登录

8. 开发相关命令

8.1 版本控制操作

Git常用工作流示例:

# 克隆仓库 git clone https://github.com/user/repo.git cd repo # 创建新分支 git checkout -b feature-branch # 常规开发流程 git add . git commit -m "描述性提交信息" git push origin feature-branch # 合并到主分支 git checkout main git pull origin main git merge feature-branch git push origin main

8.2 调试工具使用

gdb基础调试流程:

gcc -g -o test test.c # 编译时加入调试信息 gdb ./test # 启动调试 # gdb常用命令 break main # 在main函数设置断点 run # 运行程序 next # 单步执行(不进入函数) step # 单步执行(进入函数) print var # 打印变量值 backtrace # 查看调用栈 quit # 退出gdb
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/17 7:01:42

twitch-dl快速入门:5分钟掌握Twitch视频批量下载秘诀

twitch-dl快速入门:5分钟掌握Twitch视频批量下载秘诀 【免费下载链接】twitch-dl CLI tool for downloading videos from Twitch. 项目地址: https://gitcode.com/gh_mirrors/tw/twitch-dl 想要轻松保存Twitch直播回放和精彩片段吗?twitch-dl是您…

作者头像 李华
网站建设 2026/7/17 6:59:51

Windows消息机制与SendMessage API详解

1. Windows消息机制与SendMessage基础Windows操作系统的核心机制之一就是消息驱动模型。这个机制决定了应用程序如何响应用户输入、系统事件以及其他程序的通信请求。作为Windows程序员,理解消息机制是基本功,而SendMessage则是其中最关键的API之一。消息…

作者头像 李华
网站建设 2026/7/17 6:57:51

告别Windows和Office激活烦恼:KMS_VL_ALL_AIO智能激活脚本全面指南

告别Windows和Office激活烦恼:KMS_VL_ALL_AIO智能激活脚本全面指南 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows激活弹窗而烦恼吗?每次重装系统后&#…

作者头像 李华
网站建设 2026/7/17 6:56:49

终极Notepad--入门指南:3分钟掌握这款跨平台国产编辑器

终极Notepad--入门指南:3分钟掌握这款跨平台国产编辑器 【免费下载链接】notepad-- 一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。 项目地址: https://gitcode.com/GitHub_Trending/no/notepad-- Not…

作者头像 李华
网站建设 2026/7/17 6:56:33

操作系统进程管理:从基础概念到实践技巧

1. 进程管理基础概念在计算机系统中,进程(Process)是程序的一次执行过程,是操作系统进行资源分配和调度的基本单位。每个进程都有自己独立的内存空间和系统资源,现代操作系统通过进程管理实现多任务并行执行。进程与程…

作者头像 李华
网站建设 2026/7/17 6:52:50

Linux系统OpenOffice部署与中文乱码解决方案

1. Linux环境下OpenOffice部署全攻略作为一款老牌开源办公套件,OpenOffice在Linux系统上的表现一直可圈可点。但实际部署过程中,中文乱码、启动报错等问题让不少用户头疼不已。我在企业IT支持岗位上处理过上百例OpenOffice部署案例,今天就把这…

作者头像 李华