[bókamerkt] Bash fyrir byrjendur: 21 gagnlegar skipanir

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.

[bókamerkt] Bash fyrir byrjendur: 21 gagnlegar skipanir

Lestu einnig á blogginu okkar röð rita um bash-handrit

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.

Unix er vinsælt stýrikerfi sem var þróað af Bell Labs á áttunda áratugnum. Kóðanum hennar var lokað.

Linux er vinsælasta Unix-líka stýrikerfið. Það er nú notað á mörgum tækjum, þar á meðal tölvum.

Terminal (terminal), eða terminal emulator er forrit sem veitir aðgang að stýrikerfinu. Þú getur haft marga flugstöðvarglugga opna á sama tíma.

Skel (skel) er forrit sem gerir þér kleift að senda skipanir skrifaðar á sérstöku tungumáli til stýrikerfisins.

Bash stendur fyrir Bourne Again Shell. Það er algengasta skeljamálið sem notað er til að hafa samskipti við stýrikerfið. Einnig er Bash skelin sjálfgefið á macOS.

Skipanalínuviðmót (Command Line Interface, CLI) er samspilsaðferð milli manns og tölvu, þegar notandinn slær inn skipanir af lyklaborðinu og tölvan, sem framkvæmir þessar skipanir, birtir skilaboð á textaformi fyrir notandann. CLI er aðallega notað til að fá uppfærðar upplýsingar um ákveðnar einingar, til dæmis um skrár, og til að vinna með skrár. Skipanalínuviðmótið ætti að vera aðgreint frá grafísku notendaviðmótinu (GUI), sem notar fyrst og fremst músina. Skipanalínuviðmótið er oft kallað einfaldlega skipanalínan.

Handrit (script) er lítið forrit sem inniheldur röð skelskipana. Forskriftir eru skrifaðar í skrár, þær er hægt að nota endurtekið. Þegar þú skrifar forskriftir geturðu notað breytur, skilyrði, lykkjur, aðgerðir og aðra eiginleika.

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 lækir, sem við munum nota hér er staðlað inntak (venjulegt inntak, 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

  • <: áframsenda stdin.
  • >: áframsenda stdout.
  • |: 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ð ../.

[bókamerkt] Bash fyrir byrjendur: 21 gagnlegar skipanir
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ð mver 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
cp my_source_file target_directory
: búa til afrit af skrá my_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.

[bókamerkt] Bash fyrir byrjendur: 21 gagnlegar skipanir
Ú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

[bókamerkt] Bash fyrir byrjendur: 21 gagnlegar skipanir
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 hér.

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 stdinnota þ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.

[bókamerkt] Bash fyrir byrjendur: 21 gagnlegar skipanir
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ð.

[bókamerkt] Bash fyrir byrjendur: 21 gagnlegar skipanir
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.

[bókamerkt] Bash fyrir byrjendur: 21 gagnlegar skipanir
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ð.

[bókamerkt] Bash fyrir byrjendur: 21 gagnlegar skipanir
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.

[bókamerkt] Bash fyrir byrjendur: 21 gagnlegar skipanir
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 þing Python pakkar.

В ~/.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 - hér röð rita tileinkuð Bash. Hér Þú getur fundið pdf útgáfu af þessum ritum. Einnig, ef þú vilt læra Bash, mundu að, eins og með öll önnur forritunarkerfi, er æfing lykillinn.

Kæru lesendur! Hvaða skipanir sem eru gagnlegar fyrir byrjendur myndir þú bæta við þær sem fjallað var um í þessari grein?

Lestu einnig á blogginu okkar röð rita um bash-handrit

[bókamerkt] Bash fyrir byrjendur: 21 gagnlegar skipanir

Heimild: www.habr.com

Bæta við athugasemd