Okubalulekile, okuhunyushwe ngakho namuhla, kuhloselwe labo abafuna ukwazi kahle umugqa womyalo we-Linux. Ikhono lokusebenzisa leli thuluzi ngempumelelo lingonga isikhathi esiningi. Ikakhulukazi, sizokhuluma ngegobolondo le-Bash kanye nemiyalo ewusizo engu-21 lapha. Sizophinde sikhulume ngendlela yokusebenzisa amafulegi womyalo neziteketiso ze-Bash ukusheshisa ukuthayipha kwemiyalelo emide.
β
Imibandela
Njengoba ufunda ukusebenza ngomugqa womyalo we-Linux, uzohlangana nemiqondo eminingi ewusizo ukuzulazula. Ezinye zazo, njengokuthi "Linux" kanye "Unix", noma "igobolondo" kanye "nokuphela", ngezinye izikhathi ziyadideka. Ake sikhulume ngalawa kanye namanye amagama abalulekile.
Manje njengoba sesihlanganise amatemu abalulekile, ngifuna ukuveza ukuthi ngizosebenzisa amagama athi "Bash", "shell" kanye "nomugqa womyalo" ngokushintshana lapha, kanye namagama "uhlu lwemibhalo" kanye "nefolda".
Standard stdin
), okukhiphayo okujwayelekile (okuphumayo okujwayelekile, stdout
) kanye nokukhishwa kwephutha elijwayelekile (iphutha elijwayelekile, stderr
).
Uma esibonelweni semiyalo ezonikezwa ngezansi, uzothola okuthile okufana nalokhu my_whatever
- lokhu kusho ukuthi lesi siqeshana sidinga ukushintshwa ngokuthile kwakho. Isibonelo, igama lefayela.
Manje, ngaphambi kokuqhubeka nokuhlaziya imiyalo le nto enikezelwe kuyo, ake sibheke uhlu lwabo kanye nezincazelo zabo ezimfushane.
21 Bash imiyalo
βUkuthola ulwazi
man
: Ibonisa inkomba yomsebenzisi (usizo) yomyalo.pwd
: Ibonisa ulwazi mayelana nohla lwemibhalo olusebenzayo.ls
: ibonisa okuqukethwe kohla lwemibhalo.ps
: Ikuvumela ukuthi ubuke ulwazi mayelana nezinqubo ezisebenzayo.
βUkukhohlisa kwesistimu yefayela
cd
: shintsha inkomba yokusebenza.touch
: dala ifayela.mkdir
: dala uhla lwemibhalo.cp
: Kopisha ifayela.mv
: Hambisa noma susa ifayela.ln
: dala isixhumanisi.
β Ukuqondisa kabusha kwe-I/O namapayipi
<
: qondisa kabushastdin
.>
: qondisa kabushastdout
.|
: faka ngepayipi okukhiphayo komyalelo owodwa kokokufaka komunye umyalo.
β Ukufunda amafayela
head
: funda isiqalo sefayela.tail
: funda ukuphela kwefayela.cat
: Funda ifayela bese uphrinte elikuqukethe esikrinini, noma uhlanganise amafayela.
β Ukususa amafayela, ukumisa izinqubo
rm
: Susa ifayela.kill
: yeka inqubo.
βSesha
grep
: sesha ulwazi.ag
: umyalo othuthukisiwe wokusesha.
βUkugcina kungobo yomlando
tar
: ukudala izingobo zomlando nokusebenza nazo.
Ake sikhulume ngale miyalo ngokuningiliziwe.
Imininingwane Yethimba
Okokuqala, ake sibhekane nemiyalo, imiphumela ekhishwe ngefomu stdout
. Ngokuvamile le miphumela ivela efasiteleni letheminali.
βUkuthola ulwazi
man command_name
: bonisa umhlahlandlela womyalo, okungukuthi ulwazi losizo.
pwd
: bonisa indlela eya kuhla lwemibhalo olusebenzayo lwamanje. Ngesikhathi sokusebenza ngomugqa womyalo, umsebenzisi ngokuvamile udinga ukuthola ukuthi ukuphi ohlelweni.
ls
: bonisa okuqukethwe kohla lwemibhalo. Lo myalo usetshenziswa kaningi.
ls -a
: bonisa amafayela afihliwe. ifulegi lisetshenziswe lapha -a
imiyalo ls
. Ukusetshenziswa kwamafulegi kusiza ukwenza ngendlela oyifisayo ukuziphatha kwemiyalelo.
ls -l
: Bonisa ulwazi oluningiliziwe mayelana namafayela.
Qaphela ukuthi amafulegi angahlanganiswa. Isibonelo - kanje: ls -al
.
ps
: Buka izinqubo ezisebenzayo.
ps -e
: Bonisa ulwazi mayelana nazo zonke izinqubo ezisebenzayo, hhayi nje lezo ezihlotshaniswa negobolondo lomsebenzisi wamanje. Lo myalo uvame ukusetshenziswa kuleli fomu.
βUkukhohlisa kwesistimu yefayela
cd my_directory
: shintsha uhla lwemibhalo olusebenzayo lube my_directory
. Ukuze ukhuphuke ileveli eyodwa esihlahleni sohla lwemibhalo, sebenzisa my_directory
indlela ehlobene ../
.
cd umyalo
touch my_file
: ukudalwa kwefayela my_file
endleleni enikiwe.
mkdir my_directory
: dala ifolda my_directory
endleleni enikiwe.
mv my_file target_directory
: hambisa ifayela my_file
kufolda target_directory
. Lapho ucacisa uhla lwemibhalo oluqondiwe, udinga ukusebenzisa indlela ephelele eya kulo (hhayi ukwakhiwa okufana ../
).
iqembu mv
ingasetshenziswa futhi ukuqamba kabusha amafayela noma amafolda. Ngokwesibonelo, kungase kubukeke kanje:
mv my_old_file_name.jpg my_new_file_name.jpg
: dala ikhophi yefayela
cp my_source_file target_directorymy_source_file
futhi uyifake kufolda target_directory
.
ln -s my_source_file my_target_file
: dala isixhumanisi esingokomfanekiso my_target_file
ngefayela ngalinye my_source_file
. Uma ushintsha isixhumanisi, ifayela lokuqala nalo lizoshintsha.
Uma ifayela my_source_file
izosuswa ke my_target_file
izosala. Hlaba umkhosi -s
imiyalo ln
ikuvumela ukuthi udale izixhumanisi zezinkomba.
Manje ake sikhulume ngokuqondisa kabusha kwe-I/O namapayipi.
β Ukuqondisa kabusha kwe-I/O namapayipi
my_command < my_file
: ingena esikhundleni sesichazi sefayela lokufaka elijwayelekile (stdin
) ifayela ngalinye my_file
. Lokhu kungaba usizo uma umyalo ulinde okokufaka okuthile okuvela kukhibhodi, futhi le datha isivele ilondolozwe efayelini.
my_command > my_file
: iqondisa kabusha imiphumela yomyalelo, okusho ukuthi yini evamise ukungena kukho stdout
futhi okukhiphayo esikrinini, kufayela my_file
. Uma ifayela my_file
alikho - liyadalwa. Uma ifayela likhona, libhalwa phezu kwalokho.
Ngokwesibonelo, ngemva kokwenza umyalo ls > my_folder_contents.txt
ifayela lombhalo lizokwakhiwa eliqukethe uhlu lwalokho okusohlwini lwemibhalo olusebenzayo lwamanje.
Uma esikhundleni sophawu >
sebenzisa ukwakhiwa >>
, bese, inqobo nje uma ifayela lapho okukhipha umyalo oqondiswa kabusha likhona, leli fayela ngeke libhalwe ngaphezulu. Idatha izongezwa ekupheleni kwaleli fayela.
Manje ake sibheke ukucubungula ipayipi ledatha.
Okukhipha umyalo owodwa kufakwa okokufaka komunye umyalo. Kufana nokuxhuma ipayipi elilodwa kwelinye
first_command | second_command
: uphawu lokuthutha, |
, isetshenziselwa ukuthumela okukhipha umyalo komunye umyalo. Umyalo ongakwesokunxele sesakhiwo esichazwe uthumela ini stdout
, Awele phakathi stdin
umyalo kwesokudla sophawu lwepayipi.
Ku-Linux, idatha ingafakwa ngamapayipi kusetshenziswa cishe noma yimuphi umyalo owakhiwe kahle. Kuvame ukuthiwa yonke into eku-Linux iyipayipi.
Ungakwazi ukuhlanganisa imiyalo eminingi usebenzisa uphawu lwepayipi. Kubukeka kanjena:
first_command | second_command | third_command
Ipayipi lemiyalo eminingana lingafaniswa nepayipi
Qaphela ukuthi lapho umyalo kwesokunxele uphawu |
, ikhipha okuthile ku stdout
, lokho akukhiphayo kutholakala ngokushesha njenge stdin
iqembu lesibili. Okusho ukuthi, kuvela ukuthi, sisebenzisa ipayipi, sibhekene nokukhishwa kwemiyalelo efanayo. Ngezinye izikhathi lokhu kungaholela emiphumeleni engalindelekile. Imininingwane mayelana nalokhu ingafundwa
Manje ake sikhulume ngokufunda idatha kumafayela nokuyiveza esikrinini.
β Ukufunda amafayela
head my_file
: ufunda imigqa kusukela ekuqaleni kwefayela futhi uyiphrinte esikrinini. Awukwazi ukufunda kuphela okuqukethwe kwamafayela, kodwa nokuthi imiyalo iphuma ini stdin
usebenzisa lo myalo njengengxenye yepayipi.
tail my_file
: ufunda imigqa kusukela ekugcineni kwefayela. Lo myalo ungasetshenziswa futhi epayipini.
Inhloko (ikhanda) ingaphambili, nomsila (umsila) ungemuva
Uma usebenzisa idatha usebenzisa umtapo we-pandas, bese ulandela imiyalo head
ΠΈ tail
kufanele ujwayelene nawe. Uma kungenjalo, bheka lesi sibalo esingenhla, futhi uzosikhumbula kalula.
Cabangela ezinye izindlela zokufunda amafayela, ake sikhulume ngomyalo cat
.
Ithimba cat
iphrinta okuqukethwe kwefayela esikrinini, noma ihlanganise amafayela amaningi. Kuya ngokuthi mangaki amafayela adluliselwa kulo myalo uma ebizwa.
umyalo wekati
cat my_one_file.txt
: uma ifayela elilodwa lidluliselwa kulo myalo, liphumela kulo stdout
.
Uma uyinikeza amafayela amabili noma amafayela amaningi, iziphatha ngendlela ehlukile.
cat my_file1.txt my_file2.txt
: ngemva kokuthola amafayela amaningana njengokufakwayo, lo myalo uhlanganisa okuqukethwe kwawo futhi ubonise okwenzeka kuyo stdout
.
Uma umphumela wokuhlanganisa ifayela udinga ukugcinwa njengefayela elisha, ungasebenzisa u-opharetha >
:
cat my_file1.txt my_file2.txt > my_new_file.txt
Manje ake sikhulume ngendlela yokususa amafayela nokumisa izinqubo.
β Ukususa amafayela, ukumisa izinqubo
rm my_file
: susa ifayela my_file
.
rm -r my_folder
: isusa ifolda my_folder
kanye nawo wonke amafayela namafolda eliwaqukethe. Hlaba umkhosi -r
ibonisa ukuthi umyalo uzosebenza ngemodi yokuphindaphinda.
Ukuze uvimbele isistimu ekuceleni ukuqinisekiswa isikhathi ngasinye lapho kususwa ifayela noma ifolda, sebenzisa ifulegi -f
.
kill 012345
: Imisa inqubo eshiwo yokuqalisa, iyinike isikhathi sokuvala kahle.
kill -9 012345
: Inqamula ngenkani inqubo eshiwo yokusebenza. Buka ifulegi -s SIGKILL
lisho okufanayo nefulegi -9
.
βSesha
Ungasebenzisa imiyalo ehlukene ukucinga idatha. Ngokuqondene - grep
, ag
ΠΈ ack
. Ake siqale ukwazana kwethu nale miyalo nge grep
. Lona umyalo ohlolwe isikhathi, onokwethenjelwa, othi, nokho, uhamba kancane kuneminye futhi awulungele ukuwusebenzisa njengoba unjalo.
umyalo we-grep
grep my_regex my_file
: usesho my_regex
Π² my_file
. Uma okufanayo kutholwa, iyunithi yezinhlamvu yonke iyabuyiselwa, ngokufana ngakunye. Okuzenzakalelayo my_regex
iphathwe njengenkulumo evamile.
grep -i my_regex my_file
: Ukusesha kwenziwa ngendlela enganaki.
grep -v my_regex my_file
: ibuyisela yonke imigqa engaqukethe my_regex
. Hlaba umkhosi -v
kusho ukuguqulwa, kufana no-opharetha NOT
, etholakala ezilimini eziningi zokuhlela.
grep -c my_regex my_file
: Ibuyisela ulwazi mayelana nenani lokufanayo elitholakala kufayela lephethini yokusesha.
grep -R my_regex my_folder
: yenza usesho oluphindayo kuwo wonke amafayela atholakala kufolda eshiwo nasemafoldani abekwe kuyo.
Manje ake sikhulume ngeqembu ag
. Wafika kamuva grep
, iyashesha, kulula kakhulu ukusebenza nayo.
umyalo we-ag
ag my_regex my_file
: ibuyisela ulwazi mayelana nezinombolo zomugqa, kanye nemigqa ngokwayo, lapho okufanayo kutholwe nayo my_regex
.
ag -i my_regex my_file
: Ukusesha kwenziwa ngendlela enganaki.
Ithimba ag
cubungula ifayela ngokuzenzakalelayo .gitignore
futhi ayifaki kokuphumayo lokho okutholakala kumafolda noma amafayela asohlwini lwalelo fayela. Ikhululekile kakhulu.
ag my_regex my_file -- skip-vcs-ignores
: okuqukethwe kwamafayela okulawula inguqulo ezenzakalelayo (njenge .gitignore
) akunakwa ekusesheni.
Ngaphezu kwalokho, ukuze utshele iqembu ag
yiziphi izindlela zefayela ofuna ukuzikhipha ekusesheni, ungakha ifayela .agignore
.
Ekuqaleni kwalesi sigaba, sikhulume ngomyalo ack
. Amaqembu ack
ΠΈ ag
zifana kakhulu, singasho ukuthi zingashintshashintsha ngo-99%. Nokho, iqembu ag
isebenza ngokushesha, yingakho ngiyichazile.
Manje ake sikhulume ngokusebenza nezinqolobane zomlando.
βUkugcina kungobo yomlando
tar my_source_directory
: ihlanganisa amafayela ukusuka kufolda my_source_directory
kufayela elilodwa le-tarball. Amafayela anjalo awusizo ekudluliseleni amasethi amakhulu amafayela kothile.
umyalo we-tar
Amafayela e-tarball akhiqizwe yilo myalo amafayela anesandiso .tar
(Thepha Ingobo yomlando). Iqiniso lokuthi igama elithi "tape" (tape) lifihliwe egameni lomyalo futhi ekunwetshweni kwamagama amafayela elidala libonisa ukuthi lo myalo usunesikhathi esingakanani ukhona.
tar -cf my_file.tar my_source_directory
: idala ifayela le-tarball eliqanjwe igama my_file.tar
nokuqukethwe kwefolda my_source_directory
. Hlaba umkhosi -c
imele "dala" (indalo), kanye nefulege -f
njenge "file" (ifayela).
Ukuze ukhiphe amafayela ku .tar
-file, sebenzisa umyalo tar
namafulege -x
("khipha", isizinda) kanye -f
("ifayela", ifayela).
tar -xf my_file.tar
: ikhipha amafayela ku my_file.tar
kuhla lwemibhalo olusebenzayo lwamanje.
Manje ake sikhulume ngendlela yokucindezela nokuwohloka .tar
-amafayela.
tar -cfz my_file.tar.gz my_source_directory
: lapha usebenzisa ifulegi -z
("zip", i-algorithm yokucindezela) ibonisa ukuthi i-algorithm kufanele isetshenziselwe ukucindezela amafayela gzip
(GNUzip). Ukucindezela ifayela konga isikhala sediski lapho ugcina amafayela anjalo. Uma amafayela ehlelwa, ngokwesibonelo, ukuthi adluliselwe kwabanye abasebenzisi, lokhu kunomthelela ekulandweni ngokushesha kwamafayela anjalo.
Vula ifayela le-zip .tar.gz
ungakwazi ukwengeza ifulege -z
kumyalo wokuqukethwe wokukhipha .tar
-amafayela, esixoxe ngawo ngenhla. Kubukeka kanjena:
tar -xfz my_file.tar.gz
Kufanele kuqashelwe ukuthi iqembu tar
Kunamafulegi amaningi awusizo.
Iziteketiso ze-Bash
Iziteketiso ze-Bash (ezibizwa nangokuthi iziteketiso noma izifinyezo) zenzelwe ukudala amagama afushanisiwe emiyalo noma ukulandelana kwawo, ukusetshenziswa kwawo esikhundleni semiyalo evamile kusheshisa umsebenzi. Uma une-alias bu
, efihla umyalo python setup.py sdist bdist_wheel
, bese ubiza lo myalo, kwanele ukusebenzisa lesi sibizo.
Ukwakha igama elinjalo, mane ungeze umyalo olandelayo efayeleni ~/.bash_profile
:
alias bu="python setup.py sdist bdist_wheel"
Uma isistimu yakho ingenalo ifayela ~/.bash_profile
, khona-ke ungazenzela ngokwakho usebenzisa umyalo touch
. Ngemva kokudala i-alias, qala kabusha i-terminal, ngemva kwalokho ungasebenzisa lesi sibizo. Kulokhu, okokufaka kwezinhlamvu ezimbili kungena esikhundleni sokufakwa kwezinhlamvu ezingaphezu kweshumi nambili zomyalo, okuhloselwe
Π ~/.bash_profile
ungangeza iziteketiso zanoma yimiphi imiyalo esetshenziswa njalo.
β Imiphumela
Kulokhu okuthunyelwe, sihlanganise imiyalo engu-21 edumile ye-Bash futhi sakhuluma ngokwakha iziteketiso zomyalo. Uma unentshisekelo kulesi sihloko -
Bafundi abathandekayo! Imiphi imiyalo ewusizo kwabaqalayo ongayengeza kuleyo okuxoxwe ngayo kulesi sihloko?
β
Source: www.habr.com