Linux cp命令直接覆盖不提示的方法

今天在做项目的时候需要在linux上拷贝A项目中upload目录下所有的资源到B项目中的uoload目录下,所以我就打算使用【cp】命令拷贝过去,拷贝的时候我加了【-f】参数了,但还是一个个的询问我是否覆盖目标文件。所以今天就记录下这个问题。

1、使用了【-f】还是询问的情况:

cp -r -f A/upload/* B/upload

 

2、不询问的方式:

# 第一种方法
    \cp -r -f A/upload/* B/upload

# 第二种方法:一些服务器会默认增加别名 alias cp=’cp -i’,当你执行cp时,其实执行的是cp –i,所以做以下更改。
    vim ~/.bashrc      //打开配置文件
    alias cp='cp -i'    //注释这一行,在这行前面加个“#”
    :wq!                //退出保存

 

3、【cp】命令的基础知识:

cp 命令用于复制文件和目录。以下是 cp 命令的详细用法和参数:

  cp [OPTION]... SOURCE... DEST

  • SOURCE:指定要复制的源文件或目录,可以同时指定多个源文件或目录,用空格隔开。
  • DEST:指定目标文件或目录。

常用参数:

  • -r:递归复制目录及其内容。
  • -i:在覆盖文件之前提示用户确认操作。
  • -u:仅在源文件比目标文件新或目标文件不存在时才复制。
  • -p:保留源文件的权限、所有者和时间戳等属性。
  • -v:显示详细的复制进度信息。
  • -a:相当于 -pdr 参数的组合,即保留源文件的所有属性,递归复制目录及其内容,并尝试保留链接。

 

posted @ 2023-05-25 10:59  疯子丶pony  阅读(6143)  评论(0编辑  收藏  举报