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/

Keď sa používa na presun súboru v rámci rovnakého adresára alebo do iného adresára, mv efektívne premenuje súbor, ak sú zdrojová a cieľová cesta v rámci rovnaký súborový systém.

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

Presúvanie viacerých súborov

Príkaz mv nie je obmedzený na presun jedného súboru naraz. Pomocou zástupných znakov môžete súčasne presúvať viacero súborov. Ak chcete napríklad presunúť všetky textové súbory z jedného adresára do druhého, môžete použiť nasledujúci príkaz:

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

Prepisovanie súborov

Pri presúvaní súborov sa môžete stretnúť so situáciou, keď súbor s rovnakým názvom už existuje v cieľovom adresári. V predvolenom nastavení vás príkaz mv pred prepísaním súboru vyzve na potvrdenie. Toto správanie však môžete prepísať pomocou voľby -f:

$ mv -f filename destination_directory/

Pri používaní voľby -f buďte opatrní, pretože prepíše existujúce súbory bez akéhokoľvek potvrdenia.

Zachovanie metadát súboru

Príkaz mv nielen premiestňuje súbory, ale tiež vám umožňuje zachovať ich metadáta vrátane časových pečiatok a povolení. Ak chcete zachovať pôvodné časové pečiatky súborov počas presunu, použite voľbu -p:

$ mv -p filename destination_directory/

Je to užitočné najmä vtedy, keď chcete zabezpečiť, aby si presunuté súbory zachovali svoje pôvodné časové pečiatky vytvorenia a úpravy.

Podrobný režim

Ak chcete vidieť podrobné informácie o presúvaných súboroch, môžete použiť voľbu -v na aktiváciu podrobného režimu:

$ mv -v filename destination_directory/

Podrobný režim poskytuje spätnú väzbu v reálnom čase, pričom zobrazuje každý súbor pri jeho presúvaní, čím poskytuje jasnejšie pochopenie procesu.

Presúvanie adresárov

Príkaz mv dokáže bezproblémovo zvládnuť aj presuny adresárov. Ak chcete presunúť celý adresár a jeho obsah, jednoducho zadajte zdrojový a cieľový adresár:

$ mv source_directory/ destination_directory/

Tento príkaz presunie celý obsah zdrojového adresára do určeného cieľového adresára.

Alternatívne spôsoby presúvania súborov v systéme Linux

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:

Príkaz cp (Kopírovať) s voľbou -r

Príkaz cp sa tradične používa na kopírovanie súborov, ale dá sa použiť aj na ich presun kombináciou s voľbou -r (rekurzívne). Táto možnosť je potrebná pri práci s adresármi a ich obsahom.

$ cp -r source_directory/ destination_directory/

Tento príkaz rekurzívne skopíruje obsah zdrojového adresára do cieľového adresára a efektívne dosiahne operáciu presunu.

Príkaz rsync

Príkaz rsync je výkonný nástroj na synchronizáciu a kopírovanie súborov. Dá sa použiť aj na presúvanie súborov medzi adresármi. Základná syntax je:

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

Voľba -a zachováva oprávnenia súboru a ďalšie atribúty.
Voľba -v umožňuje podrobný režim na zobrazenie spracovávaných súborov.
The –remove-source-files option removes the files from the source directory after successful transfer.

rsync je obzvlášť užitočný na presun veľkého množstva údajov a udržiavanie synchronizácie medzi zdrojom a cieľom.

nájsť a spustiť príkaz

Príkaz find v kombinácii s exec možno použiť na presun súborov na základe určitých kritérií. Ak chcete napríklad presunúť všetky textové súbory v adresári a jeho podadresároch na nové miesto:

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

Zhrnutie

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 find a 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.