Linux 基础入门笔记:从零开始理解核心概念与常用操作

最近有不少粉丝私信问我 Linux 入门该从哪学起,今天我就把自己整理的 Linux 基础笔记 分享出来,内容包括基础概念、文件系统结构、文件类型与属性、硬链接与软链接、以及最常用的文件目录操作命令。这些内容是我在学习和工作中反复实践总结的,希望能帮到刚接触 Linux 的你。

注意:本文所有代码块和表格均保持原样,图片路径也未修改(由于是本地笔记,图片无法直接显示,请大家对照自己的环境理解)。


一、基础概念

1.1 名词解释

  • 命令解析器

    默认(缺省)运行于计算机系统的终端,用来解析用户输入命令的工具。常见的有 Bash、Zsh 等。

  • 内核

    操作系统的核心,笼统地将系统称为内核。内核负责管理硬件资源、进程调度、内存管理等功能。

1.2 终端提示符格式

我们平时看到的命令行提示符长这样:

root@itcast:~$

格式拆解为:用户名@主机名:shell工作路径$

  • root:当前登录的用户名
  • itcast:主机名
  • ~:当前工作目录(家目录的缩写)
  • $:表示普通用户权限;如果是 # 则表示 root 超级用户

1.3 常用快捷键(效率翻倍)

在终端中,掌握快捷键能大幅提升操作效率。个人强烈推荐以下快捷键:

快捷键 作用
Tab 自动补全文件名、目录名、命令(最常用!)
Ctrl + P 上一条历史命令(Previous)
Ctrl + N 下一条历史命令(Next)
Ctrl + A 光标移到行首
Ctrl + E 光标移到行尾
Ctrl + D 相当于 Delete 键,删除光标后字符,也可退出当前 shell
Ctrl + U 清空光标到行首的内容

个人经验 :刚开始记不住没关系,先用 TabCtrl+P/Ctrl+N,慢慢就习惯了。Ctrl+U 在输错一长串命令时特别有用。


二、文件系统

2.1 根目录结构(/ 下的常见目录)

Linux 的文件系统是一棵倒挂的树,根为 /。下面列出几个重要的目录:

  • /bin:存放二进制可执行文件,如 datelsechocat 等基本命令。
  • /dev:存放硬件设备对应的文件(鼠标、键盘等)。
    Linux 中"所见皆文件" ,硬件设备也以文件形式呈现。
    测试命令:sudo cat /etc/input/mice(需输入密码,会输出鼠标移动数据,可以感受一下)
  • /etc:存放系统中的配置文件,比如网络配置、用户密码等。
  • /home:存放普通用户的宿主目录,例如用户 itcast 的目录是 /home/itcast
  • /lib:存放系统使用的库文件。查看标准 C 库:cd /lib/x86_64-linux-gnu
  • /root:系统管理员(root)的家目录。
  • /tmp:提供给用户使用,存放运行中需要保存的临时文件。重启后可能清空。
  • /usr:存储用户相关的数据资源,应用程序通常安装在此下。

2.2 文件类型

Linux 中有七种文件类型,通过 ls -l 第一个字符区分:

符号 类型 说明
- 普通文件 文本、二进制等
d 目录文件 文件夹
l 软链接文件 类似 Windows 快捷方式
p 管道文件 (pipe) 用于进程间通信
s 套接字文件 (socket) 网络通信
c 字符设备文件 如键盘、鼠标
b 块设备文件 如硬盘、光盘

注意 :后四种文件是伪文件,不消耗磁盘空间,仅作为接口存在。前三种(普通、目录、软链接)是真正的文件,会占用磁盘空间。

2.3 文件访问属性(权限)

当我们执行 ls -l 时,第一列有 10 个字符,例如 -rwxr-xr--

  • 第 1 个字符:文件类型(-dl 等)
  • 后 9 个字符分为三组,每组 rwx
    • r:读权限
    • w:写权限
    • x:执行权限(对目录表示可进入)
    • 没有权限则用 - 占位

三组分别对应:

  • 所有者(owner):创建文件的用户
  • 所属组(group):默认用户创建时自动生成同名组,用户被加入该组
  • 其他人(others):既不是所有者也不是所属组的用户

2.4 硬链接与软链接

这是初学者容易混淆的概念,我当初也纠结了好久。下面用通俗的方式总结:

硬链接
  • 特性 :源文件和硬链接文件之间具有 "同步更新" 特性。修改其中一个,另一个也会同步变化。

  • 创建语法ln 源文件名 硬链接文件名

    示例:ln file1 file1.hard

  • 原理 :Linux 管理文件采用数据化管理。每个文件对应一个 inode(索引节点),硬链接本质上是多个文件名指向同一个 inode。

  • 查看文件 inode 号stat 文件名ls -i 文件名

  • 限制不能给目录创建硬链接(会破坏文件系统结构)

软链接(符号链接)
  • 相当于 Windows 的快捷方式,是一个特殊的文件,存放指向目标文件的路径。

  • 创建语法ln -s 文件名 软链接名

    示例:ln -s bbb b.soft

  • 建议 :创建软链接时使用绝对路径,避免搬移后链接失效。

  • 优点:可以给目录创建软链接。

个人经验:硬链接常用于备份(节省空间),但日常更常用软链接来快捷访问深层目录或文件。注意删除源文件后软链接会变成"坏链接"。


三、文件与目录操作(最常用的命令)

3.1 ls 命令------列出目录内容

常用参数
参数 作用
-l 以长格式显示详细信息
-a 显示所有文件(包括隐藏文件,文件名以 . 开头)
-R 递归显示子目录
-h 以人类可读方式显示文件大小(如 1K、2M)
-F 在文件名后添加类型提示符(如 / 表示目录,* 表示可执行文件)
-d 显示目录本身属性,而非目录内容
缩写的 ls 相关命令
  • ll = ls -alF(我直接写了个别名,参考了 Ubuntu 默认配置)
  • la = ls -a
ls -l 输出详解

输出分为七部分:

  1. 前十个字符:文件类型 + 访问属性
  2. 硬链接数:文件对应的 inode 被多少个文件名引用
  3. 文件所有者
  4. 文件所属组
  5. 文件大小:普通文件是实际大小;目录文件是目录本身占用的磁盘空间(4K 的整数倍)
  6. 文件创建/修改时间:如果是新建文件,显示创建时间;如果被修改过,则显示修改时间
  7. 文件名

3.2 创建文件与目录

  • 创建空文件touch 文件名 注意 :Linux 不以后缀名判断文件类型(以第一个字符判断),所以 qa.cc.a.a.f.a 这样的文件名完全合法。
  • 创建空目录mkdir 目录名
    创建多级目录:mkdir -p a/b/c/d(一次性创建嵌套目录,非常实用)

3.3 删除文件与目录

rmdir ------ 只能删除空目录

rmdir d 要求 d 目录必须为空,否则报错。

rm ------ 危险操作,请谨慎!

rm 删除的文件不能恢复!(虽然可以磁盘恢复,但过程极其复杂)

参数 作用
-r 递归删除多级子目录内容(目录操作必须加此参数)
-i 交互模式,删除前会询问用户
-f 强制删除,不询问

个人惨痛教训 :刚学 Linux 时误用 rm -rf /(千万别试!),虽然现代系统有保护,但仍需养成使用 -i 的习惯,或者用 trash-cli 代替。

3.4 复制与移动

cp ------ 复制

语法:cp 参数A 参数B

情况一:参数A 为文件

  • 参数B 是存在的目录:将 A 文件复制到 B 目录中
  • 参数B 不存在且不是目录:将 A 复制并重命名为 B
  • 参数B 不存在且是目录:报错(目标目录不存在)
  • 参数B 是已存在的文件:A 覆盖 B!(小心)

情况二:参数A 为目录

  • 必须添加 -r(递归)或 -a(保留所有属性,包括权限、时间戳)
    -r:递归复制新建
    -a:复制时保留文件默认属性
mv ------ 移动或重命名

mv 命令操作目录时不需要加 -r,非常方便。

  • 改名mv 源文件 目标文件,只要目标文件不存在,则直接改名。
  • 移动mv 源文件 目标目录,目标目录存在则移动进去。

比如 mv test.txt /home/backup/ 将文件移动到 backup 目录;mv test.txt newname.txt 则直接改名。


总结

以上是 Linux 基础笔记的核心内容,包括:

  • 终端快捷键与基础概念
  • 文件系统目录结构
  • 七种文件类型与权限
  • 硬链接与软链接的区别
  • 常用文件目录操作命令

掌握这些,你就已经迈出了 Linux 入门的第一步。下一步可以继续深入学习用户管理、权限控制、进程管理等。如果觉得本文对你有帮助,欢迎点赞、收藏、关注,后续我会持续分享更多 Linux 干货。

评论区留下你的疑问,我会一一回复!

Linux 文件查看、用户权限与查找命令实战笔记

大家好,我是你们的老朋友 你的昵称 🧑‍💻。在日常使用 Linux 的过程中,查看文件内容、管理用户权限、快速定位文件 是最高频的操作。今天我将之前整理的笔记改写成一篇结构清晰的博客,加入了一些踩坑经验,希望能帮到刚入门的小伙伴。


一、文件查看技巧

1. 小文件查看:cattac

cat 是最基础的查看命令,适合小文件。它还能用作 "快速写入" 或 "内容拼接"。

bash 复制代码
cat 文件名                 # 打印文件内容到屏幕
cat 文件1 > 文件2          # 文件1 覆盖写入文件2(文件2不存在则新建)
cat 文件1 >> 文件2         # 文件1 追加到文件2
tac 文件名                 # 倒序输出(行顺序反转)

个人经验cat 配合重定向 >>> 常用于快速创建小文件或合并日志,但若文件较大,使用 cat 输出会刷屏,建议用下面的分屏工具。

2. 大文件查看:moreless

  • more :分屏显示,功能简单
    • Enter 下滚一行
    • 空格 下滚一页
    • q 退出
    • ❌ 不支持上下箭头
  • less :功能更强,推荐使用
    • 支持上下箭头逐行滚动
    • 支持 / 搜索(n 跳转下一个)
    • q 退出
bash 复制代码
more 大文件.log
less 大文件.log

个人经验 :我现在只用 less,尤其是排查问题时的日志搜索功能,比 more 高效太多。另外记住 G 跳到最后,gg 跳到开头。

3. 预览首尾:headtail

  • head -5 文件名:显示前 5 行
  • tail -5 文件名:显示后 5 行

这两个命令在检查日志、配置文件头尾时非常常用,tail 加上 -f 还能实时跟踪文件新增内容(如 tail -f /var/log/syslog)。


二、查找命令路径:which

当我们想知道某个命令的可执行文件在哪,比如 pythonls,可以用 which

bash 复制代码
which python
# /usr/bin/python

小贴士which 仅能查找 PATH 环境变量中的命令,不适用于函数或别名。若查不到可以试试 typewhereis


三、用户与权限管理

1. 用户与用户组操作

添加用户
bash 复制代码
sudo adduser 用户名
# 依次输入信息,确认密码

执行后系统会:

  • /home 下创建宿主目录
  • /etc/passwd 文件末尾添加用户记录(UID、GID、家目录、shell)
  • /etc/group 添加同名用户组
删除用户
bash 复制代码
sudo deluser 用户名
# 默认同时删除用户组
# /home 下的宿主目录不会自动删除,需手动处理
sudo rm -rf /home/用户名

⚠️ 注意deluser 不会删除用户的家目录和邮件池,需要手动清理。删除前最好先确认用户没有运行中进程。

扩展:用户组管理
bash 复制代码
sudo addgroup 组名       # 添加组
sudo delgroup 组名        # 删除组

2. 修改文件权限:chmod

文字设定法

格式:chmod [who] [+ - =] [mode] 文件名

  • who:u(owner)、g(group)、o(others)、a(all,默认)
  • + 添加权限,- 取消,= 赋予并清除其他
  • mode:r(读)、w(写)、x(执行)

常用示例

bash 复制代码
chmod g+w bbb              # 给组添加写权限
chmod o+wx bbb             # 给其他用户添加写和执行
chmod u-w,u+x,g-w,o-r,o-x bbb  # 多组操作可逗号分隔
chmod u=rwx,g=x,o=rx bbb   # 用 = 精确设置
数字设定法

权限对应数字:r=4, w=2, x=1。每组权限范围 0~7。

bash 复制代码
chmod 463 bbb
# 4(r--) 6(rw-) 3(-wx)

个人经验 :日常我更喜欢用数字法,尤其是 chmod 755chmod 644,简洁明了。但复杂场景下文字法更易读。

3. 修改所有者和所属组:chownchgrp

bash 复制代码
sudo chown 用户名 文件名          # 修改文件所有者
sudo chgrp 组名 文件名            # 修改所属组
sudo chown 用户名:组名 文件名      # 一次性修改所有者和组

注意 :修改所有者和组通常需要 root 权限,使用 sudo


四、查找与过滤

1. find:强大而灵活的文件搜索

按文件名搜索 (-name)
bash 复制代码
find /home -name "*.txt"                   # 支持通配符 *
find /home -name "text?.md"                # ? 匹配单个字符
按文件类型搜索 (-type)
  • f:普通文件
  • d:目录
  • p:管道(命名管道)
按文件大小 (-size)
  • k 小写,M/G 大写
  • 范围搜索需两个 -size 参数
bash 复制代码
find ./ -size +3M -size -5M                # 大小 3M~5M 的文件
混合多个条件
bash 复制代码
find ~/ -name "2015.jpg" -size +1k -size -2M
限制搜索深度 (-maxdepth)

注意-maxdepth 必须放在其他条件之前,否则会报错。

bash 复制代码
find ./ -maxdepth 1 -name "a"
将搜索结果传给其他命令执行

方法一:-exec

bash 复制代码
find ./ -maxdepth 1 -name "a" -size +1k -size -2M -exec ls -lh {} \;

每找到一条就执行一次命令,{} 代表当前文件名,\; 结束。

方法二:管道 + xargs(更高效)

bash 复制代码
find ./ -name "*.jpg" -print0 | xargs -0 ls -lh

-print0-0 用于处理文件名中有空格的特殊情况,强烈建议加上。

个人踩坑 :一开始用 find | xargs 遇到包含空格的文件直接报错,后来改用 -print0 | xargs -0 就稳了。

2. grep:文本内容过滤

笔记中此处未详细记录,仅保留标题。但 grep 是与 find 齐名的搜索工具,常用于在文件内容中匹配模式。基本用法:

bash 复制代码
grep "关键词" 文件名
grep -r "关键词" 目录/          # 递归搜索
grep -i "关键词" 文件名         # 忽略大小写

更详细内容可查阅 man grep 或后续博客。


总结

场景 推荐命令
查看小文件 cat, tac
查看大文件/日志 less
查看文件首尾 head, tail
查找命令路径 which
管理用户/组 adduser, deluser, addgroup, delgroup
修改权限 chmod(数字法快,文字法明晰)
修改所有者/组 chown, chgrp
搜索文件 find(按名、大小、类型)
搜索文件内容 grep

希望这篇笔记能帮你快速上手这些基础操作。如果你有更好的技巧或踩过的坑,欢迎评论区交流!我们下期见 😄


本文基于个人 Linux 学习笔记整理,如有错误欢迎指正。

相关推荐
南岸的水1 小时前
ubuntu里面SDK编译指令及报错处理
linux·运维·ubuntu
Dlrb12112 小时前
Linux系统编程-进程间通信(管道、共享内存)
linux·共享内存·进程间通信·ipc·无名管道·有名管道
爱网络爱Linux2 小时前
Linux 服务器开机慢?启动链路优化实战
linux·运维·redhat·rhce·rhca·红帽认证
buhuizhiyuci2 小时前
【Linux篇】数字世界的底层认识, 它是底层的地基——进程概念的认识
linux·运维·服务器
A_humble_scholar2 小时前
Linux(六)深入理解 Linux 进程管理:从硬件到调度
linux·网络
曦月合一2 小时前
在 Linux 服务器上执行这些命令来导入 SSL 证书
linux·服务器·ssl
一拳一个娘娘腔2 小时前
CVE-2026-46300 — “Fragnesia“ 深度拆解:当修复补丁亲手唤醒了另一只恶魔
linux·安全
花伤情犹在2 小时前
Hermes 清理飞书会话操作指南
linux·sqlite·飞书·agent·hermes
小小测试开发2 小时前
Goose AI Agent 完全指南:Linux 基金会加持的开源 AI 编程助手
linux·人工智能·开源