Linux (一)入门指南:历史、常用指令、权限与文件属性详解

目录

前言

[一、Linux 简史:从爱好到互联网基石](#一、Linux 简史:从爱好到互联网基石)

[二、Linux 核心目录结构(新手必懂)](#二、Linux 核心目录结构(新手必懂))

三、用户体系:超级用户与普通用户

[1. 用户类型区别](#1. 用户类型区别)

[2. 常用用户切换命令](#2. 常用用户切换命令)

四、常用指令速查(基础+进阶全覆盖)

[1. 目录与文件浏览](#1. 目录与文件浏览)

[2. 文件与目录操作](#2. 文件与目录操作)

[3. 文件内容查看](#3. 文件内容查看)

[4. 文本处理与搜索](#4. 文本处理与搜索)

[5. 系统与进阶运维指令](#5. 系统与进阶运维指令)

[6. 隐藏文件核心规则](#6. 隐藏文件核心规则)

五、权限设置:文件和目录的访问控制

[1. 权限表示法](#1. 权限表示法)

[2. 普通文件权限含义](#2. 普通文件权限含义)

[3. 目录权限含义](#3. 目录权限含义)

[4. 修改权限:chmod 命令](#4. 修改权限:chmod 命令)

符号模式

数字模式(最常用)

[5. 修改属主与属组](#5. 修改属主与属组)

[6. 特殊权限简述](#6. 特殊权限简述)

[7. 权限经典误区(新手高频踩坑)](#7. 权限经典误区(新手高频踩坑))

[六、文件属性详解:ls -l 输出全解析](#六、文件属性详解:ls -l 输出全解析)

[1. 第1列:文件类型+权限](#1. 第1列:文件类型+权限)

[2. 第2列:硬链接数](#2. 第2列:硬链接数)

[3. 第3、4列:属主、属组](#3. 第3、4列:属主、属组)

[4. 第5列:文件大小](#4. 第5列:文件大小)

[5. 第6-8列:最后修改时间](#5. 第6-8列:最后修改时间)

[6. 第9列:文件名](#6. 第9列:文件名)

[7. 属性示例解析](#7. 属性示例解析)

七、学习总结


前言

Linux 是服务器端和开发环境中不可或缺的操作系统。无论你是运维新手还是想要深入后端开发,理解 Linux 的基本历史、常用命令、权限机制以及文件属性都是扎实的第一步。本文将按照新手循序渐进的学习逻辑,从系统认知、目录结构、用户体系、实操指令、权限规则到文件属性,带你快速建立完整的 Linux 实用知识框架。


一、Linux 简史:从爱好到互联网基石

Linux 的诞生与一位芬兰大学生密不可分。1991 年,Linus Torvalds 因不满当时 MINIX 系统的限制,决定自己编写一个类 Unix 的内核。他将这个内核命名为 Linux,并采用 GPL 协议发布,邀请全世界的开发者共同改进。

在 Linux 内核的基础上,结合 GNU 项目的大量自由软件(如编译器、Shell、核心工具),形成了完整的GNU/Linux 操作系统。由于开源、稳定、高性能的特点,Linux 迅速在服务器、嵌入式设备、超级计算机以及后来的 Android 移动平台上占据主导地位。如今,我们熟悉的 Ubuntu、CentOS、Debian、Fedora 等都是基于 Linux 内核的发行版。


二、Linux 核心目录结构(新手必懂)

Linux 一切皆文件,系统目录拥有固定分工,是后续所有命令操作、权限配置的基础。新手无需死记硬背,掌握核心目录功能即可应对 90% 日常场景:

  • /:根目录,所有目录的顶级入口,系统最顶层目录

  • /home:普通用户家目录,每个用户对应一个独立文件夹,存放个人文件、自定义配置

  • /root:root 管理员专属家目录,权限最高,普通用户无访问权限

  • /etc:系统核心配置目录,所有软件、系统配置文件、环境变量配置均存放在此

  • /bin//sbin:系统核心命令目录,ls、cd、cp 等系统基础指令均存放于此

  • /usr:用户软件安装目录,大部分第三方软件、程序默认安装路径

  • /tmp:系统临时文件目录,存放临时缓存文件,服务器重启后自动清空

  • /var:动态数据目录,专门存放日志、数据库数据、缓存等持续变化的文件


三、用户体系:超级用户与普通用户

Linux 是多用户操作系统,不同用户权限严格区分,理解用户体系是掌握权限机制的前提。系统主要分为两类用户:

1. 用户类型区别

  • root 超级用户 :系统最高权限管理员,拥有系统所有操作权限,可修改、删除任意文件,修改系统全局配置,管理所有普通用户,无任何权限限制。生产环境禁止直接登录使用,避免误操作导致服务器崩溃。

  • 普通用户 :默认仅拥有自身家目录(/home/用户名)的读写执行权限,无法随意修改系统文件和其他用户文件,安全性更高,日常开发、运维均使用普通用户操作。

2. 常用用户切换命令

  • su root:切换为 root 超级用户(需输入 root 密码)

  • su 用户名:切换为指定普通用户

  • exit:退出当前用户,返回上一级登录用户

  • sudo 命令:普通用户临时获取 root 权限,执行单次管理员操作(需提前配置 sudo 权限)


四、常用指令速查(基础+进阶全覆盖)

以下整合 Linux 日常开发、运维高频使用的基础+进阶指令,覆盖文件操作、日志查看、系统排查等场景,建议结合终端反复练习。

1. 目录与文件浏览

  • pwd:显示当前工作目录的绝对路径。

  • ls:列出目录内容。

    • ls -l:长格式显示(权限、大小、时间、用户等完整信息)。

    • ls -a:显示所有文件,包括以 . 开头的隐藏文件。

    • ls -lh:以人类可读格式(K/M/G)显示文件大小。

  • cd <目录>:切换目录。

    • cd ..:返回上一级目录

    • cd ~ / cd:直接返回家目录

    • cd -:返回上一次所在的工作目录

2. 文件与目录操作

  • mkdir <目录名>:创建目录。

    • mkdir -p a/b/c:递归创建多级嵌套目录。

    • mkdir -m 权限 目录:创建目录并直接指定权限,无需二次修改。

  • touch <文件名>:创建空文件,或更新已有文件的时间戳。

  • cp <源> <目标>:复制文件或目录。

    • cp -r 源目录 目标目录:递归复制整个目录及内部所有文件。
  • mv <源> <目标>:移动文件/目录,或对文件/目录重命名。

  • rm <文件>:删除文件/目录。

    • rm -r 目录:递归删除目录及所有内容。

    • rm -f:强制删除,不弹出确认提示。生产环境慎用!

3. 文件内容查看

  • cat <文件>:一次性展示整个文件内容,适合小文件。

  • less <文件> :分页浏览文件,支持前后翻页,按 q 退出,适合大文件。

  • head -n 10 <文件>:查看文件前10行内容。

  • tail -n 10 <文件>:查看文件末尾10行内容。

  • tail -f <文件>:实时追踪文件新增内容,是查看项目日志的核心命令。

4. 文本处理与搜索

  • grep <模式> <文件>:在文件中搜索匹配关键词的内容。

    • grep -r "关键词" 目录:递归搜索目录下所有文件的匹配内容。

    • grep -i:忽略大小写进行匹配搜索。

  • echo "文本":输出指定文本到终端,常用于测试和写入简单内容。

  • 管道 | :将前一个命令的输出结果,作为后一个命令的输入,示例:ls -l | grep test

5. 系统与进阶运维指令

  • man <命令>:查看命令官方详细手册。

  • --help:多数命令支持该参数,输出简要使用帮助。

  • clear / Ctrl+L:清空终端屏幕。

  • du -sh :查看文件/目录占用磁盘总大小,du -sh * 可查看当前目录所有文件大小。

  • df -h:查看系统整体磁盘使用情况,快速排查磁盘爆满问题。

  • ps -ef:查看系统全部进程,常用于排查程序运行状态。

  • kill -9 进程ID :强制终止指定进程,禁止随意终止系统核心进程

  • history:查看终端所有历史执行命令。

6. 隐藏文件核心规则

Linux 中所有以 . 开头的文件/目录均为隐藏文件 (如 .bashrc),默认 ls 无法查看,仅可通过 ls -a 显示。隐藏文件多为系统配置、环境变量文件,新手请勿随意修改、删除,极易导致系统命令失效、登录异常。


五、权限设置:文件和目录的访问控制

Linux 多用户体系的核心安全机制就是权限控制,文件和目录的 rwx 权限含义不同,是新手最容易混淆的重点、难点。

1. 权限表示法

使用 ls -l 查看文件时,权限字段示例如下:

bash 复制代码
-rwxr-xr-- 1 user group 4096 May 10 12:00 example

权限部分 -rwxr-xr-- 分为四段:

  • 第 1 位:文件类型(详见下文文件属性详解)

  • 第 2-4 位:属主权限(user):文件所有者的权限

  • 第 5-7 位:属组权限(group):所属用户组的权限

  • 第 8-10 位:其他人权限(others):其他所有用户的权限

其中 r 代表读、w 代表写、x 代表执行,无对应权限则显示 -

2. 普通文件权限含义

|----|-----|--------------------------|
| 权限 | 字母 | 含义 |
| 读 | r | 可查看、读取文件内容(cat、less 等操作) |
| 写 | w | 可修改、编辑文件内容 |
| 执行 | x | 可将文件作为脚本、二进制程序执行运行 |

3. 目录权限含义

目录本质是记录文件名称与 inode 映射关系的索引文件,因此权限逻辑和普通文件完全不同。

|----|-----|---------------------------|
| 权限 | 字母 | 含义 |
| 读 | r | 可通过 ls 列出目录内的文件名称 |
| 写 | w | 可在目录内创建、删除、重命名文件/子目录 |
| 执行 | x | 可通过 cd 进入目录,访问目录内文件的属性和内容 |

重要核心规则 :想要读取目录内某个文件的内容,必须对该文件的所有上级目录拥有x 执行权限,同时对文件本身拥有 r 读权限。仅拥有目录 r 权限时,只能看到文件名,无法访问任何文件内容和属性。

4. 修改权限:chmod 命令

符号模式

通过 u(属主)、g(属组)、o(其他人)、a(所有人) 搭配增减权限符号操作:

  • chmod u+x script.sh:给文件属主增加执行权限

  • chmod go-w file:移除属组和其他人的写权限

  • chmod a=r file:给所有人仅保留读权限

数字模式(最常用)

权限对应数值:r=4, w=2, x=1,通过数值相加组合权限:

  • chmod 755 文件/目录:属主 rwx、属组/其他人 r-x,适用于脚本、普通目录

  • chmod 644 文件:属主 rw-、属组/其他人 r--,普通文件标准权限,安全通用

  • chmod 700 目录:仅属主拥有全部权限,适用于私密文件、个人专属目录

5. 修改属主与属组

  • chown user:group file:同时修改文件属主和属组(需 root 权限)

  • chown user file:仅修改文件属主

  • chgrp group file:仅修改文件属组

6. 特殊权限简述

  • SUID (4) :作用于文件,文件执行时以文件属主 权限运行(典型示例:passwd 改密码命令),设置方式:chmod u+s 或数字 4xxx

  • SGID (2):作用于文件则以属组权限运行;作用于目录,目录内新建文件自动继承目录属组

  • 粘滞位 Sticky (1) :仅对目录生效,目录内文件仅文件属主和 root 可删除,常用于 /tmp 临时目录,设置方式:chmod +t 目录 或数字 1xxx

7. 权限经典误区(新手高频踩坑)

  • 误区1 :目录有 r 权限就能访问内部文件 纠正:目录必须配置 x 执行权限 才能进入、读取内部文件,仅有 r 权限仅能查看文件名。

  • 误区2:所有文件都需要配置执行权限 纠正:仅脚本、二进制程序需要 x 执行权限,普通文本文件无需执行权限,默认 644 最安全。

  • 误区3:目录配置 777 权限最方便 纠正:777 代表所有人拥有全部权限,生产环境存在极大安全风险,极易被篡改、删除文件,禁止滥用。


六、文件属性详解:ls -l 输出全解析

执行 ls -l 命令后,终端展示的每一行内容都包含完整的文件属性信息,完整解读如下,示例格式:

bash 复制代码
drwxr-xr-x 2 alice developers 4096 Jun 5 14:30 project/

1. 第1列:文件类型+权限

第一个字符为文件类型,后续9位为标准 rwx 权限:

|-----|-----------|
| 字符 | 文件类型 |
| - | 普通文件 |
| d | 目录文件 |
| l | 符号链接(软链接) |
| c | 字符设备文件 |
| b | 块设备文件 |
| p | 命名管道 |
| s | 套接字文件 |

2. 第2列:硬链接数

普通文件:代表指向该 inode 的硬链接数量;目录文件:代表目录包含的子目录数量(默认至少为2,对应 ... 两个隐藏目录)。

3. 第3、4列:属主、属组

分别对应文件的所有者用户所属用户组,决定了不同主体的操作权限。

4. 第5列:文件大小

默认单位为字节,使用 ls -lh 可转换为 K/M/G 友好单位展示。

5. 第6-8列:最后修改时间

记录文件内容最后一次编辑修改的时间,格式为「月 日 时间/年份」。

6. 第9列:文件名

普通文件/目录直接展示名称;符号链接文件会以 链接名 -> 源文件路径 格式展示。

7. 属性示例解析

bash 复制代码
-rw-r--r-- 1 root root 256 May 10 09:00 config.txt

普通文件,属主拥有读写权限,属主和其他人仅读权限;硬链接数1,归属root用户和root组,大小256字节,5月10日修改。

bash 复制代码
drwxr-xr-x 2 alice developers 4096 Jun 5 14:30 project

目录文件,属主 alice 拥有完整操作权限,developers 组和其他用户仅可进入、查看,无修改删除权限。


七、学习总结

本文按照新手学习逻辑,完整梳理了 Linux 入门核心知识体系:从系统发展历史、核心目录结构、用户权限体系,到高频实操指令、文件/目录权限机制、完整文件属性解析,同时补充了新手高频踩坑误区与运维实用技巧。

零基础学习无需死记硬背所有知识点,重点掌握核心内容:系统目录分工、root与普通用户区别、755/644/700标准权限、rwx差异化权限逻辑、高频实操命令。坚持上机实操练习,熟悉基础操作后,可进一步深入进程管理、网络配置、高级权限、服务部署等进阶内容,快速实现从入门到熟练实操的跨越。

如果有任何疑问或想了解更高级的话题(如 ACL、SELinux 等),欢迎在评论区交流。Happy learning!

相关推荐
skywalk81632 小时前
在Ubuntu安装言律并部署playground web网页
linux·运维·ubuntu
zzqssliu2 小时前
Taocarts库存锁定机制优化:彻底解决跨境代购商品超卖问题
java·linux·javascript·php
yyuuuzz2 小时前
独立站搭建的几个核心技术问题
运维·服务器·网络·数据库·aws
Peace2 小时前
【Ansible】
linux·运维·ansible
木雷坞2 小时前
n8n Docker Compose 部署:Postgres、Webhook 和数据卷配置
运维·docker·容器
Jiliang.Li2 小时前
【无标题】
服务器
kebidaixu2 小时前
AD7606B 使用总结报告
linux
我的世界洛天依2 小时前
停服公告-柴框云
运维
程序猿阿伟2 小时前
《Opencloak代理的自动化验证指南》
java·运维·自动化