Linux 系统介绍
Linux 系统详细介绍及学习原因简述
在计算机操作系统领域,Linux 系统凭借开源、稳定、安全等独特优势,成为服务器、嵌入式设备、云计算等领域的核心支撑。下文将从定义与起源、系统架构、核心特点、主流发行版、文件系统结构等维度进行介绍。
Linux 系统的基本概念、架构特点及主流发行版,详细解析了文件系统结构、路径表示方法及家目录。重点讲解了常用基础命令,包括 ls、ll、pwd、cd、touch、mkdir、tree 和 clear,涵盖语法、选项组合及使用场景,旨在帮助读者掌握 Linux 命令行操作的核心技能。

在计算机操作系统领域,Linux 系统凭借开源、稳定、安全等独特优势,成为服务器、嵌入式设备、云计算等领域的核心支撑。下文将从定义与起源、系统架构、核心特点、主流发行版、文件系统结构等维度进行介绍。

Linux 并非单一操作系统,而是以 Linux 内核 为核心,整合系统库、应用程序等组件的操作系统家族,属于自由开源的类 Unix 系统。其起源可追溯至 1991 年,芬兰赫尔辛基大学学生林纳斯・托瓦兹(Linus Torvalds)为解决 Minix(一款简化版 Unix 系统)的局限性,发起了内核开发项目。当时他在 Usenet 新闻组发布帖子,邀请全球开发者共同完善,最初仅支持 386 处理器,却意外开启了一场开源革命。
1994 年,Linux 1.0 正式发布,标志着内核达到稳定可用状态;2001 年 2.4 内核新增 USB、PCI 总线支持,硬件兼容性大幅提升;2011 年后内核版本进入 3.x、4.x、5.x 乃至如今的 6.x 系列,持续优化性能、增强安全、适配新硬件(如 ARM 架构、AI 加速芯片)。如今,Linux 已形成'内核 + 发行版'的生态模式:内核负责管理硬件资源、进程调度等底层工作;发行版则基于内核整合 GNU 系统库、桌面环境、软件包管理器等,满足不同用户需求,如 Ubuntu、Red Hat、Debian 等均为知名发行版。
Linux 采用清晰的分层架构,从底层到上层依次为 硬件层、内核层、系统库层、应用层,各层职责明确且高效协同:
发行版 | 开发主体 / 社区 | 核心特点 | 适用场景 |
Ubuntu | Canonical 公司 | 新手友好,默认 GNOME 桌面;LTS 版提供 5 年更新;APT 包管理器软件丰富,衍生版(Kubuntu、Xubuntu)多样 | 个人桌面、开发环境、轻量级服务器 |
Red Hat Enterprise Linux(RHEL) | Red Hat(IBM 子公司) | 企业级商业发行版,10 年支持周期;集成 OpenStack、Kubernetes;需付费获取技术支持 | 金融、通信等核心业务服务器 |
CentOS | Red Hat 主导社区 | 基于 RHEL 源代码编译,完全兼容且免费;原 CentOS 8 后转为 Stream 滚动更新版 | 企业非核心服务器、学习与测试环境 |
Debian | Debian 社区 | 历史悠久(1993 年诞生),稳定性极强;软件仓库超 6 万包;分 Stable/Testing/Unstable 分支 | 长期运行的服务器、有经验用户桌面 |
Arch Linux | Arch 社区 | 滚动更新(无固定版本),最小化安装;Pacman 包管理器高效,支持 AUR 海量第三方软件 | 技术尝鲜者、追求定制化的开发者 |
Linux 采用 树形文件系统结构,所有文件/目录从根目录(/)开始,遵循 FHS(Filesystem Hierarchy Standard)标准,确保不同发行版目录一致性。核心目录功能如下:
目录路径 | 功能说明 | 关键文件 / 子目录 |
/ | 根目录,所有目录的起点 | 包含 bin、etc、home、lib、root 等核心目录 |
/bin | 存放所有用户可执行的基础命令 | ls、cp、mv、cat 等 |
/etc | 系统配置文件目录 | passwd(用户信息)、fstab(磁盘挂载)、network(网络配置) |
/home | 普通用户主目录,每个用户有独立子目录 | /home/user1、/home/developer |
/root | 超级用户(root)的主目录 | 仅 root 可访问,存放管理员配置 |
/lib | 系统库文件目录,支撑应用运行 | glibc 库、驱动程序模块 |
/var | 存放动态变化的文件,如日志、缓存 | /var/log(系统日志)、/var/www(Web 站点) |
/usr | 存放用户应用程序、文档、编译器等 | /usr/bin(非基础命令)、/usr/share(文档) |
/dev | 设备文件目录,硬件以文件形式呈现 | /dev/sda(第一个磁盘)、/dev/tty(终端) |
/mnt | 临时挂载目录,用于挂载外部设备(如 U 盘) | /mnt/usb、/mnt/cdrom |
综上,Linux 系统凭借开源生态、稳定性能与广泛适配性,成为信息技术领域的核心基础设施。学习 Linux 不仅能满足就业需求,更能深入理解计算机系统,为技术成长提供坚实支撑。
在 Linux 系统中,复制粘贴的快捷键不同于 Windows 系统(Ctrl+C/Ctrl+V),具体如下:
Ctrl + Shift + C 或 Ctrl + InsertCtrl + Shift + V 或 Shift + Insert注意:Ctrl+C 在终端中通常用于中断当前进程,不可用于复制。
Linux 系统的目录等同于 Windows 系统的文件夹。在 Linux 系统中,对于目录的属性开头是 d。

Linux 系统中同样存在文件,一般称为普通文件,和 Windows 系统下的文件类似,包括图片、文档、代码等。

Linux 的文件结构是以根目录(/)为唯一根节点的单根多叉树结构,所有文件和目录通过'父子层级关系'组织,严格遵循《文件系统层次标准(FHS)》。这种结构的核心特点是'一切皆文件'——硬件设备、目录、普通文件等都被抽象为文件,通过树状层级实现统一管理。

从物理存储到逻辑组织,其结构可分为以下层级:
/):树的'根',所有目录和文件的起点,建议单独分区(如 20-50GB)以保证系统稳定性。/bin(基础命令)、/etc(系统配置)、/home(用户数据)等,是系统功能的'骨架'。/etc/sysconfig(网络配置子目录)、/home/user/Documents(用户文档子目录),形成多层级的分支结构。定义:叶子节点是多叉树中没有子节点的节点,在 Linux 中分为两类:
/etc/fstab)、二进制文件(如 /usr/bin/gcc)、特殊文件(如 /dev/sda)。ls -l 输出中权限位以 - 开头(如 -rwxr-xr-x),且无'子项'可展开。.)和父目录(..)的引用。/var/empty)、用户创建的空工作目录。ls -l 输出中权限位以 d 开头(如 drwxr-xr-x),且执行 ls -a 时仅显示 . 和 ..。定义:非叶子节点是多叉树中存在至少一个子节点的节点,在 Linux 中仅表现为非空目录(Non-empty Directory)。
ls -l 输出中权限位以 d 开头,且 ls -a 可看到除 . 和 .. 外的至少一个子项;ls -R 目录名 可查看其所有层级的子文件和子目录;du -sh 目录名 可查看其包含的总数据量。在 Linux 系统中,绝对路径和相对路径是用于定位文件或目录的两种方式,它们的核心区别在于'参照起点'的不同:
/) 开始,完整描述文件或目录位置的路径。/ 开头,是'全局唯一'的定位方式,不受当前工作目录的影响。/etc/passwd/home/user1/Documents/report.pdf/ 开头,其有效性依赖于'当前所在目录'。.:表示当前目录(如 ./file.txt 表示当前目录下的 file.txt);..:表示父目录(如 ../docs 表示当前目录的上一级目录中的 docs 目录)。/home/user1 目录,Documents/report.pdf 是相对路径(等价于绝对路径 /home/user1/Documents/report.pdf);/home/user1/Documents 目录,../Pictures/photo.jpg 表示'上一级目录(user1 家目录)下的 Pictures 目录中的 photo.jpg 文件'。| 维度 | 绝对路径 | 相对路径 |
|---|---|---|
| 参照起点 | 根目录(/) | 当前工作目录 |
| 格式特征 | 以 / 开头 | 不以 / 开头,依赖 . 和 .. |
| 唯一性 | 全局唯一,不受位置影响 | 依赖当前目录,位置变化则失效 |
| 典型示例 | /usr/bin/ls | ../config/file.conf |
| 适用场景 | 系统级配置、跨目录精准定位 | 日常操作、同目录 / 相邻目录操作 |
在 Linux 系统中,家目录(Home Directory) 是为每个用户专门设立的个人专属目录,用于存储用户的个人文件、配置、程序以及各种个性化数据。
/home/用户名,例如用户 user1 的家目录是 /home/user1。/root。. 开头的隐藏文件形式存在,例如 .bashrc、.vimrc、.ssh。cd(无参数时默认切换到当前用户的家目录),或 cd ~(~ 是家目录的快捷表示)。echo $HOME 命令,会输出当前用户家目录的绝对路径。在 Linux 系统中,命令的本质是可执行程序(或脚本),它是用户与操作系统内核进行交互的'桥梁',用于触发特定的系统功能或完成指定任务。
Linux 命令主要以可执行文件的形式存在,存储在系统的特定目录中(遵循'命令搜索路径'规则):
ls、cp、grep 等,通常存放在 /bin、/sbin、/usr/bin、/usr/sbin 等目录。/etc/init.d)、用户自定义的自动化脚本。命令的执行本质是调用系统调用(System Call),让内核完成底层硬件或资源的操作:
ls -l),Shell(如 Bash)会解析命令并定位对应的可执行文件。open() 打开文件、read() 读取数据、write() 写入数据等),让内核操作硬件或管理资源。根据功能和权限,Linux 命令可分为不同类别:
ls、mkdir、cat。root)执行,如 fdisk、iptables、useradd。cd、echo、exit。简言之,Linux 命令的本质是 '可执行程序 + 系统调用 + 用户交互' 的综合体。
在 Linux 系统中,上下方向键可以用于检索历史命令,这是 Shell(如 Bash)提供的便捷功能。
Shell 会记录用户执行过的命令(存储在用户家目录的 .bash_history 文件中),通过上下方向键可以在这些历史命令中'回溯'或'前进',快速复用之前输入的命令。
Ctrl + R):按下 Ctrl + R 后,Shell 进入'反向搜索'模式,输入关键词即可实时匹配历史命令。history 命令可列出所有历史命令及其编号。在使用指令的时候,一般是会指令搭配着选项去使用。在指令之后,是要有空格的,即指令和指令后面的内容之间要有空格,而在输入完了一个选项之后,和后面的内容之间也是要用空格隔开。
ls 是 Linux/Unix 系统中最常用的命令之一,用于列出目录内容或文件信息。
ls [选项] [目录或文件]
[目录或文件],默认列出当前目录的内容。-d:将目录当作文件显示(不展开内容)。通常用于查看目录本身的信息。-1:一行只显示一个文件。默认情况下,ls 会按列紧凑显示,-1 强制每行仅显示一个文件名。-R:递归列出所有子目录内容。遍历当前目录及其所有子目录,逐层显示文件。-s:显示文件大小(单位:块,1 块 = 512 字节)。通常配合 -l 使用。-t:按修改时间排序(最新的在前)。默认按名称排序,-t 改为按最后修改时间排序。-r:反向排序。配合默认排序或其他排序选项使用。-F:在文件名后附加类型标识。快速区分文件类型:*(可执行文件)、/(目录)、@(符号链接)、|(FIFO)、=(套接字)。-n:用数字 UID/GID 代替所有者/所属组名称。-l:列出文件的详细信息。输出内容包括:权限、链接数、所有者、所属组、大小、修改时间、文件名。-k:以 KB 为单位显示文件大小。配合 -l 使用时,替代默认的字节(B)单位。-i:显示文件的 inode 索引编号。inode 是文件系统中用于标识文件的唯一编号。-a:显示所有文件(包括隐藏文件)。Linux 中以 . 开头的文件/目录为隐藏文件,默认不显示。ls -lals -lS | head -n 11ls -lRls -Fr在 Linux 命令中,多个选项组合是提升命令功能灵活性的核心技巧。它允许在一个命令后同时使用多个选项(选项间用空格分隔),从而叠加不同功能。
- 后跟多个字母,例如 -la 等价于 -l -a。ls -la --color。ls -la /etc。| 组合命令 | 等效拆分 | 功能说明 |
|---|---|---|
ls -la | ls -l -a | 同时以'长格式'显示文件详细信息,并包含隐藏文件 |
ls -lrt | ls -l -r -t | 以长格式显示,按时间反向排序且最新修改的文件在最后 |
ls -laR /home | ls -l -a -R /home | 递归显示 /home 目录下的所有文件(含隐藏),并以长格式输出 |
这种组合逻辑适用于绝大多数 Linux 命令,以下是其他命令的示例:
cp 命令(复制文件):cp -av /src /dest(归档模式复制并显示详细过程)。grep 命令(文本搜索):grep -inv "error" log.txt(忽略大小写、显示行号、反向匹配)。find 命令(文件查找):find / -type f -size +10M -name "*.log"(查找超过 10MB 的 .log 文件)。ll 并非 Linux/Unix 系统的原生命令,而是 ls -l 命令的别名,作用是以'长格式'列出目录内容,比默认的 ls 命令显示更详细的文件信息。在 Xshell 中,ll 相当于是 ls -laF 的别名,所以会把隐藏文件一起表达出来。
以长格式(包含权限、所有者、大小、修改时间等)列出当前目录或指定目录下的文件/目录详情。
ll [选项] [目录/文件]
ls -l [选项] [目录/文件]。执行 ll 后,每行对应一个文件/目录,输出格式如下:
[user@localhost ~]$ ll total 40 drwxr-xr-x 2 user user 4096 10 月 1 14:30 documents -rw-r--r-- 1 user user 120 9 月 20 09:15 note.txt lrwxrwxrwx 1 user user 10 10 月 5 16:20 link_doc -> documents
每行信息从左到右依次为:文件类型与权限、链接数、所有者、所属组、文件大小、最后修改时间、文件/目录名。
ll -h:以'人类可读格式'显示文件大小(如 K/M/G)。ll -a:显示所有文件/目录(包括隐藏文件/目录)。ll -t:按'最后修改时间'排序。ll -r:反向排序。ll -la:组合 l(长格式)、a(显示隐藏文件)。pwd 是 Linux/Unix 系统中一个基础且常用的命令,全称为 Print Working Directory(打印工作目录)。
显示用户当前所处的绝对路径(从根目录 / 开始到当前目录的完整路径),帮助用户明确自己在文件系统中的位置。
-L(默认):显示逻辑路径。如果当前目录是通过软链接进入的,会显示链接本身的路径。-P:显示物理路径。无论是否通过软链接进入,都显示实际指向的目录的真实路径。cd 是 Linux/Unix 系统中最常用的命令之一,全称为 Change Directory(切换目录),用于改变当前工作目录。
切换用户当前所在的工作目录,即将当前工作目录改变到我们所指定的目录下。
cd [目录路径]
目录路径,即只输入 cd,后面不跟要去的目录,默认切换到当前用户的 主目录(家目录,通常为 /home/用户名 或 ~ 表示)。cd 命令的路径参数支持两种形式:
/ 开始的完整路径(如 /home/user/documents)。.:表示当前目录。..:表示当前目录的父目录(上一级目录)。~:表示当前用户的主目录(等价于 $HOME 环境变量)。-:表示上一次所在的目录(用于快速在两个目录间切换)。cd ~otherusercd -cd、cd ~、cd $HOMEcd ..cd documentscd /usr/local/bincd 指令的路径使用支持灵活组合。比如,当我们身处某个目录,想要进入它上一级目录中的另一个子目录时,可以直接把路径片段组合起来,用 cd ../另一个目录名字 这样的命令一步到位。
.. 与其他目录的组合:例如 cd ../../downloads(向上跳两级再进入 downloads)。~ 与其他路径的组合:例如 cd ~/music/rock(直接从主目录进入深层目录)。. 与其他路径的组合:例如 cd ./-logs(明确当前目录下的子目录)。- 与其他路径的间接组合:结合上一次目录的跳转,如 cd - && cd notes。touch 是 Linux/Unix 系统中常用的命令,主要用于处理文件的时间戳,同时也能快速创建新文件。
touch 会直接创建一个空文件(不会创建目录)。touch [选项]... 文件...
-a:仅修改文件的访问时间。-m:仅修改文件的修改时间。-c:如果指定的文件不存在,不创建新文件。-t 选项可自定义时间戳。touch 会默认创建一个空文件。mkdir 是 Linux/Unix 系统中用于创建目录(文件夹)的基础命令,全称为 make directory。
在指定位置创建一个或多个新目录,是文件系统中组织文件结构的常用工具。
mkdir [选项] dirname...
dirname 为要创建的目录名称,可同时指定多个(用空格分隔)。最常用的选项是 -p(或 --parents),功能是递归创建多级目录:当需要创建的目录路径中包含尚未存在的父目录时,-p 会自动创建所有缺失的中间目录,无需手动逐级创建。
-p 递归创建多级目录:mkdir -p a/b/cmkdir docs/notesmkdir /tmp/testmkdir music pics videotree 是一个在 Linux/Unix 系统中用于以树状结构显示目录层级的命令行工具,能直观展示指定目录下的文件和子目录的嵌套关系。
tree [选项] [目录路径]
目录路径,默认显示当前工作目录的树状结构。tree,执行时会提示'命令未找到',需手动安装(如 Ubuntu 用 sudo apt install tree,CentOS 用 sudo yum install tree)。-L n 选项指定深度。-d 选项。-a 选项。clear 是 Linux/Unix 系统中用于清除终端屏幕内容的基础命令,作用是将当前终端界面上的所有输出信息清空,使光标回到终端的起始位置(左上角),让界面重新变得整洁。
快速清空终端屏幕的现有内容,提供一个干净的操作界面,避免过多历史输出干扰后续操作。
clear
clear 并回车,终端屏幕会立即被清空,光标回到第一行。clear 只是将现有内容'推到屏幕上方',而非彻底删除。通过终端的滚动条仍可向上滚动查看历史内容。Ctrl+L 快捷键等效:在大多数终端中,按下 Ctrl+L 组合键可达到与 clear 命令相同的清屏效果。clear 快速清理。
微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online