Linux replicates all files in the specified directory to another directory

Source: Internet
Author: User
Tags unpack


Copy command

The function of this command is to copy the given file or directory to another file or directory, which is as powerful as the copy command under MSDOS.

Syntax: CP [option] source file or directory destination file or directory

Description: This command copies the specified source files to the destination file or copies multiple source files to the destination directory.

The options for this command have the following meanings:

-A This option is usually used when copying directories. It retains the link, file attributes, and recursively copies the directory, which is equal to the combination of the DPR option.

-D Keep links when copying.

-F Deletes an existing destination file without prompting.

-I and F options, in contrast, will be prompted to confirm the user before overwriting the target file. When you answer y, the target file is overwritten and is an interactive copy.

-P In addition to copying the contents of the source file, the CP will also copy the modification time and access rights to the new file.

-R If the source file given is a directory file, the CP will recursively replicate all subdirectories and files in the directory. The destination file must be a directory name at this time.

-L do not copy, just link file.


It is to be explained that to prevent users from inadvertently using the CP command to destroy another file, such as a user-specified target file name already exists, with the CP command to copy files, the file will be overwritten by the Xinyuan file, it is recommended that users use the CP command to copy files, it is best to use the I option.

Example 1

Copy all files in the specified directory to another directory

Replication of files and directories is often used. The command for replication under Linux is CP.
Suppose the replication source directory is dir1 and the target directory is dir2. How to copy all the files under Dir1 to Dir2.
If the Dir2 directory does not exist, you can directly use the
Cp-r Dir1 Dir2
Can.
If the Dir2 directory already exists, you need to use the
Cp-r dir1/. Dir2
If you use Cp-r dir1 dir2 at this point, the Dir1 directory will also be copied to Dir2, which clearly does not meet the requirements.

Ps:dir1, Dir2 change to the corresponding directory path.

Example 2
Copy the specified file to the specified folder

First create a directory for testing, and use the ' tree ' command to see its structure as follows:

It can be seen that the catalogue contains mainly *.txt files for testing and the * used to serve as cannon fodder. TES file
The goal is to keep the current directory structure and just copy the TXT file
Method One: When a file type that is not required is relatively single, it can be completed by completely copying and then deleting the file of the specified type
STEP1 uses the command cp-r test/test2 to copy all contents of test directory test completely to test2, when the tree structure is shown below

STEP2 combination uses find and xargs to remove *.tes files
Xargs is a filter that passes arguments to a command, which produces the output of the previous command as an argument to the latter command
Command find test2/-name ' *.tes ' |xargs rm-rf, the output produced by the find (all test2 files in the TES directory), as the parameters of RM, thereby completely removing
The actual effect is as shown in the figure

Examples of applicable scenarios: to back up the project files, to remove the. svn file, you can use this method
Method Two: The required file is a single type, with directory structure replication
In this case, you can use the TAR command to package the files of the specified type and then unpack them, and you need to combine the find and Xargs
STEP1 Build Directory Test3
mkdir test3
STEP2 package with directory structure for the specified type of file
Find test/-name ' *.txt ' |xargs tar czf test3.tgz
Step3 Unpack to Directory Test3
Tar zxvf test3.tgz-c test3
The results of the run are as shown in the figure:

Scenario: More common, for example, to copy all html/jsp/php files for a Web project, or to copy a specific type of source file from another project

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.