Gym
lesson

Kopiranje i premeštanje

Cilj lekcije: Naučiti kako se kopiraju i premeštaju fajlovi i direktorijumi u Linux sistemu koristeći cp i mv komande, i razumeti ključnu razliku između njih.


Kopiranje fajlova — cp

Komanda cp (copy) kreira kopiju fajla ili direktorijuma.

Osnovna sintaksa

cp izvor odredište

Primer: Kopiranje fajla

cp dokument.txt kopija_dokumenta.txt

Originalni fajl dokument.txt ostaje netaknut, a novi fajl kopija_dokumenta.txt je identična kopija.

cp dokument.txt ~/arhiva/

Kopira dokument.txt u direktorijum arhiva u korisnikovom home direktorijumu. Ime fajla ostaje isto.

Kopiranje u drugi direktorijum sa novim imenom

cp izvestaj.txt ~/arhiva/izvestaj_backup.txt

Kopiranje direktorijuma — cp -r

Da bismo kopirali ceo direktorijum (sa svim sadržajem), koristimo opciju -r (recursive — rekurzivno):

cp -r projekat/ ~/backup/projekat/

Važno: Bez -r, pokušaj kopiranja direktorijuma rezultuje greškom:

cp: -r not specified; omitting directory 'projekat/'

Primer: Pravljenje backup-a projekta

mkdir -p ~/backup
cp -r ~/projekat/ ~/backup/projekat_backup/

Sada imaš kompletnu kopiju projekta.


Korisne opcije za cp

Opcija Značenje
-r Rekurzivno (za direktorijume)
-i Pita pre prepisivanja (interactive)
-v Prikazuje šta kopira (verbose)
-p Cuva originalne permisije i timestamp-ove — npr. cp -p vazni.txt backup/vazni.txt
-u Kopira samo ako je izvor noviji od odredista

Primer sa -v (verbose) i -i (interactive)

cp -vi dokument.txt ~/arhiva/
cp: overwrite '~/arhiva/dokument.txt'? y
'dokument.txt' -> '/home/student/arhiva/dokument.txt'

Premeštanje i preimenovanje — mv

Komanda mv (move) ima dve namene:

  1. Premeštanje fajla ili direktorijuma na drugu lokaciju
  2. Preimenovanje fajla ili direktorijuma

Osnovna sintaksa

mv izvor odredište

Primer: Premeštanje fajla

mv beleska.txt ~/dokumenti/

Fajl beleska.txt je premešten u ~/dokumenti/. Na originalnoj lokaciji više ne postoji.

Primer: Preimenovanje fajla

mv staro_ime.txt novo_ime.txt

Fajl je preimenovan — nije napravljena kopija, samo je promenjen naziv.

Preimenovanje i premeštanje u isto vreme

mv izvestaj.txt ~/arhiva/izvestaj_2024.txt

Fajl je premešten u ~/arhiva/ i preimenovan u izvestaj_2024.txt.


Premeštanje direktorijuma

Za razliku od cp, komanda mv ne zahteva -r za direktorijume:

mv stari_projekat/ ~/arhiva/

Ceo direktorijum stari_projekat/ je premešten u ~/arhiva/.

mv stari_naziv/ novi_naziv/

Direktorijum je preimenovan.


Ključna razlika: cp vs mv

cp mv
Original ostaje? Da Ne (premešten/obrisan)
Kreira kopiju? Da Ne
Zahteva -r za dir? Da Ne
Brzina (isti disk)? Spora (kopira podatke) Brza (samo menja putanju)

Praktični primeri

Organizovanje fajlova

mkdir -p ~/dokumenti ~/slike ~/skripte

mv *.txt ~/dokumenti/
mv *.jpg ~/slike/
mv *.png ~/slike/
mv *.sh ~/skripte/

Napomena o *: Znak * znaci "sve, sta god da je" — detaljno u poglavlju 6.4 (wildcards). Za sad: *.txt znaci "svaki fajl koji se zavrsava na .txt".

Backup pre izmene

cp konfiguracija.conf konfiguracija.conf.backup

Dobar je običaj napraviti backup fajla pre bilo kakve izmene.

Preimenovanje više fajlova

mv izvestaj_staro.txt izvestaj_2024.txt
mv prezentacija_draft.pptx prezentacija_final.pptx

Česti problemi

mv prepisuje bez upozorenja

mv -i novi_fajl.txt ~/dokumenti/stari_fajl.txt

Opcija -i (interactive) pita pre prepisivanja postojećeg fajla.

cp kopira simbolički link, ne ciljni fajl (više o linkovima u lekciji 4.4)

Koristiti -L da se prati link i kopira stvarni fajl:

cp -L link_na_fajl.txt kopija.txt

Rezime

Komanda Šta radi
cp fajl.txt kopija.txt Kopira fajl
cp fajl.txt ~/dir/ Kopira fajl u direktorijum
cp -r dir/ ~/backup/ Rekurzivno kopira direktorijum
mv fajl.txt ~/dir/ Premešta fajl
mv staro.txt novo.txt Preimenuje fajl
mv -i fajl.txt ~/dir/ Premešta, pita pre prepisivanja

U sledećoj lekciji ćemo naučiti kako bezbedno brisati fajlove i direktorijume.