mv

Przenosi lub zmienia nazwę plików i katalogów.

mv (od move) to jedno z najczęściej używanych poleceń w terminalu Linuksa. Robi dwie rzeczy naraz: przenosi pliki i katalogi w inne miejsce oraz zmienia im nazwę. To zależy tylko od tego, czy cel jest istniejącym katalogiem, czy nową ścieżką. W przeciwieństwie do cp nie tworzy kopii — oryginał znika ze starej lokalizacji. Jeśli źródło i cel są na tym samym dysku, operacja jest błyskawiczna, bo system zmienia tylko wpis w katalogu, a nie przepisuje danych.

Składnia i najważniejsze opcje

Podstawowa forma wygląda tak: mv [OPCJE] ŹRÓDŁO... CEL

  • -i — pyta o potwierdzenie przed nadpisaniem istniejącego pliku (tryb interaktywny).
  • -n — nie nadpisuje istniejących plików (no-clobber); kolizja jest po prostu pomijana.
  • -f — nadpisuje bez pytania, wyłącza wcześniejsze -i.
  • -u — przenosi tylko, gdy źródło jest nowsze niż cel albo cel nie istnieje.
  • -v — tryb gadatliwy, wypisuje co dokładnie zostało przeniesione.
  • -b — robi kopię zapasową pliku, który byłby nadpisany (domyślnie z tyldą, np. plik~).
  • -t KATALOG — wskazuje katalog docelowy jako pierwszy argument; przydatne w połączeniu z xargs i find.
  • -T — traktuje cel jako zwykły plik, nie katalog (chroni przed wpadnięciem do istniejącego katalogu).

Przykłady użycia

  • mv raport.txt raport_2026.txt — zmienia nazwę pliku w tym samym katalogu.
  • mv plik.pdf ~/Dokumenty/ — przenosi plik do katalogu Dokumenty, zachowując nazwę.
  • mv zdjecie1.jpg zdjecie2.jpg zdjecie3.jpg ~/Obrazy/ — przenosi kilka plików naraz; ostatni argument musi być katalogiem.
  • mv -i stary.conf /etc/app/stary.conf — przenosi z pytaniem, zanim cokolwiek nadpisze.
  • mv -v projekt/ kopia_projektu/ — zmienia nazwę całego katalogu i pokazuje, co się stało.

Częste błędy i pułapki

Największa pułapka: mv nadpisuje cel bez ostrzeżenia. Jeśli przeniesiesz plik na inny o tej samej nazwie, ten drugi przepada bezpowrotnie — nie ma kosza, nie ma cofania. Dlatego przy ważnych danych warto wyrobić sobie nawyk dodawania -i albo -n. Druga klasyczna wpadka to literówka w nazwie katalogu docelowego: jeśli ~/Dokumnety/ nie istnieje, mv potraktuje to jako zmianę nazwy pliku, a Ty będziesz potem zachodzić w głowę, gdzie się podział.

Przy przenoszeniu między różnymi systemami plików (np. z dysku na pendrive) mv kopiuje dane, a potem kasuje oryginał — to trwa dłużej i przy przerwaniu operacji możesz zostać z plikiem w połowie. Pamiętaj też, że na większości dystrybucji mv pochodzi z GNU coreutils, więc opcje jak -t czy --backup są dostępne; na macOS czy BSD wersja jest uboższa i część flag nie zadziała.

Powiązane komendy: cp (kopiowanie zamiast przenoszenia), rm (usuwanie), rename (masowa zmiana nazw po wzorcu), ln (dowiązania) oraz install.