[nod tudalen] Bash i ddechreuwyr: 21 gorchymyn defnyddiol

Mae'r deunydd, yr ydym yn ei gyhoeddi heddiw, wedi'i fwriadu ar gyfer y rhai sydd am feistroli llinell orchymyn Linux. Gall y gallu i ddefnyddio'r offeryn hwn yn effeithiol arbed llawer o amser. Yn benodol, byddwn yn siarad am y gragen Bash a 21 gorchymyn defnyddiol yma. Byddwn hefyd yn siarad am sut i ddefnyddio baneri gorchymyn ac arallenwau Bash i gyflymu'r broses o deipio cyfarwyddiadau hir.

[nod tudalen] Bash i ddechreuwyr: 21 gorchymyn defnyddiol

Darllenwch hefyd yn ein blog gyfres o gyhoeddiadau am sgriptiau bash

Telerau

Wrth i chi ddysgu gweithio gyda llinell orchymyn Linux, byddwch yn dod ar draws llawer o gysyniadau sy'n ddefnyddiol i'w llywio. Mae rhai ohonyn nhw, fel "Linux" ac "Unix", neu "shell" a "terminal", weithiau'n ddryslyd. Gadewch i ni siarad am y rhain a thermau pwysig eraill.

Unix yn system weithredu boblogaidd a ddatblygwyd gan Bell Labs yn y 1970au. Caewyd ei chod.

Linux yw'r system weithredu mwyaf poblogaidd tebyg i Unix. Fe'i defnyddir bellach ar lawer o ddyfeisiau, gan gynnwys cyfrifiaduron.

Terminal (terfynell), neu efelychydd terfynell yn rhaglen sy'n rhoi mynediad i'r system weithredu. Gallwch gael ffenestri terfynell lluosog ar agor ar yr un pryd.

Cregyn (cragen) yn rhaglen sy'n eich galluogi i anfon gorchmynion ysgrifenedig mewn iaith arbennig i'r system weithredu.

Bash yn sefyll am Bourne Again Shell. Dyma'r iaith gragen fwyaf cyffredin a ddefnyddir i ryngweithio â'r system weithredu. Hefyd, y gragen Bash yw'r rhagosodiad ar macOS.

Rhyngwyneb llinell orchymyn Mae (Rhyngwyneb Llinell Orchymyn, CLI) yn ddull o ryngweithio rhwng person a chyfrifiadur, gan ddefnyddio y mae'r defnyddiwr yn mewnbynnu gorchmynion o'r bysellfwrdd, ac mae'r cyfrifiadur, gan weithredu'r gorchmynion hyn, yn arddangos negeseuon ar ffurf testun i'r defnyddiwr. Prif ddefnydd y CLI yw cael y wybodaeth ddiweddaraf am endidau penodol, megis ffeiliau, a gweithio gyda ffeiliau. Dylid gwahaniaethu rhwng y rhyngwyneb llinell orchymyn a'r rhyngwyneb defnyddiwr graffigol (GUI), sy'n defnyddio'r llygoden yn bennaf. Cyfeirir yn aml at y rhyngwyneb llinell orchymyn yn syml fel y llinell orchymyn.

Sgript (sgript) yn rhaglen fach sy'n cynnwys dilyniant o orchmynion plisgyn. Ysgrifennir sgriptiau i ffeiliau, gellir eu defnyddio dro ar ôl tro. Wrth ysgrifennu sgriptiau, gallwch ddefnyddio newidynnau, amodau, dolenni, swyddogaethau a nodweddion eraill.

Nawr ein bod wedi ymdrin â'r termau pwysig, rwyf am nodi y byddaf yn defnyddio'r termau "Bash", "cragen" a "llinell orchymyn" yn gyfnewidiol yma, yn ogystal â'r termau "cyfeiriadur" a "ffolder".

Safonol nentydd, y byddwn yn ei ddefnyddio yma yw'r mewnbwn safonol (mewnbwn safonol, stdin), allbwn safonol (allbwn safonol, stdout) ac allbwn gwall safonol (gwall safonol, stderr).

Os yn y gorchmynion enghreifftiol a roddir isod, fe welwch rywbeth tebyg my_whatever - mae hyn yn golygu bod angen rhoi rhywbeth o'ch un chi yn lle'r darn hwn. Er enghraifft, enw ffeil.

Nawr, cyn bwrw ymlaen â'r dadansoddiad o'r gorchmynion y mae'r deunydd hwn yn ymroddedig iddynt, gadewch i ni edrych ar eu rhestr a'u disgrifiadau byr.

21 gorchymyn Bash

▍Cael gwybodaeth

  • man: Yn dangos y canllaw defnyddiwr (cymorth) ar gyfer y gorchymyn.
  • pwd: yn arddangos gwybodaeth am y cyfeiriadur gweithio.
  • ls: yn dangos cynnwys cyfeiriadur.
  • ps: Yn eich galluogi i weld gwybodaeth am brosesau rhedeg.

▍ Trin system ffeiliau

  • cd: newid cyfeiriadur gweithio.
  • touch: creu ffeil.
  • mkdir: creu cyfeiriadur.
  • cp: Copïo ffeil.
  • mv: Symud neu ddileu ffeil.
  • ln: creu dolen.

▍ Ailgyfeirio a phiblinellau I/O

  • <: ailgyfeirio stdin.
  • >: ailgyfeirio stdout.
  • |: pibellu allbwn un gorchymyn i fewnbwn gorchymyn arall.

▍ Darllen ffeiliau

  • head: darllen dechrau'r ffeil.
  • tail: darllen diwedd ffeil.
  • cat: Darllen ffeil ac argraffu ei gynnwys i'r sgrin, neu concatenate ffeiliau.

▍ Dileu ffeiliau, atal prosesau

  • rm: Dileu ffeil.
  • kill: atal y broses.

▍Chwilio

  • grep: chwilio am wybodaeth.
  • ag: gorchymyn uwch ar gyfer chwilio.

▍Archifo

  • tar: creu archifau a gweithio gyda nhw.

Gadewch i ni siarad am y gorchmynion hyn yn fwy manwl.

Manylion Tîm

I ddechrau, gadewch i ni ddelio â'r gorchmynion, y mae eu canlyniadau'n cael eu cyhoeddi yn y ffurflen stdout. Fel arfer mae'r canlyniadau hyn yn ymddangos mewn ffenestr derfynell.

▍Cael gwybodaeth

man command_name: arddangos y canllaw gorchymyn, h.y. gwybodaeth cymorth.

pwd: arddangos y llwybr i'r cyfeiriadur gweithio cyfredol. Wrth weithio gyda'r llinell orchymyn, yn aml mae angen i'r defnyddiwr ddarganfod yn union ble yn y system y mae.

ls: arddangos cynnwys cyfeiriadur. Defnyddir y gorchymyn hwn yn eithaf aml hefyd.

ls -a: dangos ffeiliau cudd. baner wedi'i gosod yma -a gorchmynion ls. Mae defnyddio fflagiau yn helpu i addasu ymddygiad y gorchmynion.

ls -l: Arddangos gwybodaeth fanwl am ffeiliau.

Sylwch y gellir cyfuno baneri. Er enghraifft - fel hyn: ls -al.

ps: Gweld prosesau rhedeg.

ps -e: Arddangos gwybodaeth am yr holl brosesau rhedeg, nid dim ond y rhai sy'n gysylltiedig â'r gragen defnyddiwr cyfredol. Defnyddir y gorchymyn hwn yn aml yn y ffurflen hon.

▍ Trin system ffeiliau

cd my_directory: newid cyfeiriadur gweithio i my_directory. I symud i fyny un lefel yn y goeden cyfeiriadur, defnyddiwch my_directory llwybr cymharol ../.

[nod tudalen] Bash i ddechreuwyr: 21 gorchymyn defnyddiol
gorchymyn cd

touch my_file: creu ffeil my_file ar hyd y llwybr a roddwyd.

mkdir my_directory: creu ffolder my_directory ar hyd y llwybr a roddwyd.

mv my_file target_directory: symud ffeil my_file i ffolder target_directory. Wrth nodi'r cyfeiriadur targed, mae angen i chi ddefnyddio'r llwybr absoliwt iddo (ac nid adeiladwaith tebyg ../).

tîm mvgellir ei ddefnyddio hefyd i ailenwi ffeiliau neu ffolderi. Er enghraifft, gallai edrych fel hyn:

mv my_old_file_name.jpg my_new_file_name.jpg
cp my_source_file target_directory
: creu copi o ffeil my_source_file a'i roi mewn ffolder target_directory.

ln -s my_source_file my_target_file: creu cyswllt symbolaidd my_target_file fesul ffeil my_source_file. Os byddwch yn newid y ddolen, bydd y ffeil wreiddiol hefyd yn newid.

Os yw'r ffeil my_source_file yn cael ei ddileu, felly my_target_file bydd yn aros. Baner -s gorchmynion ln yn eich galluogi i greu dolenni ar gyfer cyfeiriaduron.

Nawr, gadewch i ni siarad am ailgyfeirio I / O a phiblinellau.

▍ Ailgyfeirio a phiblinellau I/O

my_command < my_file: yn disodli'r disgrifydd ffeil mewnbwn safonol (stdin) fesul ffeil my_file. Gall hyn fod yn ddefnyddiol os yw'r gorchymyn yn aros am rywfaint o fewnbwn o'r bysellfwrdd, ac mae'r data hwn eisoes wedi'i gadw mewn ffeil.

my_command > my_file: yn ailgyfeirio canlyniadau'r gorchymyn, h.y. beth fyddai'n mynd i mewn fel arfer stdout ac allbwn i'r sgrin, i ffeil my_file. Os yw'r ffeil my_file ddim yn bodoli - mae'n cael ei greu. Os yw'r ffeil yn bodoli, caiff ei throsysgrifo.

Er enghraifft, ar ôl gweithredu'r gorchymyn ls > my_folder_contents.txt bydd ffeil testun yn cael ei chreu yn cynnwys rhestr o'r hyn sydd yn y cyfeiriadur gweithio cyfredol.

Os yn lle'r symbol > defnyddio'r adeiladwaith >>, yna, ar yr amod bod y ffeil y mae allbwn y gorchymyn yn cael ei ailgyfeirio iddi yn bodoli, ni fydd y ffeil hon yn cael ei throsysgrifo. Bydd y data yn cael ei ychwanegu at ddiwedd y ffeil hon.

Nawr, gadewch i ni edrych ar brosesu piblinellau data.

[nod tudalen] Bash i ddechreuwyr: 21 gorchymyn defnyddiol
Mae allbwn un gorchymyn yn cael ei fwydo i fewnbwn gorchymyn arall. Mae fel cysylltu un bibell i'r llall

first_command | second_command: symbol cludo, |, yn cael ei ddefnyddio i anfon allbwn un gorchymyn i orchymyn arall. Yr hyn y mae'r gorchymyn ar ochr chwith y strwythur a ddisgrifir yn ei anfon ato stdout, Syrth i mewn stdin gorchymyn i'r dde o symbol y biblinell.

Ar Linux, gellir piblinellu data gan ddefnyddio bron unrhyw orchymyn sydd wedi'i ffurfio'n dda. Dywedir yn aml bod popeth yn Linux ar y gweill.

Gallwch gadwyno gorchmynion lluosog gan ddefnyddio'r symbol piblinell. Mae'n edrych fel hyn:

first_command | second_command | third_command

[nod tudalen] Bash i ddechreuwyr: 21 gorchymyn defnyddiol
Gellir cymharu piblinell o sawl gorchymyn â phiblinell

Sylwch, pan fydd y gorchymyn i'r chwith o'r symbol |, yn allbynnu rhywbeth i stdout, mae'r hyn y mae hi'n ei allbynnu ar gael ar unwaith fel stdin ail dîm. Hynny yw, mae'n troi allan, gan ddefnyddio'r biblinell, ein bod yn delio â gweithredu gorchmynion cyfochrog. Weithiau gall hyn arwain at ganlyniadau annisgwyl. Gellir darllen manylion am hyn yma.

Nawr, gadewch i ni siarad am ddarllen data o ffeiliau a'u harddangos ar y sgrin.

▍ Darllen ffeiliau

head my_file: yn darllen llinellau o ddechrau ffeil ac yn eu hargraffu i'r sgrin. Gallwch ddarllen nid yn unig cynnwys y ffeiliau, ond hefyd yr hyn y mae'r gorchmynion yn ei allbwn i mewn stdindefnyddio'r gorchymyn hwn fel rhan o'r biblinell.

tail my_file: yn darllen llinellau o ddiwedd y ffeil. Gellir defnyddio'r gorchymyn hwn hefyd ar y gweill.

[nod tudalen] Bash i ddechreuwyr: 21 gorchymyn defnyddiol
Mae pen (pen) o'i flaen, a chynffon (cynffon) y tu ôl

Os ydych chi'n gweithio gyda data gan ddefnyddio'r llyfrgell pandas, yna'r gorchmynion head и tail dylai fod yn gyfarwydd i chi. Os nad yw hyn yn wir, edrychwch ar y ffigur uchod, a byddwch yn hawdd eu cofio.

Ystyriwch ffyrdd eraill o ddarllen ffeiliau, gadewch i ni siarad am y gorchymyn cat.

Tîm cat naill ai'n argraffu cynnwys ffeil i'r sgrin, neu'n cydgadwynu sawl ffeil. Mae'n dibynnu ar faint o ffeiliau sy'n cael eu trosglwyddo i'r gorchymyn hwn pan gaiff ei alw.

[nod tudalen] Bash i ddechreuwyr: 21 gorchymyn defnyddiol
gorchymyn cath

cat my_one_file.txt: pan fydd ffeil sengl yn cael ei throsglwyddo i'r gorchymyn hwn, mae'n ei allbynnu i stdout.

Os rhowch ddwy ffeil neu fwy o ffeiliau iddo, yna mae'n ymddwyn yn wahanol.

cat my_file1.txt my_file2.txt: ar ôl derbyn sawl ffeil fel mewnbwn, mae'r gorchymyn hwn yn cydgatenu eu cynnwys ac yn dangos yr hyn a ddigwyddodd yn stdout.

Os oes angen cadw canlyniad cydgadwyniad ffeil fel ffeil newydd, gallwch ddefnyddio'r gweithredwr >:

cat my_file1.txt my_file2.txt > my_new_file.txt

Nawr, gadewch i ni siarad am sut i ddileu ffeiliau ac atal prosesau.

▍ Dileu ffeiliau, atal prosesau

rm my_file: dileu ffeil my_file.

rm -r my_folder: dileu ffolder my_folder a'r holl ffeiliau a ffolderi sydd ynddo. Baner -r yn nodi y bydd y gorchymyn yn rhedeg yn y modd ailadroddus.

I atal y system rhag gofyn am gadarnhad bob tro y caiff ffeil neu ffolder ei dileu, defnyddiwch y faner -f.

kill 012345: Yn stopio'r broses redeg benodol, gan roi amser iddo gau'n osgeiddig.

kill -9 012345: Yn rymus yn terfynu'r broses redeg penodedig. Gweld y faner -s SIGKILL yn golygu yr un peth â'r faner -9.

▍Chwilio

Gallwch ddefnyddio gwahanol orchmynion i chwilio am ddata. Yn arbennig - grep, ag и ack. Gadewch i ni ddechrau ein adnabyddiaeth o'r gorchmynion hyn gyda grep. Mae hwn yn orchymyn dibynadwy, wedi'i brofi gan amser, sydd, fodd bynnag, yn arafach nag eraill ac nid yw mor gyfleus i'w ddefnyddio ag y maent.

[nod tudalen] Bash i ddechreuwyr: 21 gorchymyn defnyddiol
grep gorchymyn

grep my_regex my_file: chwilio my_regex в my_file. Os canfyddir cyfatebiaeth, dychwelir y llinyn cyfan, ar gyfer pob matsien. Diofyn my_regex cael ei drin fel mynegiant rheolaidd.

grep -i my_regex my_file: Perfformir y chwiliad mewn modd ansensitif o ran achosion.

grep -v my_regex my_file: yn dychwelyd pob rhes nad ydynt yn cynnwys my_regex. Baner -v yn golygu gwrthdroad, mae'n debyg i'r gweithredwr NOT, a geir mewn llawer o ieithoedd rhaglennu.

grep -c my_regex my_file: Yn dychwelyd gwybodaeth am nifer y cyfatebiaethau ar gyfer y patrwm a chwiliwyd a geir yn y ffeil.

grep -R my_regex my_folder: yn perfformio chwiliad ailadroddus ym mhob ffeil sydd wedi'i lleoli yn y ffolder penodedig ac yn y ffolderi sydd wedi'u nythu ynddo.

Nawr gadewch i ni siarad am y tîm ag. Daeth yn ddiweddarach grep, mae'n gyflymach, mae'n fwy cyfleus i weithio gydag ef.

[nod tudalen] Bash i ddechreuwyr: 21 gorchymyn defnyddiol
ag gorchymyn

ag my_regex my_file: yn dychwelyd gwybodaeth am rifau llinell, a'r llinellau eu hunain, y canfuwyd cyfatebiaethau â my_regex.

ag -i my_regex my_file: Perfformir y chwiliad mewn modd ansensitif o ran achosion.

Tîm ag prosesu'r ffeil yn awtomatig .gitignore ac yn eithrio o'r allbwn yr hyn a geir yn y ffolderi neu'r ffeiliau a restrir yn y ffeil honno. Mae'n gyfforddus iawn.

ag my_regex my_file -- skip-vcs-ignores: cynnwys ffeiliau rheoli fersiwn awtomatig (fel .gitignore) heb ei gymryd i ystyriaeth yn y chwiliad.

Yn ogystal, er mwyn dweud wrth y tîm ag ar ba lwybrau ffeil rydych chi am eu heithrio o'r chwiliad, gallwch greu ffeil .agignore.

Ar ddechrau'r adran hon, soniasom am y gorchymyn ack. Timau ack и ag yn debyg iawn, gallwn ddweud eu bod 99% yn gyfnewidiol. Fodd bynnag, y tîm ag yn gweithio'n gyflymach, dyna pam y disgrifiais ef.

Nawr, gadewch i ni siarad am weithio gydag archifau.

▍Archifo

tar my_source_directory: concatenates ffeiliau o ffolder my_source_directory i mewn i ffeil tarball sengl. Mae ffeiliau o'r fath yn ddefnyddiol ar gyfer trosglwyddo setiau mawr o ffeiliau i rywun.

[nod tudalen] Bash i ddechreuwyr: 21 gorchymyn defnyddiol
gorchymyn tar

Mae'r ffeiliau tarball a gynhyrchir gan y gorchymyn hwn yn ffeiliau gyda'r estyniad .tar (Archif Tâp). Mae'r ffaith bod y gair "tâp" (tâp) wedi'i guddio yn enw'r gorchymyn ac yn estyniad enwau'r ffeiliau y mae'n eu creu yn nodi pa mor hir y mae'r gorchymyn hwn wedi bodoli.

tar -cf my_file.tar my_source_directory: yn creu ffeil tarball o'r enw my_file.tar gyda chynnwys ffolder my_source_directory. Baner -c yn sefyll am "creu" (creu), a'r faner -f fel "ffeil" (ffeil).

I echdynnu ffeiliau o .tar-file, defnyddiwch y gorchymyn tar gyda baneri -x ("extract", echdynnu ) a -f ("ffeil", ffeil).

tar -xf my_file.tar: yn echdynnu ffeiliau o my_file.tar i'r cyfeiriadur gweithio cyfredol.

Nawr, gadewch i ni siarad am sut i gywasgu a datgywasgu .tar-ffeiliau.

tar -cfz my_file.tar.gz my_source_directory: yma gan ddefnyddio'r faner -z ("zip", algorithm cywasgu) yn nodi y dylid defnyddio'r algorithm i gywasgu ffeiliau gzip (GNUzip). Mae cywasgu ffeiliau yn arbed lle ar ddisg wrth storio ffeiliau o'r fath. Os bwriedir trosglwyddo'r ffeiliau, er enghraifft, i ddefnyddwyr eraill, mae hyn yn cyfrannu at lawrlwytho ffeiliau o'r fath yn gyflymach.

Dadsipio ffeil .tar.gz gallwch ychwanegu baner -z i'r gorchymyn cynnwys echdynnu .tar-ffeiliau, a drafodwyd gennym uchod. Mae'n edrych fel hyn:

tar -xfz my_file.tar.gz
Dylid nodi bod y tîm tar Mae llawer mwy o faneri defnyddiol.

arallenwau Bash

Mae arallenwau Bash (a elwir hefyd yn aliasau neu dalfyriadau) wedi'u cynllunio i greu enwau cryno o orchmynion neu eu dilyniannau, y mae eu defnyddio yn lle gorchmynion rheolaidd yn cyflymu gwaith. Os oes gennych alias bu, sy'n cuddio'r gorchymyn python setup.py sdist bdist_wheel, yna i alw y gorchymyn hwn, mae'n ddigon i ddefnyddio'r alias hwn.

I greu alias o'r fath, ychwanegwch y gorchymyn canlynol i'r ffeil ~/.bash_profile:

alias bu="python setup.py sdist bdist_wheel"

Os nad oes gan eich system y ffeil ~/.bash_profile, yna gallwch chi ei greu eich hun gan ddefnyddio'r gorchymyn touch. Ar ôl creu'r alias, ailgychwynwch y derfynell, ac ar ôl hynny gallwch chi ddefnyddio'r alias hwn. Yn yr achos hwn, mae mewnbwn dau nod yn disodli mewnbwn mwy na thri dwsin o nodau'r gorchymyn, sydd wedi'i fwriadu ar gyfer gwasanaethau pecynnau Python.

В ~/.bash_profile gallwch ychwanegu arallenwau ar gyfer unrhyw orchmynion a ddefnyddir yn aml.

▍Canlyniadau

Yn y swydd hon, rydym wedi ymdrin â 21 o orchmynion Bash poblogaidd ac wedi siarad am greu arallenwau gorchymyn. Os oes gennych ddiddordeb yn y pwnc hwn - yma cyfres o gyhoeddiadau wedi'u neilltuo i Bash. Yma Gallwch ddod o hyd i fersiwn pdf o'r cyhoeddiadau hyn. Hefyd, os ydych chi eisiau dysgu Bash, cofiwch, fel gydag unrhyw system raglennu arall, bod ymarfer yn allweddol.

Annwyl ddarllenwyr! Pa orchmynion sy'n ddefnyddiol i ddechreuwyr y byddech chi'n eu hychwanegu at y rhai a drafodwyd yn yr erthygl hon?

Darllenwch hefyd yn ein blog gyfres o gyhoeddiadau am sgriptiau bash

[nod tudalen] Bash i ddechreuwyr: 21 gorchymyn defnyddiol

Ffynhonnell: hab.com

Ychwanegu sylw