<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>RookieIO&apos;s Tech Lab</title><description>Arch Linux · 开发 · 折腾笔记</description><link>https://blog.luxrime.top/</link><language>zh_CN</language><item><title>Arch Linux 安装指南：从系统构建到图形环境</title><link>https://blog.luxrime.top/posts/archlinux_install/</link><guid isPermaLink="true">https://blog.luxrime.top/posts/archlinux_install/</guid><description>Arch Linux 安装教程，包含从联网、分区到 KDE 桌面环境配置</description><pubDate>Thu, 15 Jan 2026 05:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;🛠 Arch Linux 安装指南&lt;/h1&gt;
&lt;p&gt;欢迎来到 Arch Linux 的世界。本手册将带你完成从基础系统联网、分区到安装图形界面（GUI）及常用软件的全过程。&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;1. 环境准备与联网&lt;/h2&gt;
&lt;p&gt;在启动后的 Live 环境中，首先需要确保网络通畅。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 1. 如果是无线网络，使用 iwd 联网
iwctl                                      # 进入交互式联网工具
# 在 iwctl 界面中依次执行：
# station wlan0 scan                       # 扫描网络
# station wlan0 get-networks               # 列出可用网络
# station wlan0 connect &amp;lt;SSID&amp;gt;             # 连接 WiFi
# quit                                     # 退出工具

# 2. 检查网络连通性
ping -c 4 google.com                       # 发送 4 个 ICMP 包测试网络

# 3. 更新系统时间（防止证书校验失败）
timedatectl set-ntp true                   # 开启网络时间同步
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2&gt;2. 磁盘分区与格式化&lt;/h2&gt;
&lt;p&gt;我们将采用主流的 &lt;strong&gt;UEFI + GPT&lt;/strong&gt; 结构。&lt;/p&gt;
&lt;h3&gt;2.1 分区规划&lt;/h3&gt;
&lt;p&gt;使用 &lt;code&gt;cfdisk&lt;/code&gt; 工具进行可视化操作：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;cfdisk /dev/nvme0n1                        # 打开磁盘分区工具
# 选择 Label 类型为: gpt
# 分区 1: 512M -&amp;gt; 类型选择 EFI System
# 分区 2: 剩余空间 -&amp;gt; 类型选择 Linux filesystem
# 点击 Write 写入更改，然后 Quit 退出
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;2.2 格式化与挂载&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;# 格式化分区
mkfs.fat -F 32 /dev/nvme0n1p1              # EFI 分区
mkfs.ext4 /dev/nvme0n1p2                   # 根分区

# 挂载分区
mount /dev/nvme0n1p2 /mnt                  # 先挂载根目录
mkdir -p /mnt/boot                         # 创建 EFI 挂载点
mount /dev/nvme0n1p1 /mnt/boot             # 挂载 EFI 分区
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2&gt;3. 系统安装与基础配置&lt;/h2&gt;
&lt;h3&gt;3.1 安装核心包&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;# 优化镜像源（中国区）
reflector --country China --protocol https --sort rate --save /etc/pacman.d/mirrorlist

# 安装基础系统
pacstrap /mnt base linux linux-firmware base-devel networkmanager vim
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;3.2 系统初始化&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;# 生成挂载表
genfstab -U /mnt &amp;gt;&amp;gt; /mnt/etc/fstab          

# 进入新系统 (Chroot)
arch-chroot /mnt                            

# 设置时区与本地化
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc
# 编辑 /etc/locale.gen 取消 en_US.UTF-8 注释，然后运行：
locale-gen
echo &quot;LANG=en_US.UTF-8&quot; &amp;gt; /etc/locale.conf

# 用户与权限
echo &quot;my-arch&quot; &amp;gt; /etc/hostname              # 设置主机名
passwd                                     # 设置 root 密码
useradd -m -G wheel myuser                 # 创建普通用户
passwd myuser
# 使用 visudo 取消 %wheel ALL=(ALL:ALL) ALL 的注释
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;3.3 引导程序 (GRUB)&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;pacman -S grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ARCH
grub-mkconfig -o /boot/grub/grub.cfg
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2&gt;🖥 4. 图形桌面环境安装 (KDE Plasma)&lt;/h2&gt;
&lt;p&gt;完成基础系统后，我们需要安装显示驱动和桌面环境。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 1. 安装显卡驱动（根据你的显卡选择）
# 英特尔: pacman -S mesa lib32-mesa vulkan-intel
# AMD: pacman -S mesa lib32-mesa xf86-video-amdgpu
# 英伟达: pacman -S nvidia nvidia-utils
pacman -S mesa                             # 通用开源驱动

# 2. 安装 Xorg 和 字体
pacman -S xorg ttf-dejavu wqy-microhei      # 包含中文字体防止乱码

# 3. 安装 KDE Plasma 核心组件
pacman -S plasma-desktop sddm konsole dolphin 
# 解释：
# plasma-desktop: 桌面核心
# sddm: 登录管理器 (显示管理器)
# konsole: 终端
# dolphin: 文件管理器

# 4. 启用服务（开机进入图形界面）
systemctl enable sddm
systemctl enable NetworkManager
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2&gt;🚀 5. 推荐软件清单&lt;/h2&gt;
&lt;p&gt;系统装好后，建议安装以下生产力工具。&lt;/p&gt;
&lt;h3&gt;5.1 基础必装&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;软件名&lt;/th&gt;
&lt;th&gt;用途&lt;/th&gt;
&lt;th&gt;安装命令&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Google Chrome&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;网页浏览器&lt;/td&gt;
&lt;td&gt;&lt;code&gt;yay -S google-chrome&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;VS Code&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;代码编辑器&lt;/td&gt;
&lt;td&gt;&lt;code&gt;sudo pacman -S code&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Git&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;版本控制&lt;/td&gt;
&lt;td&gt;&lt;code&gt;sudo pacman -S git&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Fastfetch&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;系统信息展示&lt;/td&gt;
&lt;td&gt;&lt;code&gt;sudo pacman -S fastfetch&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;5.2 系统维护&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Yay&lt;/strong&gt;: AUR 助手（必装）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Timeshift&lt;/strong&gt;: 系统快照（防止滚挂）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Btop&lt;/strong&gt;: 实时资源监视器。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;5.3 生产力与多媒体&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Typora&lt;/strong&gt;: Markdown 编辑器。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VLC&lt;/strong&gt;: 全能播放器。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Telegram Desktop&lt;/strong&gt;: 通讯工具。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;YesPlayMusic&lt;/strong&gt;: 高颜值网易云客户端。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2&gt;6. 完成安装&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;exit                                       # 退出 chroot
umount -R /mnt                             # 卸载分区
reboot                                     # 重启进入新世界
&lt;/code&gt;&lt;/pre&gt;
</content:encoded></item><item><title>Pacman包管理</title><link>https://blog.luxrime.top/posts/pacman_qperations/</link><guid isPermaLink="true">https://blog.luxrime.top/posts/pacman_qperations/</guid><description>📦 Arch Linux 包管理器 (Pacman) 权威运维手册

| 属性 | 详细说明 |
|...</description><pubDate>Thu, 15 Jan 2026 03:57:29 GMT</pubDate><content:encoded>&lt;h1&gt;📦 Arch Linux 包管理器 (Pacman) 权威运维手册&lt;/h1&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;属性&lt;/th&gt;
&lt;th&gt;详细说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;核心程序&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;pacman&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;配置文件&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/etc/pacman.conf&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;镜像列表&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/etc/pacman.d/mirrorlist&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;缓存路径&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/var/cache/pacman/pkg/&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;文档版本&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;v3.0 (进阶详细版)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr /&gt;
&lt;h2&gt;🛑 1. 安全红线 (The &quot;Do Nots&quot;)&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;在操作前，请刻在脑子里，否则极易导致系统崩溃（滚挂）。&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;❌ 禁忌一：禁止部分更新 (Partial Upgrades)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;错误操作&lt;/strong&gt;: &lt;code&gt;pacman -Sy firefox&lt;/code&gt; (只同步数据库，然后只安装 Firefox)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;后果&lt;/strong&gt;: 你的数据库是最新的，但系统里的核心库（如 &lt;code&gt;glibc&lt;/code&gt;）是旧的。新 Firefox 调用新库时，因为找不到而崩溃。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;✅ 正确做法&lt;/strong&gt;: &lt;strong&gt;永远同步并更新整个系统。&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;sudo pacman -Syu firefox
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;❌ 禁忌二：强制忽略依赖&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;错误操作&lt;/strong&gt;: &lt;code&gt;pacman -Rdd 软件名&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;后果&lt;/strong&gt;: 强行删除了被其他软件依赖的包，导致其他软件打不开。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;✅ 正确做法&lt;/strong&gt;: 除非你非常清楚你在修 bug，否则只用 &lt;code&gt;-Rs&lt;/code&gt; 或 &lt;code&gt;-Rns&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2&gt;⬇️ 2. 安装与系统更新 (Install &amp;amp; Update)&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;主参数&lt;/strong&gt;: &lt;code&gt;-S&lt;/code&gt; (Sync)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;2.1 核心更新流程 (每日必做)&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;# 1. 标准全量更新 (同步数据库 + 更新软件) [推荐]
sudo pacman -Syu

# 2. 强制刷新数据库 (仅在切换镜像源后使用，平时别用，伤服务器)
sudo pacman -Syyu
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;2.2 软件安装技巧&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;# 1. 安装单个或多个软件
sudo pacman -S vim git htop

# 2. 安装包组 (Package Group)
# 例如安装 KDE 全家桶，它会问你具体要选哪些，回车默认全选
sudo pacman -S plasma

# 3. 智能安装 (脚本常用)
# 作用：如果软件已经是最新版，跳过；如果没装或有更新，才执行。
sudo pacman -S --needed base-devel git
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;2.3 降级安装 (救命用)&lt;/h3&gt;
&lt;p&gt;当新版本有 Bug，你想回退到旧版本时。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 方法 A: 安装本地缓存中的旧包 (路径通常在 /var/cache/pacman/pkg/)
sudo pacman -U /var/cache/pacman/pkg/package-old-version.pkg.tar.zst

# 方法 B: 安装网上下载的包 (Arch Linux Archive)
sudo pacman -U [https://archive.archlinux.org/packages/p/package/package.pkg.tar.zst](https://archive.archlinux.org/packages/p/package/package.pkg.tar.zst)
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2&gt;🗑️ 3. 卸载与清理 (Remove)&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;主参数&lt;/strong&gt;: &lt;code&gt;-R&lt;/code&gt; (Remove)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;3.1 标准卸载流程&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;请养成使用 &lt;code&gt;-Rns&lt;/code&gt; 的习惯，保持系统洁癖。&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 🟢 [推荐] 删除软件 + 没用的依赖 + 全局配置文件
sudo pacman -Rns gimp

# 🟡 [普通] 删除软件 + 没用的依赖 (保留配置文件)
sudo pacman -Rs gimp

# 🔴 [不推荐] 仅删除软件本身 (依赖和配置全留着，制造垃圾)
sudo pacman -R gimp
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;3.2 彻底清理 (Spring Cleaning)&lt;/h3&gt;
&lt;p&gt;Arch 不会自动删除旧包，缓存会无限膨胀。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 1. 清理“孤儿包” (曾经作为依赖被安装，现在没人要了)
# 解释：pacman -Qtdq 列出孤儿名，pacman -Rns 删除它们
sudo pacman -Rns $(pacman -Qtdq)

# 2. 清理缓存 (释放硬盘空间)
# 删除所有旧版本的包，只保留当前安装的那个版本
sudo pacman -Sc

# 3. 清空缓存 (极端情况)
# 删除缓存文件夹里的所有东西 (警告：删了就没法降级了)
sudo pacman -Scc
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2&gt;🔍 4. 查询与搜索 (Query)&lt;/h2&gt;
&lt;p&gt;Pacman 的数据库分两部分：&lt;strong&gt;本地 (Local)&lt;/strong&gt; 和 &lt;strong&gt;远程 (Sync)&lt;/strong&gt;。&lt;/p&gt;
&lt;h3&gt;4.1 查远程 (搜软件)&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;# 搜索软件 (支持模糊搜索)
pacman -Ss 关键词  
# 例: pacman -Ss browser

# 查看远程软件的详细信息 (依赖、大小、构建日期)
pacman -Si 软件名
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;4.2 查本地 (已安装)&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;# 搜索已安装的软件
pacman -Qs 关键词

# 查看已安装软件的详细信息
pacman -Qi 软件名

# 列出软件的所有文件路径 (它到底装哪去了？)
pacman -Ql 软件名

# 🔥 法医鉴定 (Who owns this file?)
# 查某个文件属于哪个软件包 (排错神器)
pacman -Qo /usr/bin/vim
# 输出: /usr/bin/vim is owned by vim 9.0.xxxx
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;4.3 依赖树分析&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;# 查看它依赖谁
pactree 软件名

# 查看谁依赖它 (反向查询，卸载前看看有没有风险)
pactree -r 软件名
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2&gt;🛠️ 5. 故障排除 (Troubleshooting)&lt;/h2&gt;
&lt;h3&gt;5.1 数据库锁定 (Failed to init transaction)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;场景&lt;/strong&gt;: 更新中途断电或强制关闭终端，再次运行提示 &lt;code&gt;db.lck exists&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;解决&lt;/strong&gt;:&lt;pre&gt;&lt;code&gt;sudo rm /var/lib/pacman/db.lck
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;5.2 签名信任错误 (PGP Signature unknown trust)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;场景&lt;/strong&gt;: 很久没更新，提示签名无效或损坏。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;原因&lt;/strong&gt;: Arch 的密钥环 (Keyring) 更新非常频繁，你的本地密钥过期了。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;解决&lt;/strong&gt;:&lt;pre&gt;&lt;code&gt;# 1. 先单独更新密钥环
sudo pacman -S archlinux-keyring

# 2. 再更新系统
sudo pacman -Syu
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;5.3 文件冲突 (Exists in filesystem)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;场景&lt;/strong&gt;: 提示 &lt;code&gt;/usr/bin/test exists in filesystem&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;原因&lt;/strong&gt;: 这个文件是你手动复制进去的，不属于 pacman 数据库，pacman 不敢覆盖。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;解决&lt;/strong&gt;:&lt;pre&gt;&lt;code&gt;# 强制覆盖该文件
sudo pacman -Syu --overwrite /usr/bin/test

# 或者强制覆盖所有冲突 (慎用)
sudo pacman -Syu --overwrite &quot;*&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2&gt;⚙️ 6. 性能优化 (pacman.conf)&lt;/h2&gt;
&lt;p&gt;建议编辑 &lt;code&gt;/etc/pacman.conf&lt;/code&gt; 开启以下现代功能。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# sudo vim /etc/pacman.conf

[options]
# 🌈 开启彩色输出
Color

# 🍬 开启吃豆人进度条彩蛋
ILoveCandy

# 🚀 开启并行下载 (核心优化！)
# 默认是单线程，改成 5 后下载速度快 5 倍
ParallelDownloads = 5

# 🚫 忽略升级 (锁版本)
# 如果你不想更新内核或显卡驱动，填在这里
IgnorePkg = linux linux-headers
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2&gt;🆚 附录：Pacman vs Yay (AUR助手)&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;动作&lt;/th&gt;
&lt;th&gt;官方命令 (Pacman)&lt;/th&gt;
&lt;th&gt;AUR 助手 (Yay)&lt;/th&gt;
&lt;th&gt;区别&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;系统更新&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;sudo pacman -Syu&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;yay&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Yay 会同时检查 AUR 更新&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;安装软件&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;sudo pacman -S name&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;yay -S name&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Yay 能装 AUR 里的软件&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;搜索&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;pacman -Ss name&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;yay -Ss name&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Yay 同时搜官方库+AUR&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;清理孤儿&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;sudo pacman -Rns $(...)&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;yay -Yc&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Yay 命令更短&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;打印统计&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;无&lt;/td&gt;
&lt;td&gt;&lt;code&gt;yay -Ps&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;查看安装数量和占用空间&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr /&gt;
&lt;h2&gt;📝 极简速查表 (Cheat Sheet)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;更新系统&lt;/strong&gt;: &lt;code&gt;yay&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;装软件&lt;/strong&gt;: &lt;code&gt;sudo pacman -S xxx&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;删软件&lt;/strong&gt;: &lt;code&gt;sudo pacman -Rns xxx&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;清理垃圾&lt;/strong&gt;: &lt;code&gt;sudo pacman -Sc&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;这文件是谁的?&lt;/strong&gt;: &lt;code&gt;pacman -Qo 文件路径&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded></item><item><title>Firewalld 配置指南</title><link>https://blog.luxrime.top/posts/test-deploy/</link><guid isPermaLink="true">https://blog.luxrime.top/posts/test-deploy/</guid><description>🔥 Firewalld 权威参考手册 (Arch Linux 版)

| 属性 | 说明 |
| :...</description><pubDate>Thu, 15 Jan 2026 01:02:47 GMT</pubDate><content:encoded>&lt;h1&gt;🔥 Firewalld 权威参考手册 (Arch Linux 版)&lt;/h1&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;属性&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;适用系统&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Arch Linux, CentOS, Fedora, RHEL, openSUSE&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;底层后端&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;nftables (新版) / iptables (旧版)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;核心工具&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;firewall-cmd&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;配置文件路径&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/etc/firewalld/&lt;/code&gt; (用户配置), &lt;code&gt;/usr/lib/firewalld/&lt;/code&gt; (默认配置)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;文档版本&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;v2.0 (终极详细版)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr /&gt;
&lt;h2&gt;📖 1. 核心设计哲学 (必读)&lt;/h2&gt;
&lt;p&gt;在操作之前，必须理解 Firewalld 的两个核心概念，否则你的配置可能会重启失效，或者逻辑混乱。&lt;/p&gt;
&lt;h3&gt;1.1 运行时 (Runtime) vs 永久 (Permanent)&lt;/h3&gt;
&lt;p&gt;Firewalld 的配置分两层：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Runtime (内存中)&lt;/strong&gt;: 修改立刻生效，但&lt;strong&gt;重启后丢失&lt;/strong&gt;。用于测试规则。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Permanent (硬盘中)&lt;/strong&gt;: 修改写入配置文件，&lt;strong&gt;重载 (Reload) 后才生效&lt;/strong&gt;。用于持久化。&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;💡 最佳实践&lt;/strong&gt;: 永远使用 &lt;code&gt;--permanent&lt;/code&gt; 参数，然后立即运行 &lt;code&gt;--reload&lt;/code&gt;。除非你只是想临时测试一下怕把自己锁在外面。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;1.2 区域 (Zones)&lt;/h3&gt;
&lt;p&gt;Firewalld 将网络划分为不同的“信任等级”。网卡 (Interface) 必须绑定在某个区域里。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;区域 (Zone)&lt;/th&gt;
&lt;th&gt;信任度&lt;/th&gt;
&lt;th&gt;默认行为&lt;/th&gt;
&lt;th&gt;典型应用场景&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;drop&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;0% (黑洞)&lt;/td&gt;
&lt;td&gt;丢弃所有入站包，&lt;strong&gt;不给任何回应&lt;/strong&gt;。&lt;/td&gt;
&lt;td&gt;遭受攻击时 / 极高安全环境。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;block&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;10% (拒绝)&lt;/td&gt;
&lt;td&gt;拒绝所有入站包，但会回复 &lt;code&gt;icmp-prohibited&lt;/code&gt; (告诉对方被拒了)。&lt;/td&gt;
&lt;td&gt;调试网络连通性时。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;public&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;30% (默认)&lt;/td&gt;
&lt;td&gt;仅允许显式放行的端口 (如 ssh, dhcpv6-client)。&lt;/td&gt;
&lt;td&gt;公共 Wi-Fi / 默认对外网卡。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;external&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;40%&lt;/td&gt;
&lt;td&gt;类似 public，但默认开启 &lt;strong&gt;IP 伪装 (Masquerade)&lt;/strong&gt;。&lt;/td&gt;
&lt;td&gt;路由器 WAN 口 / 软路由出口。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;home&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;70%&lt;/td&gt;
&lt;td&gt;信任大多设备，开放 mdns, ssh, samba。&lt;/td&gt;
&lt;td&gt;家庭局域网。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;work&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;60%&lt;/td&gt;
&lt;td&gt;类似 home，但限制更严。&lt;/td&gt;
&lt;td&gt;公司内网。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;trusted&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;100%&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;允许所有流量&lt;/strong&gt; (无防火墙限制)。&lt;/td&gt;
&lt;td&gt;VPN 虚拟网卡 (tun0) / 容器内部通信。&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr /&gt;
&lt;h2&gt;🛠 2. 服务生命周期管理&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;# 启动防火墙
sudo systemctl start firewalld

# 设置开机自启
sudo systemctl enable firewalld

# 停止防火墙 (调试连通性第一步)
sudo systemctl stop firewalld

# 彻底禁用 (防止开机自启)
sudo systemctl disable firewalld

# 检查运行状态 (Running / Not running)
sudo firewall-cmd --state

# 重新加载配置 (修改 Permanent 后必须执行！)
sudo firewall-cmd --reload
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;🔍 3. 信息查看与审计 (Information)&lt;/h2&gt;
&lt;p&gt;在修改之前，先学会怎么“看”。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 1. 查看默认区域的所有规则 (最常用)
sudo firewall-cmd --list-all

# 2. 查看所有区域的详细规则 (信息量极大)
sudo firewall-cmd --list-all-zones

# 3. 查看当前活跃的区域 (查看网卡绑定在哪)
sudo firewall-cmd --get-active-zones
# 输出示例:
# public
#   interfaces: wlan0 eth0
# trusted
#   interfaces: tun0

# 4. 查看系统预定义了哪些服务 (如 ssh, http, docker-registry 等)
sudo firewall-cmd --get-services
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;⚙️ 4. 端口与服务管理 (常规操作)&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;场景&lt;/strong&gt;: 开放 Web 服务、远程桌面、文件共享。 &lt;em&gt;(注: 以下命令默认省略 &lt;code&gt;sudo&lt;/code&gt;，实际使用请加上)&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;4.1 基于服务的管理 (推荐)&lt;/h3&gt;
&lt;p&gt;不需要记端口号，直接用服务名。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 永久允许 HTTP (80)
firewall-cmd --permanent --add-service=http

# 永久允许 HTTPS (443)
firewall-cmd --permanent --add-service=https

# 永久允许 Samba 文件共享
firewall-cmd --permanent --add-service=samba

# 永久允许 KDE Connect (手机传文件)
firewall-cmd --permanent --add-service=kdeconnect

# 移除服务 (关闭)
firewall-cmd --permanent --remove-service=http
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;4.2 基于端口的管理 (更灵活)&lt;/h3&gt;
&lt;p&gt;当服务名不存在，或者使用了非标端口时使用。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 开放 TCP 8080 端口
firewall-cmd --permanent --add-port=8080/tcp

# 开放 UDP 53 端口 (DNS)
firewall-cmd --permanent --add-port=53/udp

# 开放一段端口范围 (如 VNC Server)
firewall-cmd --permanent --add-port=5900-5910/tcp

# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;🛡 5. 富规则 (Rich Rules) —— 高级安全控制&lt;/h2&gt;
&lt;p&gt;这是 Firewalld 最强大的地方。可以实现：&lt;strong&gt;“只允许张三的 IP 访问我的 SSH，其他人滚蛋”。&lt;/strong&gt;
语法格式: &lt;code&gt;rule family=&quot;ipv4&quot; source address=&quot;源IP&quot; ... action&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;场景 A: 限制 SSH 访问 (白名单)&lt;/h3&gt;
&lt;p&gt;只允许家里台式机 (192.168.1.50) 连接笔记本的 SSH。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 1. 添加富规则：允许 192.168.1.50 访问 SSH
firewall-cmd --permanent --add-rich-rule=&apos;rule family=&quot;ipv4&quot; source address=&quot;192.168.1.50&quot; service name=&quot;ssh&quot; accept&apos;

# 2. 移除通用的 SSH 服务 (关键！否则上面那条没意义，因为通用规则允许了所有人)
firewall-cmd --permanent --remove-service=ssh

# 3. 重载
firewall-cmd --reload
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;场景 B: 封禁恶意 IP (黑名单)&lt;/h3&gt;
&lt;p&gt;发现 IP &lt;code&gt;123.45.67.89&lt;/code&gt; 一直在扫描你的端口。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;firewall-cmd --permanent --add-rich-rule=&apos;rule family=&quot;ipv4&quot; source address=&quot;123.45.67.89&quot; drop&apos;
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;场景 C: 记录日志 (审计)&lt;/h3&gt;
&lt;p&gt;记录所有来自 &lt;code&gt;192.168.1.0/24&lt;/code&gt; 网段的 SSH 尝试，每分钟最多记录 3 次。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;firewall-cmd --permanent --add-rich-rule=&apos;rule family=&quot;ipv4&quot; source address=&quot;192.168.1.0/24&quot; service name=&quot;ssh&quot; log prefix=&quot;SSH_ATTEMPT: &quot; level=&quot;info&quot; limit value=&quot;3/m&quot; accept&apos;
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;🌐 6. 网卡与网络区域调整&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;场景&lt;/strong&gt;: 你插了一个 USB 网卡，或者新建了 Sing-box 的虚拟网卡，需要调整它们所属的区域。&lt;/p&gt;
&lt;h3&gt;6.1 将网卡移动到特定区域&lt;/h3&gt;
&lt;p&gt;比如把 Sing-box 的 &lt;code&gt;tun0&lt;/code&gt; 设为信任。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 语法: --zone=目标区域 --change-interface=网卡名
firewall-cmd --permanent --zone=trusted --change-interface=tun0
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;6.2 修改默认区域&lt;/h3&gt;
&lt;p&gt;新插入的网卡默认会进入 public 区域。如果你希望默认更安全或更宽松：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 将默认区域设为 home
firewall-cmd --set-default-zone=home
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2&gt;🔄 7. NAT 与 端口转发 (软路由/容器必备)&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;场景&lt;/strong&gt;: Docker 容器上不了网，或者想把外网的 80 端口转发到内部虚拟机的 8080。&lt;/p&gt;
&lt;h3&gt;7.1 开启 IP 伪装 (Masquerade)&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;这是 Docker/WSL/虚拟机 能够通过宿主机上网的前提。&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 检查是否开启
firewall-cmd --zone=public --query-masquerade

# 开启 (针对 public 区域)
firewall-cmd --permanent --zone=public --add-masquerade
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;7.2 端口转发 (Port Forwarding)&lt;/h3&gt;
&lt;p&gt;将访问本机 &lt;code&gt;80&lt;/code&gt; 端口的流量，转发到 &lt;code&gt;8080&lt;/code&gt; 端口。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 语法: --add-forward-port=port=源端口:proto=协议:toport=目标端口
firewall-cmd --permanent --zone=public --add-forward-port=port=80:proto=tcp:toport=8080
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;🚨 8. 紧急救灾模式 (Panic Mode)&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;场景&lt;/strong&gt;: 你发现服务器被黑客入侵了，正在疯狂传数据，你想立刻切断一切连接（物理拔网线的软件版）。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 开启恐慌模式 (切断所有网络连接，SSH 也会断！)
sudo firewall-cmd --panic-on

# 关闭恐慌模式 (恢复正常)
sudo firewall-cmd --panic-off

# 查询是否处于恐慌模式
sudo firewall-cmd --query-panic
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;💡 9. 调试技巧：为什么我的规则不生效？&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;有没有 Reload？&lt;/strong&gt; 修改 &lt;code&gt;--permanent&lt;/code&gt; 后必须 &lt;code&gt;firewall-cmd --reload&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;网卡在哪个区域？&lt;/strong&gt; 用 &lt;code&gt;firewall-cmd --get-active-zones&lt;/code&gt; 确认你的流量是从哪个网卡进来的，以及那个网卡属于哪个 Zone。如果在 &lt;code&gt;public&lt;/code&gt; 区加了规则，但网卡在 &lt;code&gt;home&lt;/code&gt; 区，规则是不会生效的。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;冲突检查&lt;/strong&gt; Rich Rules 的优先级很高。如果你同时设置了 &lt;code&gt;drop&lt;/code&gt; 和 &lt;code&gt;accept&lt;/code&gt;，需要仔细检查逻辑顺序。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Docker 的干扰&lt;/strong&gt; Docker 会直接操作 iptables，有时会绕过 Firewalld。如果发现 Docker 端口关不掉，这是 Docker 的特性（需修改 Docker 启动参数）。&lt;/li&gt;
&lt;/ol&gt;
&lt;hr /&gt;
&lt;h2&gt;📝 附录： Sing-box 专属配置集&lt;/h2&gt;
&lt;p&gt;当前的 &lt;strong&gt;Arch Linux + Sing-box (TUN)&lt;/strong&gt; 环境，需要保持的配置：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 1. 允许 tun0 流量回流 (防止代理断网)
firewall-cmd --permanent --zone=trusted --add-interface=tun0

# 2. 开启伪装 (支持虚拟化网络)
firewall-cmd --permanent --zone=public --add-masquerade

# 3. 开放 KDE Connect (方便手机传文件)
firewall-cmd --permanent --zone=public --add-service=kdeconnect

# 4. 生效
firewall-cmd --reload
&lt;/code&gt;&lt;/pre&gt;
</content:encoded></item><item><title>GitHub 使用方法</title><link>https://blog.luxrime.top/posts/github%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95/</link><guid isPermaLink="true">https://blog.luxrime.top/posts/github%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95/</guid><description>GitHub 搜索语法完全指南（含实用示例）</description><pubDate>Tue, 18 Nov 2025 05:36:41 GMT</pubDate><content:encoded>&lt;h2&gt;GitHub 搜索语法完全指南（含实用示例）&lt;/h2&gt;
&lt;h2&gt;一、基础搜索语法&lt;/h2&gt;
&lt;h3&gt;1. 关键词搜索&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;python&lt;/code&gt;：搜索所有包含 &quot;python&quot; 的仓库/代码&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&quot;machine learning&quot;&lt;/code&gt;：精确匹配短语 &quot;machine learning&quot;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;docker -container&lt;/code&gt;：搜索包含 docker 但不含 container 的结果&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;2. 范围限定&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;in:name flask&lt;/code&gt;：只在仓库名称中搜索 &quot;flask&quot;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;in:description web framework&lt;/code&gt;：只在仓库描述中搜索&lt;/li&gt;
&lt;li&gt;&lt;code&gt;in:readme &quot;quick start&quot;&lt;/code&gt;：只在 README 文件中搜索&lt;/li&gt;
&lt;li&gt;&lt;code&gt;repo:vuejs/vue&lt;/code&gt;：仅在指定仓库中搜索&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2&gt;二、仓库搜索技巧&lt;/h2&gt;
&lt;h3&gt;1. 属性筛选&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;stars:&amp;gt;1000&lt;/code&gt;：星标超过 1000 的仓库&lt;/li&gt;
&lt;li&gt;&lt;code&gt;forks:&amp;gt;500&lt;/code&gt;：Fork 数超过 500 的仓库&lt;/li&gt;
&lt;li&gt;&lt;code&gt;size:&amp;gt;10000&lt;/code&gt;：大小超过 10MB 的仓库&lt;/li&gt;
&lt;li&gt;&lt;code&gt;license:mit&lt;/code&gt;：MIT 许可证的仓库&lt;/li&gt;
&lt;li&gt;&lt;code&gt;archived:false&lt;/code&gt;：未归档的活跃仓库&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;2. 时间范围筛选&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;pushed:&amp;gt;2024-01-01&lt;/code&gt;：2024 年后更新过的仓库&lt;/li&gt;
&lt;li&gt;&lt;code&gt;created:2023-01-01..2023-12-31&lt;/code&gt;：2023 年创建的仓库&lt;/li&gt;
&lt;li&gt;&lt;code&gt;updated:&amp;gt;2024-06-01&lt;/code&gt;：最近 30 天更新的仓库&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;3. 实用案例&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;查找 Python 高星项目&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;in:name python stars:&amp;gt;5000
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;查找近半年更新的 AI 项目&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;in:description AI pushed:&amp;gt;2024-01-01
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;查找 MIT 许可的 Web 框架&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;in:description &quot;web framework&quot; license:mit
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;查找大型 Java 项目&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;language:java size:&amp;gt;10000
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2&gt;三、代码搜索技巧&lt;/h2&gt;
&lt;h3&gt;1. 文件属性筛选&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;language:python&lt;/code&gt;：Python 代码&lt;/li&gt;
&lt;li&gt;&lt;code&gt;filename:main.py&lt;/code&gt;：文件名为 main.py&lt;/li&gt;
&lt;li&gt;&lt;code&gt;path:/src/&lt;/code&gt;：src 目录下的文件&lt;/li&gt;
&lt;li&gt;&lt;code&gt;extension:.js&lt;/code&gt;：JavaScript 文件&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;2. 代码内容搜索&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&quot;def calculate(&quot;&lt;/code&gt;：包含特定函数定义&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&quot;import React from &apos;react&apos;&quot;&lt;/code&gt;：包含精确导入语句&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NOT &quot;TODO&quot;&lt;/code&gt;：排除包含 TODO 的文件&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;3. 实用案例&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;查找 Flask 应用入口文件&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;language:python filename:app.py &quot;from flask import Flask&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;查找 React 的 useState 用法&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;language:javascript &quot;import { useState } from &apos;react&apos;&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;查找所有 Dockerfile&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;filename:Dockerfile
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;查找测试文件中的断言&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;path:/test/ &quot;assert.equal(&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;查找配置中的数据库连接&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;&quot;db.connect(&quot; extension:.env
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2&gt;四、用户/组织搜索&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;user:torvalds&lt;/code&gt;：特定用户&lt;/li&gt;
&lt;li&gt;&lt;code&gt;org:google&lt;/code&gt;：特定组织&lt;/li&gt;
&lt;li&gt;&lt;code&gt;followers:&amp;gt;1000&lt;/code&gt;：粉丝超过 1000&lt;/li&gt;
&lt;li&gt;&lt;code&gt;location:china&lt;/code&gt;：来自中国的用户&lt;/li&gt;
&lt;li&gt;&lt;code&gt;repos:&amp;gt;50&lt;/code&gt;：拥有 50+ 仓库&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;实用案例&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;查找中国的 Python 开发者&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;location:china language:python
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;查找顶级开发者&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;followers:&amp;gt;10000
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;查找 Google 的 AI 项目&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;org:google in:name AI
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;查找拥有大量 JS 仓库的开发者&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;language:javascript repos:&amp;gt;30
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2&gt;五、高级组合搜索&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;近 1 年更新的 Python 机器学习库，星标 &amp;gt;1k&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;in:description &quot;machine learning&quot; language:python stars:&amp;gt;1000 pushed:&amp;gt;2023-01-01
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;查找 JavaScript 的 TODO 注释（排除 React 项目）&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;language:javascript &quot;TODO&quot; -react
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;查找 Go 语言 CLI 工具&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;in:description &quot;command line&quot; language:go
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;查找最近一周更新的 TypeScript 工具库&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;language:typescript in:description &quot;utility library&quot; pushed:&amp;gt;2024-06-24
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;查找需要帮助的项目&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;in:readme &quot;help wanted&quot; OR &quot;good first issue&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2&gt;六、常见场景解决方案&lt;/h2&gt;
&lt;h3&gt;1. 学习资源查找&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;带教程的 Python 项目&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;in:readme tutorial language:python
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;算法实现集合&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;in:name algorithms OR &quot;data structures&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;机器学习示例项目&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;in:path examples &quot;machine learning&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;2. 项目研究&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;新框架（近 3 个月创建）&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;in:name framework created:&amp;gt;2024-04-01
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;活跃区块链项目&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;in:description blockchain stars:&amp;gt;100 pushed:&amp;gt;2024-05-01
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;3. 贡献机会&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;需要帮助的项目&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;in:readme &quot;help wanted&quot; OR &quot;good first issue&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;缺少文档的项目&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;in:description &quot;documentation&quot; NOT filename:README.md
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;4. 代码片段定位&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Python 错误处理示例&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;language:python &quot;try:&quot; &quot;except&quot; path:/examples/
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;React 组件使用&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;filename:*.jsx &quot;import Button from&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2&gt;七、语法速查表&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;类别&lt;/th&gt;
&lt;th&gt;语法&lt;/th&gt;
&lt;th&gt;示例&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;仓库&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;in:name&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;in:name flask&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;描述&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;in:description&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;in:description API&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;代码&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;language:&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;language:typescript&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;文件&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;filename:&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;filename:package.json&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;星标&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;stars:N&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;stars:&amp;gt;1000&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Fork&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;forks:N&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;forks:&amp;gt;500&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;时间&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;pushed:YYYY-MM-DD&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;pushed:&amp;gt;2024-01-01&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;大小&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;size:N&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;size:&amp;gt;5000&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;排除&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;-&lt;/code&gt; 或 &lt;code&gt;NOT&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;python -django&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr /&gt;
&lt;h2&gt;八、专业提示&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;保存搜索&lt;/strong&gt;：登录 GitHub 后可以保存常用搜索条件。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;排序结果&lt;/strong&gt;：使用 &lt;code&gt;sort:stars&lt;/code&gt; 或 &lt;code&gt;sort:updated&lt;/code&gt; 排序。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;趋势发现&lt;/strong&gt;：&lt;code&gt;pushed:&amp;gt;YYYY-MM-DD&lt;/code&gt; + &lt;code&gt;stars:&amp;gt;100&lt;/code&gt; 找新兴项目。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;组合技巧&lt;/strong&gt;：最多可组合 5 个条件进行精准搜索。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;高级界面&lt;/strong&gt;：使用 &lt;a href=&quot;https://github.com/search/advanced&quot;&gt;GitHub 高级搜索&lt;/a&gt; 可视化构建查询。&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item><item><title>Linux中文件系统各个目录的作用</title><link>https://blog.luxrime.top/posts/my-first-post/</link><guid isPermaLink="true">https://blog.luxrime.top/posts/my-first-post/</guid><description>详细解释 Linux 文件系统中 /boot, /etc, /bin, /usr, /var 等核心目录的用途和区别。</description><pubDate>Wed, 12 Nov 2025 00:00:00 GMT</pubDate><content:encoded>&lt;h2&gt;核心目录结构&lt;/h2&gt;
&lt;h3&gt;/ (根目录)&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;包含了几乎所有的文件目录。相当于中央系统。&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;/boot (引导程序、内核等存放的目录)&lt;/h3&gt;
&lt;p&gt;这个目录包括了在引导过程中所必需的文件。在最开始的启动阶段，通过引导程序将内核加载到内存，完成内核的启动（这个时候，虚拟文件系统还不存在，加载的内核虽然是从硬盘读取的，但是没经过 Linux 的虚拟文件系统，这是比较底层的东西来实现的）。&lt;/p&gt;
&lt;p&gt;然后内核自己创建好虚拟文件系统，并且从虚拟文件系统的其他子目录中（例如 &lt;code&gt;/sbin&lt;/code&gt; 和 &lt;code&gt;/etc&lt;/code&gt;）加载需要在开机启动的其他程序或者服务或者特定的动作（部分可以由用户自己在相应的目录中修改相应的文件来配制）。&lt;/p&gt;
&lt;p&gt;如果我们的机器中包含多个操作系统，那么可以通过修改这个目录中的某个配置文件（例如 &lt;code&gt;grub.conf&lt;/code&gt;）来调整启动的默认操作系统、系统启动的选择菜单，以及启动延迟等参数。&lt;/p&gt;
&lt;h3&gt;/sbin (超级用户可以使用的命令的存放目录)&lt;/h3&gt;
&lt;p&gt;存放大多涉及系统管理的命令（例如引导系统的 &lt;code&gt;init&lt;/code&gt; 程序），是超级权限用户 &lt;code&gt;root&lt;/code&gt; 的可执行命令存放地，普通用户无权限执行这个目录下的命令（但是有时普通用户也可能会用到）。&lt;/p&gt;
&lt;p&gt;我们要记住，凡是目录 &lt;code&gt;sbin&lt;/code&gt; 中包含的都是 &lt;code&gt;root&lt;/code&gt; 权限才能执行的。&lt;/p&gt;
&lt;h3&gt;/bin (普通用户可以使用的命令的存放目录)&lt;/h3&gt;
&lt;p&gt;系统所需要的那些命令位于此目录，比如 &lt;code&gt;ls&lt;/code&gt;、&lt;code&gt;cp&lt;/code&gt;、&lt;code&gt;mkdir&lt;/code&gt; 等命令；类似的目录还 &lt;code&gt;/usr/bin&lt;/code&gt;，&lt;code&gt;/usr/local/bin&lt;/code&gt; 等等。这个目录中的文件都是可执行的、普通用户都可以使用的命令。作为基础系统所需要的最基础的命令就是放在这里。&lt;/p&gt;
&lt;h3&gt;/lib (根目录下的所有程序的共享库目录)&lt;/h3&gt;
&lt;p&gt;此目录下包含系统引导和在根用户执行命令时候所必需用到的共享库。做个不太好但是比较形象的比喻，有点类似于 Windows 上面的 &lt;code&gt;system32&lt;/code&gt; 目录。&lt;/p&gt;
&lt;p&gt;理论上，这里存放的文件应该是 &lt;code&gt;/bin&lt;/code&gt; 目录下程序所需要的库文件的存放地，也不排除一些例外的情况。类似的目录还 &lt;code&gt;/usr/lib&lt;/code&gt;，&lt;code&gt;/usr/local/lib&lt;/code&gt; 等等。&lt;/p&gt;
&lt;h3&gt;/dev (设备文件目录)&lt;/h3&gt;
&lt;p&gt;在 Linux 中设备都是以文件形式出现，这里的设备可以是硬盘，键盘，鼠标，网卡，终端等设备，通过访问这些文件可以访问到相应的设备。&lt;/p&gt;
&lt;p&gt;设备文件可以使用 &lt;code&gt;mknod&lt;/code&gt; 命令来创建；而为了将对这些设备文件的访问转化为对设备的访问，需要向相应的设备提供设备驱动模块（一般将设备驱动编译之后，生成的结果是一个 &lt;code&gt;*.ko&lt;/code&gt; 类型的二进制文件，在内核启动之后，再通过 &lt;code&gt;insmod&lt;/code&gt; 等命令加载相应的设备驱动之后，我们就可以通过设备文件来访问设备了）。&lt;/p&gt;
&lt;p&gt;一般来说，想要 Linux 系统支持某个设备，需要相应的硬件设备、支持硬件的驱动模块，以及相应的设备文件。&lt;/p&gt;
&lt;h3&gt;/home (普通用户的家目录)&lt;/h3&gt;
&lt;p&gt;在 Linux 机器上，用户主目录通常直接或间接地置在此目录下。其结构通常由本地机的管理员来决定。&lt;/p&gt;
&lt;p&gt;通常而言，系统的每个用户都有自己的家目录，目录以用户名作为名字存放在 &lt;code&gt;/home&lt;/code&gt; 下面（例如 &lt;code&gt;josonlee&lt;/code&gt; 用户，其家目录的名字为 &lt;code&gt;/home/josonlee&lt;/code&gt;）。该目录中保存了绝大多数的用户文件 (用户自己的配置文件、定制文件、文档、数据等)。&lt;/p&gt;
&lt;h3&gt;/root (用户 root 的 $HOME 目录)&lt;/h3&gt;
&lt;p&gt;系统管理员 (就是 &lt;code&gt;root&lt;/code&gt; 用户或超级用户) 的主目录比较特殊，不存放在 &lt;code&gt;/home&lt;/code&gt; 中，而是直接放在 &lt;code&gt;/root&lt;/code&gt; 目录下了。&lt;/p&gt;
&lt;h3&gt;/etc (全局的配置文件存放目录)&lt;/h3&gt;
&lt;p&gt;系统和程序一般都可以通过修改相应的配置文件，来进行配置。例如，要配置系统开机的时候启动那些程序，配置某个程序启动的时候显示什么样的风格等等。通常这些配置文件都集中存放在 &lt;code&gt;/etc&lt;/code&gt; 目录中，所以想要配置什么东西的话，可以在 &lt;code&gt;/etc&lt;/code&gt; 下面寻找我们可能需要修改的文件。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;一些重要的 &lt;code&gt;/etc&lt;/code&gt; 子文件或目录：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;/etc/rc&lt;/code&gt; 或 &lt;code&gt;/etc/rc.d&lt;/code&gt; 或 &lt;code&gt;/etc/rc?.d&lt;/code&gt;: 启动、或改变运行级时运行的脚本或脚本的目录。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/etc/passwd&lt;/code&gt;: 用户数据库，其中的域给出了用户名、真实姓名、用户起始目录、加密口令和用户的其他信息。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/etc/fdprm&lt;/code&gt;: 软盘参数表，用以说明不同的软盘格式。可用 &lt;code&gt;setfdprm&lt;/code&gt; 进行设置。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/etc/fstab&lt;/code&gt;: 指定启动时需要自动安装的文件系统列表。也包括用 &lt;code&gt;swapon -a&lt;/code&gt; 启用的 swap 区的信息。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/etc/group&lt;/code&gt;: 类似 &lt;code&gt;/etc/passwd&lt;/code&gt; ，但说明的不是用户信息而是组的信息。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/etc/inittab&lt;/code&gt;: &lt;code&gt;init&lt;/code&gt; 的配置文件。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/etc/issue&lt;/code&gt;: 包括用户在登录提示符前的输出信息。通常包括系统的一段短说明或欢迎信息。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/etc/magic&lt;/code&gt;: &lt;code&gt;file&lt;/code&gt; 命令的配置文件。包含不同文件格式的说明，&lt;code&gt;file&lt;/code&gt; 基于它猜测文件类型。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/etc/motd&lt;/code&gt;: (message of the day) 用户成功登录后自动输出。常用于通告信息，如计划关机时间的警告等。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/etc/mtab&lt;/code&gt;: 当前安装的文件系统列表。由脚本(script)初始化，并由 &lt;code&gt;mount&lt;/code&gt; 命令自动更新。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/etc/shadow&lt;/code&gt;: 在安装了影子(shadow)口令软件的系统上的影子口令文件，只对 &lt;code&gt;root&lt;/code&gt; 可读，增加了系统的安全性。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/etc/login.defs&lt;/code&gt;: &lt;code&gt;login&lt;/code&gt; 命令的配置文件。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/etc/printcap&lt;/code&gt;: 类似 &lt;code&gt;/etc/termcap&lt;/code&gt; ，但针对打印机。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/etc/profile&lt;/code&gt;, &lt;code&gt;/etc/csh.login&lt;/code&gt;, &lt;code&gt;/etc/csh.cshrc&lt;/code&gt;: 登录或启动时 bourne 或 c shells 执行的文件。允许系统管理员为所有用户建立全局缺省环境。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/etc/securetty&lt;/code&gt;: 确认安全终端，即哪个终端允许超级用户(root)登录。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/etc/shells&lt;/code&gt;: 列出可以使用的 shell。&lt;code&gt;chsh&lt;/code&gt; 命令允许用户在本文件指定范围内改变登录的 shell。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/etc/termcap&lt;/code&gt;: 终端性能数据库。说明不同的终端用什么“转义序列”控制。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;/usr (包含了命令、库文件和在通常操作中不会修改的文件)&lt;/h3&gt;
&lt;p&gt;这个目录对于系统来说也是一个非常重要的目录，其地位类似 Windows 上面的 &lt;code&gt;Program Files&lt;/code&gt; 目录（安装程序的时候，默认就是安装在此文件内部某个子文件夹内）。&lt;/p&gt;
&lt;p&gt;输入命令后系统默认执行 &lt;code&gt;/usr/bin&lt;/code&gt; 下的程序（当然，前提是这个目录的路径已经被添加到了系统的环境变量中）。此目录通常也会挂载一个独立的磁盘分区，它应保存共享只读类文件，这样它可以被运行 Linux 的不同主机挂载。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;/usr/lib&lt;/strong&gt;: 目标库文件，包括动态连接库加上一些通常不是直接调用的可执行文件的存放位置。功能类似 &lt;code&gt;/lib&lt;/code&gt; 目录。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;/usr/bin&lt;/strong&gt;: 一般使用者使用并且不是系统自检等所必需可执行文件的目录。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;/usr/sbin&lt;/strong&gt;: 管理员使用的非系统必须的可执行文件存放目录。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;/usr/share&lt;/strong&gt;: 存放共享文件的目录。保存了同一个操作系统在不同构架下工作时特定应用程序的共享数据(例如程序文档信息)。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;/usr/include&lt;/strong&gt;: C 程序语言编译使用的头文件。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;/usr/local&lt;/strong&gt;: 安装本地程序的一般默认路径。当我们下载一个程序源代码，编译并且安装的时候，如果不特别指定安装的程序路径，那么默认会将程序相关的文件安装到这个目录的对应目录下。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;/proc (特殊文件目录)&lt;/h3&gt;
&lt;p&gt;这个目录采用一种特殊的 &lt;code&gt;proc&lt;/code&gt; 文件系统格式。其中包含了全部虚拟文件。它们并不保存在磁盘中，也不占据磁盘空间。当您查看它们时，您实际上看到的是内存里的信息，这些文件助于我们了解系统内部信息。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;例如：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;/proc/1&lt;/code&gt;: 关于进程 1 的信息目录。每个进程在 &lt;code&gt;/proc&lt;/code&gt; 下一个名为其进程号的目录。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/proc/cpuinfo&lt;/code&gt;: 处理器信息，如类型、制造商、型号和性能。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/proc/devices&lt;/code&gt;: 当前运行的核心配置的设备驱动的列表。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/proc/dma&lt;/code&gt;: 显示当前使用的 DMA 通道。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/proc/filesystems&lt;/code&gt;: 核心配置的文件系统。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/proc/interrupts&lt;/code&gt;: 显示使用的中断。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/proc/ioports&lt;/code&gt;: 当前使用的 I/O 端口。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/proc/kcore&lt;/code&gt;: 系统物理内存映象。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/proc/kmsg&lt;/code&gt;: 核心输出的消息。也被送到 &lt;code&gt;syslog&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/proc/ksyms&lt;/code&gt;: 核心符号表。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/proc/loadavg&lt;/code&gt;: 系统”平均负载”。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/proc/meminfo&lt;/code&gt;: 存储器使用信息，包括物理内存和 swap。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/proc/modules&lt;/code&gt;: 当前加载了哪些核心模块。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/proc/net&lt;/code&gt;: 网络协议状态信息。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/proc/self&lt;/code&gt;: 到查看 &lt;code&gt;/proc&lt;/code&gt; 的程序的进程目录的符号连接。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/proc/stat&lt;/code&gt;: 系统的不同状态。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/proc/uptime&lt;/code&gt;: 系统启动的时间长度。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/proc/version&lt;/code&gt;: 核心版本。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;/opt (可选的文件目录)&lt;/h3&gt;
&lt;p&gt;这个目录表示的是可选的意思，一些自定义软件包或者第三方工具，就可以安装在这里。&lt;/p&gt;
&lt;h3&gt;/mnt (临时挂载目录)&lt;/h3&gt;
&lt;p&gt;这个目录一般是用于存放挂载储存设备的挂载目录的，比如磁盘，光驱，网络文件系统等。当我们需要挂载某个磁盘设备的时候，可以把磁盘设备挂载到这个目录上去，这样我们可以直接通过访问这个目录来访问那个磁盘了。&lt;/p&gt;
&lt;h3&gt;/media (挂载的媒体设备目录)&lt;/h3&gt;
&lt;p&gt;挂载的媒体设备目录，一般外部设备挂载到这里，例如 &lt;code&gt;cdrom&lt;/code&gt; 等。比如我们插入一个 U 盘，我们一般会发现，Linux 自动在这个目录下建立一个 &lt;code&gt;disk&lt;/code&gt; 目录，然后把 U 盘挂载到这个 &lt;code&gt;disk&lt;/code&gt; 目录上，通过访问这个 &lt;code&gt;disk&lt;/code&gt; 来访问 U 盘。&lt;/p&gt;
&lt;h3&gt;/var (内容经常变化的目录)&lt;/h3&gt;
&lt;p&gt;此目录下文件的大小可能会改变，如缓冲文件、日志文件 (&lt;code&gt;/var/log&lt;/code&gt;)、缓存文件等一般都存放在这里。&lt;/p&gt;
&lt;h3&gt;/tmp (临时文件目录)&lt;/h3&gt;
&lt;p&gt;该目录存放系统中的一些临时文件，文件可能会被系统自动清空。&lt;/p&gt;
&lt;h3&gt;/lost+found (恢复文件存放的位置)&lt;/h3&gt;
&lt;p&gt;当系统崩溃的时候，在系统修复过程中需要恢复的文件，可能就会在这里被找到了，这个目录一般为空。&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;容易混淆的目录&lt;/h2&gt;
&lt;h4&gt;/bin, /sbin 与 /usr/bin, /usr/sbin&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;/bin&lt;/code&gt; 一般存放对于用户和系统来说“&lt;strong&gt;必须&lt;/strong&gt;”的程序（二进制文件）。
&lt;code&gt;/sbin&lt;/code&gt; 一般存放用于系统管理的“&lt;strong&gt;必需&lt;/strong&gt;”的程序（二进制文件）。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;/usr/bin&lt;/code&gt; 一般存放的只是对用户和系统来说“&lt;strong&gt;不是必需的&lt;/strong&gt;”程序（二进制文件）。
&lt;code&gt;/usr/sbin&lt;/code&gt; 一般存放用于系统管理的“&lt;strong&gt;不是必需的&lt;/strong&gt;”程序（二进制文件）。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4&gt;/lib 与 /usr/lib&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;/lib&lt;/code&gt; 一般存放对于用户和系统来说“&lt;strong&gt;必须&lt;/strong&gt;”的库（二进制文件）。
&lt;code&gt;/usr/lib&lt;/code&gt; 一般存放的只是对用户和系统来说“&lt;strong&gt;不是必需的&lt;/strong&gt;”库（二进制文件）。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;h2&gt;应用数据存放在哪？&lt;/h2&gt;
&lt;p&gt;(此部分以 deepin 系统为例)&lt;/p&gt;
&lt;p&gt;deepin 系统中应用的数据主要存放在 &lt;code&gt;~/.config/&lt;/code&gt; 路径下，开发者可以将应用的配置文件、缓存文件以及其它数据文件存放在该路径下。常见的路径格式为 &lt;code&gt;~/.config/&amp;lt;开发者名称或公司名称&amp;gt;/&amp;lt;应用名称&amp;gt;/&lt;/code&gt; 或 &lt;code&gt;~/.config/&amp;lt;应用名称&amp;gt;/&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;桌面实际上也是一个文件夹，将一个可执行文件的发送到桌面的过程实际上是创建这个可执行文件的 &lt;code&gt;.desktop&lt;/code&gt; 文件并将这个 &lt;code&gt;.desktop&lt;/code&gt; 文件移动至 &lt;code&gt;~/Desktop&lt;/code&gt; 路径下的。&lt;/p&gt;
</content:encoded></item></channel></rss>