Linux Professional Institute Learning Logo.
Preskoči na glavni sadržaj
  • Home
    • Svi resursi
    • LPI materijali za učenje
    • Postanite saradnik
    • Izdavači partneri
    • Postanite izdavački partner
    • O nama
    • FAQ
    • Saradnici
    • Roadmap
    • Kontaktiraj nas
  • LPI.org
2.4 Lekcija 1
Tema 1: Linux zajednica i open sors karijera
1.1 Evolucija Linux-a i popularni operativni sistemi
  • 1.1 Lekcija 1
1.2 Glavne open sors aplikacije
  • 1.2 Lekcija 1
1.3 Softver otvorenog koda i licenciranje
  • 1.3 Lekcija 1
1.4 ICT vještine i rad sa Linux-om
  • 1.4 Lekcija 1
Tema 2: Kretanje kroz Linux sistem
2.1 Osnove komande linije
  • 2.1 Lekcija 1
  • 2.1 Lekcija 2
2.2 Upotreba komande linije u traženju pomoći
  • 2.2 Lekcija 1
2.3 Korištenje direktorija i izlistavanje podataka
  • 2.3 Lekcija 1
  • 2.3 Lekcija 2
2.4 Kreiranje, premještanje i brisanje podataka
  • 2.4 Lekcija 1
Tema 3: Moć komandne linije
3.1 Arhiviranje podataka uz pomoć komande linije
  • 3.1 Lekcija 1
3.2 Pretraživanje i ekstrakcija informacija iz podataka
  • 3.2 Lekcija 1
  • 3.2 Lekcija 2
3.3 Pretvaranje komandi u skriptu
  • 3.3 Lekcija 1
  • 3.3 Lekcija 2
Tema 4: Linux operativni sistem
4.1 Odabir operativnog sistema
  • 4.1 Lekcija 1
4.2 Razumijevanje računalnog hardvera
  • 4.2 Lekcija 1
4.3 Gdje se smještaju podaci
  • 4.3 Lekcija 1
  • 4.3 Lekcija 2
4.4 Računalo na mreži
  • 4.4 Lekcija 1
Tema 5: Sigurnost i prava nad podacima
5.1 Osnovna sigurnost i identifikacija vrste korisnika
  • 5.1 Lekcija 1
5.2 Kreiranje korisnika i grupa
  • 5.2 Lekcija 1
5.3 Upravljanje pravima i ovlastima nad podacima
  • 5.3 Lekcija 1
5.4 Specijalni direktoriji i podaci
  • 5.4 Lekcija 1
How to get certified
  1. Tema 2: Kretanje kroz Linux sistem
  2. 2.4 Kreiranje, premještanje i brisanje podataka
  3. 2.4 Lekcija 1

2.4 Lekcija 1

Sertifikat:

Linux Essentials

Verzija:

1.6

Tema:

2 Kretanje kroz Linux sistem

Cilj:

2.4 Kreiranje, premještanje i brisanje datoteka

Lekcija:

1 od 1

Uvod

Ova lekcija pokriva upravljanje datotekama i direktorijima na Linux-u koristeći alate komandne linije.

Datoteka je zbirka podataka s imenom i skupom atributa. Ako biste, na primjer, prenijeli neke fotografije sa svog telefona na računar i dali im opisna imena, sada biste na svom računaru imali gomilu slikovnih datoteka. Ove datoteke imaju atribute kao što je vrijeme kada je datoteka posljednji put pristupana ili modificirana.

Direktorij je posebna vrsta datoteke koja se koristi za organiziranje datoteka. Dobar način razmišljanja o direktorijima je poput fascikli datoteka koje se koriste za organiziranje papira u ormaru za datoteke. Za razliku od papirnih fascikli datoteka, možete lako staviti direktorije unutar drugih direktorija.

Komandna linija je najefikasniji način upravljanja datotekama na Linux sistemu. Alati šela i komandne linije imaju karakteristike koje čine korištenje komandne linije bržim i lakšim od grafičkog menadžera datoteka.

U ovom dijelu ćete koristiti komande ls, mv, cp, pwd, find, touch, rm, rmdir, echo, cat i mkdir za upravljanje i organiziranje datoteka i direktorija.

Osetljivost na velika i mala slova

Za razliku od Microsoft Windowsa, imena datoteka i direktorija na Linux sistemima razlikuju velika i mala slova. To znači da su imena /etc/ i /ETC/ različiti direktoriji. Probajte sljedeće komande:

$ cd /
$ ls
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr
$ cd ETC
bash: cd: ETC: No such file or directory
$ pwd
/
$ cd etc
$ pwd
/etc

Komanda pwd vam pokazuje direktorij u kojem se trenutno nalazite. Kao što vidite, promjena u /ETC nije radila jer takav direktorij ne postoji. Promjena u direktorij /etc koji postoji, je uspjela.

Kreiranje direktorija

Za kreiranje direktorija, koristi se komanda mkdir.

Kreirajmo novi direktorij unutar našeg home direktorija:

$ cd ~
$ pwd
/home/user
$ ls
Desktop  Documents  Downloads
$ mkdir linux_essentials-2.4
$ ls
Desktop  Documents  Downloads  linux_essentials-2.4
$ cd linux_essentials-2.4
$ pwd
/home/emma/linux_essentials-2.4

Za vrijeme trajanja ove lekcije, sve komande će se odvijati unutar ovog direktorija ili u jednom od njegovih poddirektorija.

Da biste se lako vratili u direktorij lekcija sa bilo koje druge pozicije u vašem sistemu datoteka, možete koristiti komandu:

$ cd ~/linux_essentials-2.4

Shell interpretira karakter ~ kao vaš home direktorij.

Kada ste u direktoriju lekcija, kreirajte još nekoliko direktorija koje ćemo koristiti za vježbe. Možete dodati sve nazive direktorija, odvojene razmacima, u mkdir komandi:

$ mkdir creating moving copying/files copying/directories deleting/directories deleting/files globs
mkdir: cannot create directory ‘copying/files’: No such file or directory
mkdir: cannot create directory ‘copying/directories’: No such file or directory
mkdir: cannot create directory ‘deleting/directories’: No such file or directory
mkdir: cannot create directory ‘deleting/files’: No such file or directory
$ ls
creating  globs  moving

Obratite pažnju na poruku o grešci i da su kreirani samo direktoriji moving, globs i creating. Direktoriji copying i deleting još ne postoje. mkdir, prema zadanim postavkama, neće kreirati direktorij unutar direktorija koji ne postoji. Opcija -p ili --parents nalaže mkdir komandi da kreira roditeljske direktorije ako ne postoje. Isprobajte istu komandu mkdir s opcijom -p:

$ mkdir -p creating moving copying/files copying/directories deleting/directories deleting/files globs

Sada ne dobijate nikakve poruke o grešci. Pogledajmo koji direktoriji sada postoje:

$ find
.
./creating
./moving
./globs
./copying
./copying/files
./copying/directories
./deleting
./deleting/directories
./deleting/files

Program find se obično koristi za traženje datoteka i direktorija, ali bez ikakvih opcija, on će vam pokazati listu svih datoteka, direktorija i poddirektorija vašeg trenutnog direktorija.

Tip

Kada prikazujete sadržaj direktorija sa ls, opcije -t i -r su posebno zgodne. Oni sortiraju izlaz po vremenu (-t) i obrnutom redoslijedu sortiranja (-r). U ovom slučaju, najnoviji fajlovi će biti na dnu izlaza.

Kreiranje datoteka

Obično će datoteke kreirati programi koji rade s podacima pohranjenim u datotekama. Prazan fajl se može kreirati pomoću komande touch. Ako pokrenete touch na postojećoj datoteci, sadržaj datoteke neće biti promijenjen, ali će se ažurirati vremenska oznaka izmjene ili kreiranja datoteka.

Pokrenite sljedeću komandu da kreirate neke fajlove za lekciju globinga:

$ touch globs/question1 globs/question2012 globs/question23 globs/question13 globs/question14
$ touch globs/star10 globs/star1100 globs/star2002 globs/star2013

Sada provjerimo da li postoje sve daoteke unutar direktorija 'globs':

$ cd globs
$ ls
question1   question14    question23  star1100  star2013
question13  question2012  star10      star2002

Obratite pažnju kako je touch kreirao fajlove? Možete vidjeti sadržaj tekstualne datoteke pomoću komande cat. Isprobajte ga na jednoj od datoteka koje ste upravo kreirali:

$ cat question14

Pošto touch komanda kreira prazne datoteke, ne biste trebali dobiti nikakav izlaz. Možete koristiti echo komandu sa karakterom > za kreiranje jednostavnih tekstualnih datoteka. Probaj:

$ echo hello > question15
$ cat question15
hello

Komanda echo prikazuje tekst na komandnoj liniji. Znak > upućuje šelu da zapiše izlaz komande u specificiranu datoteku umjesto u vaš terminal. Ovo dovodi do toga da se izlaz echo, hello u ovom slučaju upisuje u datoteku question15. Ovo nije specifično za echo, može se koristiti sa bilo kojom komandom.

Warning

Budite oprezni kada koristite karakter >! Ako imenovana datoteka već postoji, bit će zamjenjena!

Preimenovanje datoteka

Datoteke se premještaju i preimenuju koristeći mv komandu.

Postavite vaš radni direktorij u moving direktorij:

$ cd ~/linux_essentials-2.4/moving

Kreirajte neke datoteke za vježbanje. Do sada biste već trebali biti upoznati sa ovim komandama:

$ touch file1 file22
$ echo file3 > file3
$ echo file4 > file4
$ ls
file1  file22  file3  file4

Pretpostavimo da je file22 greška u kucanju i treba da bude file2. Popravite to komandom mv. Prilikom preimenovanja datoteke, prvi argument je trenutno ime, drugi je novo ime:

$ mv file22 file2
$ ls
file1  file2  file3  file4

Budite oprezni s komandom mv. Ako preimenujete datoteku u ime postojeće datoteke, ona će je prepisati. Testirajmo ovo sa file3 i file4:

$ cat file3
file3
$ cat file4
file4
$ mv file4 file3
$ cat file3
file4
$ ls
file1  file2  file3

Obratite pažnju kako je sadržaj datoteke file3 sada file4. Koristite opciju -i da natjerate mv da vas upita želite li prepisati postojeći fajl. Probaj:

$ touch file4 file5
$ mv -i file4 file3
mv: overwrite ‘file3’? y

Premještanje datoteka

Datoteke se premještaju iz jednog direktorija u drugi komandom mv. ' Kreirajte nekoliko direktorija u koje ćete premjestiti datoteke:

$ cd ~/linux_essentials-2.4/moving
$ mkdir dir1 dir2
$ ls
dir1  dir2  file1  file2  file3  file5

Premjestite datoteku file1 u direktorij dir1:

$ mv file1 dir1
$ ls
dir1  dir2  file2  file3  file5
$ ls dir1
file1

Obratite pažnju kako je zadnji argument mv komande, odredišni direktorij. Kad god je zadnji argument mv komande direktorij, datoteke se premještaju u njega. Moguće je navesti nekoliko datoteka jednom mv komandom.

$ mv file2 file3 dir2
$ ls
dir1  dir2  file5
$ ls dir2
file2  file3

Također je moguće koristiti mv za premještanje i preimenovanje direktorija. Preimenujte dir1 u dir3:

$ ls
dir1  dir2  file5
$ ls dir1
file1
$ mv dir1 dir3
$ ls
dir2  dir3  file5
$ ls dir3
file1

Brisanje datoteka i direktorija

Komanda rm može izbrisati datoteke i direktorije, dok komanda rmdir može izbrisati samo direktorije. Očistimo moving direktorij brisanjem datoteke file5:

$ cd ~/linux_essentials-2.4/moving
$ ls
dir2  dir3  file5
$ rmdir file5
rmdir: failed to remove ‘file5’: Not a directory
$ rm file5
$ ls
dir2  dir3

Podrazumjevano, rmdir može izbrisati samo prazne direktorije, stoga smo morali koristiti rm za brisanje obične datoteke. Pokušajte izbrisati direktorij `deleting':

$ cd ~/linux_essentials-2.4/
$ ls
copying  creating  deleting  globs  moving
$ rmdir deleting
rmdir: failed to remove ‘deleting’: Directory not empty
$ ls -l deleting
total 0
drwxrwxr-x. 2 emma emma 6 Mar 26 14:58 directories
drwxrwxr-x. 2 emma emma 6 Mar 26 14:58 files

Podrazumjevano, rmdir odbija izbrisati direktorij koji nije prazan. Koristite rmdir da uklonite jedan od praznih poddirektorija direktorija 'deleting':

$ ls -a deleting/files
.  ..
$ rmdir deleting/files
$ ls -l deleting
directories

Brisanje velikog broja datoteka ili dubokih struktura direktorija s mnogo poddirektorija može izgledati zamorno, ali je zapravo jednostavno. Podrazumjevano, rm radi samo na regularnim fajlovima. Opcija -r se koristi za nadjačavanje ovog ponašanja. Budite oprezni, rm -r je odličan nožni pištolj! Kada koristite opciju -r, rm ne samo da će izbrisati sve direktorije, već i sve unutar tog direktorija, uključujući poddirektorije i njihov sadržaj. Uvjerite se sami kako funkcionira rm -r komanda:

$ ls
copying  creating  deleting  globs  moving
$ rm deleting
rm: cannot remove ‘deleting’: Is a directory
$ ls -l deleting
total 0
drwxrwxr-x. 2 emma emma 6 Mar 26 14:58 directories
$ rm -r deleting
$ ls
copying  creating  globs  moving

Obratite pažnju kako je deleting direktorij nestao, čak i ako nije bilo prazan? Kao i mv, rm ima opciju -i da vas upita prije nego što bilo šta učinite. Koristite rm -ri da uklonite direktorije iz odjeljka moving koji više nisu potrebni:

$ find
.
./creating
./moving
./moving/dir2
./moving/dir2/file2
./moving/dir2/file3
./moving/dir3
./moving/dir3/file1
./globs
./globs/question1
./globs/question2012
./globs/question23
./globs/question13
./globs/question14
./globs/star10
./globs/star1100
./globs/star2002
./globs/star2013
./globs/question15
./copying
./copying/files
./copying/directories
$ rm -ri moving
rm: descend into directory ‘moving’? y
rm: descend into directory ‘moving/dir2’? y
rm: remove regular empty file ‘moving/dir2/file2’? y
rm: remove regular empty file ‘moving/dir2/file3’? y
rm: remove directory ‘moving/dir2’? y
rm: descend into directory ‘moving/dir3’? y
rm: remove regular empty file ‘moving/dir3/file1’? y
rm: remove directory ‘moving/dir3’? y
rm: remove directory ‘moving’? y

Kopiranje datoteka i direktorija

Komanda cp se koristi za kopiranje datoteka i direktorija. Kopirajte nekoliko datoteka u direktorij copying:

$ cd ~/linux_essentials-2.4/copying
$ ls
directories  files
$ cp /etc/nsswitch.conf files/nsswitch.conf
$ cp /etc/issue /etc/hostname files

Ako je posljednji argument direktorij, cp će kreirati kopiju prethodnih argumenata unutar direktorija. Poput mv, više datoteka se može specificirati odjednom, sve dok je cilj direktorij.

Kada su oba operanda cp datoteke i ako obje datoteke postoje, cp prepisuje drugu datoteku kopijom prve datoteke. Vježbajmo ovo tako što ćemo zamijeniti datoteku issue datotekom hostname:

$ cd ~/linux_essentials-2.4/copying/files
$ ls
hostname  issue  nsswitch.conf
$ cat hostname
mycomputer
$ cat issue
Debian GNU/Linux 9 \n \l

$ cp hostname issue
$ cat issue
mycomputer

Sada pokušajno kreirati kopiju direktorija files unutar direktorija directories:

$ cd ~/linux_essentials-2.4/copying
$ cp files directories
cp: omitting directory ‘files’

Kao što možete vidjeti, cp komanda podrazumjevano radi samo na pojedinačnim datotekama. Da biste kopirali direktorij, koristite opciju -r. Imajte na umu da će opcija -r uzrokovati da cp također kopira sadržaj direktorija koji kopirate:

$ cp -r files directories
$ find
.
./files
./files/nsswitch.conf
./files/fstab
./files/hostname
./directories
./directories/files
./directories/files/nsswitch.conf
./directories/files/fstab
./directories/files/hostname

Obratite pažnju kako je postojeći direktorij korišten kao odredište, cp kreira kopiju izvornog direktorija unutar njega? Ako odredište ne postoji, kreirat će ga i ispuniti sadržajem izvornog direktorija:

$ cp -r files files2
$ find
.
./files
./files/nsswitch.conf
./files/fstab
./files/hostname
./directories
./directories/files
./directories/files/nsswitch.conf
./directories/files/fstab
./directories/files/hostname
./files2
./files2/nsswitch.conf
./files2/fstab
./files2/hostname

Globiranje

Ono što se obično naziva globiranjem (eng.globbing) je jednostavan jezik za podudaranje obrazaca. Šelovi komandne linije na Linux sistemima koriste ovaj jezik za upućivanje na grupe datoteka čija imena odgovaraju određenom uzorku. POSIX.1-2017 specificira sljedeće znakove koji odgovaraju uzorcima:

*

Odgovara bilo kojem broju bilo kojeg znaka, bez karaktera

?

Odgovara bilo kojem znaku

[]

Odgovara klasi karaktera

Na engleskom to znači da možete reći vašem šelu da uporedi uzorak umjesto doslovnog niza teksta. Korisnici Linuxa obično određuju više datoteka sa globom umjesto da upisuju naziv svakog fajla. Izvršite sljedeće komande:

$ cd ~/linux_essentials-2.4/globs
$ ls
question1   question14  question2012  star10    star2002
question13  question15  question23    star1100  star2013
$ ls star1*
star10  star1100
$ ls star*
star10  star1100  star2002  star2013
$ ls star2*
star2002  star2013
$ ls star2*2
star2002
$ ls star2013*
star2013

Šel (eng.shell) proširuje * na bilo koji broj bilo čega, tako da vaš šel tumači star*,što je bilo šta u relevantnom kontekstu što počinje sa star. Kada izvršite komandu ls star*, vaš šel ne pokreće program ls sa argumentom star*, nego on traži datoteke u trenutnom direktoriju koje odgovaraju uzorku star* (uključujući samo star), i pretvara svaku datoteku koja odgovara uzorku u argumentu ls:

$ ls star*

što se tiče ls je ekvivalent

$ ls star10  star1100  star2002  star2013

Karakter * ne znači ništa za ls. Da biste to dokazali, izvršite sljedeću komandu:

$ ls star\*
ls: cannot access star*: No such file or directory

Kada ispred znaka stavite \, dajete instrukcije svom šelu da to ne tumači. U ovom slučaju, želite da ls ima argument star* umjesto onoga na što se širi glob star*.

Karakter ili znak ? se proširuje na bilo koji pojedinačni znak. Isprobajte sljedeće komande da se sami uvjerite:

$ ls
question1   question14  question2012  star10    star2002
question13  question15  question23    star1100  star2013
$ ls question?
question1
$ ls question1?
question13  question14  question15
$ ls question?3
question13  question23
$ ls question13?
ls: cannot access question13?: No such file or directory

Zagrade [] se koriste za podudaranje raspona ili klasa znakova. Zagrade [] rade kao u POSIX regularnim izrazima osim što se kod globova (eng.globs) koristi ^ umjesto !.

Kreirajte nekoliko datoteka za eksperimentisanje:

$ mkdir brackets
$ cd brackets
$ touch file1 file2 file3 file4 filea fileb filec file5 file6 file7

Raspon unutar zagrada [] je izražen korištenjem znaka -:

$ ls
file1  file2  file3  file4  file5  file6  file7  filea  fileb  filec
$ ls file[1-2]
file1  file2
$ ls file[1-3]
file1  file2  file3

Može se specificirati više raspona:

$ ls file[1-25-7]
file1  file2  file5  file6  file7
$ ls file[1-35-6a-c]
file1  file2  file3  file5  file6  filea  fileb  filec

Uglaste zagrade se također mogu koristiti za podudaranje sa određenim skupom znakova.

$ ls file[1a5]
file1  file5  filea

Također možete koristiti znak ^ kao prvi znak koji odgovara svemu osim određenih znakova.

$ ls file[^a]
file1  file2  file3  file4  file5  file6  file7  fileb  filec

Posljednja stvar koju ćemo pokriti u ovoj lekciji su klase karaktera. Za podudaranje s klasom znakova, koristite [:classname:]. Na primjer, da koristite klasu cifara, koja odgovara brojevima, uradili biste nešto ovako:

$ ls file[[:digit:]]
file1  file2  file3  file4  file5  file6  file7
$ touch file1a file11
$ ls file[[:digit:]a]
file1  file2  file3  file4  file5  file6  file7  filea
$ ls file[[:digit:]]a
file1a

Glob file[[:digit:]a], odgovara datoteci file praćen cifrom ili a.

Podržane klase znakova ovise o vašem trenutnom lokalu. POSIX zahtijeva sljedeće klase znakova za sve lokalizacije:

[:alnum:]

Slova i brojevi.

[:alpha:]

Velika i mala slova.

[:blank:]

Razmaci i tabovi.

[:cntrl:]

Kontrolni znakovi, npr. razmaknica, bell, NAK, escape.

[:digit:]

Brojevi (0123456789).

[:graph:]

Grafički znakovi (svi znakovi osim ctrl i znaka razmaka)

[:lower:]

Mala slova (a-z).

[:print:]

Printabilni znakovi (alnum, punct, i znak razmaka).

[:punct:]

Znaci navoda, i.e. !, &, ".

[:space:]

Znakovi praznog prostora, e.g. tabovi, razmaci , novi red.

[:upper:]

Velika slova (A-Z).

[:xdigit:]

Heksadecimalni brojevi (obično 0123456789abcdefABCDEF).

Vođene vježbe

  1. S obzirom na sljedeće, odaberite direktorije koji će biti kreirani komandom mkdir -p /tmp/outfiles/text/today /tmp/infiles/text/today

    $ pwd
    /tmp
    $ find
    .
    ./outfiles
    ./outfiles/text

    /tmp

    /tmp/outfiles

    /tmp/outfiles/text

    /tmp/outfiles/text/today

    /tmp/infiles

    /tmp/infiles/text

    /tmp/infiles/text/today

  2. Šta znači -v za komande mkdir, rm, i cp?

  3. Šta se događa ako slučajno pokušate kopirati tri datoteke na istoj komandnoj liniji u datoteku koja već postoji, umjesto u direktorij?

  4. Šta se događa kada koristite mv da premjestite direktorij u njega?

  5. Kako biste izbrisali sve datoteke u vašem trenutnom direktoriju koje počinju sa old?

  6. Koji od sljedećih datoteka bi odgovarao log_[a-z]_201?_*_01.txt?

    log_3_2017_Jan_01.txt

    log_+_2017_Feb_01.txt

    log_b_2007_Mar_01.txt

    log_f_201A_Wednesday_01.txt

  7. Kreirajte nekoliko globova koji odgovaraju sljedećoj listi naziva datoteka:

    doc100
    doc200
    doc301
    doc401

Istraživačke vježbe

  1. Koristite cp man stranicu da saznate kako napraviti kopiju datoteke tako da dozvole i vrijeme modifikacije odgovaraju originalu.

  2. Šta radi komanda rmdir -p? Eksperimentirajte s njim i objasnite kako se razlikuje od rm -r.

  3. NEMOJTE ZAPRAVO IZVRŠAVATI OVU KOMANDU: Šta mislite da će rm -ri /* učiniti? (ISKRENO, NE POKUŠAVAJTE OVO!)

  4. Osim korištenja -i, da li je moguće spriječiti mv komandu da prepiše ili zamjeni odredišne ​​datoteke?

  5. Objasnite komandu cp -u.

Sažetak

Linux okruženje komandne linije pruža alate za upravljanje datotekama. Neki od najčešće korištenih su cp, mv, mkdir, rm i rmdir. Ovi alati, u kombinaciji sa globovima, omogućavaju korisnicima da vrlo brzo obave mnogo posla.

Mnoge komande imaju opciju -i, koja vas pita prije nego što bilo šta učinite. Upit (eng.prompt) vam može uštedjeti mnogo muke ako ste nešto pogrešno upisali.

Mnoge komande imaju opciju -r. Opcija -r obično znači rekurziju. U matematici i informatici, rekurzivna funkcija je funkcija koja koristi samu sebe u svojoj definiciji. Kada su u pitanju alati komandne linije, to obično znači primijeniti komandu na direktorij i sve u njemu.

Komande korištene u ovoj lekciji:

cat

Čitaj i prikaži sadržaj datoteke.

cp

Kopiraj datoteke i direktorij.

echo

Prikaži niz.

find

Prođite kroz stablo sistema datoteka i potražite datoteke koje odgovaraju određenom skupu kriterija.

ls

Prikaži svojstva datoteka i direktorija, te prikaži sadržaj direktorija.

mkdir

Kreiraj novi direktorij.

mv

Premjesti ili preimenuj datoteke ili direktorije.

pwd

Prikaži trenutni radni direktorij.

rm

Obriši datoteke i direktorije.

rmdir

Obriši direktorije.

touch

Kreiraj praznu datoteku ili ažuriraj vrijeme nastanka postojećih datoteka.

Odgovori na vođene vježbe

  1. S obzirom na sljedeće, odaberite direktorije koji će biti kreirani komandom mkdir -p /tmp/outfiles/text/today /tmp/infiles/text/today

    $ pwd
    /tmp
    $ find
    .
    ./outfiles
    ./outfiles/text

    Označeni direktoriji bi bili kreirani. Direktoriji /tmp, /tmp/outfiles i /tmp/outfiles/text već postoje, pa će ih mkdir ignorirati.

    /tmp

    /tmp/outfiles

    /tmp/outfiles/text

    /tmp/outfiles/text/today

    X

    /tmp/infiles

    X

    /tmp/infiles/text

    X

    /tmp/infiles/text/today

    X

  2. Šta znači -v za komande mkdir, rm, i cp?

    Obično -v uključuje opširni izlaz. To uzrokuje da odgovarajući programi prikažu šta rade.

    $ rm -v a b
    removed 'a'
    removed 'b'
    $ mv -v a b
    'a' -> 'b'
    $ cp -v b c
    'b' -> 'c'
  3. Šta se događa ako slučajno pokušate kopirati tri datoteke na istoj komandnoj liniji u datoteku koja već postoji, umjesto u direktorij?

    cp komanda će odbiti da uradi bilo šta, te će na izlazu prikazati poruku greške:

    $ touch a b c d
    $ cp a b c d
    cp: target 'd' is not a directory
  4. Šta se događa kada koristite mv da premjestite direktorij u njega?

    Dobit ćete poruku greške koja vam govori kako mv ne može to uraditi.

    $ mv a a
    mv: cannot move 'a' to a subdirectory of itself, 'a/a'
  5. Kako biste izbrisali sve datoteke u vašem trenutnom direktoriju koje počinju sa old?

    Koristili biste glob old* sa rm komandom:

    $ rm old*
  6. Koji od sljedećih datoteka bi odgovarao log_[a-z]_201?_*_01.txt?

    log_3_2017_Jan_01.txt

    log_+_2017_Feb_01.txt

    log_b_2007_Mar_01.txt

    log_f_201A_Wednesday_01.txt

    X

    $ ls log_[a-z]_201?_*_01.txt
    log_f_201A_Wednesday_01.txt

    log_[a-z] odgovara log_ praćen bilo kojim malim slovima, tako da oba log_f_201A_Wednesday_01.txt i log_b_2007_Mar_01.txt odgovaraju. _201? odgovara bilo kojem znaku, tako da samo log_f_201A_Wednesday_01.txt odgovara. Na kraju *_01.txt odgovara bilo čemu što završava sa _01.txt, tako da preostala opcija odgovara.

  7. Kreirajte nekoliko globova koji odgovaraju sljedećoj listi naziva datoteka:

    doc100
    doc200
    doc301
    doc401

    Postoji nekoliko solucija. Evo nekih od njih:

    doc*
    doc[1-4]*
    doc?0?
    doc[1-4]0?

Odgovori na istraživačke vježbe

  1. Koristite cp man stranicu da saznate kako napraviti kopiju datoteke tako da dozvole i vrijeme modifikacije odgovaraju originalu.

    Koristili biste -p opciju. Izvodak iz man stranice:

    $ man cp
    -p     same as --preserve=mode,ownership,timestamps
    --preserve[=ATTR_LIST]
                  preserve the specified attributes (default: mode,ownership,time‐
                  stamps), if  possible  additional  attributes:  context,  links,
                  xattr, all
  2. Šta radi komanda rmdir -p? Eksperimentirajte s njim i objasnite kako se razlikuje od rm -r.

    To uzrokuje da se rmdir ponaša slično kao mkdir -p. Ako se proslijedi stablu praznih direktorija, sve će ih ukloniti.

    $ find
    .
    ./a
    ./a/b
    ./a/b/c
    $ rmdir -p a/b/c
    $ ls
  3. NEMOJTE ZAPRAVO IZVRŠAVATI OVU KOMANDU: Šta mislite da će rm -ri /* učiniti? (ISKRENO, NE POKUŠAVAJTE OVO!)

    Uklonit će sve datoteke i direktorije u koje može pisati vaš korisnički nalog. Ovo uključuje sve mrežne sisteme datoteka.

  4. Osim korištenja -i, da li je moguće spriječiti mv komandu da prepiše ili zamjeni odredišne ​​datoteke?

    Da, -n ili --no-clobber opcija sprječava mv komandu da zamjeni datoteke.

    $ cat a
    a
    $ cat b
    b
    $ mv -n a b
    $ cat b
    b
  5. Objasnite komandu cp -u.

    Opcija -u uzrokuje da cp kopira datoteku samo ako odredište nedostaje ili je starije od izvornog fajla.

    $ ls -l
    total 24K
    drwxr-xr-x 123 emma student  12K Feb  2 05:34 ..
    drwxr-xr-x   2 emma student 4.0K Feb  2 06:56 .
    -rw-r--r--   1 emma student    2 Feb  2 06:56 a
    -rw-r--r--   1 emma student    2 Feb  2 07:00 b
    $ cat a
    a
    $ cat b
    b
    $ cp -u a b
    $ cat b
    b
    $ cp -u a c
    $ ls -l
    total 12
    -rw-r--r-- 1 emma student 2 Feb  2 06:56 a
    -rw-r--r-- 1 emma student 2 Feb  2 07:00 b
    -rw-r--r-- 1 emma student 2 Feb  2 07:00 c

Linux Professional Insitute Inc. Sva prava zadržana. Posjeti web stranicu materijala za učenje: https://learning.lpi.org
Ovaj rad je licenciran pod Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License

Sljedeća lekcija

3.1 Arhiviranje podataka uz pomoć komande linije (3.1 Lekcija 1)

Pročitaj narednu lekciju

Linux Professional Insitute Inc. Sva prava zadržana. Posjeti web stranicu materijala za učenje: https://learning.lpi.org
Ovaj rad je licenciran pod Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License

LPI je neprofitna organizacija.

© 2022 Linux Profesional Institut (LPI) je globalni certifikacijski standard, podrške za karijeru, te vodeća organizacija za open sors profesionalce. Sa više od 200.000 certificiranih ljudi, prvi je najveći, svjetski vendor za Linux i open sors certifikaciju. LPI trenutno ima certificirane profesionalce u 180 zemalja širom svijeta, dostavlja testove na više jezika, te ima oko stotine trening partnera.

Naša svrha je omogućiti ekonomske i kreativne prilike za svakog, čineći dostupnim certifikaciju u open sors znanju i vještinama svima.

  • LinkedIn
  • flogo-RGB-HEX-Blk-58 Facebook
  • Twitter
  • Kontaktirajte nas
  • Privatnost i politika kolačića

Primijetili ste grešku ili želite pomoći poboljšati ovu stranicu? Molimo prijavite nam!.

© 1999–2022 The Linux Professional Institute Inc. Sva prava zadržana.