一、基本介绍
cp命令是Linux下的一个常用命令,用于文件或目录的复制。
二、复制文件和文件夹
复制文件:cp file1 file2 将文件file1复制为文件file2。
复制文件夹:cp -r folder1 folder2 将文件夹folder1复制为文件夹folder2,并复制其中所有的文件和子目录。
三、批量复制和移动文件
批量复制文件:cp file1 file2 file3 folder1 将文件file1、file2、file3复制到文件夹folder1中。
批量复制文件夹:cp -r folder1 folder2 folder3 files1 将文件夹folder1、folder2、folder3和文件files1复制到当前目录。
批量移动文件:cp file1 file2 file3 folder1 && rm file1 file2 file3 将文件file1、file2、file3移动到文件夹folder1中,然后从原位置删除。
四、传递参数及注意事项
参数:
-a:归档模式,保留文件属性(权限、时间、软链接等)。
-f:强制复制,如果目标文件已存在,则覆盖。
-n:如果目标文件已存在,不覆盖现有文件。
-i:交互式复制,如果目标文件已存在,则提示用户是否覆盖。
-u:更新现有文件,只复制源文件比目标文件新的文件。
注意事项:
1、如果复制文件已存在于目标目录中,则cp命令会覆盖目标文件。
2、如果目标目标不存在,则cp命令会将复制文件重命名为目标文件名。
3、如果正在复制具有特殊权限的文件,则必须使用sudo或root权限。
五、代码示例
复制文件:cp test.txt /home/user/Documents/test_new.txt
复制文件夹:cp -r /home/user/folder1 /home/user/Desktop/folder1_new
批量复制文件:cp image1.jpg image2.jpg /home/user/Documents
批量复制文件夹:cp -r folder1 folder2 folder3 files1 .
批量移动文件:cp file1 file2 /home/user/Documents && rm file1 file2
传递参数:cp -a file1 file2 /home/user/Documents