Ubuntu 操作系统常用命令
Ubuntu操作系统中覆盖系统管理、文件操作、软件包维护、网络配置、进程监控、权限控制、磁盘内存监控、用户管理、压缩解压及实用技巧等十大核心领域的高频命令,每条均附简明解释与典型示例,并融入管道组合、重定向、通配符、Tab补全等高效操作逻辑。这些命令是Linux终端工作的基石,熟练掌握不仅能显著提升日常运维与开发效率,更是深入理解开源系统逻辑、实现自动化管理与问题排查的关键能力支撑。
一、系统管理命令
| 命令 | 解释 | 示例 |
|---|---|---|
| shutdown -h now | 立即关闭系统 | shutdown -h now |
| reboot | 重启系统 | reboot |
| sudo | 以超级用户权限执行命令,临时提升权限 | sudo apt update |
| su - 用户名 | 切换到指定用户 | su - ubuntu |
| sudo -i | 切换到root用户(比su root更安全,保留环境变量) | sudo -i |
| logout | 注销当前用户会话 | logout |
| clear | 清空终端屏幕 | clear |
二、文件与目录操作
| 命令 | 解释 | 示例 |
|---|---|---|
| ls | 列出目录内容 | ls -alh (显示隐藏文件+详细信息+人类可读格式) |
| cd | 切换当前工作目录 | cd /var/log (进入日志目录) |
| pwd | 显示当前工作路径 | pwd |
| mkdir | 创建新目录 | mkdir -p project/{src,doc} (递归创建多级目录) |
| rm | 删除文件或目录 | rm -rf tmp_dir/ (强制递归删除目录及内容) |
| cp | 复制文件或目录 | cp -r dir1/ dir2/ (递归复制目录) |
| mv | 移动或重命名文件 | mv old.txt new.txt (重命名) 或 mv file.txt /tmp/ (移动) |
| touch | 创建空文件或更新文件时间戳 | touch config.conf |
| find | 按条件搜索文件 | find /home -name "*.log" -size +10M (查找大于10MB的日志) |
| cat | 显示文件内容 | cat -n file.txt (带行号显示) |
| less | 分页查看大文件 | less /var/log/syslog |
| head | 查看文件开头部分 | head -n 20 app.log (查看前20行) |
| tail | 查看文件末尾部分 | tail -f access.log (实时追踪日志) |
| grep | 文本搜索 | grep -i "error" *.log (忽略大小写搜索错误) |
三、软件包管理
| 命令 | 解释 | 示例 |
|---|---|---|
| apt update | 更新软件源列表 | sudo apt update |
| apt upgrade | 升级已安装的软件包 | sudo apt upgrade -y (-y自动确认) |
| apt install | 安装软件包 | sudo apt install git vim -y (批量安装) |
| apt remove | 卸载软件包 | sudo apt remove git -y |
| apt purge | 彻底卸载软件包(包括配置文件) | sudo apt purge git -y |
| apt autoremove | 清理不再需要的依赖包 | sudo apt autoremove -y |
| apt search | 搜索可用软件包 | apt search "text editor" |
| snap install | 安装Snap应用 | sudo snap install code --classic (安装VS Code) |
四、网络相关命令
| 命令 | 解释 | 示例 |
|---|---|---|
| ip addr | 查看网络接口信息(替代ifconfig) | ip addr 或 ip a show eth0 (仅看eth0网卡) |
| ssh | 安全远程登录 | ssh admin@192.168.1.100 |
| ping | 测试网络连通性 | ping google.com |
| netstat | 显示网络连接状态 | netstat -ntpl (查看TCP端口) |
| ufw | 管理防火墙 | sudo ufw status (查看防火墙状态) |
| mount | 挂载文件系统 | sudo mount -t cifs //192.168.1.10/Data /mnt/domain_share -o username=CORP\admin,password=P@ssw0rd,domain=CORP,vers=3.0 (挂载Windows共享) |
| umount | 卸载文件系统 | sudo umount /mnt/domain_share |
五、进程管理命令
| 命令 | 解释 | 示例 |
|---|---|---|
| ps | 查看进程状态 | ps aux | grep ssh (过滤ssh进程) |
| top | 实时监控系统进程 | top (按P可按CPU排序) |
| htop | 增强版进程监控工具(需安装) | sudo apt install htop && htop |
| kill | 终止指定PID的进程 | kill 1234 (优雅终止) 或 kill -9 1234 (强制终止) |
| killall | 按名称终止进程 | killall -i firefox (-i交互式确认) |
| pkill | 按条件终止进程 | pkill -u ubuntu (终止指定用户的所有进程) |
| systemctl start | 启动服务(临时) | sudo systemctl start nginx |
| systemctl enable | 设置服务开机自启 | sudo systemctl enable mongodb |
| systemctl restart | 重启服务 | sudo systemctl restart sshd |
| systemctl reload | 重新加载服务配置(不中断运行) | sudo systemctl reload apache2 |
六、权限管理命令
| 命令 | 解释 | 示例 |
|---|---|---|
| chmod | 修改文件权限 | chmod 755 script.sh (设置权限为rwxr-xr-x) |
| chown | 修改文件所有者 | sudo chown user:group file.txt |
| chgrp | 修改文件所属组 | sudo chgrp developers project/ |
七、系统监控命令
| 命令 | 解释 | 示例 |
|---|---|---|
| df | 查看磁盘空间使用情况 | df -h (以人类可读格式显示) |
| du | 查看目录占用空间 | du -sh /var/log (查看/var/log目录大小) |
| free | 查看内存使用情况 | free -h (以人类可读格式显示) |
| date | 显示或设置系统日期和时间 | date |
| cal | 显示日历 | cal 或 cal 2024 (显示2024年日历) |
八、用户管理命令
| 命令 | 解释 | 示例 |
|---|---|---|
| adduser | 添加用户(自动创建家目录+设置密码) | sudo adduser testuser |
| usermod | 修改用户信息 | sudo usermod -aG sudo username (将用户添加到sudo组) |
| passwd | 修改密码 | passwd (修改当前用户密码) 或 sudo passwd root (设置root密码) |
| sudo passwd root | 为root用户设置密码 | sudo passwd root |
九、压缩与解压命令
| 命令 | 解释 | 示例 |
|---|---|---|
| tar | 打包和解压文件 | tar zcvf project.tar.gz /home/ubuntu/project (压缩) tar zxvf project.tar.gz -C /tmp/ (解压到/tmp/) |
| unzip | 解压zip文件 | unzip xxx.zip |
| gzip | 压缩文件 | gzip file.txt (生成file.txt.gz) |
| gunzip | 解压gzip文件 | gunzip file.txt.gz |
十、其他实用命令
| 命令 | 解释 | 示例 |
|---|---|---|
| crontab -e | 编辑定时任务 | crontab -e |
| nano | 简易文本编辑器 | nano /etc/hosts |
| vim | 高级文本编辑器 | vim /etc/samba/smb.conf |
| ln -s | 创建软链接 | ln -s /mnt/domain_share/data local_data |
| diff | 比较文件差异 | diff file1.txt file2.txt |
| man | 查看命令手册 | man ls |
| --help | 查看命令帮助信息 | ls --help |
| | more | 分屏显示命令输出 | ls -l /usr/bin | more |
| | less | 可上下翻页分屏显示 | cat largefile.txt | less |
十一、实用技巧
-
命令组合:使用管道(|)将一个命令的输出作为另一个命令的输入
- ps aux | grep nginx (查找nginx进程)
-
输出重定向:
>覆盖写入文件:echo "Hello" > file.txt>>追加写入文件:echo "World" >> file.txt
-
通配符:
*匹配任意字符:rm *.log (删除所有.log文件)?匹配单个字符:ls file?.txt
-
命令历史:
- 按↑↓键浏览历史命令
- history 查看命令历史
- !n 执行历史中的第n条命令
-
Tab自动补全:输入命令或文件名的前几个字母后按Tab键自动补全
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 软件从业者Hort
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果

