Ubuntu命令行操作基础与实用技巧

发布时间:2026/7/21 5:16:27
Ubuntu命令行操作基础与实用技巧 1. Ubuntu命令行操作基础认知作为Linux发行版中最受欢迎的桌面系统之一Ubuntu的命令行操作是每位用户必须掌握的技能。与图形界面相比命令行提供了更高效、更灵活的系统控制方式。在终端中输入命令时需要注意以下几点命令区分大小写命令和参数之间需要用空格分隔多数命令都支持--help参数查看帮助按Tab键可以自动补全命令或文件名提示Ubuntu默认使用bash作为命令行解释器可以通过echo $SHELL命令查看当前使用的shell类型。2. 文件与目录管理命令2.1 基础导航与查看命令pwd命令显示当前工作目录的完整路径这是定位自己位置的最基本命令。例如/home/user/Documentsls命令可能是使用频率最高的命令之一它有多个常用参数组合ls # 简单列出当前目录内容 ls -l # 长格式显示包含权限、所有者、大小等信息 ls -a # 显示所有文件包括隐藏文件(以.开头) ls -lh # 人类可读的文件大小显示(如K、M、G) ls -t # 按修改时间排序最新的排在最前cd命令用于切换工作目录有几个特殊用法值得记住cd ~ # 返回用户主目录 cd - # 返回上一个工作目录 cd .. # 返回上级目录2.2 文件操作命令cp命令用于复制文件或目录cp file1 file2 # 复制文件 cp -r dir1 dir2 # 递归复制目录 cp -v *.txt /backup/ # 详细模式复制所有txt文件mv命令兼具移动和重命名功能mv oldname newname # 重命名文件 mv file /target/path/ # 移动文件rm命令删除文件需谨慎使用rm file # 删除单个文件 rm -f file # 强制删除不提示 rm -r directory # 递归删除目录 rm -rf directory # 强制递归删除(危险命令)警告rm -rf /这样的命令会删除系统所有文件务必避免使用。2.3 文件查看与搜索cat命令适合查看小文件cat filename # 显示文件全部内容 cat -n filename # 显示行号less和more命令更适合查看大文件less filename # 可上下翻页查看 more filename # 只能向下翻页find命令是强大的文件搜索工具find / -name *.conf # 全盘搜索.conf文件 find . -type f -size 1M # 查找当前目录下大于1MB的文件 find /var/log -mtime -7 # 查找/var/log下7天内修改过的文件grep命令用于文本搜索grep error logfile # 在文件中搜索error关键词 grep -r function /code/ # 递归搜索目录中的内容 grep -i warning file # 忽略大小写搜索3. 系统管理与监控命令3.1 系统信息查询uname命令查看系统内核信息uname -a # 显示所有系统信息 uname -r # 只显示内核版本df和du命令监控磁盘使用情况df -h # 人类可读的磁盘空间显示 du -sh * # 显示当前目录各文件/目录大小 du -h --max-depth1 / # 查看根目录下各文件夹大小free命令查看内存使用free -h # 以GB/MB为单位显示内存情况top和htop命令实时监控系统状态top # 经典系统监控工具 htop # 增强版top(需额外安装)3.2 进程管理ps命令查看进程信息ps aux # 查看所有运行中的进程 ps -ef | grep nginx # 查找nginx相关进程kill命令终止进程kill 1234 # 终止PID为1234的进程 kill -9 1234 # 强制终止进程 pkill nginx # 按进程名终止nice和renice调整进程优先级nice -n 10 command # 以较低优先级启动命令 renice 15 -p 1234 # 调整已运行进程的优先级3.3 用户与权限管理sudo命令以超级用户权限执行命令sudo apt update # 以root权限更新软件列表用户管理命令sudo adduser newuser # 创建新用户 sudo deluser olduser # 删除用户 sudo passwd username # 修改用户密码权限管理命令chmod 755 script.sh # 修改文件权限 chown user:group file # 修改文件所有者和组4. 网络相关命令4.1 网络配置与诊断ifconfig或ip命令查看网络接口ifconfig # 显示网络接口信息(较老) ip addr show # 新版IP查看命令ping命令测试网络连通性ping google.com # 测试到Google的网络连接 ping -c 4 8.8.8.8 # 只发送4个ping包traceroute命令追踪网络路径traceroute google.com # 显示到目标的路由路径netstat命令查看网络状态netstat -tulnp # 查看所有监听端口和对应程序 netstat -rn # 查看路由表4.2 网络工具wget和curl命令用于网络下载wget http://example.com/file.zip # 下载文件 curl -O http://example.com/file.zip # 同样下载文件 curl -I http://example.com # 只显示HTTP头信息ssh命令远程连接ssh userremote.server.com # 连接到远程服务器 ssh -p 2222 userhost # 指定非标准端口连接scp命令安全复制文件scp file.txt userremote:/path/ # 上传文件 scp userremote:/path/file.txt . # 下载文件5. 软件包管理命令5.1 APT基础命令apt是Ubuntu的包管理工具常用命令包括sudo apt update # 更新软件包列表 sudo apt upgrade # 升级所有可升级软件包 sudo apt install nginx # 安装软件包 sudo apt remove nginx # 卸载软件包(保留配置) sudo apt purge nginx # 完全卸载(包括配置) sudo apt autoremove # 自动移除不需要的包5.2 软件包查询apt search keyword # 搜索软件包 apt show package # 显示软件包详细信息 apt list --installed # 列出已安装的软件包 apt depends package # 查看软件包依赖关系5.3 源码编译安装虽然APT很方便但有时需要从源码安装./configure # 配置编译选项 make # 编译源代码 sudo make install # 安装到系统6. 文本处理与脚本命令6.1 文本处理工具grep的高级用法grep -v pattern file # 反向匹配显示不包含pattern的行 grep -A 3 -B 2 error log # 显示匹配行及前后几行awk命令处理结构化文本awk {print $1} file # 打印每行第一个字段 awk -F: {print $1} /etc/passwd # 以:为分隔符sed流编辑器sed s/old/new/g file # 替换文本 sed -i.bak s/old/new/ file # 直接修改文件并备份6.2 压缩与归档tar命令处理归档文件tar -cvf archive.tar files/ # 创建tar归档 tar -xvf archive.tar # 解压tar文件 tar -czvf archive.tar.gz files/ # 创建gzip压缩包 tar -xzvf archive.tar.gz # 解压gzip包zip和unzip命令zip -r archive.zip folder/ # 递归压缩目录 unzip archive.zip # 解压zip文件7. 系统服务管理Ubuntu使用systemd作为初始化系统相关命令包括sudo systemctl start nginx # 启动服务 sudo systemctl stop nginx # 停止服务 sudo systemctl restart nginx # 重启服务 sudo systemctl status nginx # 查看服务状态 sudo systemctl enable nginx # 设置开机启动 sudo systemctl disable nginx # 禁用开机启动查看系统日志journalctl -xe # 查看系统日志 journalctl -u nginx --since 1 hour ago # 查看特定服务的日志8. 实用技巧与快捷命令8.1 命令组合与重定向命令组合command1 command2 # command1成功才执行command2 command1 || command2 # command1失败才执行command2重定向command file # 标准输出重定向到文件(覆盖) command file # 追加到文件 command 2 error.log # 错误输出重定向 command logfile # 所有输出重定向管道ls -l | grep Dec # 将ls输出传递给grep处理8.2 历史命令与别名历史命令操作history # 查看命令历史 !number # 执行历史中第number条命令 !! # 执行上一条命令设置别名简化常用命令alias llls -alF # 设置别名 unalias ll # 取消别名8.3 定时任务cron定时任务crontab -e # 编辑当前用户的cron任务 crontab -l # 列出当前用户的cron任务示例cron任务格式* * * * * command | | | | | | | | | ----- 星期几 (0 - 6) (星期天0) | | | ------- 月份 (1 - 12) | | --------- 日 (1 - 31) | ----------- 小时 (0 - 23) ------------- 分钟 (0 - 59)