[tohua] Bash mo te hunga timata: 21 nga whakahau whai hua

Ko nga korero, ko te whakamaoritanga e whakaputahia ana e matou i tenei ra, he mea mo te hunga e hiahia ana ki te mohio ki te raina whakahau Linux. Ko te kaha ki te whakamahi tika i tenei taputapu ka taea te whakaora i te wa roa. Ina koa, ka korero tatou mo te anga Bash me nga whakahau whaihua 21 i konei. Ka korero ano tatou me pehea te whakamahi i nga haki whakahau me nga ingoa ingoa Bash kia tere ake te tuhi i nga tohutohu roa.

[tohua] Bash mo te hunga timata: 21 nga whakahau whai hua

Panuitia ano hoki i roto i ta maatau blog he raupapa panui mo nga tuhinga bash

Nga Ture

I a koe e ako ana ki te mahi me te raina whakahau Linux, ka tutaki koe ki nga kaupapa maha e pai ana ki te whakatere. Ko etahi o ratou, penei i te "Linux" me "Unix", "anga" me te "terminal" ranei, i etahi wa ka rangirua. Kia korero tatou mo enei me etahi atu kupu nui.

Unix he punaha whakahaere rongonui i whakawhanakehia e Bell Labs i nga tau 1970. I katia tana waehere.

Linux Ko te punaha whakahaere tino rongonui rite Unix. Kei te whakamahia inaianei i runga i nga taputapu maha, tae atu ki nga rorohiko.

kāpeka (terminal), he emulator kāpeka ranei he kaupapa e uru ana ki te punaha whakahaere. Ka taea e koe te whakatuwhera i nga matapihi kati maha i te wa kotahi.

Shell (anga) he kaupapa e taea ai e koe te tuku whakahau kua tuhia ki te reo motuhake ki te punaha whakahaere.

Bash e tu ana mo Bourne Again Shell. Koia te reo anga e whakamahia ana ki te mahi tahi me te punaha whakahaere. Ano, ko te anga Bash te taunoa i runga i te macOS.

Atanga raina whakahau (Atanga Raina Whakahau, CLI) he tikanga mo te taunekeneke i waenga i te tangata me te rorohiko, ma te whakamahi ka uru te kaiwhakamahi ki nga whakahau mai i te papapātuhi, me te rorohiko, e mahi ana i enei whakahau, ka whakaatu i nga karere i roto i te puka tuhinga mo te kaiwhakamahi. Ko te whakamahinga matua o te CLI ko te tiki korero hou mo etahi hinonga, penei i nga konae, me te mahi tahi me nga konae. Me wehe te atanga raina whakahau mai i te atanga kaiwhakamahi whakairoiro (GUI), e whakamahi ana i te kiore. Ko te atanga raina whakahau ka kiia noa ko te raina whakahau.

Hōtuhi (script) he kaupapa iti kei roto he raupapa whakahau anga. Ka tuhia nga tuhinga ki nga konae, ka taea te whakamahi i nga wa katoa. I te wa e tuhi ana i nga tuhinga, ka taea e koe te whakamahi i nga taurangi, nga here, nga koropiko, nga mahi, me etahi atu waahanga.

Inaianei kua hipokina e matou nga kupu nui, e hiahia ana ahau ki te tohu ka whakamahia e ahau nga kupu "Bash", "shell" me "raina whakahau" i konei, me nga kupu "whaiaronga" me te "kōpaki".

Paerewa nga awa, ka whakamahia e matou i konei ko te whakauru paerewa (whakauru paerewa, stdin), putanga paerewa (putanga paerewa, stdout) me te putanga hapa paerewa (hapa paerewa, stderr).

Mena kei roto i nga tauira whakahau ka hoatu i raro nei, ka kitea e koe tetahi mea penei my_whatever - ko te tikanga me whakakapi tenei kongakonga ki tetahi mea o koe. Hei tauira, te ingoa o te konae.

Na, i mua i te haere ki te wetewete i nga whakahau e whakatapua ana tenei rauemi, me titiro ki a raatau raarangi me o raatau korero poto.

21 Nga whakahau a Bash

▍Te tiki korero

  • man: Ka whakaatu i te aratohu kaiwhakamahi (awhina) mo te whakahau.
  • pwd: he whakaatu korero mo te whaiaronga mahi.
  • ls: he whakaatu i nga ihirangi o te whaiaronga.
  • ps: Ka taea e koe te tiro i nga korero mo nga tukanga whakahaere.

▍Kōnae pūnaha raweke

  • cd: huri i te whaiaronga mahi.
  • touch: hanga he kōnae.
  • mkdir: hanga he whaiaronga.
  • cp: Tārua he kōnae.
  • mv: Nuku, mukua ranei he konae.
  • ln: hanga hononga.

▍I/O te anga whakamua me nga raina paipa

  • <: anga whakamua stdin.
  • >: anga whakamua stdout.
  • |: paipa te putanga o tetahi whakahau ki te whakaurunga o tetahi atu whakahau.

▍ Te panui i nga konae

  • head: panui te timatanga o te konae.
  • tail: panui te mutunga o te konae.
  • cat: Panuitia he konae ka ta i ona ihirangi ki te mata, ka hono ranei nga konae.

▍ Te whakakore i nga konae, ka mutu nga mahi

  • rm: Mukua he kōnae.
  • kill: mutu te tukanga.

▍Rapu

  • grep: rapu korero.
  • ag: whakahau matatau mo te rapu.

▍Puranga

  • tar: te hanga purongo me te mahi tahi me ratou.

Me korero mo enei whakahau i roto i nga korero taipitopito.

Nga Taipitopito o te Kapa

Hei timata, me mahi ki nga whakahau, ko nga hua ka tukuna i roto i te puka stdout. I te nuinga o te wa ka puta enei hua ki te matapihi kati.

▍Te tiki korero

man command_name: whakaatu i te aratohu whakahau, ara ko nga korero awhina.

pwd: whakaatu te ara ki te whaiaronga mahi o naianei. I te wa e mahi tahi ana me te raina whakahau, he maha nga wa e hiahia ana te kaiwhakamahi ki te mohio kei hea ia i roto i te punaha.

ls: whakaatu i nga ihirangi o te whaiaronga. He maha nga wa ka whakamahia tenei whakahau.

ls -a: whakaatu i nga konae huna. kara ki konei -a ope ls. Ko te whakamahi i nga haki ka awhina ki te whakarite i te whanonga o nga whakahau.

ls -l: Whakaatuhia nga korero taipitopito mo nga konae.

Kia mahara ka taea te whakakotahi i nga haki. Hei tauira - penei: ls -al.

ps: Tirohia nga tukanga whakahaere.

ps -e: Whakaatuhia nga korero mo nga tukanga whakahaere katoa, kaua ko era e pa ana ki te anga kaiwhakamahi o naianei. Ka whakamahia tenei tono ki tenei puka.

▍Kōnae pūnaha raweke

cd my_directory: hurihia te whaiaronga mahi ki my_directory. Hei neke ake i tetahi taumata o te rakau whaiaronga, whakamahia my_directory ara whanaunga ../.

[tohua] Bash mo te hunga timata: 21 nga whakahau whai hua
whakahau cd

touch my_file: hanga kōnae my_file i runga i te huarahi kua hoatu.

mkdir my_directory: hanga kōpaki my_directory i runga i te huarahi kua hoatu.

mv my_file target_directory: neke kōnae my_file ki te kōpaki target_directory. I te wa e tohu ana i te raarangi whaainga, me whakamahi koe i te ara tino ki reira (kaore i te hanga penei ../).

kapa mvKa taea hoki te whakamahi hei whakaingoa i nga konae, i nga kōpaki ranei. Hei tauira, penei pea te ahua:

mv my_old_file_name.jpg my_new_file_name.jpg
cp my_source_file target_directory
: hanga he kape o te konae my_source_file ka hoatu ki roto i te kōpaki target_directory.

ln -s my_source_file my_target_file: hanga hononga tohu my_target_file ia kōnae my_source_file. Mena ka huri koe i te hono, ka huri ano te konae taketake.

Mena te kōnae my_source_file ka mukua, katahi my_target_file ka noho tonu. Kara -s ope ln ka taea e koe te hanga hononga mo nga whaiaronga.

Inaianei me korero mo te hurihanga I/O me nga raina paipa.

▍I/O te anga whakamua me nga raina paipa

my_command < my_file: ka whakakapi i te whakamaarama konae whakauru paerewa (stdin) mo ia kōnae my_file. Ka whai hua tenei mena kei te tatari te whakahau mo etahi whakaurunga mai i te papapātuhi, kua tiakina kētia enei raraunga ki tetahi konae.

my_command > my_file: ka huri i nga hua o te whakahau, ara he aha te mea ka uru ki roto stdout me te whakaputa ki te mata, ki te konae my_file. Mena te kōnae my_file karekau - he mea hanga. Mena kei te noho te konae, ka tuhiruatia.

Hei tauira, i muri i te mahi i te whakahau ls > my_folder_contents.txt ka hangaia he konae tuhinga kei roto he rarangi o nga mea kei roto i te raarangi mahi o naianei.

Mena hei utu mo te tohu > whakamahia te hanga >>, na, mena kei te noho tonu te konae i tukuna atu ai te putanga o te whakahau, kaore tenei konae e tuhiruatia. Ka taapirihia nga raraunga ki te mutunga o tenei konae.

Inaianei me titiro ki te tukatuka paipa raraunga.

[tohua] Bash mo te hunga timata: 21 nga whakahau whai hua
Ko te putanga o tetahi whakahau ka whangaia ki te whakaurunga o tetahi atu whakahau. He rite ki te hono i tetahi paipa ki tetahi

first_command | second_command: tohu kawe, |, ka whakamahia hei tuku i te putanga o tetahi tono ki tetahi atu whakahau. He aha te tono kei te taha maui o te hanganga kua whakaahuatia stdout, Taka ki roto stdin whakahau ki te taha matau o te tohu paipa.

I runga i te Linux, ka taea te paipa nga raraunga ma te whakamahi noa i nga whakahau kua pai te hanga. He maha nga korero ko nga mea katoa i roto i te Linux he paipa.

Ka taea e koe te here i nga tono maha ma te tohu paipa. Ko te ahua penei:

first_command | second_command | third_command

[tohua] Bash mo te hunga timata: 21 nga whakahau whai hua
Ka taea te whakataurite i te paipa o nga whakahau maha ki te paipa

Kia mahara ko te whakahau ki te taha maui o te tohu |, ka whakaputa i tetahi mea ki stdout, ko nga mea e puta ana kei te waatea tonu stdin kapa tuarua. Arā, ka puta mai, ma te whakamahi i te paipa, kei te mahi tatou ki te mahi whakarara o nga whakahau. I etahi wa ka puta mai he hua ohorere. Ka taea te panui nga korero mo tenei konei.

Inaianei me korero mo te panui raraunga mai i nga konae me te whakaatu ki te mata.

▍ Te panui i nga konae

head my_file: ka panui i nga rarangi mai i te timatanga o te konae ka taia ki te mata. Ka taea e koe te panui ehara i te mea anake nga ihirangi o nga konae, engari he aha nga whakahau e whakaputa ana stdinte whakamahi i tenei whakahau hei waahanga o te paipa.

tail my_file: ka panui nga rarangi mai i te pito o te konae. Ka taea hoki te whakamahi i tenei whakahau i roto i te paipa.

[tohua] Bash mo te hunga timata: 21 nga whakahau whai hua
Ko te upoko (upoko) kei mua, ko te hiku (hiku) kei muri

Mena kei te mahi koe me nga raraunga ma te whakamahi i te whare pukapuka pandas, na nga whakahau head и tail kia mohio koe. Ki te kore e penei te ahua, tirohia te ahua o runga ake nei, a ka mahara noa koe.

Whakaarohia etahi atu huarahi ki te panui i nga konae, me korero mo te whakahau cat.

rōpū cat ka tā i ngā ihirangi o tētahi kōnae ki te mata, ka hono rānei i ngā kōnae maha. Kei runga i te maha o nga konae ka tukuna ki tenei whakahau ina karangahia.

[tohua] Bash mo te hunga timata: 21 nga whakahau whai hua
whakahau ngeru

cat my_one_file.txt: ka tukuna he kōnae kotahi ki tenei whakahau, ka puta ki stdout.

Mena ka hoatu e koe kia rua nga konae, neke atu ranei nga konae, ka rere ke te ahua.

cat my_file1.txt my_file2.txt: he maha nga konae hei whakaurunga, ka hono tenei whakahau i o raatau ihirangi me te whakaatu i nga mea i puta stdout.

Mena me tiaki te hua o te whakakotahitanga o nga konae hei konae hou, ka taea e koe te whakamahi i te kaiwhakahaere >:

cat my_file1.txt my_file2.txt > my_new_file.txt

Inaianei me korero me pehea te muku i nga konae me te aukati i nga mahi.

▍ Te whakakore i nga konae, ka mutu nga mahi

rm my_file: muku kōnae my_file.

rm -r my_folder: ka muku kōpaki my_folder me nga konae me nga kōpaki katoa kei roto. Kara -r e tohu ana ka rere te whakahau i roto i te aratau recursive.

Hei aukati i te punaha ki te tono whakau i ia wa ka mukua he konae, he kōpaki ranei, whakamahia te haki -f.

kill 012345: Ka aukati i te tukanga whakahaere kua tohua, ka hoatu he wa ki te kati pai.

kill -9 012345: Ka whakamutua te mahi whakahaere kua tohua. Tiro haki -s SIGKILL he rite tonu te tikanga ki te haki -9.

▍Rapu

Ka taea e koe te whakamahi i nga whakahau rereke hei rapu raraunga. Ina koa - grep, ag и ack. Kia timata ta tatou mohio ki enei whakahau me grep. He whakahau tenei kua whakamatauria, he pono, engari he puhoi ake i etahi atu, kaore i te watea ki te whakamahi pera i a raatau.

[tohua] Bash mo te hunga timata: 21 nga whakahau whai hua
whakahau grep

grep my_regex my_file: rapunga my_regex в my_file. Mena ka kitea he whakataetae, ka whakahokia te aho katoa, mo ia whakataetae. Taunoa my_regex ka kiia he korero auau.

grep -i my_regex my_file: Ko te rapunga ka mahia i runga i te ahua koretake.

grep -v my_regex my_file: ka whakahoki i nga rarangi katoa kaore i roto my_regex. Kara -v ko te hurihanga, he rite ki te kaiwhakahaere NOT, ka kitea i roto i nga reo maha.

grep -c my_regex my_file: He whakahoki korero mo te maha o nga taurite mo te tauira rapu i kitea i roto i te konae.

grep -R my_regex my_folder: ka mahi i te rapu recursive i roto i nga konae katoa kei roto i te kōpaki kua tohua me nga kōpaki kei roto.

Inaianei me korero tatou mo te kapa ag. I haere mai ia i muri mai grep, he tere ake, he watea ake te mahi tahi.

[tohua] Bash mo te hunga timata: 21 nga whakahau whai hua
ag whakahau

ag my_regex my_file: he whakahoki korero mo nga nama raina, me nga rarangi ano, i kitea ai nga taurite my_regex.

ag -i my_regex my_file: Ko te rapunga ka mahia i runga i te ahua koretake.

rōpū ag tukatuka aunoa i te kōnae .gitignore ka whakakorehia mai i te putanga nga mea ka kitea i roto i nga kopaki, i nga konae ranei kua whakarārangihia ki taua konae. He tino hāneanea.

ag my_regex my_file -- skip-vcs-ignores: nga ihirangi o nga konae whakahaere putanga aunoa (penei .gitignore) karekau e whakaarohia i roto i te rapunga.

I tua atu, ki te korero ki te kapa ag i runga i nga huarahi konae e hiahia ana koe ki te aukati mai i te rapunga, ka taea e koe te hanga i tetahi konae .agignore.

I te timatanga o tenei waahanga, i whakahuahia e matou te whakahau ack. Nga kapa ack и ag tino rite, ka taea e tatou te kii he 99% te whakawhiti. Heoi, ko te kapa ag he tere ake te mahi, na reira ahau i korero ai.

Inaianei me korero tatou mo te mahi me nga purongo.

▍Puranga

tar my_source_directory: ka hono i nga konae mai i te kōpaki my_source_directory ki te konae tarball kotahi. He pai nga momo konae hei whakawhiti i nga huinga maha o nga konae ki tetahi.

[tohua] Bash mo te hunga timata: 21 nga whakahau whai hua
whakahau tara

Ko nga konae tarball i hangaia e tenei whakahau he konae me te toronga .tar (Rīpene ARCHive). Ko te mea e huna ana te kupu "tape" (tape) ki te ingoa o te whakahau me te toronga o nga ingoa o nga konae ka hangaia e tohu ana te roa o tenei whakahau.

tar -cf my_file.tar my_source_directory: ka waihanga i te konae tarball te ingoa my_file.tar me nga ihirangi kōpaki my_source_directory. Kara -c e tu ana mo te "hanga" (creation), me te haki -f hei "kōnae" (kōnae).

Hei tango i nga konae mai i .tar-kōnae, whakamahia te whakahau tar me nga haki -x ("tango", tangohanga) me -f ("kōnae", kōnae).

tar -xf my_file.tar: tango kōnae mai my_file.tar ki te whaiaronga mahi o naianei.

Inaianei me korero me pehea te kopiri me te whakaheke .tar-kōnae.

tar -cfz my_file.tar.gz my_source_directory: i konei te whakamahi i te haki -z ("zip", compression algorithm) e tohu ana me whakamahi te algorithm ki te kokopi i nga konae gzip (GNUzip). Ko te kōpeketanga o te konae ka penapena mokowā kōpae i te wa e penapena ana i aua konae. Mena kua whakamaherehia nga konae, hei tauira, kia whakawhitia ki etahi atu kaiwhakamahi, ka whai waahi tenei ki te tango tere o aua konae.

Wewetehia te konae .tar.gz ka taea e koe te taapiri i te haki -z ki te tono ihirangi tangohanga .tar-files, i korerohia e matou i runga ake nei. He penei te ahua:

tar -xfz my_file.tar.gz
Me tohu ko te kapa tar He maha atu nga haki whaihua.

Nga ingoa ingoa Bash

Ko nga ingoa ingoa o Bash (e kiia ana ko nga ingoa ingoa, whakapoto ranei) i hangaia hei hanga i nga ingoa whakapoto o nga whakahau me o raatau raupapa, ma te whakamahi i aua mea hei utu mo nga whakahau auau ka tere ake te mahi. Mena kei a koe he ingoa ingoa bu, e huna ana i te whakahau python setup.py sdist bdist_wheel, katahi ka karangahia tenei whakahau, he nui noa te whakamahi i tenei ingoa ingoa.

Hei waihanga i taua ingoa ingoa, taapiri noa te whakahau e whai ake nei ki te konae ~/.bash_profile:

alias bu="python setup.py sdist bdist_wheel"

Mena karekau he konae kei to punaha ~/.bash_profile, ka taea e koe te hanga ma te whakamahi i te whakahau touch. I muri i te waihanga i te ingoa ingoa, whakaara ano i te tauranga, ka taea e koe te whakamahi i tenei ingoa ingoa. I tenei keehi, ko te whakaurunga o nga tohu e rua ka whakakapi i te whakaurunga neke atu i te toru tekau ma rua nga tohu o te whakahau, he mea mo huihuinga Nga putea Python.

В ~/.bash_profile ka taea e koe te taapiri ingoa ingoa mo nga whakahau e whakamahia ana.

▍ Hua

I roto i tenei pou, kua hipokina e matou nga whakahau Bash rongonui 21 me te korero mo te hanga ingoa ingoa whakahau. Mena kei te pirangi koe ki tenei kaupapa - nana he raupapa pukapuka i whakatapua ki a Bash. ko te reira Ka kitea e koe he putanga pdf o enei whakaputanga. Ano, ki te hiahia koe ki te ako i te Bash, maharahia, pera me etahi atu punaha hotaka, he mea nui te mahi.

E nga kaipānui aroha! He aha nga whakahau e whai hua ana mo te hunga timatanga ka taapiri atu koe ki era i korerohia i tenei tuhinga?

Panuitia ano hoki i roto i ta maatau blog he raupapa panui mo nga tuhinga bash

[tohua] Bash mo te hunga timata: 21 nga whakahau whai hua

Source: will.com

Tāpiri i te kōrero