Efnið, þýðingin sem við birtum í dag, er ætlað þeim sem vilja ná tökum á Linux skipanalínunni. Hæfni til að nota þetta tól á áhrifaríkan hátt getur sparað mikinn tíma. Sérstaklega munum við tala um Bash skelina og 21 gagnlegar skipanir hér. Við munum líka tala um hvernig á að nota stjórnflögg og Bash samnefni til að flýta fyrir innslátt á löngum leiðbeiningum.
→
Skilmálar
Þegar þú lærir að vinna með Linux skipanalínunni muntu lenda í mörgum hugtökum sem eru gagnlegar að vafra um. Sumum þeirra, eins og „Linux“ og „Unix“, eða „skel“ og „terminal“, er stundum ruglað saman. Við skulum tala um þessi og önnur mikilvæg hugtök.
Nú þegar við höfum farið yfir mikilvægu hugtökin vil ég benda á að ég mun nota hugtökin „Bash“, „skel“ og „skipanalína“ til skiptis hér, sem og hugtökin „mappa“ og „mappa“.
Standard stdin
), staðlað framleiðsla (staðlað framleiðsla, stdout
) og staðlað villuúttak (staðlað villa, stderr
).
Ef í dæminu skipanir sem verða gefnar hér að neðan, munt þú finna eitthvað eins og my_whatever
- þetta þýðir að þetta brot þarf að skipta út fyrir eitthvað þitt. Til dæmis, nafn skráar.
Nú, áður en haldið er áfram með greiningu á skipunum sem þetta efni er tileinkað, skulum við skoða listann þeirra og stuttar lýsingar þeirra.
21 Bash skipanir
▍ Að fá upplýsingar
man
: Sýnir notendahandbók (hjálp) fyrir skipunina.pwd
: sýnir upplýsingar um vinnuskrána.ls
: sýnir innihald möppu.ps
: Gerir þér kleift að skoða upplýsingar um hlaupandi ferla.
▍ Meðferð skráakerfis
cd
: breyta vinnuskrá.touch
: búa til skrá.mkdir
: búa til möppu.cp
: Afritaðu skrá.mv
: Færa eða eyða skrá.ln
: búa til tengil.
▍I/O tilvísun og leiðslur
<
: áframsendastdin
.>
: áframsendastdout
.|
: flutti úttak einnar skipunar í inntak annarrar skipunar.
▍ Að lesa skrár
head
: lestu upphaf skrárinnar.tail
: lesa lok skráar.cat
: Lestu skrá og prentaðu innihald hennar á skjáinn, eða tengdu skrár saman.
▍ Eyða skrám, stöðva ferla
rm
: Eyða skrá.kill
: stöðva ferlið.
▍Leita
grep
: leita að upplýsingum.ag
: háþróuð skipun til að leita.
▍Geymsla
tar
: búa til skjalasafn og vinna með þau.
Við skulum tala um þessar skipanir nánar.
Upplýsingar um lið
Til að byrja með skulum við takast á við skipanirnar, niðurstöður þeirra eru gefnar út á formi stdout
. Venjulega birtast þessar niðurstöður í flugstöðinni.
▍ Að fá upplýsingar
man command_name
: birta stjórnunarleiðbeiningarnar, þ.e.a.s. hjálparupplýsingar.
pwd
: birta slóðina að núverandi vinnuskrá. Þegar unnið er með skipanalínuna þarf notandinn oft að finna út nákvæmlega hvar í kerfinu hann er.
ls
: birta innihald möppu. Þessi skipun er líka notuð nokkuð oft.
ls -a
: sýna faldar skrár. fáni beitt hér -a
teymi ls
. Notkun fána hjálpar til við að sérsníða hegðun skipana.
ls -l
: Birta nákvæmar upplýsingar um skrár.
Athugið að hægt er að sameina fána. Til dæmis - svona: ls -al
.
ps
: Skoða ferli í gangi.
ps -e
: Birta upplýsingar um öll ferli sem eru í gangi, ekki bara þau sem tengjast núverandi notendaskel. Þessi skipun er oft notuð í þessu formi.
▍ Meðferð skráakerfis
cd my_directory
: breyta vinnuskrá í my_directory
. Til að fara upp um eitt stig í skráartrénu, notaðu my_directory
hlutfallsleg leið ../
.
cd skipun
touch my_file
: skráargerð my_file
eftir tiltekinni leið.
mkdir my_directory
: búa til möppu my_directory
eftir tiltekinni leið.
mv my_file target_directory
: færa skrá my_file
í möppu target_directory
. Þegar þú tilgreinir markskrána þarftu að nota algeru slóðina að henni (en ekki smíði eins og ../
).
lið mv
er einnig hægt að nota til að endurnefna skrár eða möppur. Til dæmis gæti það litið svona út:
mv my_old_file_name.jpg my_new_file_name.jpg
: búa til afrit af skrá
cp my_source_file target_directorymy_source_file
og settu það í möppu target_directory
.
ln -s my_source_file my_target_file
: búa til táknrænan hlekk my_target_file
á hverja skrá my_source_file
. Ef þú breytir hlekknum mun upprunalega skráin einnig breytast.
Ef skráin my_source_file
verður þá eytt my_target_file
verða eftir. Fáni -s
teymi ln
gerir þér kleift að búa til tengla fyrir möppur.
Nú skulum við tala um I/O endurstefnu og leiðslur.
▍I/O tilvísun og leiðslur
my_command < my_file
: kemur í stað venjulegs inntaksskráarlýsingar (stdin
) á hverja skrá my_file
. Þetta getur verið gagnlegt ef skipunin bíður eftir einhverju inntaki frá lyklaborðinu og þessi gögn eru þegar vistuð í skrá.
my_command > my_file
: vísar niðurstöðum skipunarinnar, þ.e.a.s. hvað myndi venjulega fara í stdout
og úttak á skjáinn, í skrá my_file
. Ef skráin my_file
er ekki til - það er búið til. Ef skráin er til er hún yfirskrifuð.
Til dæmis, eftir að hafa framkvæmt skipunina ls > my_folder_contents.txt
textaskrá verður búin til sem inniheldur lista yfir það sem er í núverandi vinnumöppu.
Ef í stað táknsins >
nota bygginguna >>
, þá, að því tilskildu að skráin sem úttak skipunarinnar er vísað til sé til, verður þessari skrá ekki skrifað yfir. Gögnunum verður bætt við í lok þessarar skráar.
Nú skulum við líta á gagnaleiðslurvinnslu.
Úttak einnar skipunar er færður inn í inntak annarrar skipunar. Þetta er eins og að tengja eitt rör við annað
first_command | second_command
: færibandstákn, |
, er notað til að senda úttak einnar skipunar í aðra skipun. Það sem skipunin vinstra megin við lýst uppbyggingu sendir til stdout
, Detta í stdin
skipun hægra megin við leiðslutáknið.
Á Linux er hægt að flytja gögn með því að nota nánast hvaða vel mótaða skipun sem er. Það er oft sagt að allt í Linux sé leiðsla.
Þú getur hlekkjað margar skipanir með því að nota leiðslutáknið. Það lítur svona út:
first_command | second_command | third_command
Leiðslu með nokkrum skipunum má líkja við leiðslu
Athugaðu að þegar skipunin vinstra megin við táknið |
, gefur eitthvað til stdout
, það sem hún gefur frá sér er strax fáanlegt sem stdin
annað lið. Það er, það kemur í ljós að með því að nota leiðsluna erum við að fást við samhliða framkvæmd skipana. Stundum getur þetta leitt til óvæntra niðurstaðna. Nánar um þetta má lesa
Nú skulum við tala um að lesa gögn úr skrám og sýna þau á skjánum.
▍ Að lesa skrár
head my_file
: les línur frá upphafi skráar og prentar þær á skjáinn. Þú getur ekki aðeins lesið innihald skránna heldur einnig hvað skipanirnar gefa út stdin
nota þessa skipun sem hluta af leiðslunni.
tail my_file
: les línur frá enda skráarinnar. Þessa skipun er einnig hægt að nota í leiðslu.
Höfuð (höfuð) er fyrir framan og hali (hali) er fyrir aftan
Ef þú ert að vinna með gögn með því að nota pandassafnið, þá eru skipanirnar head
и tail
ætti að vera þér kunnugt. Ef þetta er ekki raunin skaltu skoða myndina hér að ofan og þú munt auðveldlega muna þær.
Íhugaðu aðrar leiðir til að lesa skrár, við skulum tala um skipunina cat
.
Team cat
annað hvort prentar innihald skráar á skjáinn eða sameinar margar skrár. Það fer eftir því hversu margar skrár eru sendar í þessa skipun þegar hún er kölluð.
köttur skipun
cat my_one_file.txt
: þegar ein skrá er send til þessa skipunar sendir hún hana til stdout
.
Ef þú gefur henni tvær skrár eða fleiri skrár, þá hegðar hún sér öðruvísi.
cat my_file1.txt my_file2.txt
: Eftir að hafa fengið nokkrar skrár sem inntak, sameinar þessi skipun innihald þeirra og sýnir hvað gerðist í stdout
.
Ef vista þarf niðurstöðu skráarsamtengingar sem nýja skrá, geturðu notað stjórnandann >
:
cat my_file1.txt my_file2.txt > my_new_file.txt
Nú skulum við tala um hvernig á að eyða skrám og stöðva ferla.
▍ Eyða skrám, stöðva ferla
rm my_file
: eyða skrá my_file
.
rm -r my_folder
: eyðir möppu my_folder
og allar skrár og möppur sem það inniheldur. Fáni -r
gefur til kynna að skipunin muni keyra í endurkvæmri stillingu.
Til að koma í veg fyrir að kerfið biðji um staðfestingu í hvert sinn sem skrá eða möppu er eytt skaltu nota fánann -f
.
kill 012345
: Stöðvar tilgreint keyrsluferli og gefur því tíma til að loka á þokkafullan hátt.
kill -9 012345
: Lokar tilgreindu keyrsluferli með valdi. Skoða fána -s SIGKILL
þýðir það sama og fáninn -9
.
▍Leita
Þú getur notað mismunandi skipanir til að leita að gögnum. Einkum - grep
, ag
и ack
. Við skulum hefja kynni okkar af þessum skipunum með grep
. Þetta er tímaprófuð, áreiðanleg skipun, sem er þó hægari en önnur og ekki eins þægileg í notkun og þau eru.
grep skipun
grep my_regex my_file
: leitar my_regex
в my_file
. Ef samsvörun finnst er öllum strengnum skilað, fyrir hverja samsvörun. Sjálfgefið my_regex
meðhöndluð sem venjuleg tjáning.
grep -i my_regex my_file
: Leitin er framkvæmd með litlum tilfellum.
grep -v my_regex my_file
: skilar öllum línum sem innihalda ekki my_regex
. Fáni -v
þýðir inversion, það líkist rekstraraðilanum NOT
, sem finnast á mörgum forritunarmálum.
grep -c my_regex my_file
: Skilar upplýsingum um fjölda samsvörunar fyrir leitað mynstur sem finnast í skránni.
grep -R my_regex my_folder
: framkvæmir endurkvæma leit í öllum skrám sem eru staðsettar í tilgreindri möppu og í möppunum sem eru hreiður í henni.
Nú skulum við tala um liðið ag
. Hún kom seinna grep
, það er hraðvirkara, það er þægilegra að vinna með það.
ag skipun
ag my_regex my_file
: skilar upplýsingum um línunúmer, og línurnar sjálfar, þar sem samsvörun fannst við my_regex
.
ag -i my_regex my_file
: Leitin er framkvæmd með litlum tilfellum.
Team ag
vinna sjálfkrafa úr skránni .gitignore
og útilokar frá úttakinu það sem er að finna í möppunum eða skránum sem eru skráðar í þeirri skrá. Það er mjög þægilegt.
ag my_regex my_file -- skip-vcs-ignores
: innihald sjálfvirkrar útgáfustýringarskráa (eins og .gitignore
) er ekki tekið tillit til við leitina.
Að auki, til þess að segja liðinu ag
á hvaða skráarslóðir þú vilt útiloka frá leitinni geturðu búið til skrá .agignore
.
Í upphafi þessa kafla minntum við á skipunina ack
. Liðin ack
и ag
mjög svipað, við getum sagt að þeir séu 99% skiptanlegir. Hins vegar liðið ag
virkar hraðar, þess vegna lýsti ég því.
Nú skulum við tala um að vinna með skjalasafn.
▍Geymsla
tar my_source_directory
: sameinar skrár úr möppu my_source_directory
í eina tarball skrá. Slíkar skrár eru gagnlegar til að flytja stór sett af skrám til einhvers.
tar skipun
Tarball skrárnar sem eru búnar til með þessari skipun eru skrár með endingunni .tar
(Tape archive). Sú staðreynd að orðið "tape" (tape) er falið í nafni skipunarinnar og í framlengingu á nöfnum skráa sem það býr til gefur til kynna hversu lengi þessi skipun hefur verið til.
tar -cf my_file.tar my_source_directory
: býr til tarball skrá sem heitir my_file.tar
með innihaldi möppu my_source_directory
. Fáni -c
stendur fyrir "skapa" (sköpun), og fánann -f
sem "skrá" (skrá).
Til að draga skrár úr .tar
-skrá, notaðu skipunina tar
með fánum -x
("útdráttur", útdráttur) og -f
("skrá", skrá).
tar -xf my_file.tar
: dregur út skrár úr my_file.tar
í núverandi vinnuskrá.
Nú skulum við tala um hvernig á að þjappa og þjappa niður .tar
-skrár.
tar -cfz my_file.tar.gz my_source_directory
: hér með því að nota fánann -z
("zip", þjöppunaralgrím) gefur til kynna að nota ætti reikniritið til að þjappa skrám gzip
(GNUzip). Skráaþjöppun sparar pláss þegar slíkar skrár eru geymdar. Ef áætlað er að skrárnar verði til dæmis fluttar til annarra notenda, stuðlar það að hraðari niðurhali á slíkum skrám.
Unzip skrá .tar.gz
þú getur bætt við fána -z
til að draga úr efnisskipuninni .tar
-skrár, sem við ræddum hér að ofan. Það lítur svona út:
tar -xfz my_file.tar.gz
Þess má geta að liðið tar
Það eru margir fleiri gagnlegir fánar.
Bash samnefni
Bash samnefni (einnig kallað samnefni eða skammstafanir) eru hönnuð til að búa til stytt nöfn skipana eða röð þeirra, en notkun þeirra í stað venjulegra skipana flýtir fyrir vinnu. Ef þú ert með alias bu
, sem felur skipunina python setup.py sdist bdist_wheel
, þá er nóg að nota þetta samnefni til að kalla þessa skipun.
Til að búa til slíkt samnefni skaltu bara bæta eftirfarandi skipun við skrána ~/.bash_profile
:
alias bu="python setup.py sdist bdist_wheel"
Ef kerfið þitt er ekki með skrána ~/.bash_profile
, þá geturðu búið það til sjálfur með því að nota skipunina touch
. Eftir að hafa búið til samheitið skaltu endurræsa flugstöðina, eftir það geturðu notað þetta samnefni. Í þessu tilviki kemur innsláttur tveggja stafa í stað inntaks á meira en þremur tugum stafa í skipuninni, sem er ætluð fyrir
В ~/.bash_profile
þú getur bætt við samnöfnum fyrir allar oft notaðar skipanir.
▍ Niðurstöður
Í þessari færslu höfum við fjallað um 21 vinsælar Bash skipanir og talað um að búa til skipanasamnefni. Ef þú hefur áhuga á þessu efni -
Kæru lesendur! Hvaða skipanir sem eru gagnlegar fyrir byrjendur myndir þú bæta við þær sem fjallað var um í þessari grein?
→
Heimild: www.habr.com