U konzoli koristimo apsolutne i relativne staze. Osnove Linuxa: Uvod u primjere basha pomoću relativnih putova

Nedavno sam opisao naredbe za kretanje kroz direktorije u terminalu Linux... Stoga sam odlučio nastaviti priču o naredbama u konzoli. Stoga se čini da su pokreti riješeni. Sada želim razmotriti malo detaljnije koji su putevi do direktorija u konzoli.

Počnimo gledajući najpoznatije putove do naših datoteka i direktorija, naime apsolutne staze. Otvorite terminal i izdajte naredbu koja ispisuje cijeli put do vašeg kućnog direktorija. Govorio sam o ovom timu nedavno, ovdje. Predstaviti pwd:


: ~ $ pwd
/ dom / dante


Kao što vidite, ova naredba konzole ispisala je cijeli put počevši od korijenskog direktorija. Nedavno sam opisao takav pokret u direktorijima, ovaj pokret koristeći apsolutni put. No, to nisu sve mogućnosti kretanja kroz kategorije našeg operacijskog sustava. U operacijskom sustavu Linux, postoji i mogućnost korištenja relativnih putova.

Relativni putovi u konzoli, računajući kategorije u odnosu na kategoriju u kojoj se nalazite. Mogu se koristiti s ".." dvije točke označene ispred mape u koju želimo otići. Idemo negdje u naš operacijski sustav. Na primjer u mapi usr i naredbom ispitati njegov sadržaj ls.

[zaštićena e -pošta]: ~ $ cd / usr
[zaštićena e -pošta]: / usr $ ls

[zaštićena e -pošta]: / usr $

Ovdje vidimo popis dostupnih direktorija. Idemo sada u direktorij " udio».

[zaštićena e -pošta]: ~ $ cd / usr / share


Dakle, sada smo u kategoriji / usr / share kao što vidimo. Prijeđimo sada u kategoriju koja je jednaka kategoriji u kojoj se nalazimo. Na primjer, u kategoriji „ lokalno". To se može učiniti apsolutnim putem poput ovog.

[zaštićena e -pošta]: ~ $ cd / usr / lokalno

[zaštićena e -pošta]: / usr / share $ pwd
/ usr / share
[zaštićena e -pošta]: / usr / share $


Kao što vidite, prikazao sam vam u konzoli puni put do mjesta na kojem se nalazite. Znamo da je imenik " lokalno"Na istoj je razini kao direktorij" udio"I možemo upotrijebiti ovakvu naredbu.

[zaštićena e -pošta]: / usr / share $ cd ../local
[zaštićena e -pošta]: / usr / lokalni $


Kao što vidite, naredba upita postala je mnogo lakša. Ali to je samo ako se sjećate direktorija koji su na istoj razini s vašim radnim imenikom, a ja se ne sjećam uvijek drugih direktorija u konzoli.

Da biste prešli na sljedeći direktorij, samo unesite naredbu u konzolu u odnosu na vaš radni direktorij. U te svrhe koristite umjesto toga ".." dvije točke, "." jednu točku i pomaknut ćete se u odnosu na direktorij u konzoli u kojem se trenutno nalazite. Vratimo se na imenik / usr i pogledaj opet što ima.

[zaštićena e -pošta]: / usr / lokalni $ cd / usr
[zaštićena e -pošta]: / usr $ ls
bin igre uključuju lib local sbin share src
[zaštićena e -pošta]: / usr $


Idemo sada u direktorij " udio»U odnosu na imenik u kojem smo sada. Da biste to učinili, unesite u konzolu

[zaštićena e -pošta]: / usr $ cd. / lokalno
[zaštićena e -pošta]: / usr / lokalni $


Kao što vidite, korištenje relativnih putova može uvelike skratiti naredbe koje unosite u konzolu. Linux.

Sve datoteke u Linuxu imaju određenu adresu u datotečnom sustavu, s kojom im možemo pristupiti pomoću programa za upravljanje datotekama ili pomoćnih programa konzole. Ovo je prilično jednostavna tema, ali mnogi početnici imaju poteškoća s njom.

U današnjoj kratkoj bilješci pogledat ćemo koji je put do Linux datoteke, što to može biti, kako je ispravno napisati i još mnogo toga. Ako ste ranije imali poteškoća s tim, onda će nakon čitanja članka sve postati potpuno jasno.

Putevi datoteka u Linuxu

Linux datotečni sustav jako se razlikuje od Windows. Nećemo razmatrati njegovu strukturu, to je učinjeno ranije. Usredotočit ćemo se na rad s datotekama.

Najvažnija razlika je u tome što adresa datoteke ne počinje s pogona, na primjer, C: \ ili D: \ kao što se događa u sustavu Windows, već iz korijena, direktorija korijenskog sustava na koji su povezani svi ostali. Njegova adresa - /. I tu je potrebno reći o adresama. Putevi Linux datoteka koriste kosu crtu "/" za odvajanje direktorija u adresi, a to se razlikuje od onoga što ste navikli vidjeti u sustavu Windows - \.

Na primjer, ako je u sustavu Windows potpuni put do datoteke na radnoj površini izgledao kao C: \ Users \ Sergiy \ Desktop \, tada će put datoteke na Linuxu jednostavno biti / home / sergiy / desktop /. Do sada je s ovim sve jednostavno i jasno. No problemi se i dalje pojavljuju.

Operacijski sustav Linux može imati nekoliko tipova datoteka. Pogledajmo koji su putevi u linuxu:

  • Potpuni, apsolutni put do linux -a od korijena datotečnog sustava- već ste vidjeli ovaj put u gornjem primjeru, on počinje od korijena "/" i opisuje cijeli put do datoteke;
  • Relativni put Linuxa je put do datoteke u odnosu na trenutnu mapu; takvi putovi često izazivaju zabunu.
  • Put u odnosu na početnu mapu trenutnog korisnika.- put u datotečnom sustavu, samo ne iz korijena, već iz mape trenutnog korisnika.

Pogledajmo sada pobliže kako ti putevi izgledaju na linuxu, a također analiziramo nekoliko primjera kako bi bilo potpuno jasno. Za demonstraciju ćemo koristiti uslužni program ls koji je dizajniran za pregled sadržaja direktorija.

Na primjer, imamo ovakav direktorij u našoj matičnoj mapi s četiri datoteke u njemu:

Ovako će izgledati puni linux put do jedne od datoteka:

ls / home / sergiy / tmp / file1

Ovo je već relativna linux staza koja počinje od početne mape, označena je sa ~ /. Uočite, ne ~, već ~ /. Tada već možete navesti podmape, u našem slučaju tmp:

Pa, ili put datoteke u linuxu, u odnosu na trenutnu mapu:

Prva veza upućuje na trenutnu mapu (.), Druga (..) upućuje na mapu za jednu razinu više. To otvara još šire mogućnosti kretanja po katalozima. Na primjer, za upućivanje na datoteku u trenutnoj mapi možete upotrijebiti konstrukciju:

Beskorisno je pregledavati sadržaj datoteke. No, to je vrlo važno pri izvršavanju programa. Budući da će se program prvo pretraživati ​​u okruženju PATH, pa tek onda u ovoj mapi. Stoga, ako trebate pokrenuti program koji se nalazi u trenutnoj mapi i nazvan je baš poput onog u direktoriju / bin, ništa neće funkcionirati bez izričite reference da datoteku treba tražiti u trenutnoj mapi.

Takvi se konstrukti često mogu susresti pri sastavljanju programa. Sve ove simbole i putove linux datoteka možete koristiti ne samo u terminalu, već i u bilo kojem upravitelju datoteka, što može biti vrlo prikladno.

No, Linux terminal je još moćniji. Možete koristiti jednostavne zamjenske znakove izravno u adresama datoteka ili direktorija. Na primjer, možete navesti sve datoteke koje počinju s f:

Ili čak možete pretraživati ​​ne samo u mapi tmp, već u bilo kojoj podmapi vaše matične mape:

I sve će to uspjeti, možda nije uvijek potrebno i praktično. No, u određenim situacijama može biti od velike pomoći. Ove su funkcije implementirane na razini Bash ljuske, pa ih možete koristiti u bilo kojoj naredbi. Ljuska pregledava koliko je datoteka pronađeno i poziva naredbu za svaku.

zaključci

To je sve. Sada znate sve što vam je potrebno ne samo da ispravno napišete put do linux datoteke, već i izvršite složenije radnje, na primjer, traženje datoteka ili kretanje kroz direktorije pomoću naredbe cd. Ako imate pitanja, pitajte u komentarima!

Povezani unosi:


Nakon što pročitate ovaj članak, naučit ćete što je to bash(standardni tumač naredbi za Linux), naučite rukovati standardnim naredbama: ls, k.č, mv... razumjeti svrhu inoda, tvrdih i simboličkih veza i još mnogo toga.

Ovaj je vodič namijenjen onima koji tek počinju koristiti Linux i onima koji žele ponoviti ili poboljšati razumijevanje osnovnih principa Linuxa, poput kopiranja i premještanja datoteka, stvaranja veza, korištenja standardnih naredbi Linuxa, zajedno s preusmjeravanjima i kanalima. U ovom ćete članku pronaći mnoge primjere za pojašnjenje prezentiranog materijala. Za početnike će većina informacija biti nova, a za naprednije korisnike ovaj materijal može biti izvrstan vodič za sažimanje postojećih znanja i vještina.

Uvod u bash

Ljuska

Ako koristite Linux, onda znate da vas nakon prijave dočekuje shell shell. Na primjer ovo:

\$

Ako se grafička ljuska učitava nakon prijave, tada da biste došli do tumača naredbi morate pokrenuti emulator terminala (gnome-terminal, xfce4-terminal, konsole, xterm, rxvt ...) ili se prebaciti na jedan od virtualnih terminala klikom CtrlAltF1 ili CtrlAltF2 itd.

Odziv školjke na vašem računalu može se razlikovati od onoga što je prikazano u primjeru. Može sadržavati korisničko ime, naziv računala i naziv trenutnog radnog imenika. Unatoč svim tim razlikama, program koji ispisuje ovaj upit naziva se “ ljuska"(Shell), a najvjerojatnije je vaša naredbena ljuska program koji se zove bash.

Trčite li bash?

Možete provjeriti radi li bash sljedećom naredbom:

\$ odjek \ $ SHELL/ bin / bash

Ako kao rezultat izvršavanja ove naredbe primite pogrešku ili se njezin izlaz razlikuje od onog u primjeru, tada je moguće da vaš sustav ne koristi bash kao naredbenu ljusku. Unatoč tome, većina materijala bit će relevantna, ali ipak preporučujemo da prijeđete na bash. To se može učiniti (ako je bash instaliran na sustavu) naredbom:

\$ bash

Što je bash

Bash (kratica za " B naše- a dobitak SH ell ") standardni je tumač naredbi na većini Linux sustava. Njegove odgovornosti uključuju obradu i izvršavanje naredbi pomoću kojih korisnik upravlja računalom. Nakon što dovršite svoj posao, možete završiti proces ljuske. Nakon pritiska na tipke CtrlD, timovi Izlaz ili Odjavite se proces ljuske završava i zaslon vas ponovno pita za korisničko ime i lozinku.

Korištenje "cd -a"

Počnimo koristiti bash za navigaciju datotečnim sustavom. Prvo upišite sljedeću naredbu:

$ cd /

Ovom naredbom smo bashu rekli da se želimo premjestiti u korijenski direktorij - / ... Svi direktoriji u sustavu organizirani su u strukturi stabla i / ovo je njegov početak (ili korijen). Tim CD služi za promjenu trenutnog radnog imenika.

Putevi

Da biste saznali gdje se trenutno nalazite u datotečnom sustavu (trenutni radni direktorij), upišite:

\$ pwd /

U gornjem primjeru / - argument naredbe CD- zvao put... Ovdje želimo preći u datotečni sustav. U ovom slučaju / - apsolutni put, što znači da je put naveden u odnosu na korijenski direktorij.

Apsolutni putevi

Evo nekoliko primjera apsolutnih putova

/ dev / usr / usr / bin / usr / local / bin

Kao što ste možda primijetili, sve ove staze ujedinjuje činjenica da počinju s / ... Navođenjem putanje / usr / local / bin kao argumenta naredbe CD kažemo joj da ode u korijenski direktorij / , zatim u imenik usr, zatim u lokalni i bin. Apsolutni putevi uvijek počinju s /

Relativni putevi

Druga vrsta staza naziva se relativna staza. Bash, tim CD i druge naredbe broje te staze u odnosu na trenutni direktorij. Relativni putevi nikada ne počinju / ... Na primjer, ako smo u / usr

\$ cd / usr

Zatim možemo otići na / usr / local / bin koristeći relativni put

\$ cd lokalno / bin \$ pwd/ usr / local / bin

Upotreba ".."

Relativni putovi mogu sadržavati jedan ili više direktorija «..» ... ".." se odnosi na nadređeni direktorij našeg radnog imenika. Primjer:

\$ pwd/ usr / local / bin \ $ cd .. \$ pwd/ usr / lokalno

Kao što vidite, naredba cd .."Penje nas za jednu razinu više."

Može se dodati .. na relativan put. To će nam omogućiti prelazak u imenik koji je na istoj razini kao i onaj u kojem se nalazimo. Primjer:

\$ pwd/ usr / lokalno \ $ cd ../ dijeljenje \$ pwd/ usr / share

Primjeri korištenja relativnih putova

Relativni putevi mogu biti prilično škakljivi. Evo nekoliko primjera. Rezultat izvršavanja naredbe nije prikazan, pokušajte odrediti u kojem ćete se direktoriju naći pomoću bash -a.

\$ cd / kanta \$ cd ../usr/share/zoneinfo \$ cd / usr / X11R6 / kanta \$ cd ../lib/X11 \$ cd / usr / bin \$ cd ../bin/../bin

Radni imenik "."

Prije nego što završimo razgovor o timu CD treba spomenuti još nekoliko stvari. Prvo, postoji još jedan poseban imenik «.» koji upućuje na trenutni imenik. Ovaj se direktorij koristi za pokretanje izvršnih datoteka koje se nalaze u trenutnom direktoriju.

\$ ./myprog

U posljednjem primjeru, myprog je izvršna datoteka koja se nalazi u trenutnom direktoriju i koja će biti pokrenuta radi izvođenja.

cd i kućni direktorij korisnika

Da biste otišli u svoj kućni imenik, morate upisati

\$ CD

Bez argumenata, cd će vas odvesti u vaš kućni imenik. Matični direktorij je obično / root za superkorisnika, a / home / korisničko ime / za normalne korisnike. Ali što ako želimo ukazati na određenu datoteku koja se nalazi u matičnom direktoriju. Na primjer, kao argument programu 'Myprog'? Možete napisati:

\$ ./myprog /home/user/myfile.txt

Međutim, korištenje apsolutnih staza datoteka nije uvijek prikladno. Ista operacija može se obaviti pomoću ~ -Tilovi:

\$ ./myprog ~ / myfile.txt

~ je poseban naziv koji pokazuje bash na korisnikov početni direktorij.

Kućni imenici drugih korisnika

Ali što ako moramo pokazati datoteku u kućnom direktoriju drugog korisnika? Da biste to učinili, nakon tilde morate navesti ime ovog korisnika. Na primjer, da biste ukazali na datoteku fredsfile.txt koja se nalazi u korisnikovom početnom direktoriju fred:

\$ ./myprog ~ fred / fredsfile.txt

Linux naredbe

Uvod u ls

Vjerojatno ste već upoznati s naredbom ls koji, pozvan bez argumenata, prikazuje popis datoteka pohranjenih u radnom direktoriju:

\$ cd / usr \$ ls X11R6 doc i686-pc-linux-gnu lib man sbin ssl bin gentoo-x86 uključuje libexec portage dijeljenje tmp distfiles i686-linux info lokalni portage.old src

Ako navedete opciju -a, možete vidjeti sve datoteke, uključujući skrivene (čiji nazivi počinju točkom).

\$ ls -a... bin gentoo-x86 uključuje libexec portage share tmp .. distfiles i686-linux info local portage.old src X11R6 doc i686-pc-linux-gnu lib man sbin ssl

Detaljan popis direktorija

Nakon same naredbe ls jedna ili više datoteka ili direktorija može se navesti kao argument. Ako navedete naziv datoteke, tada naredba ls prikazat će informacije samo o ovoj datoteci. A ako navedete naziv direktorija, ls prikazat će sav njegov sadržaj. Opcija '-L' naredbe ls može biti vrlo korisno ako želite znati i detaljnije informacije o njima osim naziva datoteka (dopuštenja datoteke, ime vlasnika, vrijeme zadnje izmjene datoteke i njezinu veličinu).

Sljedeći primjer prikazuje korištenje opcije '-L' za prikaz informacija o datotekama pohranjenim u / usr direktoriju

\$ ls -l / usr drwxr-xr-x 7 korijenski korijen 168 24. studenog 14:02 X11R6 drwxr-xr-x 2 korijenski korijen 14576. prosinca 27 08:56 bin drwxr-xr-x 2 korijenski korijen 8856 26. prosinca 12:47 distfiles lrwxrwxrwx 1 korijenski korijen 9 22. prosinca 20:57 doc-> share / doc drwxr-xr-x 62 korijenski korijen 1856 27. prosinca 15:54 gentoo-x86 drwxr-xr-x 4 korijenski korijen 152 12. prosinca 23:10 i686-linux drwxr-xr-x 4 korijenski korijen 96 studeni 24 13:17 i686-pc-linux-gnu drwxr-xr-x 54 korijenski korijen 5992 24 prosinca 22:30 uključuje lrwxrwxrwx 1 korijenski korijen 10 prosinca 22 20:57 info-> share / info drwxr-xr -x 28 korijenski korijen 13552 26. prosinca 00:31 lib drwxr-xr-x 3 korijenski korijen 72 studenog 25 00:34 libexec drwxr-xr-x 8 korijenski korijen 240 prosinca 22 20:57 lokalni lrwxrwxrwx 1 korijenski korijen 9 prosinca 22 20 : 57 man-> share / man lrwxrwxrwx 1 korijen 11 prosinca 8 07:59 portage-> gentoo-x86 / drwxr-xr-x 60 korijen korijena 1864 prosinca 8 07:55 portage.old drwxr-xr-x 3 korijen 3096 22. prosinca 20:57 sbin drwxr-xr-x 46 korijenski korijen 1144 24. prosinca 15:32 dijeli drwxr-xr-x 8 korijenski korijen 328 pros 26 00:07 src drwxr-xr-x 6 korijenski korijen 176 studeni 24 14: 25 ssl lrwxrwxrwx 1 korijen korijena 10 pros 22 20:57 tmp -> ../var/tmp

Prvi stupac prikazuje informacije o dopuštenjima za svaku datoteku na popisu. (Objasnit ću malo kasnije koje slovo znači što) Sljedeći stupac prikazuje broj veza za svaki element popisa. Treći i četvrti stupac vlasnici su odnosno grupa datoteke. Peti stupac je veličine. Šesto je vrijeme posljednje izmjene datoteke ('posljednje izmijenjeno vrijeme' ili mtime). Posljednji stupac je naziv datoteke ili direktorija (ako je to veza, onda nakon oznake ‘ –> 'Označava naziv objekta na koji se odnosi).

Kako vidjeti samo direktorije

Ponekad postoji potreba za gledanjem informacija samo o direktorijima, a ne o cijelom njihovom sadržaju. Opcija će vam pomoći da se nosite s ovim zadatkom. '-D' koji govori naredbi za prikaz informacija samo o direktorijima. Primjer:

\$ ls -dl / usr / usr / bin / usr / X11R6 / bin ../ dijeljenje drwxr-xr-x 4 korijenski korijen 96 pros 18 18:17 ../podijelite drwxr-xr-x 17 korijenski korijen 576 prosinac 24 09:03 / usr drwxr-xr-x 2 korijenski korijen 3192 26 prosinca 12:52 / usr / X11R6 / bin drwxr-xr-x 2 korijena 14576 27. prosinca 08:56 / usr / bin

Rekurzivni popis i inode informacije

Radnja opcije '-R' suprotno djelovanju '-D'... Omogućuje vam rekurzivan prikaz informacija o datotekama u direktoriju. Prvo se prikazuje sadržaj direktorija najviše razine, zatim se redom prikazuje sadržaj svih poddirektorija itd. Ispis ove naredbe može biti prilično dug, pa ne navodimo njezin primjer, ali možete isprobati sami upisivanjem ‘ ls -R' ili ' ls -Rl‘.

I na kraju, opcija '-Ja' koristi se za prikaz inoda svakog objekta datotečnog sustava.

\$ ls -i / usr 1409 X11R6 314258 i686-linux 43090 libexec 13394 sbin 1417 bin 1513 i686-pc-linux-gnu 5120 lokalni 13408 dijeli 8316 distfiles 1517 uključuje 776 man 23779 src 43 doc 1386 info 93892 portage 36737 ssl 70744 gentoo 5132 portage 15mp tb

Što su inode?

Svaki objekt datotečnog sustava (datoteka, imenik ...) ima svoj jedinstveni jedinstveni broj, tzv inode(broj inode). Ove informacije mogu zvučati trivijalno, ali razumijevanje funkcije inodesa pomoći će vam da razumijete mnoge operacije na datotečnom sustavu. Na primjer, pogledajmo «.» i «..» kao veze prisutne u svakom direktoriju. Da biste razumjeli što je imenik «..» , saznajte inode direktorija / use / local

\$ ls -id / usr / local 5120 / usr / lokal

Kao što vidite, inode direktorija / usr / local je 5120. Pogledajmo sada koji inode ima direktorij / usr / local / bin / ..:

\$ ls -id / usr / local / bin / .. 5120 / usr / lokalno / bin / ..

Ispostavilo se da su inode direktorija / usr / local i / usr / local / bin / .. iste! To znači da se inode 5120 poziva na dva imena: / usr / local i / usr / local / bin / .. To jest, to su dva različita imena istog direktorija. Svaki inode pokazuje na određeno mjesto na disku.

Svaki inode može imati više naziva objekata datotečnog sustava koji su povezani s njim. Broj "sinonima" datoteke (objekti datotečnog sustava koji se odnose na isti inode) prikazuje broj u drugom stupcu datoteke " ls -l‘.

\$ ls -dl / usr / lokalno drwxr-xr-x 8 korijenski korijen 240 22. prosinca 20:57 / usr / lokalno

U ovom primjeru možete vidjeti (drugi stupac) da se / usr / lokalni direktorij poziva na 8 različitih objekata datotečnog sustava. Evo njihovih imena:

/ usr / lokalno / usr / lokalno /. / usr / local / bin / .. / usr / local / games / .. / usr / local / lib / .. / usr / local / sbin / .. / usr / local / share / .. / usr / local / src / ..

mkdir

Pogledajmo naredbu mkdir... Služi za stvaranje novih direktorija. Sljedeći primjer demonstrira stvaranje tri nova direktorija (tic, tac, toe) u / tmp direktoriju

\$ cd / tmp $ mkdir tic tac toe

Prema zadanim postavkama, naredba mkdir ne može stvoriti ugniježđenu strukturu direktorija. Stoga, ako trebate stvoriti nekoliko ugniježđenih direktorija ( osvojio / der / ful), tada ćete ovu naredbu morati pozvati tri puta jednu po jednu:

\$ mkdir je osvojio / der / ful mkdir: ne može stvoriti direktorij "won / der / ful": Nema takve datoteke ili direktorija \ $ mkdir je pobijedio \$ mkdir je osvojio / der \$ mkdir je osvojio / der / ful

Ovu operaciju možete pojednostaviti dodavanjem opcije '-P' na naredbu mkdir. Ova vam opcija omogućuje stvaranje ugniježđene strukture direktorija:

\$ mkdir -p lako / kao / pita

Da biste saznali više o mogućnostima ovog uslužnog programa, pročitajte pomoć koju poziva naredba čovjek mkdir... Pomoć je dostupna za gotovo sve naredbe u ovom priručniku (na primjer čovjek ls), osim CD od ugrađen je u bash (za takve naredbe pomoć se poziva ovako: pomoć cd)

dodir

Prijeđimo na učenje naredbi k.č i mv, koristi se za kopiranje, preimenovanje i premještanje datoteka i direktorija. No prije toga pomoću naredbe stvorite praznu datoteku u / tmp direktoriju dodir:

\$ cd / tmp \$ dodirnite copyme

Tim dodir ažurira vrijeme posljednjeg pristupa datoteci (šesti stupac izlaza naredbe ls -l) ako već postoji ili stvara novu praznu datoteku ako već ne postoji. Nakon ove operacije trebali bismo imati praznu datoteku / tmp / copyme.

jeka

Sada kada imamo praznu datoteku, upišite joj tekstualni niz pomoću naredbe jeka koji ispisuje argument koji mu je proslijeđen na standardni izlaz (u našem slučaju tekstualni terminal).

\$ echo "prva datoteka" prva datoteka

Da biste napisali redak u našu datoteku, preusmjerite izlaz naredbe na nju jeka:

\$ echo "firstfile"> copyme

Znak > (više) govori ljusci da preusmjeri izlaz naredbe s lijeve strane u datoteku s desne strane. Ako datoteka s ovim imenom ne postoji, bit će automatski stvorena. A ako takva datoteka već postoji, bit će prebrisana (sav njezin sadržaj bit će izbrisan prije pisanja našeg retka). Tim 'Ls -l' pokazat će da je veličina naše datoteke sada 10 bajta - devet bajtova zauzima riječ 'firstfile', a jedan bajt je znak za unos retka.

\$ ls -l copyme-rw-r-r-- 1 korijen korijena 10 pros 28 14:13 copyme

mačka i k.č

Za izlaz sadržaja datoteke na terminal koristite naredbu mačka:

\$ mačka copyme prva datoteka

Sada možemo početi analizirati osnovnu funkcionalnost naredbe k.č... Ova naredba uzima dva argumenta. Prvi je naziv postojeće datoteke ("copyme"), drugi je naziv nove kopije koju želimo napraviti ("copiedme").

\$ cp copyme copiedme

Možemo biti sigurni da nova kopija datoteke ima drugačiji inode broj (to znači da smo primili stvarno novu zasebnu datoteku, a ne samo vezu na staru)

\$ ls -i copyme copiedme 648284 copiedme 650704 copyme

mv

Sada primijenimo naredbu mv za preimenovanje datoteke ("copiedme" -> "moveme"). Broj inode se ne mijenja nakon ove operacije, mijenja se samo naziv datoteke.

\$ mv copiedme moveme \$ ls -premjestio sam se 648284 preselio me

Broj inode ne mijenja se samo ako preimenovana datoteka ostane unutar datotečnog sustava u kojem se nalazila izvorna datoteka. U kasnijem dijelu ovog vodiča pobliže ćemo pogledati dizajn datotečnog sustava.

Tim mv omogućuje vam ne samo preimenovanje datoteka, već i njihovo premještanje. Na primjer, za premještanje datoteke /var/tmp/myfile.txt u imenik / dom / korisnik morate dati naredbu:

\$ mv /var/tmp/myfile.txt /home /user

Datoteka će biti premještena u kućni direktorij korisnika korisnikčak i ako se nalazi u drugom datotečnom sustavu (u ovom slučaju datoteka će se kopirati na novo mjesto nakon čega će se izvornik izbrisati). Kao što ste možda pretpostavili, premještanje datoteke u drugi datotečni sustav mijenja njen inode. To je zato što svaki datotečni sustav ima svoj zasebni skup inode.

Valja napomenuti da postoji mogućnost da se novo dodijeljeni broj inode može podudarati sa starim, ali je on iznimno mali.

Za premještanje nekoliko datoteka istovremeno u jedan direktorij morate napisati:

\$ mv /var/tmp/myfile1.txt /var/tmp/myfile2.txt /home /user \$ mv -t /home /user /var/tmp/myfile1.txt /var/tmp/myfile2.txt

Ako dodate opciju '-V', na ekranu će se prikazati izvještaj o izvršenoj operaciji:

\$ mv -vt /home /user /var/tmp/myfile1.txt /var/tmp/myfile2.txt"/var/tmp/myfile1.txt" -> "/home/user/myfile1.txt" "/var/tmp/myfile2.txt" -> "/home/user/myfile2.txt"