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系统管理基础。

相关推荐
Surest2 小时前
AI时代操作系统过时了么?
操作系统
weixin_523185322 小时前
Collections.unmodifiableMap详解:真的不可修改吗?
java·linux·前端
凡人叶枫3 小时前
Effective C++ 条款04:确定对象被使用前已先被初始化
java·linux·开发语言·c++·嵌入式开发
小宇子2B3 小时前
页表凭什么不撑爆内存,CPU 凭什么查得不嫌慢
操作系统
云栖梦泽4 小时前
玩转RK3506SDK
linux·嵌入式硬件
Java面试题总结4 小时前
Linux-Ubantu-贴士-apt的地盘
linux·运维·服务器
kong@react5 小时前
Rocky Linux 10.2 全面解析:企业级 CentOS 替代方案及保姆级docker安装
java·linux·运维·docker
凡人叶枫5 小时前
Effective C++ 条款07:为多态基类声明 virtual 析构函数
linux·c语言·开发语言·c++
凡人叶枫5 小时前
Effective C++ 条款10:令 operator= 返回一个 reference to *this
java·linux·服务器·开发语言·c++·effective c++