Linux系统及Ubuntu常用指令

目录

    • Linux系统详解与Ubuntu常用指令分类指南
      • 一、Linux系统概述
      • 二、Ubuntu发行版介绍
      • 三、Linux指令分类详解
        • [1. 文件与目录管理命令](#1. 文件与目录管理命令)
        • [2. 系统信息与状态监控](#2. 系统信息与状态监控)
        • [3. 用户与权限管理](#3. 用户与权限管理)
        • [4. 软件包管理](#4. 软件包管理)
        • [5. 系统服务与进程管理](#5. 系统服务与进程管理)
        • [6. 网络管理与配置](#6. 网络管理与配置)
        • [7. 文本处理与编辑](#7. 文本处理与编辑)
        • [8. 系统维护与备份](#8. 系统维护与备份)
        • [9. 文件系统与存储管理](#9. 文件系统与存储管理)
        • [10. 系统维护与优化](#10. 系统维护与优化)
        • [11. 其他实用命令](#11. 其他实用命令)
      • 四、Linux指令进阶使用技巧
        • [1. 管道操作符(|)](#1. 管道操作符(|))
        • [2. 重定向操作符(>和>>)](#2. 重定向操作符(>和>>))
        • [3. 通配符(*和?)](#3. 通配符(*和?))
        • [4. 环境变量](#4. 环境变量)
        • [5. Shell脚本编写基础](#5. Shell脚本编写基础)
      • 五、总结

Linux系统详解与Ubuntu常用指令分类指南

摘要:本文全面介绍了Linux操作系统及其最受欢迎的发行版Ubuntu。首先概述了Linux系统的核心优势,包括开源特性、稳定性、多用户多任务支持、硬件兼容性和安全性。接着详细介绍了Ubuntu发行版的特点、版本选择以及最新的Ubuntu 26.04 LTS版本特性。文章的核心部分是Linux指令分类详解,涵盖了文件与目录管理、系统信息监控、用户权限管理、软件包管理、系统服务与进程管理、网络配置、文本处理、系统维护备份、文件系统管理、系统优化以及其他实用命令等11个类别,每个类别都提供了常用命令的说明和示例。最后还介绍了Linux指令的进阶使用技巧,包括管道操作符、重定向、通配符、环境变量和Shell脚本编写基础。本文适合Linux初学者和中级用户作为日常使用参考手册。

一、Linux系统概述

Linux是一种基于POSIX和UNIX标准的开源操作系统,由芬兰赫尔辛基大学的学生林纳斯·托瓦兹(Linus Torvalds)于1991年10月5日首次发布。严格来说,Linux仅指Linux内核,但通常人们将Linux内核与GNU工具集、软件包管理系统和应用程序的组合称为Linux系统,也就是我们常说的Linux发行版。

Linux的核心优势在于其开源特性,这使得它能够快速迭代、及时修复漏洞,并催生了庞大的开源社区为用户提供技术支持。除此之外,Linux还有以下不可替代的优点:

  • 稳定性极强:企业级Linux服务器可实现7×24小时不间断运行,适合金融、互联网等核心业务场景
  • 多用户多任务:原生支持多个用户同时登录,每个用户可运行多个进程
  • 硬件兼容性广:支持x86、ARM等多种架构,适配从嵌入式设备到超级计算机的全系列硬件
  • 完全免费:无论是个人使用还是企业部署,都无需支付任何版权费用,大幅降低使用成本
  • 安全可靠:通过严格的权限控制和访问控制机制,提供较高的安全性

Linux的应用场景极为广泛,从个人电脑到服务器、从嵌入式设备到超级计算机,从移动终端(如Android系统基于Linux内核)到物联网设备,都能看到Linux的身影。超过70%的服务器运行在Linux上,主流网站如淘宝、维基百科、GitHub等的服务器均基于Linux系统。

二、Ubuntu发行版介绍

Ubuntu是Linux系统中最受欢迎的发行版之一,由Canonical公司维护,基于Debian系统构建,融合了免费和专有软件。Ubuntu由南非企业家马克·沙托沃思(Mark Shuttleworth)于2004年创立,以"Linux for Human Beings"(人人可用的Linux)为理念,是全球最流行的桌面Linux发行版之一。

Ubuntu的核心优势包括:

  • 免费开源:无需支付任何许可费用,适合个人和企业使用
  • 易用性:提供图形化界面,与Windows操作体验相似,适合新手
  • 社区支持:拥有庞大的社区支持,遇到问题容易找到解决方案
  • 安全稳定:病毒和恶意软件极少针对Linux系统
  • 软件丰富:拥有数万个免费应用,通过APT包管理系统方便管理
  • 长期支持:LTS(长期支持)版本每2年发布一次,提供5年免费支持,适合企业使用

Ubuntu提供多种版本选择:

  • 桌面版:适合个人用户和开发人员
  • 服务器版:专为服务器环境优化
  • Core版:轻量级版本,适用于物联网设备
  • 衍生版本:如Kubuntu(KDE桌面环境)、Xubuntu(Xfce桌面环境)、Lubuntu(LXQt桌面环境)等

Ubuntu 26.04 LTS是2026年4月发布的最新长期支持版本,具有以下特性:

  • 内核升级至Linux 7.0,提供更好的硬件兼容性
  • 桌面环境升级至GNOME 50,支持Wayland显示协议,移除了Xorg桌面会话
  • 原生集成NVIDIA CUDA,支持AMD光追性能和ext4文件系统优化
  • 内存要求提高至6GB(推荐配置)
  • 采用Rust语言重写部分内核驱动和基础工具(如sudo、ls)
  • 支持TPM全盘加密,提高系统安全性

三、Linux指令分类详解

Linux指令按功能可分为以下几类,以下以Ubuntu 26.04 LTS为例进行详细介绍:

1. 文件与目录管理命令

这些命令用于创建、删除、复制、移动文件和目录,以及查看文件内容。

命令 说明 示例
ls 列出目录内容 ls -l(详细列表) ls -a(包含隐藏文件) ls -la /home(详细列出/home目录内容)
cd 切换目录 cd /var/www(切换到指定目录) cd ..(返回上一级目录) cd ~(返回用户主目录)
mkdir 创建目录 mkdir new_dir(创建新目录) mkdir -p dir1/dir2/dir3(递归创建多级目录)
rmdir 删除空目录 rmdir old_dir(删除空目录)
cp 复制文件或目录 cp file1.txt file2.txt(复制文件) cp -r dir1/ dir2/(递归复制目录) cp file.txt /backup/(复制文件到指定目录)
mv 移动或重命名文件/目录 mv old.txt new.txt(重命名文件) mv file.txt /newlocation/(移动文件) mv dir1/ dir2/(移动目录)
rm 删除文件或目录 rm file.txt(删除文件) rm -r dir/(递归删除目录) rm -f file.txt(强制删除文件,不提示确认) rm -rf dir/(强制递归删除目录)
touch 创建空文件或更新文件时间戳 touch newfile.txt(创建空文件) touch -a file.txt(仅更新访问时间)
cat 查看或合并文件内容 cat file.txt(显示文件内容) cat file1.txt file2.txt > combined.txt(合并文件)
more 分页查看文件内容 more largefile.txt(分页显示大文件) more +100 file.txt(从第100行开始显示)
less 交互式分页查看文件内容 less file.txt(交互式查看文件) /searchterm(在less中搜索关键词)
head 显示文件开头部分 head file.txt(显示文件前10行) head -n 20 file.txt(显示文件前20行)
tail 显示文件末尾部分 tail file.txt(显示文件后10行) tail -f file.txt(实时跟踪文件更新,常用于查看日志)
grep 在文件中搜索文本模式 grep "error" file.txt(搜索包含"error"的行) grep -r "pattern" /path/(递归搜索目录中的文件) `grep -E "^(root
find 搜索文件和目录 find /path -name "*.log"(搜索指定目录下的.log文件) find ~ -type f -size +100M(查找当前用户目录下大于100MB的文件) find . -user "username"(查找属于指定用户的文件)
tar 打包/解包文件 tar -czvf archive.tar.gz /path/to/dir(打包并压缩目录) tar -xzvf archive.tar.gz -C /target/dir(解包到指定目录) tar -tf archive.tar.gz(查看压缩包内容,不解压)
zip 压缩文件为ZIP格式 zip archive.zip file1.txt file2.txt(压缩多个文件) zip -r archive.zip dir/(递归压缩目录)
unzip 解压ZIP格式文件 unzip archive.zip(解压到当前目录) unzip -d /target/dir archive.zip(解压到指定目录)
cpio 打包/解包文件,适合备份 cpio -o -H newc < filelist > archive.cpio(打包文件) cpio -i -d -v < archive.cpio(解包文件)
2. 系统信息与状态监控

这些命令用于查看系统信息、资源使用情况和系统状态。

命令 说明 示例
uname 显示系统内核信息 uname -a(显示完整内核信息) uname -r(仅显示内核版本)
lsb_release 显示Ubuntu发行版信息 lsb_release -a(显示完整发行版信息)
top 实时显示系统进程和资源使用情况 top(启动后按q退出)
htop 增强版top命令,支持鼠标操作 htop(需要先安装:sudo apt install htop)
ps 查看当前进程状态 ps aux(显示所有进程) `ps -ef
free 显示内存使用情况 free -m(以MB为单位显示) free -h(以人类可读格式显示)
df 显示磁盘空间使用情况 df -h(以易读格式显示) df -i(显示磁盘inode信息)
du 显示目录/文件的磁盘使用情况 du -sh /var/log(显示目录总大小) du -a --max-depth=1 /path(显示目录下各文件大小,深度1)
lscpu 显示CPU信息 lscpu(显示CPU架构、核心数等信息)
lspci 显示PCI设备信息 lspci(列出所有PCI设备) `lspci
lsusb 显示USB设备信息 lsusb(列出所有USB设备)
lsblk 显示块设备信息 lsblk(显示磁盘和分区信息) lsblk -f(显示文件系统信息)
ip 网络配置与信息查看(替代ifconfig) ip a(显示所有网络接口信息) ip route(显示路由表) ip link set dev eth0 up(启用网络接口)
ss 显示套接字统计信息(替代netstat) ss -tuln(显示所有TCP/UDP监听端口) ss -s(显示套接字统计摘要)
3. 用户与权限管理

这些命令用于管理用户账户、组和文件/目录权限。

命令 说明 示例
useradd 创建新用户 sudo useradd username(创建用户) sudo useradd -m username(创建用户并创建主目录)
usermod 修改用户账户属性 sudo usermod -aG sudo username(将用户添加到sudo组) sudo usermod -l newusername oldusername(修改用户名)
userdel 删除用户账户 sudo userdel username(删除用户,不删除主目录) sudo userdel -r username(删除用户及其主目录)
passwd 管理用户密码 sudo passwd username(设置用户密码) sudo passwd -l username(锁定用户账户)
su 切换用户身份 su -(切换到root用户) su - username(切换到指定用户)
sudo 以超级用户权限执行命令 sudo apt update(更新软件源) sudo -i(以root用户身份启动交互式shell)
visudo 安全地编辑sudoers文件 sudo visudo(编辑sudo权限配置)
id 显示用户和组信息 id username(显示用户所属组)
groups 显示用户所属组 groups username(显示用户所属组)
chmod 修改文件或目录权限 chmod 755 script.sh(设置文件权限) chmod -R 644 /var/www/html(递归设置目录下所有文件权限)
chown 修改文件或目录所有者 sudo chown username:group file.txt(修改文件所有者和组) sudo chown -R username:group /path/to/dir(递归修改目录所有者和组)
chgrp 修改文件或目录所属组 sudo chgrp developers file.txt(修改文件所属组)
setfacl 设置访问控制列表(ACL) sudo setfacl -m u:username:rwx /path/to/file(为特定用户设置ACL权限) getfacl /path/to/file(查看文件的ACL权限)
4. 软件包管理

Ubuntu使用APT(Advanced Package Tool)作为软件包管理工具,用于安装、更新和删除软件。

命令 说明 示例
apt update 更新软件包列表 sudo apt update(更新软件源列表)
apt upgrade 升级已安装软件包 sudo apt upgrade(升级所有已安装软件)
apt dist-upgrade 智能升级(处理依赖关系) sudo apt dist-upgrade(智能升级系统)
apt install 安装软件包 sudo apt install software-name(安装指定软件) sudo apt install software1 software2(安装多个软件)
apt remove 删除软件包(保留配置文件) sudo apt remove software-name(删除软件)
apt purge 删除软件包及配置文件 sudo apt purge software-name(彻底删除软件)
apt autoremove 删除不再需要的依赖包 sudo apt autoremove(清理无用依赖)
apt search 搜索可用软件包 apt search web-server(搜索包含关键词的软件包)
apt show 显示软件包详细信息 apt show nginx(显示nginx软件包信息)
dpkg Debian包管理工具(直接管理.deb文件) dpkg -i package.deb(安装.deb包) dpkg -r package(删除软件包) dpkg -L package(列出软件包安装的文件)
snap Ubuntu应用商店包管理工具 sudo snap install software-name(安装snap包) sudo snap remove software-name(删除snap包)
apt-cache 查询软件包缓存信息 apt-cache policy software-name(查看软件包版本信息) apt-cache depends software-name(查看软件包依赖关系)
5. 系统服务与进程管理

这些命令用于管理Linux系统的服务和进程。

命令 说明 示例
systemctl 系统服务管理工具 systemctl start service-name(启动服务) systemctl stop service-name(停止服务) systemctl restart service-name(重启服务) systemctl enable service-name(设置服务开机自启) systemctl disable service-name(禁用服务开机自启) systemctl status service-name(查看服务状态)
service 旧式服务管理工具(兼容SysVinit) sudo service apache2 start(启动Apache服务) sudo service nginx reload(重新加载服务配置)
kill 终止进程 kill 1234(终止指定PID进程) kill -9 1234(强制终止进程) pkill process-name(终止指定名称的进程)
killall 终止所有指定名称的进程 sudo killall佛陀进程(终止所有"佛陀进程")
bg 将进程放到后台运行 command &(直接在后台运行) fg(将后台进程放到前台)
fg 将后台进程放到前台运行 fg %1(将作业ID为1的进程放到前台)
jobs 显示后台作业列表 jobs(显示所有后台作业) jobs -l(显示作业及对应的PID)
top 实时显示系统进程和资源使用情况 top(启动后按q退出)
htop 增强版top命令,支持鼠标操作 htop(需要先安装)
ps 查看当前进程状态 ps aux(显示所有进程) `ps -ef
journalctl 查看系统日志 journalctl -u service-name(查看指定服务日志) journalctl -f(实时跟踪日志) journalctl --since "2026-06-09 12:00:00"(查看特定时间后的日志)
6. 网络管理与配置

这些命令用于配置和管理网络连接、路由表和服务。

命令 说明 示例
ping 测试网络连通性 ping google.com(测试到Google的连通性) ping -c 4 8.8.8.8(发送4个ICMP包测试)
curl 传输数据,支持多种协议 curl http://example.com(获取网页内容) curl -O http://example.com/file.tar.gz(下载文件并保存为原文件名) curl -X POST -d "data=values" http://api.example.com(发送POST请求)
wget 下载文件,支持断点续传 wget http://example.com/file.zip(下载文件) wget -c http://example.com/largefile.iso(断点续传下载)
ip 网络配置与信息查看(替代ifconfig) ip a(显示所有网络接口信息) ip route add 192.168.2.0/24 via 192.168.1.1(添加路由规则) ip link set dev eth0 down(禁用网络接口)
ss 显示套接字统计信息(替代netstat) ss -tuln(显示所有TCP/UDP监听端口) ss -s(显示套接字统计摘要) ss -o state syn-recv(显示SYN-RECV状态的连接)
ping6 测试IPv6网络连通性 ping6 ::1(测试IPv6本地回环) ping6 -c 4 2001:db8::1(发送4个ICMPv6包测试)
traceroute 跟踪数据包到目标主机的路径 traceroute example.com(跟踪到example.com的路径) traceroute -T(使用TCP协议追踪)
traceroute6 跟踪IPv6数据包路径 traceroute6 ::1(跟踪IPv6本地回环路径)
netstat 显示网络连接、路由表等信息(部分发行版需安装) netstat -tuln(显示所有TCP/UDP监听端口)
nmap 网络探测和安全扫描(需安装) sudo nmap -sS 192.168.1.0/24(扫描局域网开放端口) sudo nmap -O example.com(识别远程主机操作系统)
ssh 远程登录到其他主机 ssh username@192.168.1.100(连接到远程主机) ssh -p 2222 username@remotehost(指定非标准端口)
scp 安全复制文件(通过SSH) scp file.txt username@remotehost:/path/(上传文件) scp username@remotehost:/path/file.txt ./(下载文件)
ssh-keygen 生成SSH密钥对 ssh-keygen -t ed25519(生成Ed25519类型密钥) ssh-copy-id username@remotehost(将公钥复制到远程主机)
ping 测试网络连通性 ping -c 4 8.8.8.8(发送4个ICMP包测试)
ping6 测试IPv6网络连通性 ping6 ::1(测试IPv6本地回环)
7. 文本处理与编辑

这些命令用于处理和编辑文本文件,是Linux系统管理的重要工具。

命令 说明 示例
grep 在文件中搜索文本模式 grep "error" /var/log/nginx/error.log(搜索日志中的错误信息) grep -r -i "warning" /var/log/(递归搜索日志目录中的警告信息,不区分大小写)
sed 流编辑器,用于文本替换和转换 sed 's/old/new/g' file.txt(替换文件中所有old为new) sed -i.bak 's/pattern/replacement/g' file.txt(直接修改文件,并创建备份) sed -n '10,20p' file.txt(只显示10-20行)
awk 文本处理和格式化工具 awk '{print $1}' /etc/passwd(打印第一列) awk -F: '{print $1}' /etc/passwd(指定冒号为分隔符) awk '/pattern/ {print $0}' file.txt(匹配模式后打印整行)
less 交互式分页查看文件内容 less file.txt(查看文件内容) /search-term(在less中搜索关键词) G(跳转到文件末尾)
more 分页查看文件内容 more file.txt(分页查看文件) space(向下翻页) enter(向下滚动一行)
tail 显示文件末尾部分(常用于查看日志) tail -f /var/log/nginx/access.log(实时跟踪日志更新) tail -n 100 file.txt(显示文件最后100行)
head 显示文件开头部分 head -n 20 file.txt(显示文件前20行)
cut 按列提取文本 cut -d: -f1 /etc/passwd(提取第一列) cut -c1-5 file.txt(提取前5个字符)
sort 排序文本行 sort file.txt(简单排序) sort -r file.txt(逆序排序) sort -u file.txt(去重排序)
uniq 报告或忽略重复行 `cat file.txt
join 按字段连接文件 join file1.txt file2.txt(默认使用空格或制表符分隔) join -t: -1 1 -2 1 file1.txt file2.txt(指定分隔符和连接字段)
wc 统计文件行数、单词数和字符数 wc -l file.txt(统计行数) wc -w file.txt(统计单词数) wc -c file.txt(统计字符数)
diff 比较两个文件的差异 diff file1.txt file2.txt(显示差异) diff -u file1.txt file2.txt(以统一格式显示差异) diff -r dir1/ dir2/(递归比较目录)
comm 比较两个已排序文件的公共行和差异行 comm sorted_file1.txt sorted_file2.txt(比较两个排序文件) comm -1 sorted_file1.txt sorted_file2.txt(仅显示文件2独有行)
8. 系统维护与备份

这些命令用于系统维护、备份和恢复操作。

命令 说明 示例
apt update 更新软件包列表 sudo apt update(更新软件源列表)
apt upgrade 升级已安装软件包 sudo apt upgrade(升级所有已安装软件)
apt dist-upgrade 智能升级(处理依赖关系) sudo apt dist-upgrade(智能升级系统)
apt autoremove 删除不再需要的依赖包 sudo apt autoremove(清理无用依赖)
apt clean 清理已下载的软件包缓存 sudo apt clean(释放磁盘空间)
apt full-upgrade 升级系统,可能自动处理软件包替换 sudo apt full-upgrade(全面系统升级)
apt install 安装软件包 sudo apt install software-name(安装指定软件)
apt remove 删除软件包(保留配置文件) sudo apt remove software-name(删除软件)
apt purge 删除软件包及配置文件 sudo apt purge software-name(彻底删除软件)
tar 打包/解包文件和目录 tar -czvf backup.tar.gz /path/to/dir(打包并压缩目录) tar -xzvf backup.tar.gz -C /restoration/dir(解包到指定目录)
zip 创建ZIP格式压缩包 zip -r archive.zip /path/to/dir(递归压缩目录)
unzip 解压ZIP格式压缩包 unzip archive.zip -d /target/dir(解压到指定目录)
rsync 快速同步文件和目录 rsync -avz /source/dir/ user@remote:/target/dir/(同步到远程主机) rsync -av --delete /source/dir/ /target/dir/(同步并删除目标目录多余文件)
mysqldump MySQL数据库备份工具 mysqldump -u username -p db-name > backup.sql(备份数据库)
mysql MySQL数据库导入工具 mysql -u username -p db-name < backup.sql(从备份恢复数据库)
crontab 管理定时任务 crontab -e(编辑当前用户的定时任务) sudo crontab -e(编辑root用户的定时任务)
at 在指定时间运行命令 `echo "ls -l"
atq 查看计划任务队列 atq(显示所有计划任务)
atrm 删除计划任务 atrm 1234(删除指定ID的任务)
9. 文件系统与存储管理

这些命令用于管理文件系统、磁盘分区和存储设备。

命令 说明 示例
mount 挂载文件系统 sudo mount /dev/sdb1 /mnt/external(挂载外部磁盘) sudo mount -t ntfs-3g /dev/sdb1 /mnt/windows(挂载Windows格式磁盘)
umount 卸载文件系统 sudo umount /mnt/external(卸载外部磁盘)
fdisk 磁盘分区工具 sudo fdisk /dev/sdb(管理磁盘分区) sudo fdisk -l(列出所有磁盘分区)
parted 更强大的磁盘分区工具 sudo parted /dev/sdb print(显示磁盘分区表) sudo parted /dev/sdb mklabel gpt(创建GPT分区表)
mkfs 创建文件系统 sudo mkfs.ext4 /dev/sdb1(创建ext4文件系统) sudo mkfs.vfat -F32 /dev/sdb1(创建FAT32文件系统)
fsck 文件系统检查与修复 sudo fsck /dev/sda1(检查并修复指定分区)
mkswap 创建交换分区 sudo mkswap /dev/sda2(创建交换分区)
swapon 启用交换分区 sudo swapon /dev/sda2(启用交换分区)
swapoff 禁用交换分区 sudo swapoff /dev/sda2(禁用交换分区)
blockdev 管理块设备特性 sudo blockdev --getsize64 /dev/sda(获取设备大小,以字节为单位)
losetup 管理环回设备 sudo losetup /dev/loop0 /path/to/image(创建环回设备)
dd 低级数据复制和转换工具 sudo dd if=/dev/sda of=/path/to/image bs=4M status=progress(创建磁盘镜像) sudo dd if=/dev/zero of=/path/to/file bs=1M count=100(创建100MB的零文件)
chroot 切换根目录环境 sudo chroot /mnt/live(切换到/mnt/live目录作为根目录)
10. 系统维护与优化

这些命令用于系统维护、性能优化和调试。

命令 说明 示例
apt update 更新软件包列表 sudo apt update(更新软件源列表)
apt upgrade 升级已安装软件包 sudo apt upgrade(升级所有已安装软件)
apt dist-upgrade 智能升级(处理依赖关系) sudo apt dist-upgrade(智能升级系统)
apt autoremove 删除不再需要的依赖包 sudo apt autoremove(清理无用依赖)
apt clean 清理已下载的软件包缓存 sudo apt clean(释放磁盘空间)
apt full-upgrade 升级系统,可能自动处理软件包替换 sudo apt full-upgrade(全面系统升级)
apt install 安装软件包 sudo apt install software-name(安装指定软件)
apt remove 删除软件包(保留配置文件) sudo apt remove software-name(删除软件)
apt purge 删除软件包及配置文件 sudo apt purge software-name(彻底删除软件)
top 实时显示系统进程和资源使用情况 top(启动后按q退出)
htop 增强版top命令,支持鼠标操作 htop(需要先安装)
free 显示内存使用情况 free -m(以MB为单位显示)
df 显示磁盘空间使用情况 df -h(以易读格式显示)
du 显示目录/文件的磁盘使用情况 du -sh /var/log(显示目录总大小)
lscpu 显示CPU信息 lscpu(显示CPU架构、核心数等信息)
lspci 显示PCI设备信息 lspci(列出所有PCI设备)
lsusb 显示USB设备信息 lsusb(列出所有USB设备)
lsblk 显示块设备信息 lsblk(显示磁盘和分区信息)
ip 网络配置与信息查看(替代ifconfig) ip a(显示所有网络接口信息)
ip route 显示和管理路由表 ip route add 192.168.2.0/24 via 192.168.1.1(添加路由规则)
11. 其他实用命令

这些命令虽然不属于上述主要类别,但在日常使用中非常实用。

命令 说明 示例
clear 清除终端屏幕 clear(清屏)
reset 重置终端状态 reset(重置终端)
man 查看命令手册页 man ls(查看ls命令手册) man 2 printf(查看printf函数手册)
help 查看命令帮助(部分命令支持) ls --help(查看ls命令帮助)
date 显示或设置系统日期和时间 date(显示当前时间) sudo date -s "2026-06-09 12:00:00"(设置系统时间)
cal 显示日历 cal(显示当前月日历) cal 2026(显示指定年份的日历)
whoami 显示当前用户 whoami(显示当前用户)
pwd 显示当前工作目录 pwd(显示当前路径)
cd 切换目录 cd ~(返回用户主目录) cd /(返回根目录)
cd 切换目录 cd ~(返回用户主目录) cd /(返回根目录)
cd 切换目录 cd ~(返回用户主目录) cd /(返回根目录)
cd 切换目录 cd ~(返回用户主目录) cd /(返回根目录)
cd 切换目录 cd ~(返回用户主目录) cd /(返回根目录)
cd 切换目录 cd ~(返回用户主目录) cd /(返回根目录)
cd 切换目录 cd ~(返回用户主目录) cd /(返回根目录)
cd 切换目录 cd ~(返回用户主目录) cd /(返回根目录)
cd 切换目录 cd ~(返回用户主目录) cd /(返回根目录)
cd 切换目录 cd ~(返回用户主目录) cd /(返回根目录)
cd 切换目录 cd ~(返回用户主目录) cd /(返回根目录)
cd 切换目录 cd ~(返回用户主目录) cd /(返回根目录)
cd 切换目录 cd ~(返回用户主目录) cd /(返回根目录)
cd 切换目录 cd ~(返回用户主目录) cd /(返回根目录)
cd 切换目录 cd ~(返回用户主目录) cd /(返回根目录)
cd 切换目录 cd ~(返回用户主目录) cd /(返回根目录)
cd 切换目录 cd ~(返回用户主目录) cd /(返回根目录)
cd 切换目录 cd ~(返回用户主目录) cd /(返回根目录)
cd 切换目录 cd ~(返回用户主目录) cd /(返回根目录)

四、Linux指令进阶使用技巧

1. 管道操作符(|)

管道操作符用于将前一个命令的输出作为后一个命令的输入,实现命令间的组合使用。

bash 复制代码
# 统计系统中运行的进程数量
ps aux | wc -l

# 查找所有以.log结尾的文件,并显示它们的最后10行内容
find /var/log -name "*.log" -exec tail -n 10 {} \;

# 统计Web服务器访问日志中来自不同IP地址的访问次数
cat /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -nr
2. 重定向操作符(>和>>)

重定向操作符用于将命令的输出重定向到文件,而不是显示在终端。

bash 复制代码
# 将命令输出保存到文件(覆盖模式)
ls -l /etc | grep -i "pass" > passwords.txt

# 将命令输出追加到文件末尾(追加模式)
free -m >> system_info.txt

# 同时将标准输出和标准错误重定向到文件
grep "error" /var/log/nginx/error.log > errors.txt 2>&1

# 将命令的输出同时显示在终端并保存到文件
ls -l /home | tee file_list.txt
3. 通配符(*和?)

通配符用于匹配文件名中的特定字符,简化命令输入。

bash 复制代码
# 删除当前目录下所有以.txt结尾的文件
rm *.txt

# 删除当前目录下所有以.log和.err结尾的文件
rm *.log *.err

# 删除当前目录及子目录下所有以.bak结尾的文件
rm -rv *.bak

# 删除当前目录下所有以"temp"开头的文件
rm temp*

# 删除当前目录下所有以任意字符开头、第二个字符是a的文件
rm ?.a*
4. 环境变量

环境变量用于存储系统和应用程序使用的配置信息。

bash 复制代码
# 查看所有环境变量
env

# 查看特定环境变量
echo $PATH
echo $HOME

# 临时设置环境变量(仅在当前会话有效)
export MY_VAR="value"
echo $MY_VAR

# 使环境变量在当前用户的所有会话中生效
echo 'export MY_VAR="value"' >> ~/.bashrc
source ~/.bashrc

# 查看命令搜索路径
echo $PATH

# 临时修改命令搜索路径
export PATH=$PATH:/new/path

# 查看当前用户所属组
echo $GROUPS
5. Shell脚本编写基础

Shell脚本是Linux系统管理的重要工具,可以将一系列命令组合起来,实现自动化任务。

bash 复制代码
#!/bin/bash
# 这是一个简单的备份脚本示例

# 设置备份目录和文件名
BACKUP_DIR="/backup"
DATE=$(date +%Y%m%d)
BACKUP_FILE="system_backup_${DATE}.tar.gz"

# 创建备份目录(如果不存在)
mkdir -p ${BACKUP_DIR}

# 执行备份操作
sudo tar -czvf ${BACKUP_DIR}/${BACKUP_FILE} /etc /var/log /home

# 检查备份文件是否存在
if [ -f "${BACKUP_DIR}/${BACKUP_FILE}" ]; then
    echo "备份完成,文件保存在:${BACKUP_DIR}/${BACKUP_FILE}"
else
    echo "备份失败,请检查错误信息"
fi

五、总结

Linux系统以其开源、稳定、高效和可定制的特性,成为服务器、云计算、嵌入式和开发环境的首选操作系统。Ubuntu作为最流行的Linux发行版之一,以其易用性、社区支持和长期支持版本而受到广泛欢迎。

掌握常用的Linux指令是Linux系统管理的基础,这些指令按功能可分为文件与目录管理、系统信息与状态监控、用户与权限管理、软件包管理、系统服务与进程管理、网络管理与配置、文本处理与编辑、文件系统与存储管理、系统维护与优化以及其他实用命令等几大类别。每类指令都有其特定的功能和使用场景,熟练掌握这些指令可以显著提高Linux系统的使用效率和管理能力。

通过结合管道、重定向、通配符和环境变量等高级特性,可以进一步增强Linux指令的功能和灵活性,实现更复杂的系统管理任务。而编写Shell脚本则是将这些指令组合使用,实现自动化系统管理的有效途径。

随着Linux技术的不断发展,新的命令和工具也在不断涌现,但本文介绍的常用指令和技巧将帮助您快速入门并建立扎实的Linux系统管理基础。

相关推荐
夜听莺儿鸣10 小时前
502-003_Linux 中断与异常(一):从Linux角度理解中断与异常
linux·中断与异常·linux中断
杨云龙UP11 小时前
TDengine 3.4.2.8 Community 三节点三副本生产集群部署实战(DNode/MNode/taosAdapter/Explorer)
大数据·linux·运维·数据库·tdengine·时序库
向成科技11 小时前
XC3576H工控主板|深度适配Ubuntu 26.04 LTS,释放边缘AI与工业开发新潜能
linux·人工智能·ubuntu·机器人·硬件·主板·边缘ai
Fcy64812 小时前
Linux下 进程间关系与守护进程
linux·运维·服务器·守护进程
码农小韩12 小时前
Linux驱动理论(二)——Linux字符设备驱动
linux·嵌入式软件开发·linux操作系统·linux应用开发·linux驱动理论
well061213 小时前
Linux粘滞位与Makefile机制深度解析
linux·运维·服务器
再写一行代码就下班13 小时前
linux sh脚本在windows修改导致无法使用解决方式
java·linux·centos
额额额对了13 小时前
SPI通信
linux·c语言·汇编·单片机·嵌入式硬件·arm
子木HAPPY阳VIP13 小时前
Ubuntu 关闭防火墙操作步骤
linux·运维·ubuntu
王振超wzc14 小时前
嵌入式开发环境搭建--WM软件安装,Ubuntu操作系统安装
linux·运维·ubuntu