Difference between revisions of "LU-LSP-B11:shell-cheatsheet"
(6 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{TocRight}} |
|||
= UNIX čaulas populārākās komandas un lietojumi = |
= UNIX čaulas populārākās komandas un lietojumi = |
||
Line 15: | Line 16: | ||
** '''-a''' – izvadīt informāciju arī par slēptajiem failiem |
** '''-a''' – izvadīt informāciju arī par slēptajiem failiem |
||
** '''-l''' – "long format": izvadīt failu izmēru, piekļuves tiesības u.c. |
** '''-l''' – "long format": izvadīt failu izmēru, piekļuves tiesības u.c. |
||
** '''-t''' – sakārtot failus |
** '''-t''' – sakārtot failus modificēšanas kārtībā |
||
* '''mount''' – piemountēt disku |
* '''mount''' – piemountēt disku |
||
* '''umount''' – atmountēt disku |
* '''umount''' – atmountēt disku |
||
* '''df''' – apskatīties diska lietojumu pa failusistēmām (''Disk usage File systems'') |
|||
⚫ | |||
* '''du''' – apskatīties diska lietojumu (''Disk Usage'') |
|||
** '''du -sh .''' – apskatīties tekošās directorijas aizņemto diska apjomu ''summary'', ''human readable'' formātā |
|||
⚫ | |||
** '''find /usr/bin/ -iname "gcc*"''' – atrast, kādas GCC versijas atrodas zem ''/usr/bin'' |
** '''find /usr/bin/ -iname "gcc*"''' – atrast, kādas GCC versijas atrodas zem ''/usr/bin'' |
||
* '''locate''' – ātri atrast failus visā sistēmā (lai komanda strādātu, ir vajadzīgs uzbūvēt un regulāri atjaunot failu datubāzi ar ''sudo updatedb''!) |
* '''locate''' – ātri atrast failus visā sistēmā (lai komanda strādātu, ir vajadzīgs uzbūvēt un regulāri atjaunot failu datubāzi ar ''sudo updatedb''!) |
||
== Failu pārvietošana, kopēšana, un dzēšana == |
== Failu pārvietošana, kopēšana, un dzēšana == |
||
* '''mv |
* '''mv <source> <destination>''' – pārvietot (''MoVe'') failu |
||
* '''cp |
* '''cp <source> <destination>''' – nokopēt (''CoPy'') failu |
||
** '''-r''' – kopēt direktorijas rekursīvi |
** '''-r''' – kopēt direktorijas rekursīvi |
||
* '''scp |
* '''scp <file> user@host:/home/user_x/myfiles''' - nokopēt failu uz attālinātā host |
||
* '''wget URL''' – lejupielādēt failu no interneta |
* '''wget URL''' – lejupielādēt failu no interneta |
||
* '''ln |
* '''ln <source> <target>''' – izveidot saiti (''LiNk'') |
||
** '''-s''' – izvdeidot ''softlink'' (ieteicams lietot šo!) |
** '''-s''' – izvdeidot ''softlink'' (ieteicams lietot šo!) |
||
* '''touch |
* '''touch <file>''' – izmainīt faila modifikācijas laiku uz pašreizējo. Ja fails neeksistē, tas tiek radīts |
||
* '''rm |
* '''rm <file>''' – izdzēst failu |
||
** '''-f''' – nejautā pēc apstiprinājuma |
** '''-f''' – nejautā pēc apstiprinājuma |
||
** '''-r''' – rekursīvi dzēš direktorijas |
** '''-r''' – rekursīvi dzēš direktorijas |
||
== Failu rediģēšana == |
== Failu rediģēšana == |
||
* '''echo |
* '''echo <text>''' – izvadīt tekstu uz ''stdout'' (var redirektēt failā ar >) |
||
* '''cat |
* '''cat <file>''' – izvadīt faila saturu uz ''stdout'' (var redirektēt ar > vai ar |) |
||
* '''less |
* '''less <file>''' – izvadīt faila saturu uz ''stdout'', skrollējamā veidā |
||
* '''dd''' – kopēt datus no / uz failu |
|||
* '''read''' – ielasīt tekstu no klaviatūras |
* '''read''' – ielasīt tekstu no klaviatūras |
||
* '''nano''' – vienkāršs teksta redaktors |
* '''nano''' – vienkāršs teksta redaktors |
||
Line 54: | Line 59: | ||
== Pieejas tiesības == |
== Pieejas tiesības == |
||
* '''id''' – apskatīties, kāds lietotājs es esmu un kādās grupās |
* '''id''' – apskatīties, kāds lietotājs es esmu un kādās grupās |
||
* '''sudo |
* '''sudo <cmd>''' – izpildīt komandu ar superlietotāja (''root'') tiesībām |
||
* '''su |
* '''su <user>''' – kļūt par lietotāju <user> |
||
** '''su''' – kļūt par ''root'' (izsaucot bez argumentiem) |
** '''su''' – kļūt par ''root'' (izsaucot bez argumentiem) |
||
** '''-c <command>''' – izpildīt komandu kā lietotājs <user>; '''su -c <command>'''– izpildīt komandu kā ''root'' |
|||
* '''chmod |
* '''chmod <mode> <file>''' – izmaina piekļuves režīmu failam |
||
** '''chmod a+x script.sh''' – padara failu "script.sh" par izpildāmu (a – all, o – owner, g – group; x – izpildāms, r – lasāms, w – rakstāms; + – pielikt, - – noņemt) |
** '''chmod a+x script.sh''' – padara failu "script.sh" par izpildāmu (a – all, o – owner, g – group; x – izpildāms, r – lasāms, w – rakstāms; + – pielikt, - – noņemt) |
||
** '''chmod 0600 secret.txt''' – padara failu secret.txt par lasāmu un rakstāmu tikai īpašniekam |
** '''chmod 0600 secret.txt''' – padara failu secret.txt par lasāmu un rakstāmu tikai īpašniekam |
||
* '''chown |
* '''chown <user:group> <file>''' – nomaina faila īpašnieku |
||
** '''chown root:root secret.txt''' – padara ''root'' par faila "secret.txt" īpašnieku |
** '''chown root:root secret.txt''' – padara ''root'' par faila "secret.txt" īpašnieku |
||
* '''passwd''' - nomainīt paroli |
* '''passwd''' - nomainīt paroli |
||
== Teksta apstrāde == |
== Teksta apstrāde == |
||
* '''grep |
* '''grep <pattern> <files>''' – meklēt failos |
||
** '''grep -e lo /etc/network/*''' – meklēt rindiņas failos zem /etc/network/, kas attiecas uz "lo" (loopback") interfeisu |
** '''grep -e lo /etc/network/*''' – meklēt rindiņas failos zem /etc/network/, kas attiecas uz "lo" (loopback") interfeisu |
||
** '''grep -r''' – meklēt rekursīvi apakšdirektorijās |
** '''grep -r''' – meklēt rekursīvi apakšdirektorijās |
||
* '''sed''' – komandrindas redaktors tekstu apstrādei |
* '''sed''' – komandrindas redaktors tekstu apstrādei |
||
** '''cat notes | sed s/word/replacement/g''' – aizvieto simbolu virkni "word" failā "notes" ar simbolu virkni "replacement" |
** '''cat notes | sed s/word/replacement/g''' – aizvieto simbolu virkni "word" failā "notes" ar simbolu virkni "replacement" |
||
* '''cut |
* '''cut <fields> <file>''' – "izgriezt" tekstu no faila <file> katras rindiņas |
||
** '''uname -r | cut -b 1-3''' – izvadīt OS tekošas kodola versijas pirmos trīs simbolus (no pirmā līdz trešajam baitam) |
** '''uname -r | cut -b 1-3''' – izvadīt OS tekošas kodola versijas pirmos trīs simbolus (no pirmā līdz trešajam baitam) |
||
Line 77: | Line 83: | ||
* '''ps''' – apskatīties procesus |
* '''ps''' – apskatīties procesus |
||
** '''ps aufx''' – apskatīties procesus no visiem lietotājiem, sakārtotus ''parent-child'' attiecībās, kopā ar to resursu patēriņa statistiku |
** '''ps aufx''' – apskatīties procesus no visiem lietotājiem, sakārtotus ''parent-child'' attiecībās, kopā ar to resursu patēriņa statistiku |
||
* '''kill |
* '''kill <PID>''' – nobeigt procesu (jānorāda procesa identifikators jeb PID) |
||
** '''kill -9 |
** '''kill -9 <PID>''' – "nogalināt" procesu vardarbīgi |
||
** '''pkill |
** '''pkill <process>''' – nobeigt procesu pēc tā vārda |
||
* ''/proc'' failusistēma (Linux specifisks) |
* ''/proc'' failusistēma (Linux specifisks) |
||
Line 93: | Line 99: | ||
* '''uname -a''' – izvada pilnu informāciju par operētājsistēmu - tās nosaukumu, kodola versiju, arhitektūru u.c. |
* '''uname -a''' – izvada pilnu informāciju par operētājsistēmu - tās nosaukumu, kodola versiju, arhitektūru u.c. |
||
* '''cat /etc/issue''' – izvada OS distributīvu un versiju |
* '''cat /etc/issue''' – izvada OS distributīvu un versiju |
||
* '''man |
* '''man <topic>''' – lasīt ''manual page'' par attiecīgo tēmu |
||
== Failu manipulācija no komandrindas == |
== Failu manipulācija no komandrindas == |
||
* ''' |
* '''> file''' – novirzīt izvadi (''stdout'') failā |
||
* ''' |
* '''>> file''' – novirzīt izvadi (''stdout'') failā, rakstot klāt faila beigās |
||
* ''' |
* '''> file 2>&1''' – novirzīt failā ''file'' gan ziņojumus no ''stdout'', gan no ''stderr'' (t.i. paziņojums par kļūdām) |
||
* ''' |
* '''< file''' – novirzīt ievadi: lasīt ievaddatus nevis no ''stdin'', bet no faila |
||
* '''program1 | program2''' – padarīt programmas ''program1'' izvadu par ''program2'' ievadu (t.s. ''to pipe output''; | - ''pipe'' simbols) |
* '''program1 | program2''' – padarīt programmas ''program1'' izvadu par ''program2'' ievadu (t.s. ''to pipe output''; | - ''pipe'' simbols) |
||
Line 131: | Line 137: | ||
do |
do |
||
echo "Line is $f" |
echo "Line is $f" |
||
done |
done < file |
||
* ''For'' izteikumi: |
* ''For'' izteikumi: |
||
for i in * |
for i in * |
Latest revision as of 14:58, 17 September 2013
UNIX čaulas populārākās komandas un lietojumi
Piekļūšana UNIX sistēmām
No Linux/BSD/Cygwin:
- ssh user@host
No Windows:
- Lietojot putty
Failu un direktoriju pamatkomandas
- cd – nomainīt pašreizējo direktoriju (Change Directory)
- pwd – izvadīt pašreizējas direktorijas nosaukumu (Print Working Directory)
- mkdir – izveidot direktoriju
- -p – izveidot arī to iekļaujošas direktorijas
- ls – izvadīt pašreizējas direktorijas saturu (LiSt)
- -a – izvadīt informāciju arī par slēptajiem failiem
- -l – "long format": izvadīt failu izmēru, piekļuves tiesības u.c.
- -t – sakārtot failus modificēšanas kārtībā
- mount – piemountēt disku
- umount – atmountēt disku
- df – apskatīties diska lietojumu pa failusistēmām (Disk usage File systems)
- du – apskatīties diska lietojumu (Disk Usage)
- du -sh . – apskatīties tekošās directorijas aizņemto diska apjomu summary, human readable formātā
- find <path> <expression> – meklēt failus direktorijās
- find /usr/bin/ -iname "gcc*" – atrast, kādas GCC versijas atrodas zem /usr/bin
- locate – ātri atrast failus visā sistēmā (lai komanda strādātu, ir vajadzīgs uzbūvēt un regulāri atjaunot failu datubāzi ar sudo updatedb!)
Failu pārvietošana, kopēšana, un dzēšana
- mv <source> <destination> – pārvietot (MoVe) failu
- cp <source> <destination> – nokopēt (CoPy) failu
- -r – kopēt direktorijas rekursīvi
- scp <file> user@host:/home/user_x/myfiles - nokopēt failu uz attālinātā host
- wget URL – lejupielādēt failu no interneta
- ln <source> <target> – izveidot saiti (LiNk)
- -s – izvdeidot softlink (ieteicams lietot šo!)
- touch <file> – izmainīt faila modifikācijas laiku uz pašreizējo. Ja fails neeksistē, tas tiek radīts
- rm <file> – izdzēst failu
- -f – nejautā pēc apstiprinājuma
- -r – rekursīvi dzēš direktorijas
Failu rediģēšana
- echo <text> – izvadīt tekstu uz stdout (var redirektēt failā ar >)
- cat <file> – izvadīt faila saturu uz stdout (var redirektēt ar > vai ar |)
- less <file> – izvadīt faila saturu uz stdout, skrollējamā veidā
- dd – kopēt datus no / uz failu
- read – ielasīt tekstu no klaviatūras
- nano – vienkāršs teksta redaktors
- pico – reizēm tiek lietots kā sinonīms nano
- vi – pilnfunkcionāls komandrindas teksta redaktors
- emacs – pilnfunkcionāls komandrindas teksta redaktors (nedaudz retāk sastopams uzinstalēts kā vi, bet ar intuitīvāku interfeisu)
Arhivēšana
- tar -cf archive.tar directory/ – saarhivēt direktoriju directory arhīvā archive.tar
- tar -czf archive.tgz directory/ – tas pats, bet saspiest ar gzip
- tar -xf archive.tar – atspiest "archive.tar" tekošajā direktorijā
- -z – gzip formāts
- -j – bzip2 formāts (lēnāks, bet ar labāku kompresiju)
Pieejas tiesības
- id – apskatīties, kāds lietotājs es esmu un kādās grupās
- sudo <cmd> – izpildīt komandu ar superlietotāja (root) tiesībām
- su <user> – kļūt par lietotāju <user>
- su – kļūt par root (izsaucot bez argumentiem)
- -c <command> – izpildīt komandu kā lietotājs <user>; su -c <command>– izpildīt komandu kā root
- chmod <mode> <file> – izmaina piekļuves režīmu failam
- chmod a+x script.sh – padara failu "script.sh" par izpildāmu (a – all, o – owner, g – group; x – izpildāms, r – lasāms, w – rakstāms; + – pielikt, - – noņemt)
- chmod 0600 secret.txt – padara failu secret.txt par lasāmu un rakstāmu tikai īpašniekam
- chown <user:group> <file> – nomaina faila īpašnieku
- chown root:root secret.txt – padara root par faila "secret.txt" īpašnieku
- passwd - nomainīt paroli
Teksta apstrāde
- grep <pattern> <files> – meklēt failos
- grep -e lo /etc/network/* – meklēt rindiņas failos zem /etc/network/, kas attiecas uz "lo" (loopback") interfeisu
- grep -r – meklēt rekursīvi apakšdirektorijās
- sed – komandrindas redaktors tekstu apstrādei
- cat notes | sed s/word/replacement/g – aizvieto simbolu virkni "word" failā "notes" ar simbolu virkni "replacement"
- cut <fields> <file> – "izgriezt" tekstu no faila <file> katras rindiņas
- uname -r | cut -b 1-3 – izvadīt OS tekošas kodola versijas pirmos trīs simbolus (no pirmā līdz trešajam baitam)
Procesi
- top – apskatīties aktīvākos procesus
- ps – apskatīties procesus
- ps aufx – apskatīties procesus no visiem lietotājiem, sakārtotus parent-child attiecībās, kopā ar to resursu patēriņa statistiku
- kill <PID> – nobeigt procesu (jānorāda procesa identifikators jeb PID)
- kill -9 <PID> – "nogalināt" procesu vardarbīgi
- pkill <process> – nobeigt procesu pēc tā vārda
- /proc failusistēma (Linux specifisks)
Tīklošana
- ifconfig – konfigurēt tīkla interfeisus
- route – konfigurēt maršrutus
- ip – jaunās paaudzes rīks, kas "māk darīt visu"
- ip addr – adreses
- ip link – interfeisi
- ip route – maršruti
Citas komandas
- uname -a – izvada pilnu informāciju par operētājsistēmu - tās nosaukumu, kodola versiju, arhitektūru u.c.
- cat /etc/issue – izvada OS distributīvu un versiju
- man <topic> – lasīt manual page par attiecīgo tēmu
Failu manipulācija no komandrindas
- > file – novirzīt izvadi (stdout) failā
- >> file – novirzīt izvadi (stdout) failā, rakstot klāt faila beigās
- > file 2>&1 – novirzīt failā file gan ziņojumus no stdout, gan no stderr (t.i. paziņojums par kļūdām)
- < file – novirzīt ievadi: lasīt ievaddatus nevis no stdin, bet no faila
- program1 | program2 – padarīt programmas program1 izvadu par program2 ievadu (t.s. to pipe output; | - pipe simbols)
Bash čaulas programmēšanas līdzekļi
- Mainīgie
$ export FOOBAR=123 # uzstāda maīnīgā FOOBAR vērtību $ echo FOOBAR=$FOOBAR # izvada iepriekš piešķirto vērtību
- set – izvada tā saucamo "environment", t.i. visus shell mainīgos ar to vērtībām. Piemērs:
$ set | grep FOOBAR FOOBAR=123
- If izteikumi
if [ "$x" -lt "$y" ]; then # do something fi
- Skaitliskās salīdzināšanas nosacījumi:
lt – less than gt – greater than eq – equal to ne – not equal ge – greater or equal le – less or equal
- Failu pārbaudes nosacījumi:
nt – newer than d – is a directory f – is a file r – readable w – writable x – executable
- While izteikumi:
while read f do echo "Line is $f" done < file
- For izteikumi:
for i in * do echo "File is $i" done
- Komandu izsaukšana notiek lietojot simbolus `, piemēram:
$ SYSTEM_VERSION=`uname -r` $ echo $SYSTEM_VERSION