How to Move Multiple Files in Linux Bash
- Moving Files Using Specific Filenames
- Moving Files Using Wildcards
- Moving Files with Git Commands
- Moving Files with Git and Wildcards
- Conclusion
- FAQ

Moving multiple files in Linux Bash can seem daunting at first, especially if you’re new to the command line. However, with a few simple commands, you can easily transfer files from one directory to another. Whether you’re organizing files or preparing for a project, understanding how to move multiple files efficiently is essential.
In this article, we will explore various methods to move multiple files using filenames and wildcards. By the end of this guide, you will be equipped with the knowledge to manage your files like a pro in Linux Bash.
Moving Files Using Specific Filenames
One of the simplest ways to move multiple files in Linux Bash is by specifying their filenames directly. This method is particularly useful when you know the exact names of the files you want to move. For example, let’s say you have three files: file1.txt
, file2.txt
, and file3.txt
, and you want to move them to a directory called destination_folder
.
Here’s how you can do it:
mv file1.txt file2.txt file3.txt destination_folder/
Output:
file1.txt moved to destination_folder/
file2.txt moved to destination_folder/
file3.txt moved to destination_folder/
By using the mv
command followed by the filenames and the destination directory, you can quickly relocate multiple files. This method is straightforward, but it requires you to specify each filename. If you have many files to move, this can become tedious.
Moving Files Using Wildcards
If you need to move a large number of files that share a common pattern, using wildcards can save you a lot of time. Wildcards allow you to specify patterns that match multiple filenames. For instance, if you want to move all .txt
files from your current directory to destination_folder
, you can use the asterisk *
wildcard.
Here’s how to do it:
mv *.txt destination_folder/
Output:
All .txt files moved to destination_folder/
In this command, *.txt
matches all files with the .txt
extension in the current directory. The mv
command then moves all of these files into the specified destination folder. This method is efficient and ideal for bulk file management, allowing you to move many files with just one command.
Moving Files with Git Commands
If you’re working within a Git repository and need to move multiple files, Git provides a way to do this while maintaining version control. The git mv
command is specifically designed for moving files in a Git-managed project. This command not only moves the files but also stages the changes for the next commit.
For example, if you want to move file1.txt
and file2.txt
to a new directory called new_folder
, you can use the following command:
git mv file1.txt file2.txt new_folder/
Output:
file1.txt moved to new_folder/
file2.txt moved to new_folder/
Using git mv
is beneficial because it keeps your repository clean and tracks the file history. After executing this command, you can commit the changes with:
git commit -m "Moved files to new_folder"
This method is particularly useful when collaborating on projects, as it ensures that all changes are tracked and documented in your Git history.
Moving Files with Git and Wildcards
Combining wildcards with Git commands is a powerful way to manage files efficiently in a Git repository. If you want to move all .txt
files to a new directory, you can do so with the following command:
git mv *.txt new_folder/
Output:
All .txt files moved to new_folder/
This command works similarly to the previous examples, but it utilizes the wildcard to match all .txt
files in the repository. By using git mv
, you ensure that all changes are tracked, making it easy to collaborate with others and maintain a clean project history. After executing this command, remember to commit your changes to finalize the move:
git commit -m "Moved all .txt files to new_folder"
This approach not only simplifies file management but also enhances collaboration in a team environment.
Conclusion
Moving multiple files in Linux Bash is a skill that can greatly enhance your productivity. Whether you choose to specify filenames directly or utilize wildcards, the methods discussed in this article provide you with the flexibility to manage your files efficiently. If you’re working with Git, remember that using git mv
ensures that your file movements are tracked, which is crucial for maintaining a clean project history. With these techniques, you can navigate your file system like a pro, making your Linux experience smoother and more efficient.
FAQ
-
How do I move files in Linux without using wildcards?
You can move files by specifying each filename in themv
command, like this:mv file1.txt file2.txt destination_folder/
. -
Can I move files in a Git repository without losing their history?
Yes, using thegit mv
command allows you to move files while keeping their version history intact. -
What is the difference between
mv
andgit mv
?
Themv
command is used for moving files in the filesystem, whilegit mv
moves files within a Git repository and stages the changes for the next commit. -
Can I move files with different extensions using wildcards?
Yes, you can use wildcards to match files with specific patterns, such asmv *.txt
to move all.txt
files. -
What happens if I move files to a directory that doesn’t exist?
If the destination directory does not exist, themv
command will return an error, and the files will not be moved.
Yahya Irmak has experience in full stack technologies such as Java, Spring Boot, JavaScript, CSS, HTML.
LinkedIn