Zolemba, kumasulira kwake komwe timasindikiza lero, kwapangidwira iwo omwe akufuna kudziwa mzere wamalamulo wa Linux. Kukhoza kugwiritsa ntchito bwino chidachi kungapulumutse nthawi yambiri. Makamaka, tikambirana za chipolopolo cha Bash ndi malamulo 21 othandiza pano. Tikambirananso za momwe tingagwiritsire ntchito mbendera ndi zilembo za Bash kufulumizitsa kulemba kwa malangizo aatali.
→
Migwirizano
Pamene mukuphunzira kugwira ntchito ndi mzere wa malamulo a Linux, mudzakumana ndi mfundo zambiri zomwe zimathandiza kuyenda. Ena a iwo, monga "Linux" ndi "Unix", kapena "chipolopolo" ndi "terminal", nthawi zina amasokonezeka. Tiyeni tikambirane mawu amenewa ndi ena ofunika.
Tsopano popeza tafotokozera mawu ofunikira, ndikufuna kunena kuti ndigwiritsa ntchito mawu akuti "Bash", "chipolopolo" ndi "command line" mosinthana apa, komanso mawu akuti "directory" ndi "foda".
Standard stdin
), zotuluka zokhazikika (zotulutsa zokhazikika, stdout
) ndi kutulutsa kolakwika kokhazikika (zolakwika zokhazikika, stderr
).
Ngati mu malamulo chitsanzo kuti adzaperekedwa pansipa, mudzapeza chinachake chonga my_whatever
- izi zikutanthauza kuti chidutswa ichi chiyenera kusinthidwa ndi china chake. Mwachitsanzo, dzina la fayilo.
Tsopano, tisanapitirize kusanthula malamulo omwe nkhaniyi idaperekedwa, tiyeni tiwone mndandanda wawo ndi mafotokozedwe awo achidule.
21 Bash amalamula
▍Kupeza zambiri
man
: Imawonetsa chiwongolero cha ogwiritsa ntchito (chithandizo) cha lamulo.pwd
: Imawonetsa zidziwitso za chikwatu chogwirira ntchito.ls
: ikuwonetsa zomwe zili mu bukhu.ps
: Imakulolani kuti muwone zambiri zokhudzana ndi njira zomwe zikuyenda.
▍Kusintha kwa fayilo
cd
: kusintha chikwatu ntchito.touch
: pangani fayilo.mkdir
: pangani chikwatu.cp
: Koperani fayilo.mv
: Sunthani kapena kufufuta fayilo.ln
: pangani ulalo.
▍Kulondolera kwina kwa I/O ndi mapaipi
<
: kulondoleransostdin
.>
: kulondoleransostdout
.|
: adatulutsa zotuluka za lamulo limodzi kupita ku lamulo lina.
▍Kuwerenga mafayilo
head
: werengani chiyambi cha fayilo.tail
: werengani kumapeto kwa fayilo.cat
: Werengani fayilo ndikusindikiza zomwe zili mkati mwake pazenera, kapena phatikizani mafayilo.
▍Kuchotsa mafayilo, kuyimitsa njira
rm
: Chotsani fayilo.kill
: kusiya ndondomeko.
▍Fufuzani
grep
: fufuzani zambiri.ag
: lamulo lapamwamba lofufuzira.
▍Kusunga zinthu zakale
tar
: kupanga zolemba zakale ndikugwira nawo ntchito.
Tiyeni tikambirane za malamulowa mwatsatanetsatane.
Tsatanetsatane wa Gulu
Poyamba, tiyeni tigwirizane ndi malamulo, omwe zotsatira zake zimaperekedwa mu mawonekedwe stdout
. Nthawi zambiri zotsatirazi zimawonekera pawindo la terminal.
▍Kupeza zambiri
man command_name
: onetsani kalozera wamalamulo, i.e. zambiri zothandizira.
pwd
: onetsani njira yopita ku bukhu logwira ntchito panopa. Pogwira ntchito ndi mzere wolamula, wogwiritsa ntchito nthawi zambiri amafunika kudziwa komwe ali mu dongosololi.
ls
: onetsani zomwe zili m'ndandanda. Lamuloli limagwiritsidwanso ntchito nthawi zambiri.
ls -a
: onetsani mafayilo obisika. mbendera idayikidwa apa -a
malamulo ls
. Kugwiritsa ntchito mbendera kumathandiza kusintha machitidwe a malamulo.
ls -l
: Onetsani zambiri za mafayilo.
Dziwani kuti mbendera zitha kuphatikizidwa. Mwachitsanzo - monga izi: ls -al
.
ps
: Onani njira zoyendetsera.
ps -e
: Onetsani zambiri zamachitidwe onse omwe akuyenda, osati okhawo omwe amagwirizana ndi chipolopolo cha ogwiritsa ntchito. Lamuloli nthawi zambiri limagwiritsidwa ntchito mwanjira iyi.
▍Kusintha kwa fayilo
cd my_directory
: kusintha chikwatu ntchito my_directory
. Kuti mukweze mulingo umodzi mumtundu wa chikwatu, gwiritsani ntchito my_directory
njira yogwirizana ../
.
cd lamulo
touch my_file
: kupanga mafayilo my_file
panjira yoperekedwa.
mkdir my_directory
: pangani chikwatu my_directory
panjira yoperekedwa.
mv my_file target_directory
: kusuntha fayilo my_file
ku folda target_directory
. Mukatchula chikwatu chomwe mukufuna, muyenera kugwiritsa ntchito njira yopitako (osati kumanga ngati ../
).
timu mv
angagwiritsidwenso ntchito kutchulanso mafayilo kapena zikwatu. Mwachitsanzo, zitha kuwoneka motere:
mv my_old_file_name.jpg my_new_file_name.jpg
: pangani fayilo
cp my_source_file target_directorymy_source_file
ndi kuziyika mu chikwatu target_directory
.
ln -s my_source_file my_target_file
: pangani ulalo wophiphiritsa my_target_file
pa fayilo my_source_file
. Mukasintha ulalo, fayilo yoyambirira isinthanso.
Ngati fayilo my_source_file
zidzachotsedwa, ndiye my_target_file
adzakhalabe. Mbendera -s
malamulo ln
amakulolani kuti mupange maulalo aakalozera.
Tsopano tiyeni tikambirane za njira ya I/O ndi mapaipi.
▍Kulondolera kwina kwa I/O ndi mapaipi
my_command < my_file
: imalowa m'malo ofotokozera mafayilo olowera (stdin
) pa fayilo my_file
. Izi zitha kukhala zothandiza ngati lamulo likuyembekezera zolowetsa kuchokera pa kiyibodi, ndipo izi zasungidwa kale mufayilo.
my_command > my_file
: imawongolera zotsatira za lamulo, mwachitsanzo, zomwe zingalowemo stdout
ndi zotuluka pazenera, ku fayilo my_file
. Ngati fayilo my_file
kulibe - idapangidwa. Ngati fayiloyo ilipo, imachotsedwa.
Mwachitsanzo, pambuyo pochita lamulo ls > my_folder_contents.txt
fayilo yolemba idzapangidwa yomwe ili ndi mndandanda wazomwe zili m'ndandanda wamakono.
Ngati m'malo mwa chizindikiro >
ntchito yomanga >>
, ndiye, malinga ngati fayilo yomwe lipoti la lamulo litumizidwa likupezeka, fayiloyi siidzalembedwanso. Zambiri zidzawonjezedwa kumapeto kwa fayiloyi.
Tsopano tiyeni tione pokonza mapaipi a data.
Kutulutsa kwa lamulo limodzi kumalowetsedwa mu lamulo lina. Zili ngati kulumikiza chitoliro chimodzi ndi china
first_command | second_command
: chizindikiro cha conveyor, |
, amagwiritsidwa ntchito kutumiza zotsatira za lamulo limodzi ku lamulo lina. Zomwe lamulo kumanzere kwa kapangidwe kameneka kamatumiza stdout
, Kugwa mu stdin
lamula kumanja kwa chizindikiro cha mapaipi.
Pa Linux, deta imatha kuyendetsedwa pogwiritsa ntchito lamulo lililonse lopangidwa bwino. Nthawi zambiri zimanenedwa kuti chilichonse mu Linux ndi payipi.
Mutha kulumikiza malamulo angapo pogwiritsa ntchito chizindikiro cha mapaipi. Zikuwoneka motere:
first_command | second_command | third_command
Paipi ya malamulo angapo ingayerekezedwe ndi payipi
Onani kuti pamene lamulo kumanzere kwa chizindikiro |
, kutulutsa chinachake stdout
, zomwe amatulutsa zimapezeka nthawi yomweyo stdin
timu yachiwiri. Ndiye kuti, zikuwoneka kuti, pogwiritsa ntchito payipi, tikuchita ndi kuphatikizika kwa malamulo. Nthawi zina izi zingayambitse zotsatira zosayembekezereka. Zambiri za izi zitha kuwerengedwa
Tsopano tiyeni tikambirane za kuwerenga deta kuchokera owona ndi kuwasonyeza pa zenera.
▍Kuwerenga mafayilo
head my_file
: amawerenga mizere kuyambira koyambirira kwa fayilo ndikuisindikiza pazenera. Simungawerenge zomwe zili m'mafayilo okha, komanso zomwe malamulowo amatulutsa stdin
pogwiritsa ntchito lamulo ili ngati gawo la payipi.
tail my_file
: amawerenga mizere kuchokera kumapeto kwa fayilo. Lamuloli litha kugwiritsidwanso ntchito popanga mapaipi.
Mutu (mutu) uli kutsogolo, ndipo mchira (mchira) uli kumbuyo
Ngati mukugwira ntchito ndi data pogwiritsa ntchito laibulale ya pandas, ndiye kuti malamulo head
и tail
ziyenera kukhala zodziwika kwa inu. Ngati sizili choncho, yang'anani chithunzi pamwambapa, ndipo mudzachikumbukira mosavuta.
Ganizirani njira zina zowerengera mafayilo, tiyeni tikambirane za lamulo cat
.
timu cat
mwina amasindikiza zomwe zili mufayilo pazenera, kapena kuphatikiza mafayilo angapo. Zimatengera kuchuluka kwa mafayilo omwe amaperekedwa ku lamulo ili akaitanidwa.
mphaka lamulo
cat my_one_file.txt
: Fayilo imodzi ikaperekedwa ku lamulo ili, imatuluka stdout
.
Ngati mupatsa mafayilo awiri kapena mafayilo ochulukirapo, ndiye kuti amachita mosiyana.
cat my_file1.txt my_file2.txt
: atalandira mafayilo angapo monga zolowetsa, lamulo ili limagwirizanitsa zomwe zili mkati ndikuwonetsa zomwe zinachitika stdout
.
Ngati zotsatira za kulumikizidwa kwa fayilo ziyenera kusungidwa ngati fayilo yatsopano, mutha kugwiritsa ntchito woyendetsa >
:
cat my_file1.txt my_file2.txt > my_new_file.txt
Tsopano tiyeni tikambirane mmene kufufuta owona ndi kusiya njira.
▍Kuchotsa mafayilo, kuyimitsa njira
rm my_file
: chotsani fayilo my_file
.
rm -r my_folder
: amachotsa chikwatu my_folder
ndi mafayilo onse ndi zikwatu zomwe zili. Mbendera -r
zikuwonetsa kuti lamulo liziyenda munjira yobwereza.
Kuletsa dongosolo kupempha chitsimikiziro nthawi iliyonse wapamwamba kapena chikwatu zichotsedwa, ntchito mbendera -f
.
kill 012345
: Imayimitsa njira yomwe yatchulidwa, ndikupatseni nthawi yotseka mwachisomo.
kill -9 012345
: Imathetsa mokakamiza njira yomwe yatchulidwa. Onani mbendera -s SIGKILL
amatanthauza chimodzimodzi monga mbendera -9
.
▍Fufuzani
Mukhoza kugwiritsa ntchito malamulo osiyanasiyana kufufuza deta. Makamaka - grep
, ag
и ack
. Tiyeni tiyambe kudziwana ndi malamulo awa grep
. Ili ndi lamulo loyesedwa nthawi, lodalirika, lomwe, komabe, ndilochedwa kuposa ena ndipo silosavuta kugwiritsa ntchito monga momwe alili.
grep lamulo
grep my_regex my_file
: kufufuza my_regex
в my_file
. Ngati machesi apezeka, chingwe chonsecho chimabwezedwa, pamasewera aliwonse. Zosasintha my_regex
kuchitidwa ngati mawu okhazikika.
grep -i my_regex my_file
: Kusakaku kumachitika mosaganizira.
grep -v my_regex my_file
: imabweretsa mizere yonse yomwe ilibe my_regex
. Mbendera -v
amatanthauza inversion, amafanana ndi woyendetsa NOT
, zopezeka m’zinenero zambiri zopangira mapulogalamu.
grep -c my_regex my_file
: Imabweza zambiri za kuchuluka kwa mafananidwe amitundu yomwe yafufuzidwa yomwe yapezeka mufayilo.
grep -R my_regex my_folder
: imapanga kusaka kobwerezabwereza m'mafayilo onse omwe ali mufoda yomwe yatchulidwa komanso m'mafoda omwe ali mmenemo.
Tsopano tiyeni tikambirane za gulu ag
. Anabwera pambuyo pake grep
, ndi yachangu, ndiyosavuta kugwiritsa ntchito nayo.
ag command
ag my_regex my_file
: imabweretsanso zambiri za manambala a mzere, ndi mizere yomwe, momwe machesi adapezeka nawo my_regex
.
ag -i my_regex my_file
: Kusakaku kumachitika mosaganizira.
timu ag
sinthani fayiloyo zokha .gitignore
ndipo imapatula zomwe zingapezeke m'mafoda kapena mafayilo omwe ali mufayiloyo. Ndi bwino kwambiri.
ag my_regex my_file -- skip-vcs-ignores
: zomwe zili m'mafayilo owongolera okha (monga .gitignore
) sichikuganiziridwa pakufufuza.
Komanso, pofuna kuuza gulu ag
panjira zomwe mukufuna kuzichotsa pakufufuza, mutha kupanga fayilo .agignore
.
Kumayambiriro kwa gawoli, tatchula lamulo ack
. Magulu ack
и ag
zofanana kwambiri, tikhoza kunena kuti ndi 99% kusinthana. Komabe, timu ag
imagwira ntchito mwachangu, ndichifukwa chake ndidafotokoza.
Tsopano tiyeni tikambirane za ntchito ndi archives.
▍Kusunga zinthu zakale
tar my_source_directory
: concatenates owona kuchokera chikwatu my_source_directory
mu fayilo imodzi ya tarball. Mafayilo oterowo ndi othandiza potengera mafayilo akulu akulu kwa wina.
lamulo la tar
Mafayilo a tarball opangidwa ndi lamulo ili ndi mafayilo omwe ali ndi zowonjezera .tar
(Tepi ARchive). Mfundo yakuti mawu oti "tepi" (tepi) amabisika m'dzina la lamulo ndipo powonjezera mayina a mafayilo omwe amapanga amasonyeza kuti lamuloli lakhalapo kwa nthawi yayitali bwanji.
tar -cf my_file.tar my_source_directory
: imapanga fayilo ya tarball yotchedwa my_file.tar
ndi zomwe zili mufoda my_source_directory
. Mbendera -c
amaimira “kulenga” (kulenga), ndi mbendera -f
monga "fayilo" (fayilo).
Kuti muchotse mafayilo kuchokera .tar
-file, gwiritsani ntchito lamulo tar
ndi mbendera -x
("kuchotsa", kuchotsa) ndi -f
("fayilo", fayilo).
tar -xf my_file.tar
: amachotsa mafayilo kuchokera my_file.tar
ku chikwatu chogwirira ntchito.
Tsopano tiyeni tikambirane mmene compress ndi decompress .tar
- mafayilo.
tar -cfz my_file.tar.gz my_source_directory
: apa pogwiritsa ntchito mbendera -z
("zip", compression algorithm) ikuwonetsa kuti algorithm iyenera kugwiritsidwa ntchito kufinya mafayilo gzip
(GNUzip). Kuphatikizika kwa fayilo kumapulumutsa malo a disk posunga mafayilo otere. Ngati mafayilo akonzedwa, mwachitsanzo, kuti atumizidwe kwa ogwiritsa ntchito ena, izi zimathandiza kuti mafayilo otere atsitsidwe mwachangu.
Tsegulani fayilo .tar.gz
mukhoza kuwonjezera mbendera -z
ku lamulo la extract content .tar
-mafayilo, omwe takambirana pamwambapa. Zikuwoneka motere:
tar -xfz my_file.tar.gz
Tikumbukenso kuti gulu tar
Palinso mbendera zambiri zothandiza.
Bash alias
Bash aliases (omwe amatchedwanso ma aliases kapena achidule) adapangidwa kuti apange mayina achidule a malamulo kapena kutsatizana kwawo, kugwiritsa ntchito komwe m'malo mwa malamulo okhazikika kumafulumizitsa ntchito. Ngati muli ndi alias bu
, zomwe zimabisa lamulo python setup.py sdist bdist_wheel
, ndiye kutchula lamulo ili, ndikokwanira kugwiritsa ntchito dzina ili.
Kuti mupange dzina lotere, ingowonjezerani lamulo lotsatirali pafayilo ~/.bash_profile
:
alias bu="python setup.py sdist bdist_wheel"
Ngati makina anu alibe fayilo ~/.bash_profile
, ndiye mutha kupanga nokha pogwiritsa ntchito lamulo touch
. Mukapanga dzina, yambitsaninso terminal, kenako mutha kugwiritsa ntchito izi. Pamenepa, kulowetsa kwa zilembo ziwiri kumalowa m'malo mwa zilembo zoposa khumi ndi zitatu za lamulo, zomwe zimapangidwira.
В ~/.bash_profile
mutha kuwonjezera zilembo zamalamulo omwe amagwiritsidwa ntchito pafupipafupi.
▍Zotsatira
Mu positi iyi, talemba malamulo 21 otchuka a Bash ndikulankhula za kupanga ma aliases. Ngati mumakonda mutuwu -
Wokondedwa owerenga! Kodi ndi malamulo ati omwe ndi othandiza kwa oyamba kumene mungawonjezere pa amene takambirana m’nkhaniyi?
→
Source: www.habr.com