When working with files and directories, there are basic commands that can be used for manipulation. These commands include:
Before we delve into these commands, let's create a new file. Name it
filename.txt and add some random text to it. Make sure you navigate to its directory using your terminal.
cp - Copy
cp command is used to copy files or directories from one location to another. It creates a duplicate of the specified file or directory, which can be placed in the same directory or a different one. The common format for the
cp command is:
cp <file_name> <new_file_name>
cp README.md contribute.md
cp command can also be used to copy multiple files. Make sure
file_name2, etc., exist:
cp <file_name1> <file_name2> ...<new_file_name2>
cp README.md contribute.md support.md
If you want to copy all the contents from all the
.md files in a directory to a destination file, you can use the wildcard
cp *.md <destination_file_name>
cp *md teams.md
To copy a file to a specific directory, create a new directory or folder in your root directory and run the command in the following format:
cp <file_name> <directory/new_file_name>
cp README.md folder/contribute.md
Just like the commands above, you can add the
-i flag to the cp command. When used, it prompts for confirmation before overwriting an existing file.
To create a new file and put content in it, which is different from an already existing file:
cp -i <file_name1> <file_name2>
cp -i README.md contribute.md
When you run the above code in your terminal, you will be prompted if you want to overwrite the file (if
<file_name2>already exists). You can enter
yes) to override the content of <
file_name2\> with the content of <
no) or just click the enter button if you do not want to overwrite it.
cp: overwrite 'contribute.md'?
When you need to copy the contents of an existing directory
<dir1> to a new directory
<dir2>, including all subdirectories and files, you can utilize the
cp command with the
-R flag. This flag enables recursive copying, ensuring that the entire directory structure is preserved.
Here's how you can accomplish this:
cp -R <dir1> <dir2>
In this command,
<dir1> represents the source directory whose contents you want to copy, and
<dir2> is the destination directory where you want to create the copied contents.
-R flag tells the
cp command to perform a recursive copy, ensuring that all subdirectories and files within
<dir1> are copied to
<dir2> does not exist, it will be created during the copying process.
Note: that the
-Rflag is crucial when you want to copy directories, as it allows for the copying of both the directory's contents and its subdirectories.
By utilizing the
cp command with the
-R flag, you can efficiently copy the entire contents of one directory to another, preserving the structure and ensuring that all files and subdirectories are successfully copied.
Suppose you have an existing directory named
documentation, and you want to move all of its files and subdirectories to a new directory called
reserve. You can achieve this by using the
cp command with the
-R flag for recursive copying.
cp -R documentation reserve
mv - Move
mv command not only allows you to move individual files but also provides the flexibility to move multiple files into another directory (folder) simultaneously.
To move multiple files to a destination directory, you can use the following syntax:
mv <file1> <file2> <destination_directory>
In this example, both
<file2> will be moved to
<destination_directory>. The files will no longer exist in their original location and will be consolidated in the specified
For instance, consider the command:
mv file1 file2 destination_folder
After executing this command, both
file2 will be moved to the
destination_folder. These files will no longer be present in their original location, ensuring a streamlined organization of your files.
mv command's ability to move multiple files simultaneously simplifies the process of managing and rearranging files within your system.
Note: You can use the wildcard pattern
iflag if you wish to:
mv -i *.txt backup
Using the wildcard pattern * in combination with the mv command allows for efficient and streamlined file movements, especially when dealing with large numbers of files.
mv doc/accordion.md documentation
In this case, the file
accordion.md located in the doc directory will be moved to the
documentation directory. The file will be deleted from the
doc directory, and if the
documentation directory does not exist, it will be created automatically.
mv command is a versatile tool for organizing files and directories within your system. It allows you to seamlessly move files between directories, ensuring that your file structure remains well-organized and up-to-date.
rm command is used to delete files and directories from your system. It is important to exercise caution when using this command, as deleted files or folders cannot be recovered.
To remove a single file, use the following command:
Alternatively, you can use the -i flag to be prompted for confirmation before deleting a file or folder:
rm -i <file_name>
For example, to remove the file "accordion.md" located in the "doc" directory, you can run:
rm -i doc/accordion.md
The prompt will ask the following question:
rm: remove regular file 'doc/accordion.md'?
If you type
yes), the file will be deleted.
To delete an entire folder or directory, you need to use the -r flag, which stands for "recursive":
rm -r <dir>
For instance, to delete the "folder1" directory and its contents, you can execute:
rm -r folder1
If you wish to delete multiple folders or directories, you can use either the
rm -r <dir1> <dir2> ...
rm -rf <dir1> <dir2> ...
Note: that the
rm -rfcommand is more aggressive and powerful than
rm -r. It bypasses confirmation prompts and forcefully removes directories and their contents. This option should be used with caution to prevent accidental data loss.
Remember to double-check your commands before executing them to ensure you are deleting the intended files or directories.
mkdir - Make Directory
mkdir command is used to create a new directory.
To create a single directory, use the following command:
For example, to create a directory named "folder", you can run:
You can also create multiple directories at once by specifying their names:
mkdir <dir1> <dir2> ...
For example, to create directories named "folder1", "folder2", and "folder3", you can execute:
mkdir folder1 folder2 folder3
Note: that if a directory with the same name already exists, the
mkdir command will generate an error. To avoid this, you can use the
-p flag, which stands for "parents" and allows the creation of nested directories. This way, if any intermediate directories are missing, they will be created as well.
mkdir -p <dir_path>
For instance, to create a directory named "nested" inside a directory named "parent" (assuming "parent" doesn't exist yet), you can use:
mkdir -p parent/nested
This will create both the "parent" and "nested" directories.
Remember to choose meaningful and descriptive names for your directories to keep your file system organized and easily navigable.
rmdir - Remove Directory
rmdir is the opposite of
mkdir. It deletes a folder only when it is empty.