环境

  /home/test     //文件夹
            t1.txt    //文件
            t2.txt
            A         //子文件夹
            B
  /home/another //文件夹  ,内容为空 

1. 复制单一文件

语法:

拷贝至指定目录,并指定文件名:

cp [options] source dest

例:

cp /home/test/t1.txt /home/another/t2.txt

指定的文件名,可以是其他值,即达到重命名效果。

/home/another
			t2.txt      

拷贝至指定目录下,不指定文件名,此时会自动复制文件名:
cp [options] source... directory

例:

cp /home/test/t1.txt /home/another/  
cp /home/test/t1.txt /home/another
/home/another
			t1.txt      

t1.txt复制到another后,文件名仍为t1.txt。

上面例子中的another后面可带斜线,也可以不带,效果相同

2. 复制文件夹下的文件

文件夹可以有文件和子文件夹,子文件夹下还可以存在文件或子文件夹

仅复制文件夹下的所有文件,不包含子文件夹,如果有文件夹,文件夹不会被拷贝:

cp /home/test/*  /home/another
  /home/another      //文件夹
            t1.txt    //文件
            t2.txt
            

复制文件夹下的所有文件包含子文件夹下的内容:

cp -r /home/test/*  /home/another

-r可以替换为-R,意思一模一样。

  /home/another       //文件夹
            t1.txt    //文件
            t2.txt
            A         //子文件夹
            B
  

注意:只复制文件下的内容,不含文件夹本身,参见3章节

3. 复制整个文件夹

文件夹作为一个整体复制:

cp -r /home/test/  /home/another
或
cp -r /home/test  /home/another    

带不带斜线都可以。

  /home/another       //文件夹
              test  //文件夹
                   t1.txt    //文件
            	   t2.txt
           		   A         //子文件夹
            	   B

如果想重命名的话,可以指定新的文件夹的名称:
cp -r /home/test/  /home/another/newDirName
  /home/another       //文件夹
             newDirName  //文件夹
                      t1.txt    //文件
            	      t2.txt
           		      A         //子文件夹
            	      B

注意:/home/another是已存在的,newName是不存在的,会自动创建,也就是说cp会把最后一个不存在的文件夹当做newDirName。路径上不能连续出现2个不存在的文件夹。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐