尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

4-Linux-文件-操作命令|目录结构-day12

4-Linux-文件-操作命令|目录结构-day12
📅 发布时间:2026/7/29 11:48:57

目录导航

  • 网站分享
  • 命令
    • 一、文件目录移动和创建/删除
    • 二、文件查找和处理
    • 💡 高频组合技巧
  • 通用目录结构(FHS 标准)
    • 一级目录全景
    • 核心目录详解
    • /usr 子目录:系统的"Program Files"
    • /var 子目录:会"长大"的地方
    • /etc 子目录:配置的"大本营"
    • 几个容易混淆的点
    • 💡 记忆口诀

网站分享

http://cb.vu/

https://uixshell.com/zh/practice


https://darven-cs.github.io/linux-learning/

命令

一、文件目录移动和创建/删除

主指令作用常用子指令 / 参数示例
mkdir创建目录-p递归创建多级目录
-m指定权限
mkdir -p a/b/c
rmdir删除空目录-p递归删除空父目录rmdir -p a/b/c
rm删除文件/目录-r递归删除
-f强制删除不提示
-i删除前确认
rm -rf dir/
cp复制文件/目录-r递归复制目录
-a归档模式(保留属性)
-p保留原属性
-v显示过程
cp -r src/ dst/
mv移动/重命名-f强制覆盖
-i覆盖前确认
-v显示过程
mv old.txt new.txt
touch创建空文件 / 更新时间戳-c不创建新文件
-t指定时间戳
touch file.txt
ln创建链接-s创建软链接
-f强制覆盖
ln -s target link
cd切换目录..上级目录
-返回上次的目录
~家目录
cd /var/log
pwd显示当前路径-P显示物理路径(解析链接)pwd -P
ls列出目录内容-l长格式
-a含隐藏文件
-h人类可读大小
-R递归
-t按时间排序
ls -lah

⚠️rm -rf极其危险,删除后不可恢复,生产环境慎用。


二、文件查找和处理

主指令作用常用子指令 / 参数示例
find按条件查找文件-name按名称
-type f/d按类型
-size按大小
-mtime按修改时间
-exec对结果执行命令
find . -name "*.log" -mtime +7 -delete
locate基于数据库快速查找-i忽略大小写
-r正则匹配
locate -i nginx.conf
which查找可执行文件路径--all显示所有匹配which python3
whereis查找二进制/源码/手册-b只找二进制
-m只找手册
whereis ls
grep文本搜索-r递归
-i忽略大小写
-n显示行号
-v反向匹配
-E扩展正则
grep -rn "TODO" src/
cat查看/合并文件-n显示行号
-A显示所有字符(含$)
cat -n file.txt
less/more分页查看less支持上下翻页less large.log
head查看文件头部-n N显示前 N 行
-c N显示前 N 字节
head -n 20 file.log
tail查看文件尾部-n N显示后 N 行
-f实时追踪(常用于日志)
tail -f /var/log/syslog
wc统计行数/词数/字节-l行数
-w词数
-c字节数
wc -l file.txt
sort排序-n数值排序
-r倒序
-u去重
sort -nr data.txt
uniq去重(需先 sort)-c统计出现次数
-d只显示重复行
sort file \| uniq -c
cut按列截取-d指定分隔符
-f指定字段
cut -d: -f1 /etc/passwd
awk文本处理/报表生成-F指定分隔符
{print $N}打印第 N 列
awk -F: '{print $1}' /etc/passwd
sed流编辑器/批量替换-i就地修改
s/old/new/g替换
sed -i 's/foo/bar/g' file.txt
xargs将标准输入转为命令参数-I{}占位符
-n N每次传 N 个参数
find . -name "*.tmp" \| xargs rm
tar归档/压缩-c创建
-x解压
-zgzip
-jbzip2
-v显示过程
-f指定文件
tar -czvf pkg.tar.gz dir/
gzip/gunzipgzip 压缩/解压-d解压
-k保留原文件
-9最高压缩率
gzip -k file
chmod修改权限u/g/o/a用户/组/其他/所有
+/-/=增加/减少/赋值
-R递归
chmod -R 755 dir/
chown修改所有者-R递归
user:group同时改所有者和组
chown -R www:www /var/www

💡 高频组合技巧

可以把需求丢给AI

# 查找大文件并清理 find /var/log -name "*.log" -size +100M -mtime +30 -delete # 批量重命名 .txt → .md for f in *.txt; do mv "$f" "${f%.txt}.md"; done # 实时追踪日志 + 过滤关键字 tail -f /var/log/nginx/access.log | grep "404" # 统计访问 IP Top 10 cat access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -10

📌 提示:find+xargs+grep/sed/awk是 Linux 文件处理的"三剑客组合",掌握它们几乎能应对所有文件处理场景。

通用目录结构(FHS 标准)

所有 Linux 发行版都遵循FHS(Filesystem Hierarchy Standard,文件系统层次标准),整个系统的目录像一棵树,从根目录/开始向下展开。

一级目录全景

/ ├── bin/ # 基础用户命令(所有人都可用) ├── sbin/ # 基础系统管理命令(主要给 root) ├── etc/ # 系统配置文件 ├── home/ # 普通用户的家目录 ├── root/ # root 用户的家目录 ├── usr/ # 用户程序(第二层"只读"层级) ├── var/ # 可变数据(日志、缓存、邮件等) ├── tmp/ # 临时文件(重启可能清空) ├── dev/ # 设备文件 ├── proc/ # 进程和内核信息的虚拟文件系统 ├── sys/ # 系统设备和内核信息的虚拟文件系统 ├── opt/ # 第三方大型软件 ├── boot/ # 启动相关文件(内核、initramfs) ├── lib/ # /bin 和 /sbin 所需的基础共享库 ├── lib64/ # 64 位共享库 ├── media/ # 可移动介质的挂载点 ├── mnt/ # 临时挂载点 ├── srv/ # 服务相关的数据(如 HTTP/FTP 根目录) └── run/ # 运行时数据(PID 文件、socket 等,重启清空)

核心目录详解

目录作用里面有什么
/bin基础用户命令​ls、cp、mv、cat、bash等——系统修复、单用户模式下也必须能用
/sbin基础系统管理命令​fdisk、mkfs、iptables、reboot等——多数需 root 权限
/etc系统配置文件​passwd、shadow、fstab、nginx/、ssh/等——“一切皆配置”
/home普通用户家目录​/home/alice/、/home/bob/——用户私有文件、.bashrc等
/rootroot 的家目录​不同于/home,单独放在根下
/usr**用户程序(第二层级)**​相当于"Linux 的 Program Files",详见下文
/var可变数据​会随时间变化的数据,详见下文
/tmp临时文件​所有用户可读写,重启后通常清空​
/dev设备文件​sda(硬盘)、tty(终端)、null、zero等——"一切皆文件"的体现
/proc进程/内核虚拟文件系统​cpuinfo、meminfo、/1/(PID 为 1 的进程信息)——内存中的虚拟目录​
/sys内核/设备虚拟文件系统​暴露内核对象给 userspace——内存中的虚拟目录​
/opt第三方大型软件​如/opt/google/chrome/、/opt/jdk/——不归包管理器管的软件
/boot启动文件​vmlinuz(内核)、initramfs.img、grub/——不能删​
/lib/lib64共享库​.so动态链接库,供/bin、/sbin使用
/run运行时数据​PID 文件、socket、锁文件——tmpfs,重启清空​
/srv服务数据​如/srv/www/(网站根)、/srv/ftp/——按服务组织
/mnt/media挂载点​/mnt手动挂;/media自动挂 U 盘/光盘

/usr子目录:系统的"Program Files"

/usr是只读的用户程序层,其内部结构几乎和根目录平行:

/usr/ ├── bin/ # 大多数用户命令(ls、gcc、python 等) ├── sbin/ # 系统管理命令(useradd、httpd 等) ├── lib/ # /usr/bin 和 /usr/sbin 的共享库 ├── local/ # 本地编译安装的软件(make install 默认到这里) │ ├── bin/ │ ├── sbin/ │ └── lib/ ├── share/ # 架构无关的共享数据(文档、locale、zoneinfo) ├── include/ # C/C++ 头文件 └── src/ # 源代码(少见)

💡 区别:/bin是"最小可用命令"(急救用),/usr/bin是"完整用户命令"。现代发行版(UsrMerge)已将/bin→/usr/bin做成符号链接。

/var子目录:会"长大"的地方

/var/ ├── log/ # 日志文件(/var/log/messages、nginx/、audit/) ├── cache/ # 应用缓存 ├── spool/ # 队列数据(邮件、打印任务) ├── lib/ # 应用持久化数据(如 /var/lib/mysql/、/var/lib/docker/) ├── tmp/ # 系统级临时文件(比 /tmp 更持久) ├── run/ # 运行时数据(符号链接到 /run) └── www/ # 某些发行版的 Web 根目录

⚠️/var是最容易撑爆磁盘的目录——日志、数据库、容器镜像都在这里。生产环境常把/var单独分区。

/etc子目录:配置的"大本营"

/etc/ ├── passwd # 用户信息 ├── shadow # 用户密码(仅 root 可读) ├── group # 用户组 ├── fstab # 文件系统挂载表 ├── hosts # 静态 DNS 解析 ├── resolv.conf # DNS 服务器 ├── ssh/ # SSH 配置(sshd_config、密钥) ├── nginx/ # Nginx 配置 ├── systemd/ # systemd 服务单元 ├── network/ # 网络配置(发行版相关) └── profile.d/ # 全局环境变量脚本

几个容易混淆的点

1./binvs/usr/bin

  • 老传统:/bin在根分区(启动早期就能用),/usr/bin可能在独立分区(挂载后才能用)

  • 现代(UsrMerge):/bin是/usr/bin的符号链接,二者已合并

2./srvvs/var/www

  • 两者都可放网站文件,没有强制规定

  • 常见约定:/srv/www/或/var/www/html/,取决于发行版

3. 什么是"虚拟文件系统"

  • /proc和/sys不占磁盘空间,是内核在内存中动态生成的

  • 查看它们就是在和内核"对话":cat /proc/cpuinfo、cat /sys/class/net/eth0/address

4. 绝对路径 vs 相对路径

  • 以/开头 = 绝对路径(从根开始)

  • 不以/开头 = 相对路径(从当前目录开始)

💡 记忆口诀

“配 etc,变 var,用户 home,程序 usr,设备 dev,启 boot,临时 tmp,挂 mnt”

记住这条,你就能在任意 Linux 发行版上快速定位文件。不同发行版的唯一差异在于/etc下的具体配置文件名(比如网络配置 Ubuntu 用 netplan,RHEL 用 network-scripts),但整体骨架完全一致。

相关新闻

  • 深入解析IEEE 802.15.4协议栈中RF Core HAL的数据队列管理机制
  • 26年上海雅思封闭班推荐:发展趋势动态追踪 - 虚拟星辰
  • Q1账上少了15亿现金,锐捷这笔钱去哪了?

最新新闻

  • SpringBoot家电销售管理系统开发实战
  • 分享|IPPBX没外线?用旧手机当网关就能拨出去
  • Linux C/C++程序栈溢出检测:从stack smashing错误到安全编程实践
  • 2026年6月广州市天河区二手房价格深度分析
  • 【北京博亚信诚科技】值得信赖 - 17728098551
  • 行空板PinPong库版本查看与离线升级全攻略

日新闻

  • 金融舆情监测系统:多语言情感分析与实时可视化技术解析
  • QT C++调用Python异常处理:PyBind11实战与跨语言编程指南
  • A-47双麦回音消除模块:主次麦空间分布与差分连接对ENC性能的影响

周新闻

  • 大连理工大学与东京大学联手打造的“主动型AI助手“
  • 170.2026年国家级科研瓶颈:超精密单点金刚石切削(SPDT)光学表面生成
  • SongBloom:革命性歌曲生成框架深度解析——如何通过交织自回归与扩散模型创作完整音乐

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号