当前位置: 首页 > news >正文

第九节:文件操作

理论知识

  1. 文件的基本概念:文件是存储数据的基本单位,在 Linux 系统中,一切皆文件。文件可以是文本文件、二进制文件、设备文件等。
  2. 文件的创建:使用 touch 命令可以创建一个新的空文件。如果文件已经存在,则更新文件的访问时间和修改时间。
  3. 文件的删除:使用 rm 命令可以删除一个文件。在删除文件时要小心,因为删除操作是不可逆的。
  4. 文件的重命名和移动:使用 mv 命令可以重命名或移动一个文件。如果目标文件名不存在,则相当于重命名;如果目标文件名存在,则相当于将源文件移动到目标位置。
  5. 文件的复制:使用 cp 命令可以复制一个文件。可以使用不同的选项来控制复制的行为,如 -r 选项递归复制目录。
  6. 文件的内容查看:使用 catmoreless 等命令可以查看文件的内容。cat 命令用于一次性显示整个文件的内容,moreless 命令用于分页显示文件的内容。
  7. 文件的内容编辑:使用 vivimnano 等文本编辑器可以编辑文件的内容。vivim 是功能强大的文本编辑器,但学习成本较高;nano 是简单易用的文本编辑器。
  8. 文件的权限设置:文件的权限设置与目录类似,可以使用 chmod 命令来修改文件的权限。文件的执行权限表示可以运行该文件。
  9. 文件的所有者和所属组设置:可以使用 chownchgrp 命令来修改文件的所有者和所属组。
  10. 文件的查找:使用 find 命令可以在指定目录下查找文件。可以根据文件名、文件类型、文件大小等条件进行查找。
  11. 文件的压缩和解压缩:使用 gzipbzip2tar 等命令可以对文件进行压缩和解压缩。gzipbzip2 用于压缩单个文件,tar 用于打包和压缩多个文件。
  12. 文件的备份和恢复:可以使用 cprsync 等命令进行文件的备份和恢复。rsync 是一个高效的文件同步工具,可以只复制有变化的文件。

实践案例

  1. 创建一个新文件:在当前目录下创建一个名为 test.txt 的文件:
touch test.txt
  1. 删除一个文件:删除当前目录下的 test.txt 文件:
rm test.txt
  1. 重命名一个文件:将 oldfile.txt 文件重命名为 newfile.txt
mv oldfile.txt newfile.txt
  1. 移动一个文件:将 test.txt 文件移动到 backup 目录下:
mv test.txt backup/
  1. 复制一个文件:将 test.txt 文件复制到 backup 目录下:
cp test.txt backup/
  1. 查看文件的内容:使用 cat 命令查看 test.txt 文件的内容:
cat test.txt
  1. 分页查看文件的内容:使用 less 命令分页查看 test.txt 文件的内容:
less test.txt

q 键可以退出 less 命令。
8. 编辑文件的内容:使用 vim 命令编辑 test.txt 文件的内容:

vim test.txt

进入 vim 编辑器后,按 i 键进入插入模式,输入内容,按 Esc 键退出插入模式,输入 :wq 保存并退出。
9. 修改文件的权限:将 test.txt 文件的权限修改为 644:

chmod 644 test.txt
  1. 修改文件的所有者和所属组:将 test.txt 文件的所有者改为 testuser,所属组改为 testgroup
sudo chown testuser:testgroup test.txt
  1. 查找文件:在 /home 目录下查找名为 test.txt 的文件:
find /home -name test.txt
  1. 压缩文件:使用 gzip 命令压缩 test.txt 文件:
gzip test.txt

解压缩 test.txt.gz 文件:

gunzip test.txt.gz

相关文章:

  • Pytorch深度学习框架60天进阶学习计划 - 第55天: 3D视觉基础(二)
  • 精华贴分享|【零敲碎打12】类筹码数据构建-散户行为倾向
  • flutter 专题 五十六 Google 2020开发者大会Flutter专题
  • javaScript——DOM(四)
  • DataWorks Copilot 集成 Qwen3-235B-A22B混合推理模型,AI 效能再升级!
  • TCP和UDP的数据传输+区别
  • Linux 部署以paddle Serving 的方式部署 PaddleOCR CPU版本
  • Decode
  • OpenAI 2025 4月最新动态综述
  • 【Unity】如何解决UI中的Button无法绑定带参数方法的问题
  • 《机器学习中的过拟合与模型复杂性:理解与应对策略》
  • 关于 MCP 的理论知识学习
  • HAproxy+keepalived+tomcat部署高可用负载均衡实践
  • buildroot 和 busybox 系统的优缺点
  • vue2中如何自定义指令
  • 最新DeepSeek-Prover-V2-671B模型 简介、下载、体验、微调、数据集:专为数学定理自动证明设计的超大垂直领域语言模型(在线体验地址)
  • C++继承(下)
  • 监听滚动事件
  • Ubuntu平台使用aarch64-Linux交叉编译opencv库并移植RK3588S边缘端
  • 新手小白如何查找科研论文?
  • 2025五一档新片电影总票房破亿
  • “五一”假期预计全社会跨区域人员流动量超14亿人次
  • 辽宁辽阳市白塔区一饭店发生火灾,当地已启动应急响应机制
  • 俄罗斯纪念卫国战争胜利80周年阅兵式首次彩排在莫斯科举行
  • 南部战区位南海海域进行例行巡航
  • 夜读丨跷脚牛肉乐翘脚