返回首页

Linux FS:导航、搜索、开发人员文件

文章分解 Linux 文件系统结构、导航命令 (ls、cd、pwd)、搜索 (find、locate)、文件管理 (cp、mv、rm、mkdir、touch、ln)。开发者示例:从 /etc 到 hard/sym 链接。只实践无理论。

大师课:Linux 文件、搜索和 FS 结构
Advertisement 728x90

Linux 基础:文件系统结构、导航与文件管理

根目录 / 位于整个层级结构的顶端,所有其他分区都挂载于此。关键目录各司其职:/etc 用于配置,/var 用于动态数据,/proc/sys 则是内核的虚拟接口。

/
├── etc        # 系统和应用配置
├── var        # 可变数据:日志、缓存、队列
├── proc       # 内核和进程状态
├── sys        # 设备和驱动
├── tmp        # 临时文件
├── home       # 用户主目录
├── root       # root 用户主目录
├── dev        # 设备文件
├── usr        # 程序和库文件
├── bin        # 基本工具(指向 /usr/bin 的符号链接)
├── sbin       # 管理命令(指向 /usr/sbin 的符号链接)
├── opt        # 第三方软件
├── run        # 运行时进程数据
├── mnt        # 手动挂载点
└── boot       # 引导加载器和内核文件

/etc:集中配置中心

存放服务、网络设置和用户相关的配置文件。关键文件包括 /etc/passwd(用户账户)、/etc/fstab(挂载点)、/etc/hosts(本地主机名解析)和 /etc/ssh/sshd_config(SSH 配置)。

/var:动态数据区

存储变化中的文件,如 /var/log 中的日志、/var/mail 中的邮件、/var/spool 中的打印队列,以及 /var/www 中的 Web 服务器内容。排查问题时,这是你的首选之地。

Google AdInline article slot

虚拟文件系统:/proc 和 /sys

/proc 提供进程和内核的实时数据:/proc/cpuinfo 显示 CPU 详情,/proc/meminfo 显示内存统计,/proc/1/ 显示 init 进程。/sys 则为设备提供接口,可实时调整驱动和硬件参数。

用户目录与设备

/home/username 存放个人文件和配置(如 .config.ssh)。/root 是 root 用户的独立目录。/dev 表示硬件:/dev/sda 为磁盘,/dev/null 用于丢弃输出,/dev/random 用于生成熵。

导航命令:ls、cd、pwd

ls 用于列出目录内容,支持各种标志获取更多细节。

Google AdInline article slot
  • ls -l:权限、所有者、大小、日期。
  • ls -a:显示隐藏文件。
  • ls -lh:人性化大小显示(KB/MB/GB)。
  • ls -lt:按时间排序。
  • ls -R:递归列出。

cd 用于切换目录:

  • cd /etc:绝对路径。
  • cd ..:上级目录。
  • cd ~:主目录。
  • cd -:返回上一个目录。

pwd 显示当前路径:pwd -P 解析符号链接。

查找文件:find 和 locate

find 根据条件递归搜索。

Google AdInline article slot

示例:

  • find . -name "*.log":查找日志文件。
  • find /var -type f:仅文件。
  • find / -size +100M:大于 100MB 的文件。
  • find /var/log -mtime -1:过去一天修改的日志。
  • find /tmp -name "*.tmp" -delete:清理临时文件。

locate 使用数据库,速度更快:

  • locate passwd
  • sudo updatedb 更新索引。

在 Ubuntu 22.04+ 上,使用 plocate 性能更佳。

tree 可视化目录结构:tree -L 2 -a -I "node_modules"

文件管理:cp、mv、rm

cp 用于复制:

  • cp file.txt /tmp/
  • cp -r dir1/ /backup/
  • cp -p 保留元数据。
  • cp -u 仅更新较新文件。

mv 用于移动或重命名:mv old.txt new.txtmv *.log /archive/

rm 直接删除,无回收站:

  • rm -r dir/
  • rm -rf /极其危险,绝不要运行
  • rm -i 提示确认。

创建与链接:mkdir、touch、ln

mkdir -p /path/to/dir 创建嵌套目录。

touch file.txt 创建空文件或更新时间戳:touch -t 202501011200 file.txt

ln 创建链接:

  • ln file.txt hardlink.txt — 硬链接(共享 inode)。
  • ln -s file.txt symlink.txt — 符号链接(指向路径)。

硬链接无法跨文件系统;符号链接灵活,但原文件删除后会失效。

关键要点:

  • /proc/sys 存于内存,不占磁盘——纯内核运行时数据。
  • find 功能强大;locate 需维护索引以确保速度。
  • rm -rf 需谨慎——无回收站保护。
  • mkdir -pcd - 是脚本编写必备。
  • 硬链接 vs 符号链接:根据需求选择(共享数据 vs 路径引用)。

— Editorial Team

Advertisement 728x90

继续阅读