需求:拷贝文件夹到Linux文件夹下。覆盖该Linux文件夹下全部同名文件夹
目标:Linux下,运行本脚本。输入目录名。就可以批量复制覆盖。
使用说明:
        先把本脚本文件和要复制的文件夹移到将要覆盖的Linux文件夹,之后运行本脚本就可以。
        运行命令:
             
  ./tcopy.sh
        1.假设提示-bash: ./tcopy.sh: Permission denied,那要先赋给其权限:
             
  chmod +x tcopy.sh
            再运行./tcopy.sh就可以。
        2.觉着麻烦的话 sh tcopy.sh也行。

逻辑说明:
        原系统的cp命令。是cp -i命令。这样运行cp命令是无法自己主动覆盖的。

所以改文件~/.bashrc,最后再改回。

        读取用户输入文件名称,用通配符把全目录放于数组
        循环结构把原目录下全部文件放入全部数组。

代码:
#!/bin/sh
sed -i 's/alias cp/#&/' ~/.bashrc >/dev/null echo "Please input the filename:"
read name
array=($name*)
name2="$name/*" for ((i=1; i<${#array}; i++))
do
cp -r $name2 ${array[$i]}
done sed -i "/#alias cp/i\alias cp='cp -i'" ~/.bashrc >/dev/null
sed -i '/#alias cp/d' ~/.bashrc >/dev/null
保存文件为tcopy.sh

代码说明:

sed -i 's/alias cp/#&/' ~/.bashrc  >/dev/null

把~/.bashrc文件里的alias cp一行给凝视掉

array=($name*)

使用通配符把全部目录放入数组

name2="$name/*"
name2为原文件夹文件夹下全部文件
${#array}

获取数组长度

cp -r $name2 ${array[$i]}

拷贝文件

<pre name="code" class="cpp" style="font-size: 14px; line-height: 21px;">sed -i "/#alias cp/i\alias cp='cp -i'" ~/.bashrc  >/dev/null
sed -i '/#alias cp/d' ~/.bashrc >/dev/null

改回~/.bashrc文件



风险项:
原~/.bashrc文件未必是alias cp='cp -i'

假设使用本脚本后。出现拷贝文件每次都询问是否覆盖即:cp: overwrite。
请手动改动~/.bashrc文件,在alias cp一行的前方加上#

Linux下把目录拷贝到全部同名目录的脚本的更多相关文章

  1. 通过find命令寻找文件并拷贝到一个指定目录方法详解

    有这样的一个需求,需要将一部分符合条件的文件从一个目录拷贝到另一个目录中,可以通过使用find命令从源目录查找到符合条件的文件然后使用cp命令拷贝到目标目录   将通过find命令找到的文件拷贝到一个 ...

  2. 使用scp将文件/目录拷贝到另一台Linux主机上

    如何将一台Linux主机上的文件或目录拷贝到另一台Linux主机上,scp命令可以实现该需求 前提条件:两台Linux主机处于同一网段,可以互相ping通 操作如下: 文件拷贝 ①将本地文件拷贝到远端 ...

  3. Linux 命令 - cp: 拷贝文件和目录

    命令格式 cp [OPTION]... [-T] SOURCE DEST cp [OPTION]... SOURCE... DIRECTORY cp [OPTION]... -t DIRECTORY ...

  4. Linux SSh scp使用【远程文件/目录的传输】

    一:Linux ssh scp的简介及作用: scp就是secure copy的简写,用于在linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器. 有时我们 ...

  5. linux rpm 安装后 mysql 默认安装目录等信息

    MySQL安装完成后不象SQL Server默认安装在一个目录,它的数据库文件.配置文件和命令文件分别在不同的目录,了解这些目录非常重要,尤其对于Linux的初学者,因为 Linux本身的目录结构就比 ...

  6. Linux 目录详解 树状目录结构图

    1.树状目录结构图 2./目录 目录 描述 / 第一层次结构的根.整个文件系统层次结构的根目录. /bin/ 需要在单用户模式可用的必要命令(可执行文件):面向所有用户,例如:cat.ls.cp,和/ ...

  7. linux工具:快速返回某级父目录--bd

    当我们在linux服务器上切换父目录时,通常使用cd ../../,有几级目录就输入几次"../",如果目录嵌套的过深,就会有点晕菜...因此,本次介绍的这款工具,可以快速的返回指 ...

  8. cmake指定程序输出目录和库文件输出目录和拷贝文件

    概述 本文样式环境: win10+cmake 3.18 本文将介绍使用CMAKE配置项目输出目录和 LIbrary项目的输出目录 本文将介绍 cmake的file函数的基础用法之拷贝文件 重点, 这些 ...

  9. 阿里云服务器Linux CentOS安装配置(零)目录

    阿里云服务器Linux CentOS安装配置(零)目录 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 阿里云服务器Linux CentOS安装配置(二)yum安装svn 阿里云服 ...

随机推荐

  1. 3d数学 7 矩阵

    7.1 矩阵-数学定义 在线性代数中, 矩阵就是以行和列形式组织的矩形数字块.矩阵是向量的数组. 7.1.1 矩阵的维度和记法 矩阵的维度被定义为它包含了多少行和多少列.一个\(r \times c\ ...

  2. BZOJ 1583

    思路: 维护两个指针pointer_1和pointer_2 代表用算法一走到的位置 和算法2走到的位置 若 算法一<算法2 数组后面就插入算法一的解  pointer_1++ (记得判重) (这 ...

  3. 关于网站图片格式 png,jpg,

    小图标用 png 采用无损压缩.可存储透明图片. 适合存储icon, logo 等颜色对比明显,又小的图片. 劣势:索引色数量有限,不适合大图片,颜色层次丰富. 大图片用 jpg 采用了压缩算法,会有 ...

  4. 拖入浏览器读取文件demo

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. 前端编码规范(2)HTML 规范

    文档类型 推荐使用 HTML5 的文档类型申明: <!DOCTYPE html> (建议使用 text/html 格式的 HTML.避免使用 XHTML.XHTML 以及它的属性,比如 a ...

  6. uva11205 The broken pedometer 子集生成

    PS:此题我在网上找了很久的题解,发现前面好多题解的都是没有指导意义的.后来终于找到了一篇好的题解. 好的题解的链接:http://blog.csdn.net/u013382399/article/d ...

  7. RadioButtonList绑定后台的数据。

    在前台,放置一个 <td style="width: 650px;"><asp:RadioButtonList ID="RadioButtonList2 ...

  8. Mybatis与Hibernate的对比

    Mybatis与Hibernate的对比 工作中,用了一段Hibernate与Mybatis,也在此简单的聊上几句,希望对大家有帮助. Mybatis与Hibernate不同,它不完全是一个ORM框架 ...

  9. DE2之7-segment displays

    以前课题用的是友晶的DE2-70,现在重拾FPGA,选了一款性价比高的DE2.恰逢闲来无事,于是尝试将各个Verilog模块翻译成VHDL,半算回顾以前的知识,半算练习VHDL. Verilog 01 ...

  10. EnforceLearning-被动强化学习

    前言: 画图挺好:深度学习进阶之路-从迁移学习到强化学习 专家系统给出了知识节点和规则,使用粒度描述准确性,依靠分解粒度解决矛盾,并反馈知识和推理规则更新.专家系统与机器学习有本质区别,但从机器学习的 ...