[comharra-leabhair] Bash airson luchd-tòiseachaidh: 21 àithne feumail

Tha an stuth, a tha sinn a’ foillseachadh an-diugh air eadar-theangachadh, airson an fheadhainn a tha airson maighstireachd a dhèanamh air loidhne-àithne Linux. Faodaidh an comas an inneal seo a chleachdadh gu h-èifeachdach tòrr ùine a shàbhaladh. Gu sònraichte, bruidhnidh sinn mu dheidhinn slige Bash agus òrdughan feumail 21 an seo. Bruidhnidh sinn cuideachd mu mar a chleachdas tu brataichean àithne agus aliases Bash gus clò-sgrìobhadh stiùiridhean fada a luathachadh.

[comharra-leabhair] Bash airson luchd-tòiseachaidh: 21 àithne feumail

Leugh cuideachd nar blog sreath de fhoillseachaidhean mu sgriobtaichean bash

Cumhachan

Mar a dh'ionnsaicheas tu a bhith ag obair leis an loidhne-àithne Linux, thig thu tarsainn air mòran bhun-bheachdan a tha cuideachail airson seòladh. Tha cuid dhiubh, mar "Linux" agus "Unix", no "shell" agus "terminal", uaireannan troimh-chèile. Bruidhnidh sinn mu dheidhinn seo agus teirmean cudromach eile.

Unix na shiostam obrachaidh mòr-chòrdte a chaidh a leasachadh le Bell Labs anns na 1970n. Chaidh an còd aice a dhùnadh.

Linux Is e an siostam obrachaidh as mòr-chòrdte a tha coltach ri Unix. Tha e a-nis air a chleachdadh air iomadh inneal, a 'gabhail a-steach coimpiutairean.

terminal (terminal), no emulator terminal na phrògram a bheir cothrom air an t-siostam obrachaidh. Faodaidh tu grunn uinneagan crìochnachaidh a bhith fosgailte aig an aon àm.

Shell (slige) na phrògram a leigeas leat òrdughan sgrìobhte ann an cànan sònraichte a chuir chun t-siostam obrachaidh.

Bash a’ seasamh airson Bourne Again Shell. Is e seo an cànan slige as cumanta a thathas a’ cleachdadh airson eadar-obrachadh leis an t-siostam obrachaidh. Cuideachd, is e an slige Bash an rud bunaiteach air macOS.

Eadar-aghaidh loidhne-àithne (Command Line Interface, CLI) na dhòigh air eadar-obrachadh eadar neach agus coimpiutair, nuair a bhios e a ’cleachdadh a chuireas an neach-cleachdaidh a-steach òrdughan bhon mheur-chlàr, agus bidh an coimpiutair, a’ cur an gnìomh nan òrdughan sin, a ’taisbeanadh teachdaireachdan ann an cruth teacsa airson an neach-cleachdaidh. Tha an CLI air a chleachdadh sa mhòr-chuid gus fiosrachadh as ùire fhaighinn mu bhuidhnean sònraichte, mar eisimpleir, mu fhaidhlichean, agus airson obrachadh le faidhlichean. Bu chòir eadar-aghaidh na loidhne-àithne a bhith eadar-dhealaichte bhon eadar-aghaidh cleachdaiche grafaigeach (GUI), a bhios gu sònraichte a’ cleachdadh na luchaige. Thathas gu tric a’ toirt iomradh air an eadar-aghaidh loidhne-àithne dìreach mar an loidhne-àithne.

Sgriobt (sgriobt) na phrògram beag anns a bheil sreath de dh’ òrdughan shligean. Tha sgriobtaichean air an sgrìobhadh gu faidhlichean, faodar an cleachdadh a-rithist agus a-rithist. Nuair a bhios tu a’ sgrìobhadh sgriobtaichean, faodaidh tu caochladairean, cumhachan, lùban, gnìomhan agus feartan eile a chleachdadh.

A-nis gu bheil sinn air na teirmean cudromach a chòmhdach, tha mi airson a chomharrachadh gun cleachd mi na briathran “Bash”, “slige” agus “loidhne àithne” gu h-eadar-mhalairteach an seo, a bharrachd air na briathran “eòlaire” agus “pasgan”.

Coitcheann sruthan, a chleachdas sinn an seo an cuir a-steach àbhaisteach (cuir a-steach àbhaisteach, stdin), toradh àbhaisteach (toradh àbhaisteach, stdout) agus toradh mearachd àbhaisteach (mearachd àbhaisteach, stderr).

Ma tha anns na h-òrdughan eisimpleir a thèid a thoirt seachad gu h-ìosal, gheibh thu rudeigin mar my_whatever - tha seo a 'ciallachadh gum feum rudeigin de do chuid a chur an àite a' chriomag seo. Mar eisimpleir, ainm faidhle.

A-nis, mus lean sinn air adhart le mion-sgrùdadh air na h-òrdughan a tha an stuth seo coisrigte dha, leig dhuinn sùil a thoirt air an liosta aca agus na tuairisgeulan goirid aca.

21 Bash àithne

▍ A’ faighinn fiosrachadh

  • man: A’ taisbeanadh an stiùireadh cleachdaiche (cuideachadh) airson an àithne.
  • pwd: a’ taisbeanadh fiosrachadh mun eòlaire obrach.
  • ls: a 'taisbeanadh susbaint an eòlaire.
  • ps: A’ leigeil leat fiosrachadh fhaicinn mu phròiseasan ruith.

▍ Làimhseachadh siostam faidhle

  • cd: atharraich eòlaire obrach.
  • touch: cruthaich faidhle.
  • mkdir: cruthaich eòlaire.
  • cp: Dèan lethbhreac de fhaidhle.
  • mv: Gluais no sguab às faidhle.
  • ln: cruthaich ceangal.

▍ Ath-stiùireadh I / O agus loidhnichean-phìoban

  • <: ath-sheòladh stdin.
  • >: ath-sheòladh stdout.
  • |: pìobaireachd toradh aon àithne gu cuir a-steach àithne eile.

▍ A’ leughadh fhaidhlichean

  • head: leugh toiseach an fhaidhle.
  • tail: leugh deireadh an fhaidhle.
  • cat: Leugh faidhle agus clò-bhuail na tha ann dhan sgrion, no co-cheangail faidhlichean.

▍ Cuir às do fhaidhlichean, stad air pròiseasan

  • rm: Sguab às faidhle.
  • kill: stad air a’ phròiseas.

▍ Rannsaich

  • grep: lorg fiosrachaidh.
  • ag: àithne adhartach airson lorg.

▍ Tasglann

  • tar: cruthachadh thasglannan agus ag obair còmhla riutha.

Bruidhnidh sinn mu na h-òrdughan sin ann am barrachd mionaideachd.

Mion-fhiosrachadh sgioba

An toiseach, leig dhuinn dèiligeadh ris na h-òrdughan, agus tha na toraidhean air an cur a-mach san fhoirm stdout. Mar as trice bidh na toraidhean sin a’ nochdadh ann an uinneag crìochnachaidh.

▍ A’ faighinn fiosrachadh

man command_name: seall an stiùireadh àithne, i.e. fiosrachadh cuideachaidh.

pwd: seall an t-slighe chun an eòlaire obrach làithreach. Rè a bhith ag obair leis an loidhne-àithne, gu tric feumaidh an neach-cleachdaidh faighinn a-mach càite dìreach san t-siostam a tha e.

ls: seall susbaint eòlaire. Tha an àithne seo cuideachd air a chleachdadh gu math tric.

ls -a: seall faidhlichean falaichte. bratach air a chur an sàs an seo -a àitheantan ls. Bidh cleachdadh brataichean a’ cuideachadh le bhith a’ gnàthachadh giùlan nan òrduighean.

ls -l: Seall fiosrachadh mionaideach mu fhaidhlichean.

Thoir an aire gum faodar brataichean a chur còmhla. Mar eisimpleir - mar seo: ls -al.

ps: Seall pròiseasan ruith.

ps -e: Seall fiosrachadh mu na pròiseasan ruith air fad, chan e dìreach an fheadhainn a tha co-cheangailte ris an t-slige cleachdaiche làithreach. Tha an àithne seo gu tric air a chleachdadh san fhoirm seo.

▍ Làimhseachadh siostam faidhle

cd my_directory: atharraich eòlaire obrach gu my_directory. Gus gluasad suas aon ìre sa chraobh eòlaire, cleachd my_directory slighe càirdeach ../.

[comharra-leabhair] Bash airson luchd-tòiseachaidh: 21 àithne feumail
òrdugh cd

touch my_file: cruthachadh fhaidhlichean my_file air an t-slighe a thugadh seachad.

mkdir my_directory: cruthaich pasgan my_directory air an t-slighe a thugadh seachad.

mv my_file target_directory: gluais faidhle my_file gu pasgan target_directory. Nuair a bhios tu a’ sònrachadh an eòlaire targaid, feumaidh tu an t-slighe iomlan a chleachdadh thuige (agus chan e togail mar ../).

An sgioba mvfaodar a chleachdadh cuideachd gus faidhlichean no pasganan ath-ainmeachadh. Mar eisimpleir, is dòcha gum bi e coltach ri seo:

mv my_old_file_name.jpg my_new_file_name.jpg
cp my_source_file target_directory
: cruthaich lethbhreac de fhaidhle my_source_file agus cuir ann am pasgan e target_directory.

ln -s my_source_file my_target_file: cruthaich ceangal samhlachail my_target_file gach faidhle my_source_file. Ma dh'atharraicheas tu an ceangal, atharraichidh am faidhle tùsail cuideachd.

Ma tha am faidhle my_source_file thèid a sguabadh às, ma-thà my_target_file fanaidh. Bratach -s àitheantan ln a’ leigeil leat ceanglaichean a chruthachadh airson clàran.

A-nis bruidhnidh sinn mu ath-stiùireadh I / O agus loidhnichean-phìoban.

▍ Ath-stiùireadh I / O agus loidhnichean-phìoban

my_command < my_file: a’ dol an àite an tuairisgeul faidhle inntrigidh àbhaisteach (stdin) gach faidhle my_file. Faodaidh seo a bhith feumail ma tha an àithne a’ feitheamh ri beagan a-steach bhon mheur-chlàr, agus tha an dàta seo air a shàbhaladh ann am faidhle mu thràth.

my_command > my_file: ag ath-stiùireadh toraidhean an àithne, i.e. dè a bhiodh a’ dol a-steach mar as trice stdout agus toradh chun sgrion, gu faidhle my_file. Ma tha am faidhle my_file chan eil e ann - tha e air a chruthachadh. Ma tha am faidhle ann, tha e air ath-sgrìobhadh.

Mar eisimpleir, às deidh an àithne a chuir an gnìomh ls > my_folder_contents.txt thèid faidhle teacsa a chruthachadh anns a bheil liosta de na tha san eòlaire obrach làithreach.

Ma tha an àite an t-samhla > cleachdadh an togail >>, an uairsin, cho fad 's gu bheil am faidhle dhan tèid toradh na h-àithne ath-stiùireadh ann, cha tèid am faidhle seo a sgrìobhadh thairis. Thèid an dàta a chur ri deireadh an fhaidhle seo.

A-nis leig dhuinn sùil a thoirt air giollachd loidhne-phìoban dàta.

[comharra-leabhair] Bash airson luchd-tòiseachaidh: 21 àithne feumail
Tha toradh aon àithne air a bhiathadh a-steach do chuir a-steach àithne eile. Tha e coltach ri bhith a’ ceangal aon phìob ri fear eile

first_command | second_command: samhla giùlain, |, air a chleachdadh gus toradh aon àithne a chuir gu àithne eile. Na tha an àithne air taobh clì an structair a chaidh a mhìneachadh a’ cur thuige stdout, tuiteam a-steach stdin àithne air taobh deas samhla na loidhne-phìoban.

Air Linux, faodar dàta a phìobadh le bhith a’ cleachdadh dìreach òrdugh sam bith air a dheagh chruthachadh. Thathas ag ràdh gu tric gu bheil a h-uile dad ann an Linux na loidhne-phìoban.

Faodaidh tu iomadh àithne a shìneadh a’ cleachdadh samhla na loidhne-phìoban. Tha e coltach ri seo:

first_command | second_command | third_command

[comharra-leabhair] Bash airson luchd-tòiseachaidh: 21 àithne feumail
Faodar loidhne-phìoban de ghrunn òrdughan a choimeas ri loidhne-phìoban

Thoir an aire nuair a tha an àithne air taobh clì an t-samhla |, cuir a-mach rudeigin gu stdout, tha na tha i a’ toirt a-mach ri fhaighinn sa bhad mar stdin dàrna sgioba. Is e sin, tha e a 'tionndadh a-mach gu bheil, a' cleachdadh na loidhne-phìoban, tha sinn a 'dèiligeadh ri co-shìnte coileanadh òrdughan. Uaireannan faodaidh seo leantainn gu toraidhean ris nach robh dùil. Faodar mion-fhiosrachadh mu dheidhinn seo a leughadh an seo.

A-nis bruidhnidh sinn mu bhith a’ leughadh dàta bho fhaidhlichean agus gan taisbeanadh air an sgrion.

▍ A’ leughadh fhaidhlichean

head my_file: a’ leughadh loidhnichean bho thoiseach faidhle agus gan clò-bhualadh chun sgrion. Faodaidh tu chan e a-mhàin susbaint nam faidhlichean a leughadh, ach cuideachd na tha na h-òrdughan a’ toirt a-mach stdina’ cleachdadh an àithne seo mar phàirt den loidhne-phìoban.

tail my_file: a’ leughadh loidhnichean bho dheireadh an fhaidhle. Faodar an àithne seo a chleachdadh ann an loidhne-phìoban cuideachd.

[comharra-leabhair] Bash airson luchd-tòiseachaidh: 21 àithne feumail
Tha ceann (ceann) air a bheulaibh, agus earball (earball) air a chùlaibh

Ma tha thu ag obair le dàta a’ cleachdadh an leabharlann pandathan, an uairsin na h-òrdughan head и tail bu chòir a bhith eòlach ort. Mura h-eil seo fìor, thoir sùil air an fhigear gu h-àrd, agus bidh cuimhne agad orra gu furasta.

Beachdaich air dòighean eile air faidhlichean a leughadh, bruidhnidh sinn mun àithne cat.

sgioba cat an dàrna cuid a’ clò-bhualadh susbaint faidhle chun sgrion, no a’ co-cheangail grunn fhaidhlichean. Tha e an urra ri cia mheud faidhle a thèid a thoirt don àithne seo nuair a thèid an gairm.

[comharra-leabhair] Bash airson luchd-tòiseachaidh: 21 àithne feumail
àithne cat

cat my_one_file.txt: nuair a thèid aon fhaidhle a thoirt don àithne seo, bheir e a-mach e gu stdout.

Ma bheir thu dà fhaidhle no barrachd dha, bidh e gad ghiùlan fhèin ann an dòigh eadar-dhealaichte.

cat my_file1.txt my_file2.txt: an dèidh grunn fhaidhlichean fhaighinn mar chur-a-steach, bidh an àithne seo a' co-chòrdadh ris na tha annta agus a' taisbeanadh na thachair ann stdout.

Ma tha feum air toradh co-chòrdadh faidhle a shàbhaladh mar fhaidhle ùr, faodaidh tu an gnìomhaiche a chleachdadh >:

cat my_file1.txt my_file2.txt > my_new_file.txt

A-nis bruidhnidh sinn mu mar as urrainn dhut faidhlichean a dhubhadh às agus stad a chuir air pròiseasan.

▍ Cuir às do fhaidhlichean, stad air pròiseasan

rm my_file: sguab às am faidhle my_file.

rm -r my_folder: sguab às pasgan my_folder agus a h-uile faidhle agus pasgan a th’ ann. Bratach -r a’ nochdadh gun ruith an àithne ann am modh ath-chuairteach.

Gus casg a chuir air an t-siostam bho bhith ag iarraidh dearbhadh gach uair a thèid faidhle no pasgan a dhubhadh às, cleachd am bratach -f.

kill 012345: A’ stad air a’ phròiseas ruith ainmichte, a’ toirt ùine dha dùnadh gu gràsmhor.

kill -9 012345: Gu làidir a 'cur crìoch air a' phròiseas ruith ainmichte. Seall Bratach -s SIGKILL a’ ciallachadh an aon rud ris a’ bhratach -9.

▍ Rannsaich

Faodaidh tu diofar òrdughan a chleachdadh gus dàta a lorg. Gu sònraichte - grep, ag и ack. Tòisichidh sinn ar n-aithne air na h-àithnean so le grep. Is e òrdugh earbsach le deuchainn ùine a tha seo, a tha, ge-tà, nas slaodaiche na feadhainn eile agus chan eil e cho goireasach ri chleachdadh ’s a tha iad.

[comharra-leabhair] Bash airson luchd-tòiseachaidh: 21 àithne feumail
grep àithne

grep my_regex my_file: lorg my_regex в my_file. Ma lorgar maids, thèid an sreang gu lèir a thilleadh, airson gach maids. Deònach my_regex air a làimhseachadh mar abairt àbhaisteach.

grep -i my_regex my_file: Tha an rannsachadh air a dhèanamh ann an dòigh nach eil mothachail air cùis.

grep -v my_regex my_file: tillidh e gach sreath anns nach eil my_regex. Bratach -v a’ ciallachadh tionndadh, tha e coltach ris a’ ghnìomhaiche NOT, a lorgar ann an iomadh cànan prògramaidh.

grep -c my_regex my_file: A’ tilleadh fiosrachadh mun àireamh de mhaitsean airson a’ phàtrain a chaidh a sgrùdadh a chaidh a lorg san fhaidhle.

grep -R my_regex my_folder: a’ dèanamh sgrùdadh ath-chuairteach anns a h-uile faidhle a tha sa phasgan ainmichte agus anns na pasganan a tha neadachadh ann.

A-nis bruidhnidh sinn mun sgioba ag. Thàinig i nas fhaide air adhart grep, tha e nas luaithe, tha e nas goireasaiche obrachadh leis.

[comharra-leabhair] Bash airson luchd-tòiseachaidh: 21 àithne feumail
ag àithne

ag my_regex my_file: a’ tilleadh fiosrachadh mu àireamhan loidhne, agus na loidhnichean fhèin, anns an deach maidsean a lorg le my_regex.

ag -i my_regex my_file: Tha an rannsachadh air a dhèanamh ann an dòigh nach eil mothachail air cùis.

sgioba ag pròiseas am faidhle gu fèin-ghluasadach .gitignore agus a’ dùnadh a-mach às an toradh na lorgar anns na pasganan no na faidhlichean a tha air an liostadh san fhaidhle sin. Tha e glè chofhurtail.

ag my_regex my_file -- skip-vcs-ignores: susbaint faidhlichean smachd tionndadh fèin-ghluasadach (mar .gitignore) nach eil air a thoirt fa-near anns an rannsachadh.

A bharrachd air an sin, gus innse don sgioba ag air na slighean faidhle a tha thu airson a thoirmeasg bhon rannsachadh, faodaidh tu faidhle a chruthachadh .agignore.

Aig toiseach na h-earrainn seo, thug sinn iomradh air an àithne ack. Sgiobaidhean ack и ag glè choltach, faodaidh sinn a ràdh gu bheil iad 99% eadar-mhalairteach. Ach, an sgioba ag ag obair nas luaithe, is ann air sgàth sin a thug mi cunntas air.

A-nis bruidhnidh sinn mu bhith ag obair le tasglannan.

▍ Tasglann

tar my_source_directory: concatenates faidhlichean o phasgan my_source_directory ann an aon fhaidhle tarball. Tha faidhlichean mar seo feumail airson seataichean mòra de fhaidhlichean a ghluasad gu cuideigin.

[comharra-leabhair] Bash airson luchd-tòiseachaidh: 21 àithne feumail
tàr àithne

Tha na faidhlichean tarball a ghineadh leis an àithne seo nam faidhlichean leis an leudachadh .tar (Tape Archive). Tha an fhìrinn gu bheil am facal “teip” (teip) falaichte ann an ainm na h-àithne agus ann an leudachadh ainmean nam faidhlichean a chruthaicheas e a’ nochdadh dè cho fada ‘s a tha an àithne seo air a bhith ann.

tar -cf my_file.tar my_source_directory: a 'cruthachadh faidhle tarball ainmichte my_file.tar le susbaint pasgan my_source_directory. Bratach -c a’ seasamh airson “cruthaich” (cruthachadh), agus a’ bhratach -f mar "faidhle" (faidhle).

Gus faidhlichean a thoirt a-mach à .tar-file, cleachd an àithne tar le brataichean -x ("earrann", às-tharraing) agus -f ("faidhle", faidhle).

tar -xf my_file.tar: thoir air falbh faidhlichean o my_file.tar dhan eòlaire obrach làithreach.

A-nis bruidhnidh sinn mu mar a nì thu teannachadh agus dì-dhùmhlachadh .tar- faidhlichean.

tar -cfz my_file.tar.gz my_source_directory: an seo a 'cleachdadh a' bhratach -z ("zip", algairim teannachaidh) a 'nochdadh gum bu chòir an algairim a chleachdadh gus faidhlichean a dhlùthadh gzip (GNUzip). Bidh teannachadh faidhle a’ sàbhaladh àite diosc nuair a bhios tu a’ stòradh fhaidhlichean mar sin. Ma tha na faidhlichean air an dealbhadh, mar eisimpleir, airson an gluasad gu luchd-cleachdaidh eile, bidh seo a 'cur ri luchdachadh sìos faidhlichean mar sin nas luaithe.

Dèan unzip air an fhaidhle .tar.gz faodaidh tu bratach a chur ris -z chun an àithne susbaint tarraing a-mach .tar-files, air an do bhruidhinn sinn gu h-àrd. Tha e coltach ri seo:

tar -xfz my_file.tar.gz
Bu chòir a thoirt fa-near gu bheil an sgioba tar Tha tòrr a bharrachd brataichean feumail ann.

Ailias Bash

Tha aliases Bash (ris an canar cuideachd ailiasan no giorrachaidhean) air an dealbhadh gus ainmean giorraichte de dh’ àitheantan no na sreathan aca a chruthachadh, agus bidh an cleachdadh an àite òrdughan cunbhalach a’ luathachadh obair. Ma tha ailias agad bu, a tha 'falach na h-àithne python setup.py sdist bdist_wheel, an uairsin gus an àithne seo a ghairm, tha e gu leòr an ailias seo a chleachdadh.

Gus a leithid de alias a chruthachadh, dìreach cuir an àithne a leanas ris an fhaidhle ~/.bash_profile:

alias bu="python setup.py sdist bdist_wheel"

Mura h-eil am faidhle aig an t-siostam agad ~/.bash_profile, an uairsin faodaidh tu a chruthachadh leat fhèin a’ cleachdadh an àithne touch. Às deidh dhut an alias a chruthachadh, ath-thòisich an inneal-crìochnachaidh, agus às deidh sin faodaidh tu an ailias seo a chleachdadh. Anns a’ chùis seo, tha cuir a-steach dà charactar a’ dol an àite cuir a-steach barrachd air trì dusan caractar den àithne, a thathar an dùil airson co-chruinneachaidhean sgoile Pacaidean python.

В ~/.bash_profile faodaidh tu ailias a chur ris airson òrdughan sam bith a chleachdar gu tric.

▍ Toraidhean

Anns an dreuchd seo, tha sinn air 21 òrdughan Bash mòr-chòrdte a chòmhdach agus air bruidhinn mu bhith a’ cruthachadh ailiasan àithne. Ma tha ùidh agad sa chuspair seo - feuch sreath de fhoillseachaidhean coisrigte do Bash. tha e Gheibh thu dreach pdf de na foillseachaidhean seo. Cuideachd, ma tha thu airson Bash ionnsachadh, cuimhnich, mar le siostam prògramadh sam bith eile, gu bheil cleachdadh deatamach.

Luchd leughaidh! Dè na h-òrdughan a tha feumail do luchd-tòiseachaidh a chuireadh tu ris an fheadhainn air an deach beachdachadh san artaigil seo?

Leugh cuideachd nar blog sreath de fhoillseachaidhean mu sgriobtaichean bash

[comharra-leabhair] Bash airson luchd-tòiseachaidh: 21 àithne feumail

Source: www.habr.com

Cuir beachd ann