`
Cwind
  • 浏览: 265383 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
博客专栏
793bb7df-a2a9-312d-8cb8-b66c3af482d1
LeetCode题解
浏览量:53485
社区版块
存档分类
最新评论

Linux复制指定目录及子目录下特定类型的文件

阅读更多

首先建立一个用于测试的目录,用'tree'命令查看其结构如下所示:



可见,目录中主要包含用于测试的*.txt文件和用于充当炮灰的*。tes文件

目标是保持当前的目录结构,只把txt文件复制出来


方法一:当不需要的文件类型较为单一时,可以通过完全复制然后删除指定类型的文件完成

Step1 使用命令 cp -r test/ test2 将测试目录test下所有内容完全复制到test2,此时树形结构如下图


Step2 组合使用find及xargs,将*.tes文件删除

xargs是给命令传递参数的一个过滤器,可以将前一个命令产生的输出作为后一个命令的参数

命令find test2/ -name '*.tes' |xargs rm -rf, 即将find产生的输出(test2目录下的所有tes文件),作为rm的参数,从而完全删除

实际效果如图所示


适用场景举例:把项目文件备份,要去除其中的.svn文件,可以采用这种方式


方法二:需要的文件为单一类型,带目录结构复制

这种情况下可以使用tar命令将指定类型的文件打包,然后解包,同样需要组合使用find和xargs


Step1 建立目录test3

mkdir test3


Step2 将指定类型文件带目录结构打包

find test/ -name '*.txt' |xargs tar czf test3.tgz


Step3 解包到目录test3

tar zxvf test3.tgz -C test3


运行结果如图所示:


适用场景:较为普遍,例如可以复制某个Web项目的所有html/jsp/php文件;或复制其他项目中特定类型的源文件

 

  • 大小: 16.3 KB
  • 大小: 29 KB
  • 大小: 30.6 KB
  • 大小: 56.7 KB
7
15
分享到:
评论
2 楼 Mary_nju 2012-08-01  
淆习
1 楼 wangdf_jee 2012-07-31  
顶 收藏

相关推荐

    复制目录并过滤指定目录及其子目录.rar

    然而,有时我们并不想复制整个目录结构,而是需要排除特定的目录或其子目录,这涉及到更复杂的逻辑和过滤机制。在大多数操作系统中,包括Windows、Linux和macOS,都有内置命令来处理此类操作。 在Windows环境下,...

    拷贝指定目录下的指定文件类型的文件到指定目录

    例如,以下是一个简单的Python脚本,用于复制指定类型的文件: ```python import os def copy_files(src_dir, target_dir, file_extension): for root, dirs, files in os.walk(src_dir): for file in files: ...

    linux文件系统电子书籍

    5. **基本的应用程序**:如`ls`(列出目录内容)、`cp`(复制文件)、`mv`(移动或重命名文件)等命令行工具。 #### 三、Linux文件系统层次结构标准(FHS) 为了提高不同Linux发行版之间的兼容性,开发者们制定了...

    LINUX常用命令

    比如find / -name grub.conf可以搜索根目录下名为grub.conf的文件。 以上是对文件中提到的Linux命令的详细解释,对于初学者来说,这些命令是管理Linux系统和执行日常任务的基础,对于进阶用户来说,它们也是日常...

    Linux 目录结构及文件基本操作

    - **Linux**:以目录为主,采用树状结构构建整个文件系统,磁盘被挂载至特定目录下,强调文件组织的重要性。 ##### FHS标准 - **定义**:FHS(Filesystem Hierarchy Standard)即文件系统层次结构标准,是Linux...

    03-Linux文件和目录1

    - **ls**:用于列出目录中的文件和子目录。 - **cd**:用于切换当前工作目录。 - **mkdir**:用于创建新的目录。 - **rm**:用于删除文件或目录。 - **mv**:用于移动文件或重命名文件。 - **cp**:用于复制文件或...

    Linux文件系统层次结构及文件的管理

    6. Ls –R 命令:递归处理,将查看指定目录下的所有文件及子目录 7. Touch 命令:创建一个空文件,或修改文件的时间戳 8. Cd 命令:更改工作目录 9. Mkdir 命令:创建目录 10. Cp 命令:复制文件和目录 11. Mv 命令...

    linux下根文件系统的制作

    2. **创建基本目录结构**:接下来,创建一系列必需的子目录,如`bin`、`dev`、`etc`、`home`、`lib`、`mnt`、`proc`、`sbin`、`sys`、`tmp`、`usr`、`var`等,这些目录将分别存放不同的文件和配置。 3. **创建设备...

    恢复Linux下误删除的文件

    使用`cp`命令复制时,`-r`选项用于递归复制目录及其子目录中的文件,而`-a`选项则确保新复制的文件与原文件在所有属性上保持一致。 - rm:删除文件或目录。`rm -rf`命令会强制递归删除指定的文件或目录,不会提示...

    LINUX打开ISO文件

    这里的命令将`/home/sunky/mydir`目录下的所有文件和子目录制作成名为`mydisk.iso`的ISO文件。 #### 总结 通过上述内容,我们可以看到Linux环境下的ISO文件处理功能非常强大且灵活。无论是挂载、浏览还是创建ISO...

    python执行scp命令拷贝文件及文件夹到远程主机的目录方法

    在这个特定的场景中,`subprocess`被用来执行SCP命令以拷贝文件或文件夹到远程主机的指定目录。 首先,我们需要理解脚本中的关键函数`scpFileToRemoteNode()`。这个函数接受五个参数:用户名(user)、IP地址(ip)...

    linux操作系统05_linux系统工常用指令-文件管理.ppt

    * -r:将指定目录下的所有文件及子目录一并处理。 * -v:显示指令执行过程。 例如,rm test.txt 将删除文件 test.txt,rm -r test 将删除目录 test 及其下的所有文件和子目录。 二、移动或更名现有的文件或目录:...

    Linux下常用命令pdf版

    例如,可以先用ls查看目录下的文件列表,然后用grep过滤特定的文件,最后用rm删除这些文件。这些命令的组合使用大大提高了工作效率。 5. 命令的输入和输出 在shell命令中,还可以对命令的输入和输出进行重定向,...

    linux基础文件

    1. `ls`:列出目录中的文件和子目录。 2. `cd`:改变当前工作目录。 3. `mkdir`:创建新目录。 4. `rm`:删除文件或目录,需谨慎使用。 5. `cp`:复制文件或目录。 6. `mv`:移动或重命名文件或目录。 7. `touch`:...

    Linux文件命令精通指南.doc

    `ls`命令用于列出指定目录中的文件和子目录列表。默认情况下,它将列出当前工作目录的内容。通过添加选项,如`-l`(长格式列出)、`-a`(显示隐藏文件)等,可以获取更详细的信息。 #### 2. cd - 改变工作目录 `cd`...

    Linux教程.pdf

    在Linux系统中,格式化是根据选定的文件系统类型将分区初始化,创建文件系统需要的数据结构,如文件分配表、目录表等。格式化过程并不会涉及到物理存储介质的底层数据结构,而是逻辑层面的。 硬件设备在Linux系统中...

    基于linux下服务器与客户端传文件

    标题“基于Linux下服务器与客户端传文件”指的是在Linux环境下实现服务器与客户端之间的文件传输功能。这个小程序可能是为了演示或测试网络连接、验证传输机制或监控传输性能。下面我们将详细介绍几个关键的知识点:...

    文件目录自动输出程序

    5. **定制化输出**:虽然这个描述没有明确指出,但一个完善的文件目录输出程序通常还支持定制输出选项,比如深度、排除特定文件类型等,以满足不同用户的需求。 6. **可移植性**:以`.bat`结尾的文件通常为批处理...

    linux命令大全下载

    1. **ls**:用于列出目录中的文件和子目录。可以添加参数如`-l`显示详细信息,`-a`显示所有文件包括隐藏文件。 2. **cd**:改变当前工作目录。例如,`cd /home/user`将用户切换到`/home/user`目录。 3. **pwd**:...

Global site tag (gtag.js) - Google Analytics