mv command in linux terminal

How to Move Files in Linux: Mastering “mv” command

To move files in Linux you need to use the mv command. Here are some examples:

# move file1 to file2 (what command actually does is renaming the file)
$ mv file1 file2
# move file1 from dir1 to dir2
$ mv folder1/file1 folder2/
# move all files from folder1 to folder2
$ mv folder1/* folder2/

Kada se koristi za premještanje datoteke unutar iste mape ili u drugu mapu, mv zapravo preimenuje datoteku ako su izvorne i odredišne staze unutar istog datotečnog sustava.

Now when we touched the basics of the ‘mv’ command in Linux, lets explore more ways to efficiently move files and directories.

Mastering the “mv” command

Premještanje više datoteka

Naredba mv nije ograničena na premještanje jedne datoteke odjednom. Možete istovremeno premjestiti više datoteka koristeći zamjenske znakove. Na primjer, za premještanje svih tekstualnih datoteka iz jedne mape u drugu, možete upotrijebiti sljedeću naredbu:

$ mv *.txt destination_directory/

This command selects all files with the “.txt” extension and moves them to the specified destination directory. The asterisk (*) acts as a wildcard, matching any characters.

Prepisivanje datoteka

Kada premještate datoteke, mogli biste naići na situaciju u kojoj datoteka s istim imenom već postoji u odredišnoj mapi. Po zadanim postavkama, naredba mv će vas pitati za potvrdu prije nego što prepiše datoteku. Međutim, možete nadjačati ovo ponašanje korištenjem opcije -f:

$ mv -f filename destination_directory/

Budite oprezni kada koristite opciju -f, jer će prepisati postojeće datoteke bez ikakve potvrde.

Očuvanje metapodataka datoteka

mv naredba ne samo da premješta datoteke, već također omogućuje očuvanje njihovih metapodataka, uključujući vremenske oznake i dozvole. Da biste održali izvorne vremenske oznake datoteka tijekom premještanja, upotrijebite -p opciju:

$ mv -p filename destination_directory/

To je posebno korisno kada želite osigurati da premještene datoteke zadrže svoje izvorne vremenske oznake stvaranja i izmjene.

Verbose način

Ako želite vidjeti detaljne informacije o datotekama koje se premještaju, možete koristiti -v opciju za omogućavanje verbose načina:

$ mv -v filename destination_directory/

Verbose način pruža povratne informacije u stvarnom vremenu, prikazujući svaku datoteku dok se premješta, pružajući jasnije razumijevanje procesa.

Premještanje direktorija

mv naredba može besprijekorno obraditi i premještanje direktorija. Da biste premjestili cijeli direktorij i njegov sadržaj, jednostavno navedite izvorne i odredišne direktorije:

$ mv source_directory/ destination_directory/

Ova naredba premješta cijeli sadržaj izvorne direktorije u navedenu odredišnu direktoriju.

Alternativni načini za premještanje datoteka u Linuxu

In addition to the mv command, Linux provides a few other commands and utilities for moving files and directories. Here are a couple of alternatives:

cp (Kopiraj) naredba s -r opcijom

Naredba cp se tradicionalno koristi za kopiranje datoteka, ali se također može koristiti za njihovo premještanje kombiniranjem s -r opcijom (rekurzivno). Ova opcija je potrebna kada se radi s direktorijima i njihovim sadržajem.

$ cp -r source_directory/ destination_directory/

Ova naredba rekurzivno kopira sadržaj izvorne mape u odredišnu mapu i učinkovito ostvaruje operaciju premještanja.

rsync naredba

Naredba rsync je moćan alat za sinkronizaciju i kopiranje datoteka. Također se može koristiti za premještanje datoteka između direktorija. Osnovna sintaksa je:

$ rsync -av --remove-source-files source_directory/ destination_directory/

-a opcija čuva dozvole datoteka i druge atribute.
Opcija -v omogućuje detaljni način rada kako bi se prikazali obrađeni datoteke.
The –remove-source-files option removes the files from the source directory after successful transfer.

rsync je posebno koristan za premještanje velikih količina podataka i održavanje sinkronizacije između izvora i odredišta.

find i exec naredba

Naredba find, u kombinaciji s exec, može se koristiti za premještanje datoteka na temelju određenih kriterija. Na primjer, za premještanje svih tekstualnih datoteka u mapi i njenim podmapama na novu lokaciju:

$ find source_directory/ -type f -name "*.txt" -exec mv {} destination_directory/

This command finds all files (-type f) with the “.txt” extension and executes the mv command on each of them, moving them to the specified destination.

Sažetak

Mastering the mv command in Linux is essential for efficient file and directory management. We’ve covered the fundamental usage of the mv command, from simple file renaming to moving entire directories. Additionally, we explored alternative commands like cp with the -r option, the rsync command, and the dynamic combination of pronaći i exec for more specialized moves. By incorporating these commands into your Linux toolkit, you empower yourself to manage files seamlessly and make the most of the robust capabilities that the Linux command line provides.