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.
→
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.
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 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 whakamuastdin
.>
: anga whakamuastdout
.|
: 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 ../
.
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 mv
Ka 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
: hanga he kape o te konae
cp my_source_file target_directorymy_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.
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
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
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 stdin
te 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.
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.
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.
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.
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.
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
В ~/.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 -
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?
→
Source: will.com