Linux 命令行实战,如何复制文件内容并新建文件夹

XMSDN

在 Linux 系统管理中,我们经常需要进行文件整理,我们并不需要移动文件本身,而是需要将某个文件的内容提取出来,保存到一个新建的文件夹中,将配置文件的内容备份到归档目录,或者将日志文件提取出来分析。

本文将详细介绍如何使用 Linux 命令高效地完成“复制文件内容”并“新建文件夹”这一操作。

基础操作:使用 cat 命令

最直接的方法是结合使用 cat)和 >(重定向输出)命令,以及 mkdir(创建目录)命令。

Linux 命令行实战,如何复制文件内容并新建文件夹

假设你有一个源文件 source.txt,你想把它的内容复制到一个名为 backup 的文件夹中的 target.txt 文件里。

创建文件夹 使用 mkdir 命令创建目录,如果父目录不存在,建议加上 -p 参数(递归创建)。

mkdir -p backup

使用 cat 读取源文件,并通过重定向符号 > 将内容写入新文件夹下的目标文件中。

cat source.txt > backup/target.txt

解释:

  • cat source.txt:读取源文件的内容。
  • >:将读取到的内容输出重定向。
  • backup/target.txt:指定输出的目标路径。

进阶技巧:使用 tee 命令

如果你希望在将内容复制到文件的同时,还能在终端屏幕上看到文件的内容,tee 命令是更好的选择,它相当于“读入并写入”。

tee backup/target.txt < source.txt

或者,你可以直接使用管道符连接:

cat source.txt | tee backup/target.txt

优势: 这种方法不仅能将内容写入新文件夹的文件中,还能在命令行界面实时显示文件内容,非常适合查看大文件的处理过程。


批量处理:使用 find 命令

如果你的需求比较复杂,比如需要在当前目录下查找所有 .log 文件,并将它们的内容分别复制到 logs_backup 文件夹中,可以使用 find 命令结合 exec 参数。

find . -name "*.log" -exec sh -c 'mkdir -p logs_backup && cat "$1" > logs_backup/"$1"' _ {} \;

命令解析:

  • find . -name "*.log":查找当前目录及其子目录下所有后缀为 .log 的文件。
  • -exec sh -c '...' _ {} \;:执行一个 shell 命令。
  • mkdir -p logs_backup:确保目标文件夹存在。
  • cat "$1" > logs_backup/"$1":将找到的文件($1复制到 logs_backup 文件夹下同名的文件中。

在 Linux 中,“复制文件内容并新建文件夹”并不需要复杂的脚本,核心在于熟练掌握以下两个命令的组合:

  1. mkdir -p:负责创建文件夹结构。
  2. cat >tee:负责将源文件内容写入目标位置。

掌握这些技巧,可以让你在处理大量配置文件或日志归档时,效率提升数倍。

💡 温馨提示

📌 阅读须知 Rules & Notice

本站坚持免费分享,致力于为大家提供实用、优质的内容与资源。

🔗欢迎大家收藏与转发,转载请保留本站链接,请勿私自去除版权信息。

📚所有外部整理资源,仅作学习交流使用,请勿用于各类商业用途。

🤝网络相聚本是缘分,希望大家文明交流,理性浏览。

🛠️若发现内容有误或涉及侵权,我们将第一时间处理整改。

💖 感谢每一位朋友的陪伴与支持

✨ 用心分享,一路同行 ✨

目录[+]