Ihe a, ntụgharị nke anyị na-ebipụta taa, bụ maka ndị chọrọ ịmara ahịrị iwu Linux. Ikike iji ngwá ọrụ a mee ihe nke ọma nwere ike ịzọpụta oge dị ukwuu. Karịsịa, anyị ga-ekwu maka Bash shell na iwu bara uru 21 ebe a. Anyị ga-ekwukwa maka otu esi eji ọkọlọtọ iwu na aliases Bash iji mee ka akara ntuziaka dị ogologo dị ngwa.
→
Okwu
Ka ị na-amụta ịrụ ọrụ na ahịrị iwu Linux, ị ga-ezute ọtụtụ echiche ndị na-enyere aka ịnyagharịa. Ụfọdụ n'ime ha, dị ka "Linux" na "Unix", ma ọ bụ "shell" na "terminal", na-enwe mgbagwoju anya mgbe ụfọdụ. Ka anyị kwuo maka okwu ndị a na okwu ndị ọzọ dị mkpa.
Ugbu a anyị kpuchiri okwu ndị dị mkpa, achọrọ m igosi na m ga-eji okwu "Bash", "shell" na "akara iwu" na-agbanwe agbanwe ebe a, yana okwu "akwụkwọ ndekọ" na "folda".
Ụdị stdin
), ọkọlọtọ mmepụta (ọkọlọtọ mmepụta, stdout
) na mmepụta njehie ọkọlọtọ (njehie ọkọlọtọ, stderr
).
Ọ bụrụ na iwu ihe atụ nke a ga-enye n'okpuru, ị ga-ahụ ihe dị ka my_whatever
- nke a pụtara na ekwesịrị iji ihe nke gị dochie iberibe a. Dịka ọmụmaatụ, aha faịlụ.
Ugbu a, tupu ịga n'ihu na nyocha nke iwu ndị a raara nye ihe a, ka anyị leba anya na ndepụta ha na nkọwa dị nkenke ha.
21 Bash nyere iwu
▍ Inweta ozi
man
: Na-egosiputa ntuziaka onye ọrụ (enyemaka) maka iwu ahụ.pwd
: na-egosiputa ozi gbasara ndekọ ọrụ.ls
: na-egosiputa ọdịnaya nke ndekọ.ps
: Na-enye gị ohere ịlele ozi gbasara usoro ịgba ọsọ.
▍ Usoro nhazi faịlụ
cd
: gbanwee akwụkwọ ndekọ aha.touch
: mepụta faịlụ.mkdir
: mepụta ndekọ.cp
: Detuo faịlụ.mv
: Bugharịa ma ọ bụ hichapụ faịlụ.ln
: mepụta njikọ.
▍ I/O redirection na pipeline
<
: redirectstdin
.>
: redirectstdout
.|
: piped mmepụta nke otu iwu na ntinye nke iwu ọzọ.
▍ Ịgụ faịlụ
head
: gụọ mmalite nke faịlụ.tail
: gụọ njedebe faịlụ.cat
: Gụọ faịlụ wee bipụta ọdịnaya ya na ihuenyo, ma ọ bụ jikọta faịlụ.
▍Ihichapụ faịlụ, ịkwụsị usoro
rm
: Hichapụ faịlụ.kill
: kwụsị usoro.
▍Chọọ
grep
: chọọ ozi.ag
: elu iwu maka ịchọ.
▍ Ịdebe akwụkwọ
tar
: ịmepụta ebe nchekwa ma soro ha rụọ ọrụ.
Ka anyị kwuo maka iwu ndị a n'ụzọ zuru ezu karị.
Nkọwa otu
Iji malite, ka anyị leba anya na iwu, nke a na-enye nsonaazụ ya n'ụdị stdout
. Ọtụtụ mgbe, nsonaazụ ndị a na-apụta na windo ọnụ.
▍ Inweta ozi
man command_name
: gosi ntuziaka ntuziaka, ya bụ ozi enyemaka.
pwd
: gosi ụzọ na ndekọ na-arụ ọrụ ugbu a. N'ịrụ ọrụ na ahịrị iwu, onye ọrụ na-achọkarị ịchọpụta kpọmkwem ebe ọ nọ na sistemụ ahụ.
ls
: gosi ọdịnaya nke ndekọ. A na-ejikwa iwu a ọtụtụ oge.
ls -a
: gosi faịlụ zoro ezo. etinyere ọkọlọtọ ebe a -a
otu ls
. Ojiji nke ọkọlọtọ na-enyere aka ịhazi omume nke iwu.
ls -l
: Gosipụta ozi zuru ezu gbasara faịlụ.
Rịba ama na enwere ike ijikọ ọkọlọtọ. Dịka ọmụmaatụ - dị ka nke a: ls -al
.
ps
: Lelee usoro na-agba ọsọ.
ps -e
: Gosipụta ozi gbasara usoro niile na-agba ọsọ, ọ bụghị naanị ndị metụtara shei onye ọrụ ugbu a. A na-ejikarị iwu a n'ụdị a.
▍ Usoro nhazi faịlụ
cd my_directory
: gbanwee akwụkwọ ndekọ aha ka ọ bụrụ my_directory
. Iji bulie otu ọkwa n'ime osisi ndekọ aha, jiri my_directory
ikwu ụzọ ../
.
iwu cd
touch my_file
: imepụta faịlụ my_file
n'okporo ụzọ enyere.
mkdir my_directory
: mepụta nchekwa my_directory
n'okporo ụzọ enyere.
mv my_file target_directory
: bugharịa faịlụ my_file
na folda target_directory
. Mgbe ị na-akọwapụta akwụkwọ ndekọ aha, ịkwesịrị iji ụzọ zuru oke na ya (ọ bụghị ihe owuwu dịka ../
).
otu mv
nwekwara ike iji nyegharịa faịlụ ma ọ bụ nchekwa aha. Dịka ọmụmaatụ, ọ nwere ike ịdị ka nke a:
mv my_old_file_name.jpg my_new_file_name.jpg
: mepụta otu faịlụ
cp my_source_file target_directorymy_source_file
ma tinye ya na nchekwa target_directory
.
ln -s my_source_file my_target_file
: mepụta njikọ ihe atụ my_target_file
kwa faịlụ my_source_file
. Ọ bụrụ na ị gbanwee njikọ ahụ, faịlụ mbụ ga-agbanwekwa.
Ọ bụrụ na faịlụ my_source_file
ga-ehichapụ, mgbe ahụ my_target_file
ga-anọgide. Ọkọlọtọ -s
otu ln
na-enye gị ohere ịmepụta njikọ maka akwụkwọ ndekọ aha.
Ugbu a, ka anyị kwuo maka ntụgharị I/O na pipeline.
▍ I/O redirection na pipeline
my_command < my_file
: dochie ọkọlọtọ ndenye faịlụ nkọwa (stdin
) kwa faịlụ my_file
. Nke a nwere ike ịba uru ma ọ bụrụ na iwu ahụ na-echere ntinye ụfọdụ site na ahụigodo, echekwara data a na faịlụ.
my_command > my_file
: redirects nsonaazụ nke iwu ahụ, ya bụ ihe ga-abanyekarị stdout
na mmepụta na ihuenyo, na faịlụ my_file
. Ọ bụrụ na faịlụ my_file
adịghị adị - e kere ya. Ọ bụrụ na faịlụ ahụ dị, a ga-edegharị ya.
Dịka ọmụmaatụ, mgbe ịmechara iwu ahụ ls > my_folder_contents.txt
A ga-emepụta faịlụ ederede nwere ndepụta nke ihe dị na ndekọ ọrụ ugbu a.
Ọ bụrụ na kama akara >
jiri ihe owuwu ahụ mee ihe >>
, mgbe ahụ, ọ bụrụhaala na faịlụ a na-ebugharị mmepụta nke iwu ahụ dị, agaghị edegharị faịlụ a. A ga-agbakwunye data ahụ na njedebe nke faịlụ a.
Ugbu a, ka anyị leba anya na nhazi pipeline data.
A na-etinye mmepụta nke otu iwu n'ime ntinye nke iwu ọzọ. Ọ dị ka ijikọ otu ọkpọkọ na nke ọzọ
first_command | second_command
: akara ebuga, |
, a na-eji izipu mmepụta nke otu iwu na iwu ọzọ. Ihe iwu dị n'akụkụ aka ekpe nke usoro a kọwara na-ezigara stdout
, Daba n'ime stdin
iwu n'aka nri nke akara pipeline.
Na Linux, enwere ike itinye data site na iji naanị iwu ọ bụla edoziri nke ọma. A na-ekwukarị na ihe niile dị na Linux bụ pipeline.
Ị nwere ike yinye ọtụtụ iwu site na iji akara pipeline. Ọ dị ka nke a:
first_command | second_command | third_command
Enwere ike iji pipeline nke ọtụtụ iwu tụnyere pipeline
Mara na mgbe iwu n'aka ekpe nke akara |
, na-ewepụta ihe na stdout
, ihe ọ na-ewepụta bụ ozugbo dị ka stdin
nke abụọ otu. Nke ahụ bụ, ọ na-apụta na, na-eji pipeline, anyị na-eme ihe na-eme ihe n'usoro iwu. Mgbe ụfọdụ nke a nwere ike ibute nsonaazụ a na-atụghị anya ya. Enwere ike ịgụ nkọwa gbasara nke a
Ugbu a, ka anyị kwuo maka ịgụ data sitere na faịlụ ma gosipụta ha na ihuenyo.
▍ Ịgụ faịlụ
head my_file
: na-agụ ahịrị site na mmalite nke faịlụ wee bipụta ha na ihuenyo. Ị nwere ike ịgụ ọ bụghị naanị ọdịnaya nke faịlụ, kamakwa ihe iwu na-arụpụta stdin
iji iwu a dị ka akụkụ nke pipeline.
tail my_file
: na-agụ ahịrị site na njedebe nke faịlụ ahụ. Enwere ike iji iwu a na pipeline.
Isi (isi) dị n'ihu, na ọdụ (ọdụ) dị n'azụ
Ọ bụrụ na ị na-arụ ọrụ na data site na iji pandas ọba akwụkwọ, mgbe ahụ iwu head
и tail
kwesịrị ịma gị. Ọ bụrụ na nke a abụghị ikpe, lelee ọnụ ọgụgụ dị n'elu, ị ga-echetakwa ha ngwa ngwa.
Tụlee ụzọ ndị ọzọ iji gụọ faịlụ, ka anyị kwuo banyere iwu ahụ cat
.
otu cat
ma na-ebipụta ọdịnaya nke faịlụ na ihuenyo, ma ọ bụ na-ejikọta ọtụtụ faịlụ. Ọ dabere na faịlụ ole agafere na iwu a mgbe akpọrọ ya.
iwu nwamba
cat my_one_file.txt
: mgbe otu faịlụ gafere na iwu a, ọ na-ewepụta ya stdout
.
Ọ bụrụ na ị nye ya faịlụ abụọ ma ọ bụ karịa faịlụ, mgbe ahụ ọ na-akpa àgwà dị iche iche.
cat my_file1.txt my_file2.txt
: ebe anatala ọtụtụ faịlụ dị ka ntinye, iwu a na-ejikọta ọdịnaya ha ma gosipụta ihe mere na ya stdout
.
Ọ bụrụ na a ga-echekwa nsonaazụ nke njikọta faịlụ dị ka faịlụ ọhụrụ, ịnwere ike iji onye ọrụ >
:
cat my_file1.txt my_file2.txt > my_new_file.txt
Ugbu a, ka anyị kwuo maka otu esi ehichapụ faịlụ ma kwụsị usoro.
▍Ihichapụ faịlụ, ịkwụsị usoro
rm my_file
: hichapụ faịlụ my_file
.
rm -r my_folder
: na-ehichapụ folda my_folder
yana faịlụ na nchekwa niile o nwere. Ọkọlọtọ -r
na-egosi na iwu ga-agba ọsọ na recursive mode.
Iji gbochie usoro a ịrịọ maka nkwenye oge ọ bụla ehichapụ faịlụ ma ọ bụ nchekwa, jiri ọkọlọtọ -f
.
kill 012345
: Kwụsị usoro ịgba ọsọ a kapịrị ọnụ, na-enye oge iji mechie ya nke ọma.
kill -9 012345
: Na-amanye kwụsị usoro ịgba ọsọ akọwapụtara. Lelee ọkọlọtọ -s SIGKILL
pụtara otu ọkọlọtọ -9
.
▍Chọọ
Ị nwere ike iji iwu dị iche iche chọọ data. Ọ kachasị - grep
, ag
и ack
. Ka anyị jiri iwu ndị a malite ịmara anyị grep
. Nke a bụ iwu a nwalere oge, nke a pụrụ ịdabere na ya, nke, Otú ọ dị, dị nwayọọ karịa ndị ọzọ na ọ bụghị dị mfe iji dị ka ha dị.
iwu grep
grep my_regex my_file
: nyocha my_regex
в my_file
. Ọ bụrụ na achọtara egwuregwu, a ga-eweghachi eriri ahụ dum, maka egwuregwu ọ bụla. Ọdabara my_regex
emeso dị ka okwu mgbe niile.
grep -i my_regex my_file
: A na-eme ọchụchọ ahụ n'ụzọ na-enweghị isi.
grep -v my_regex my_file
: na-eweghachi ahịrị niile na-enweghị my_regex
. Ọkọlọtọ -v
pụtara ntụgharị, ọ dị ka onye ọrụ NOT
, dị n'ọtụtụ asụsụ mmemme.
grep -c my_regex my_file
: weghachite ozi gbasara ọnụọgụ egwuregwu maka ụkpụrụ achọtara na faịlụ ahụ.
grep -R my_regex my_folder
: na-eme nyocha ugboro ugboro n'ime faịlụ niile dị na folda akọwapụtara yana na nchekwa ndị etinyere na ya.
Ugbu a, ka anyị kwuo banyere otu ag
. O mechara bia grep
, ọ na-adị ngwa ngwa, ọ dị mfe ịrụ ọrụ na ya.
iwu ag
ag my_regex my_file
: laghachi ozi banyere akara nọmba, na ahịrị onwe ha, nke ọkụ hụrụ na my_regex
.
ag -i my_regex my_file
: A na-eme ọchụchọ ahụ n'ụzọ na-enweghị isi.
otu ag
hazie faịlụ na-akpaghị aka .gitignore
ma wepụ na mmepụta ihe dị na nchekwa ma ọ bụ faịlụ ndị edepụtara na faịlụ ahụ. Ọ dị mma nke ukwuu.
ag my_regex my_file -- skip-vcs-ignores
: ọdịnaya nke faịlụ njikwa ụdị akpaka (dịka .gitignore
) adịghị etinye n'uche na nchọ.
Na mgbakwunye, iji gwa ndị otu ag
n'ụzọ faịlụ nke ịchọrọ iwepụ na ọchụchọ ahụ, ị nwere ike ịmepụta faịlụ .agignore
.
Ná mmalite nke ngalaba a, anyị kwuru iwu ahụ ack
. Otu egwuregwu ack
и ag
yiri nnọọ, anyị nwere ike ikwu na ha bụ 99% mgbanwe. Agbanyeghị, otu ahụ ag
na-arụ ọrụ ngwa ngwa, ya mere m ji kọwaa ya.
Ugbu a, ka anyị kwuo maka ịrụ ọrụ na ebe nchekwa.
▍ Ịdebe akwụkwọ
tar my_source_directory
: na-ejikọta faịlụ site na nchekwa my_source_directory
n'ime otu faịlụ tarball. Faịlụ dị otú ahụ bara uru maka ibufe nnukwu faịlụ na mmadụ.
iwu tar
Faịlụ tarball ewepụtara site na iwu a bụ faịlụ nwere ndọtị .tar
(Ihe ndekọ teepu). Eziokwu ahụ bụ na a na-ezobe okwu "tepu" (teepu) n'aha iwu na n'ịgbatị aha faịlụ ndị ọ na-emepụta na-egosi ogologo oge nke iwu a dị.
tar -cf my_file.tar my_source_directory
: na-emepụta faịlụ tarball aha ya my_file.tar
na nchekwa ọdịnaya my_source_directory
. Ọkọlọtọ -c
na-anọchi anya "ike" (okike), na ọkọlọtọ -f
dị ka "faịlụ" (faịlụ).
Iji wepụ faịlụ na .tar
-faịlụ, jiri iwu tar
na ọkọlọtọ -x
("wepụ", mmịpụta) na -f
("faịlụ", faịlụ).
tar -xf my_file.tar
: na-ewepụ faịlụ site na my_file.tar
gaa na ndekọ ọrụ ugbu a.
Ugbu a, ka anyị kwuo maka otu esi mpikota onu na decompress .tar
- faịlụ.
tar -cfz my_file.tar.gz my_source_directory
: ebe a na-eji ọkọlọtọ -z
("zip", algọridim mkpakọ) na-egosi na a ga-eji algọridim were mpikota onu faịlụ gzip
(GNUzip). Mkpakọ faịlụ na-echekwa ohere diski mgbe ị na-echekwa ụdị faịlụ ahụ. Ọ bụrụ na akwadoro faịlụ ndị ahụ, dịka ọmụmaatụ, ibuga ndị ọrụ ndị ọzọ, nke a na-enye aka na nbudata ngwa ngwa nke faịlụ ndị ahụ.
Wepụ faịlụ .tar.gz
ị nwere ike itinye ọkọlọtọ -z
na wepụta ọdịnaya iwu .tar
- faịlụ, nke anyị tụlere n'elu. Ọ dị ka nke a:
tar -xfz my_file.tar.gz
Ekwesiri ighota na otu tar
Enwere ọtụtụ ọkọlọtọ bara uru.
Aha aha Bash
Bash aliases (nke a na-akpọkwa aha ma ọ bụ abbreviation) ka emebere iji mepụta aha iwu mkpirisi ma ọ bụ usoro ha, iji ya kama iwu mgbe niile na-eme ka ọrụ dị ngwa. Ọ bụrụ na ị nwere utu aha bu
, nke na-ezobe iwu python setup.py sdist bdist_wheel
, mgbe ahụ ịkpọ iwu a, ọ ga-ezuru iji utu aha a.
Iji mepụta utu aha dị otú ahụ, tinye naanị iwu a na faịlụ ahụ ~/.bash_profile
:
alias bu="python setup.py sdist bdist_wheel"
Ọ bụrụ na sistemụ gị enweghị faịlụ ~/.bash_profile
, mgbe ahụ ị nwere ike ịmepụta ya n'onwe gị site na iji iwu ahụ touch
. Mgbe ịmepụtara utu aha ahụ, malitegharịa ọnụ, mgbe nke ahụ gasịrị ị nwere ike iji utu aha a. N'okwu a, ntinye nke mkpụrụedemede abụọ na-edochi ntinye nke ihe karịrị mkpụrụedemede iri na abụọ nke iwu ahụ, nke ezubere maka ya.
В ~/.bash_profile
ị nwere ike ịgbakwunye utu aha maka iwu ọ bụla a na-ejikarị eme ihe.
▍ Nsonaazụ
Na post a, anyị ekpuchirila iwu Bash 21 na-ewu ewu ma kwuo maka ịmepụta aha aha iwu. Ọ bụrụ na ị nwere mmasị na isiokwu a -
Ezigbo ndị na-agụ akwụkwọ! Kedu iwu ndị bara uru maka ndị mbido ka ị ga-agbakwunye na ndị ahụ a tụlere n'isiokwu a?
→
isi: www.habr.com