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/

Kai naudojamas failui perkelti tame pačiame kataloge arba į kitą katalogą, mv veiksmingai pervadina failą, jei šaltinio ir paskirties keliai yra ta pati failų sistema.

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

Kelių failų perkėlimas

Komanda mv neapsiriboja vieno failo perkėlimu vienu metu. Galite perkelti kelis failus vienu metu naudodami pakaitos simbolius. Pavyzdžiui, norėdami perkelti visus tekstinius failus iš vieno katalogo į kitą, galite naudoti šią komandą:

$ 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.

Failų perrašymas

Perkeldami failus galite susidurti su situacija, kai failas tokiu pačiu pavadinimu jau yra paskirties kataloge. Pagal numatytuosius nustatymus komanda mv paragins jus patvirtinti prieš perrašydama failą. Tačiau galite nepaisyti šio elgesio naudodami parinktį -f:

$ mv -f filename destination_directory/

Būkite atsargūs naudodami parinktį -f, nes ji perrašys esamus failus be jokio patvirtinimo.

Failų metaduomenų išsaugojimas

Komanda mv ne tik perkelia failus, bet ir leidžia išsaugoti jų metaduomenis, įskaitant laiko žymes ir leidimus. Norėdami išlaikyti originalias failų laiko žymas perkėlimo metu, naudokite parinktį -p:

$ mv -p filename destination_directory/

Tai ypač naudinga, kai norite užtikrinti, kad perkelti failai išlaikytų savo pradinius kūrimo ir keitimo laiko žymes.

Daugiakalbis režimas

Jei norite matyti išsamią informaciją apie perkeliamus failus, galite naudoti parinktį -v, kad įjungtumėte išsamų režimą:

$ mv -v filename destination_directory/

Daugiakalbis režimas suteikia grįžtamąjį ryšį realiuoju laiku, rodydamas kiekvieną failą, kai jis yra perkeltas, ir suteikia aiškesnį proceso supratimą.

Katalogų perkėlimas

Komanda mv taip pat gali sklandžiai valdyti katalogų judėjimą. Norėdami perkelti visą katalogą ir jo turinį, tiesiog nurodykite šaltinio ir paskirties katalogus:

$ mv source_directory/ destination_directory/

Ši komanda perkelia visą šaltinio katalogo turinį į nurodytą paskirties katalogą.

Alternatyvūs failų perkėlimo Linux sistemoje būdai

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 (kopijuoti) komanda su -r parinktimi

Komanda cp tradiciškai naudojama failams kopijuoti, tačiau ji taip pat gali būti naudojama juos perkelti, derinant ją su parinktimi -r (rekursyvus). Ši parinktis reikalinga dirbant su katalogais ir jų turiniu.

$ cp -r source_directory/ destination_directory/

Ši komanda rekursyviai nukopijuoja šaltinio katalogo turinį į paskirties katalogą ir efektyviai atlieka perkėlimo operaciją.

rsync komanda

Komanda rsync yra galingas failų sinchronizavimo ir kopijavimo įrankis. Jis taip pat gali būti naudojamas failams perkelti iš vieno katalogo į kitą. Pagrindinė sintaksė yra tokia:

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

Parinktis -a išsaugo failo teises ir kitus atributus.
Parinktis -v įgalina išsamų režimą, kad būtų rodomi apdorojami failai.
The –remove-source-files option removes the files from the source directory after successful transfer.

rsync ypač naudinga norint perkelti didelius duomenų kiekius ir palaikyti sinchronizavimą tarp šaltinio ir paskirties vietos.

rasti ir vykdyti komandą

Find komanda kartu su exec gali būti naudojama failams perkelti pagal tam tikrus kriterijus. Pavyzdžiui, norėdami perkelti visus tekstinius failus kataloge ir jo pakatalogiuose į naują vietą:

$ 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.

Santrauka

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 rasti ir 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.