Linux/Ubuntu 16.04终端命令大全:从基础操作到系统管理

Linux/Ubuntu 16.04终端命令大全:从基础操作到系统管理

Ubuntu 16.04 LTS 作为长期支持版本,为用户提供了稳定可靠的操作系统环境。终端(Terminal)作为 Linux 系统的核心交互界面,是进行系统管理、文件操作、软件安装等任务的重要工具。奥德彪学习网将详细介绍 Ubuntu 16.04 终端的基本操作、常用命令、系统管理技巧以及高级应用,帮助用户从初学者逐步成长为终端操作高手。无论您是 Linux 新手还是有经验的用户,这份指南都将为您提供实用的参考和帮助。

一、终端基础操作

1.1 终端启动与界面

启动终端的方法:

  • 快捷键启动:按下 Ctrl + Alt + T 组合键
  • 图形界面启动:桌面右键选择 "Open Terminal"
  • 应用菜单启动:通过 "应用程序"→"系统工具"→"终端"

标签终端:

  • 新建标签页:Ctrl + Shift + T
  • 切换标签页:Ctrl + PageUp/PageDown
  • 关闭标签页:Ctrl + Shift + W

1.2 终端快捷键

快捷键
功能说明
Ctrl + C
终止当前运行的命令
Ctrl + Z
暂停当前进程
Ctrl + D
退出当前终端会话
Ctrl + L
清屏(相当于 clear 命令)
Ctrl + R
反向搜索命令历史
Tab
命令 / 文件名自动补全
↑ / ↓
浏览命令历史
Ctrl + Shift + "+"
放大字体
Ctrl + "-"
缩小字体

1.3 命令历史管理

查看命令历史:

重复执行历史命令:

  • 使用 ↑ 和 ↓ 键浏览历史命令
  • 使用 !n 执行第 n 条历史命令(n 为历史编号)
  • 使用 !! 重复执行上一条命令

搜索历史命令:

  • 按下 Ctrl + R 进入搜索模式
  • 输入关键词查找相关命令
  • 按 Enter 执行找到的命令

二、文件和目录管理命令

2.1 目录操作命令

ls - 列出目录内容

# 基本用法
ls
# 详细列表显示
ls -l
# 显示所有文件(包括隐藏文件)
ls -a
# 人类可读格式显示文件大小
ls -h
# 组合使用
ls -la
ls -lha
输出颜色说明:
  • 白色:普通文件
  • 蓝色:目录
  • 绿色:可执行文件
  • 青蓝色:符号链接
  • 红色:压缩文件
  • 洋红色:图片 / 视频文件
  • 黄色:设备文件

cd - 切换目录

# 切换到指定目录
cd /path/to/directory
# 切换到用户主目录
cd ~
cd
# 切换到上一级目录
cd ..
# 切换到上一次所在目录
cd -
# 切换到根目录
cd /

pwd - 显示当前目录

pwd
# 显示物理路径(不包含符号链接)
pwd -P
# 显示逻辑路径(包含符号链接)
pwd -L

2.2 文件操作命令

touch - 创建文件

# 创建空文件
touch filename.txt
# 同时创建多个文件
touch file1.txt file2.txt file3.txt
# 创建带有特定时间戳的文件
touch -t 202412251030 filename.txt

mkdir - 创建目录

# 创建单个目录
mkdir directory
# 创建多级目录
mkdir -p parent/child/grandchild
# 创建多个目录
mkdir dir1 dir2 dir3
# 显示创建过程
mkdir -v directory

rm - 删除文件 / 目录

# 删除文件
rm filename.txt
# 删除多个文件
rm file1.txt file2.txt
# 强制删除(不提示)
rm -f filename.txt
# 删除目录及其内容
rm -r directory
# 强制删除目录(危险操作)
rm -rf directory
⚠️ 警告:rm -rf 命令非常危险,可能导致数据永久丢失,请谨慎使用。

cp - 复制文件 / 目录

# 复制文件
cp source.txt destination.txt
# 复制文件到目录
cp file.txt /path/to/directory
# 复制目录及其内容
cp -r source_dir destination_dir
# 保留文件属性复制
cp -p source.txt destination.txt
# 交互式复制(覆盖前询问)
cp -i source.txt destination.txt

mv - 移动 / 重命名文件

# 重命名文件
mv oldname.txt newname.txt
# 移动文件到目录
mv file.txt /path/to/directory
# 移动多个文件
mv file1.txt file2.txt /path/to/directory
# 交互式移动
mv -i file.txt /path/to/directory
# 强制移动
mv -f file.txt /path/to/directory

2.3 文件内容查看

cat - 查看文件内容

# 查看文件内容
cat filename.txt
# 显示行号
cat -n filename.txt
# 合并文件
cat file1.txt file2.txt > combined.txt
# 创建文件并输入内容
cat > newfile.txt

more/less - 分页查看文件

# 分页查看文件
more filename.txt
less filename.txt
# less命令操作:
# 空格键 - 下一页
# Enter键 - 下一行
# b键 - 上一页
# q键 - 退出

head/tail - 查看文件开头 / 结尾

# 查看文件前10行
head filename.txt
# 查看文件前n行
head -n 20 filename.txt
# 查看文件后10行
tail filename.txt
# 实时查看文件更新
tail -f logfile.txt

3.1 find - 文件查找

# 在当前目录查找文件
find . -name "filename.txt"
# 查找所有txt文件
find . -name "*.txt"
# 按文件类型查找
find . -type f # 普通文件
find . -type d # 目录
find . -type l # 符号链接
# 按大小查找
find . -size +10M # 大于10MB的文件
find . -size -100k # 小于100KB的文件
# 按修改时间查找
find . -mtime -7 # 7天内修改的文件
find . -mtime +30 # 30天前修改的文件
# 查找并删除文件
find . -name "*.tmp" -delete

3.2 grep - 文本搜索

# 在文件中搜索文本
grep "search_term" filename.txt
# 递归搜索目录
grep -r "search_term" /path/to/directory
# 忽略大小写
grep -i "search_term" filename.txt
# 显示行号
grep -n "search_term" filename.txt
# 显示匹配的文件
grep -l "search_term" *.txt

四、系统管理命令

4.1 用户和权限管理

用户管理

# 查看当前用户
whoami
# 查看登录用户
who
w
# 切换用户
su username
# 以管理员身份执行命令
sudo command
# 修改用户密码
passwd
passwd username

文件权限管理

# 查看文件权限
ls -l filename.txt
# 修改文件权限(符号模式)
chmod u+rwx filename.txt # 给所有者读写执行权限
chmod g+rw filename.txt # 给组用户读写权限
chmod o-r filename.txt # 取消其他用户读权限
# 修改文件权限(数字模式)
chmod 755 filename.txt # 所有者读写执行,其他人读执行
chmod 644 filename.txt # 所有者读写,其他人只读
chmod 777 filename.txt # 所有人都有读写执行权限
# 递归修改目录权限
chmod -R 755 directory
权限数字说明:
  • r(读):4
  • w(写):2
  • x(执行):1
  • 无权限:0

4.2 系统信息查看

系统基本信息

# 查看系统内核版本
uname -r
uname -a
# 查看Ubuntu版本
lsb_release -a
cat /etc/os-release
# 查看系统时间
date
timedatectl
# 查看硬件信息
lshw
lscpu
lsmem
# 查看正在运行的进程
ps aux
top
# 杀死进程
kill PID
kill -9 PID # 强制杀死进程
# 查找进程
ps aux | grep process_name
pgrep process_name

4.3 磁盘管理

磁盘空间查看

# 查看磁盘使用情况
df -h
# 查看目录占用空间
du -h /path/to/directory
# 查看当前目录各文件大小
du -sh *
# 查看最大的文件和目录
du -a | sort -nr | head -10

磁盘分区管理

# 查看磁盘分区
fdisk -l
lsblk
# 挂载磁盘
mount /dev/sdb1 /mnt
# 卸载磁盘
umount /mnt
# 查看挂载点
mount

五、软件包管理

5.1 APT 包管理

软件包更新

# 更新软件包列表
sudo apt update
# 升级已安装的软件包
sudo apt upgrade
# 升级系统版本
sudo apt dist-upgrade
# 自动清理不需要的软件包
sudo apt autoremove
sudo apt autoclean

软件安装与卸载

# 安装软件包
sudo apt install package_name
# 安装多个软件包
sudo apt install package1 package2 package3
# 卸载软件包
sudo apt remove package_name
# 彻底卸载软件包(包括配置文件)
sudo apt purge package_name
# 查找软件包
apt search package_name
apt show package_name

5.2 源码包安装

# 下载源码包
wget https://example.com/package.tar.gz
# 解压源码包
tar -xzf package.tar.gz
# 进入源码目录
cd package_directory
# 配置编译选项
./configure
# 编译源码
make
# 安装软件
sudo make install

六、压缩与打包

6.1 tar 命令使用

创建压缩包

# 创建tar包
tar -cvf archive.tar files/
# 创建tar.gz压缩包
tar -czvf archive.tar.gz files/
# 创建tar.bz2压缩包
tar -cjvf archive.tar.bz2 files/
# 创建tar.xz压缩包
tar -cJvf archive.tar.xz files/

解压压缩包

# 解压tar包
tar -xvf archive.tar
# 解压tar.gz压缩包
tar -xzvf archive.tar.gz
# 解压tar.bz2压缩包
tar -xjvf archive.tar.bz2
# 解压到指定目录
tar -xzvf archive.tar.gz -C /path/to/directory

6.2 其他压缩命令

# zip压缩
zip -r archive.zip files/
# zip解压
unzip archive.zip
# gzip压缩
gzip filename.txt
# gzip解压
gunzip filename.txt.gz

七、网络管理命令

7.1 网络连接信息

# 查看网络接口信息
ifconfig
ip addr
# 查看网络路由
route -n
ip route
# 查看DNS配置
cat /etc/resolv.conf
# 查看网络连接
netstat -tuln
ss -tuln

7.2 网络测试命令

# 测试网络连通性
ping google.com
ping -c 4 google.com # 发送4个包后停止
# 测试端口连通性
telnet hostname port
nc -zv hostname port
# 域名解析测试
nslookup domain.com
dig domain.com
# 网络速度测试
speedtest-cli

7.3 远程连接

# SSH连接
ssh username@hostname
ssh username@ip_address -p port
scp local_file username@hostname:/remote/path
scp username@hostname:/remote/file local_path
# SFTP连接
sftp username@hostname

八、系统服务管理

8.1 服务控制

# 查看服务状态
sudo service service_name status
sudo systemctl status service_name
# 启动服务
sudo service service_name start
sudo systemctl start service_name
# 停止服务
sudo service service_name stop
sudo systemctl stop service_name
# 重启服务
sudo service service_name restart
sudo systemctl restart service_name
# 设置服务开机启动
sudo systemctl enable service_name
# 禁止服务开机启动
sudo systemctl disable service_name

8.2 系统进程管理

# 查看系统资源使用情况
top
htop
iotop
iftop
# 查看系统启动时间
uptime
# 查看系统负载
w
cat /proc/loadavg
# 查看系统日志
dmesg
tail -f /var/log/syslog

九、计划任务

9.1 crontab 使用

# 编辑当前用户的计划任务
crontab -e
# 查看当前用户的计划任务
crontab -l
# 删除当前用户的计划任务
crontab -r
# 编辑其他用户的计划任务
sudo crontab -u username -e

cron 时间格式:

* * * * * command
| | | | |
| | | | +----- 星期 (0-7) (0和7都代表星期日)
| | | +------- 月 (1-12)
| | +--------- 日 (1-31)
| +----------- 时 (0-23)
+------------- 分 (0-59)

常用示例:

# 每天凌晨2点执行备份
0 2 * * * /path/to/backup.sh
# 每小时执行一次脚本
0 * * * * /path/to/script.sh
# 每周一上午10点执行清理
0 10 * * 1 /path/to/cleanup.sh
# 每月1号和15号执行维护
0 0 1,15 * * /path/to/maintenance.sh

十、高级终端技巧

10.1 命令别名设置

# 设置临时别名
alias ll='ls -l'
alias la='ls -la'
alias ..='cd ..'
# 设置永久别名(添加到~/.bashrc)
echo "alias ll='ls -l'" >> ~/.bashrc
source ~/.bashrc

10.2 命令管道和重定向

# 命令管道
command1 | command2 | command3
# 输出重定向
command > output.txt # 覆盖文件
command >> output.txt # 追加到文件
command 2> error.txt # 错误输出重定向
command &> output.txt # 所有输出重定向
# 输入重定向
command < input.txt
# 同时重定向输入输出
command < input.txt > output.txt

10.3 后台任务管理

# 后台运行命令
command &
# 查看后台任务
jobs
# 切换到前台
fg %job_number
# 切换到后台
bg %job_number
# 后台运行命令(退出终端后继续运行)
nohup command &

10.4 环境变量配置

# 查看环境变量
echo $PATH
env
printenv
# 设置临时环境变量
export PATH=$PATH:/new/path
# 设置永久环境变量(添加到~/.bashrc)
echo "export PATH=$PATH:/new/path" >> ~/.bashrc
source ~/.bashrc

十一、重要目录结构

11.1 系统核心目录

/ # 根目录
/bin # 基本用户命令
/sbin # 系统管理命令
/etc # 系统配置文件
/home # 用户主目录
/root # 超级用户主目录
/var # 可变数据文件
/tmp # 临时文件
/usr # 用户程序
/lib # 共享库文件
/opt # 可选软件包
/mnt # 挂载点
/media # 可移动媒体挂载点

11.2 常用配置文件

~/.bashrc # Bash shell配置
~/.bash_profile # 用户登录配置
~/.bash_history # 命令历史
/etc/profile # 系统级环境配置
/etc/bashrc # 系统级Bash配置
/etc/fstab # 文件系统挂载配置
/etc/hosts # 本地主机名解析

十二、故障排除与维护

12.1 系统诊断

# 检查系统日志
dmesg | tail
tail -f /var/log/syslog
journalctl -f
# 检查磁盘错误
sudo fsck /dev/sda1
# 检查内存
sudo memtest86+
# 检查系统完整性
sudo apt check
sudo debsums -c

12.2 性能优化

# 清理系统垃圾
sudo apt autoremove
sudo apt autoclean
sudo apt clean
# 清理临时文件
sudo rm -rf /tmp/*
sudo rm -rf /var/tmp/*
# 清理缩略图缓存
rm -rf ~/.cache/thumbnails/*
# 清理APT缓存
sudo apt clean

十三、常用命令速查表

13.1 文件操作速查表

命令
功能
示例
ls
列出目录内容
ls -la
cd
切换目录
cd /home/user
pwd
显示当前目录
pwd
cp
复制文件
cp file1.txt file2.txt
mv
移动文件
mv file.txt dir/
rm
删除文件
rm file.txt
mkdir
创建目录
mkdir newdir
rmdir
删除目录
rmdir emptydir

13.2 系统管理速查表

命令
功能
示例
sudo
管理员权限
sudo apt update
apt
包管理
sudo apt install package
systemctl
服务管理
sudo systemctl start apache2
ps
进程查看
ps aux
kill
杀死进程
kill PID
top
系统监控
top
df
磁盘空间
df -h
du
目录大小
du -sh *

13.3 网络管理速查表

命令
功能
示例
ifconfig
网络接口
ifconfig
ping
ping google.com
netstat
网络连接
netstat -tuln
ssh
远程连接
ssh user@host
scp
scp file user@host:
wget
下载文件
wget url
curl
HTTP 请求
curl url

十四、总结与进阶学习

14.1 学习建议

初学者阶段:

  1. 熟悉基本命令:掌握 ls、cd、pwd、cp、mv、rm 等基础命令
  1. 练习文件操作:多进行文件创建、复制、移动、删除等操作
  1. 学习权限管理:理解 Linux 文件权限系统
  1. 使用帮助文档:学会使用man command和command --help

进阶阶段:

  1. 掌握正则表达式:在 grep、sed、awk 中应用正则表达式
  1. 学习 Shell 脚本自动化重复任务
  1. 系统管理技能:服务管理、用户管理、进程管理
  1. 网络配置防火墙、DNS、DHCP 等网络服务配置

高级阶段:

  1. 性能调优:系统性能监控和优化
  1. 安全管理防火墙配置、入侵检测
  1. 自动化运维:Ansible、Puppet 等自动化工具
  1. 容器技术Docker、Kubernetes 等容器化技术

14.2 推荐学习资源

在线文档:

推荐书籍:

  • 《鸟哥的 Linux 私房菜》
  • 《Linux 命令行与 Shell 脚本编程大全》
  • 《Ubuntu 从入门到精通》

实践建议:

  • 虚拟机中练习,避免损坏实际系统
  • 多尝试,多犯错,多总结
  • 参与开源项目,提升实战经验
  • 加入 Linux 社区,与他人交流学习

"终端是 Linux 系统的灵魂,掌握终端命令是成为 Linux 高手的必经之路。"
阅读剩余