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:
- Premeštanje fajla ili direktorijuma na drugu lokaciju
- 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:*.txtznaci "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.