Friendly Reminder
If you like this article, please share it with your friends. If you have any questions or want more information, please follow or leave a message.
In Linux systems, the file copying operation is an essential part of daily management tasks.<span><span>cp</span></span> command is a commonly used tool for copying files and directories, providing a rich set of options to help users efficiently complete file copying tasks. This article will continue to explore the<span><span>cp</span></span> command in more depth from yesterday.
<span><span>cp</span></span> Command and Its Parameter Details
-
Basic Syntax
-
<span>cp [options] source_file_or_directory target_file_or_directory</span> -
<span>cp</span>command is used to copy files or directories. If the target file exists,<span>cp</span>will overwrite it.
Parameter Details
-
<span>-u</span>: Copy only when the source file is newer than the target file. -
<span>-L</span>: Resolve symbolic links and copy the target file pointed to by the symbolic link. -
<span>-s</span>: Create a symbolic link instead of copying the file.
Code Examples
# Create test files and directories
mkdir -p test_dir
mkdir -p backup_dir
touch test_dir/file1.txt
touch test_dir/file2.txt
ln -s test_dir/file1.txt test_dir/file1_link
# Copy updated files
cp -u test_dir/file1.txt backup_dir/
# Resolve symbolic link to copy file
cp -L test_dir/file1_link backup_dir/
# Create symbolic link
cp -s test_dir/file2.txt backup_dir/file2_link



Code Example Explanations
1. Copy Updated Files
-
<span>cp -u test_dir/file1.txt backup_dir/</span>: This command copies the file only if<span>test_dir/file1.txt</span>is newer than<span>backup_dir/file1.txt</span>. This avoids unnecessary file copying and improves efficiency.
2. Resolve Symbolic Link to Copy File
-
<span>cp -L test_dir/file1_link backup_dir/</span>: This command resolves the symbolic link<span>test_dir/file1_link</span>and copies the target file<span>test_dir/file1.txt</span>to the<span>backup_dir</span>directory.
3. Create Symbolic Link
-
<span>cp -s test_dir/file2.txt backup_dir/file2_link</span>: This command creates a symbolic link in the<span>backup_dir</span>directory pointing to<span>test_dir/file2.txt</span>. Symbolic links are similar to shortcuts in Windows.
Exercises
Exercise 1: Use the<span>cp -u</span> command to copy a file to another directory only if the source file is updated.
Exercise 2: Use the<span>cp -L</span> command to copy the target file pointed to by a symbolic link.
Exercise 3: Use the<span>cp -s</span> command to create a symbolic link.
Exercise Answer Hints
Exercise 1: Run<span>cp -u source_file.txt destination_dir/</span> to copy<span>source_file.txt</span> to the<span>destination_dir</span> directory only if<span>source_file.txt</span> is newer than<span>destination_dir/source_file.txt</span>.
Exercise 2: Run<span>cp -L source_link destination_dir/</span> to copy the target file pointed to by the symbolic link<span>source_link</span> to the<span>destination_dir</span> directory.
Exercise 3: Run<span>cp -s source_file.txt destination_dir/file_link</span> to create a symbolic link in the<span>destination_dir</span> directory pointing to<span>source_file.txt</span> as<span>file_link</span>.
Through this case study, you have mastered various parameters of the<span>cp</span> command and their application scenarios, enabling you to copy files and directories in the file system more efficiently. These skills will provide a solid foundation for your daily operations and development work in the Linux environment.
