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

第九节:文件操作

理论知识

  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
http://www.xdnf.cn/news/3354.html

相关文章:

  • C++漫游指南——字符串篇与内存分配篇
  • ganesha-DBUS
  • 人形机器人的 “灵动密码”:动作捕捉与 AI 如何为其注入活力
  • BOSS的收入 - 华为OD机试(A卷,Java题解)
  • React-Native Android 多行被截断
  • Ubuntu 22.04 的 ROS 2 和 Carla 设置指南(其一)
  • Multicore-TSNE
  • 如何用GPU Instancing来优化树木草石重复模型
  • Kubernetes 配置中的 Selector 详解
  • GPU集群搭建步骤
  • 基础术语说明
  • 前端项目问题:TypeError: Failed to fetch dynamically imported module
  • 数据结构---【二叉搜索树】
  • Canvas基础篇:图形绘制
  • 工业质检领域相关近期顶会论文汇总CVPR2025
  • SALOME源码分析: SMESH模块
  • 2025-04-30 AIGC-如何做短片视频
  • 科学数据可视化工具库visIt安装和使用
  • 阿里云短信接入实现示例
  • IsaacLab最新2025教程(7)-创建Interactive Scene
  • Socket-UDP
  • Day.js一个2k轻量级的时间日期处理库
  • Modbus转PROFIBUS网关:电动机保护新突破!
  • [CPCTF 2025] Crypto
  • YOLOv11改进:视觉变换器SwinTransformer目标检测网络
  • C 语言链表详解
  • 第 11 届蓝桥杯 C++ 青少组中 / 高级组省赛 2020 年真题答和案解析
  • 测试 用例篇
  • 指令级并行(ILP)和线程级并行(TLP)的区别,GCC -O3优化会展开循环吗?
  • Git 忽略文件配置 .gitignore