Komendy Linux: Przenoszenie plików, zmiana nazw danych

W systemie można przenosić pliki i katalogi oraz zmieniać ich nazwy. Jest to o tyle proste, że wymaga użycia tyko jednego polecenia - mv. Aby zmienić nazwę pliku, używamy tego polecenia, podając za nim starą nazwę istniejącego już pliku i tę, na jaką chcemy ją zamienić. Załóżmy, że mamy plik plik1 i chcemy zmienić jego nazwę na plik2.
user@linux:~$ ls -l
-rw-rw-r-- 1 user user plik1

user@linux:~$ mv plik1 plik2
user@linux:~$ ls -l
-rw-rw-r-- 1 user user plik2
Przenosimy elementy niemal tak samo; jedyna różnica polega na tym, iż pierwszą nazwą jest element, który chcemy przenieść, a drugą element docelowy. Ten drugi musi istnieć fizycznie na dysku; w innym wypadku polecenie to zmienia nazwę pierwszego elementu. Spróbujmy przenieść katalog kat1 do katalogu kat2.
user@linux:~$ ls
katl kat2

user@linux:~$ mv katl kat2
user@linux:~$ ls
kat2
Parametry polecenia (mv):
  • -b [metoda], --backup[=metoda]
  • Jeżeli przenosimy plik do katalogu, w którym istnieje już plik o tej samej nazwie, ten drugi zostanie nadpisany, wskutek czego możemy stracić zapisane w nim ważne dane. Aby tego uniknąć, powinniśmy użyć parametru -b. Jeżeli zdarzy się, że nazwa przenoszonego pliku będzie identyczna z nazwą jakiegoś innego pliku znajdującego się w docelowej lokalizacji, zostanie utworzona kopia tego drugiego, istniejącego już pliku, a jego oryginał zostanie nadpisany przez przenoszony.
    [lukasz@linux linux]$ mv -b plik1 katalog
    [lukasz@linux linux]$ ls katalog
    plik1 plik1~
  • -f , --force
  • Jeżeli w katalogu, do którego chcemy przenieść dany plik, istnieje już plik o takiej nazwie, to po użyciu tego parametru zostanie on nadpisany bez powiadamiania o tym użytkownika.
    user@linux:~$ mv -f plik1 katalog
  • -i , --interactive
  • Jeżeli w katalogu, do którego chcemy przenieść plik, istnieje już plik o tej samej nazwie, dzięki użyciu tego parametru program "zapyta", czy chcemy go nadpisać. Możemy zatwierdzić decyzję klawiszem y lub anulować - dowolnym innym.
    user@linux:~$ mv -i plik1 katalog
    mv : overwrite " katalog/plikl '? y
  • -S przyr_kopii , --suffix=przyr_kopii
  • Tego parametru używamy wraz z parametrem - b . Umożliwia on zdefiniowanie własnego sufiksu kopii zapasowej pliku, który zostanie nadpisany.
    user@linux:~$ mv -b -S _kopia plik1 katalog
    user@linux:~$ ls katalog
    plik1 plik1_kopia
  • -u , --update
  • Jeżeli w katalogu, do którego chcemy przenieść plik, istnieje już inny o takiej samej nazwie, to zostanie on nadpisany jedynie wtedy, gdy data modyfikacji przenoszonego pliku jest nowsza niż tego, który znajduje się w katalogu docelowym.
    user@linux:~$ mv plik1 katalog
    user@linux:~$ ls katalog plik1
  • -v , --verbose
  • W przypadku użycia tego parametru program informuje nas o każdym pliku, który został przeniesiony.
    user@linux:~$ mv -v plik1 katalog
    'plik1' -> 'katalog/plik1'