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

十一、实用技巧

  1. 命令组合:使用管道(|)将一个命令的输出作为另一个命令的输入

    • ps aux | grep nginx (查找nginx进程)
  2. 输出重定向

    • > 覆盖写入文件:echo "Hello" > file.txt
    • >> 追加写入文件:echo "World" >> file.txt
  3. 通配符

    • * 匹配任意字符:rm *.log (删除所有.log文件)
    • ? 匹配单个字符:ls file?.txt
  4. 命令历史

    • 按↑↓键浏览历史命令
    • history 查看命令历史
    • !n 执行历史中的第n条命令
  5. Tab自动补全:输入命令或文件名的前几个字母后按Tab键自动补全