Ohun elo naa, itumọ eyiti a gbejade loni, jẹ ipinnu fun awọn ti o fẹ lati ṣakoso laini aṣẹ Linux. Agbara lati lo ọpa yii ni imunadoko le ṣafipamọ akoko pupọ. Ni pataki, a yoo sọrọ nipa ikarahun Bash ati awọn aṣẹ iwulo 21 nibi. A yoo tun sọrọ nipa bi o ṣe le lo awọn asia aṣẹ ati awọn inagijẹ Bash lati yara titẹ awọn ilana gigun.
→
Awọn ofin
Bi o ṣe kọ ẹkọ lati ṣiṣẹ pẹlu laini aṣẹ Linux, iwọ yoo ba pade ọpọlọpọ awọn imọran ti o ṣe iranlọwọ lati lilö kiri. Diẹ ninu wọn, bii "Linux" ati "Unix", tabi "ikarahun" ati "terminal", jẹ idamu nigba miiran. Jẹ ki a sọrọ nipa awọn wọnyi ati awọn ofin pataki miiran.
Ni bayi ti a ti bo awọn ọrọ pataki, Mo fẹ tọka si pe Emi yoo lo awọn ọrọ “Bash”, “ikarahun” ati “ila aṣẹ” ni paarọ nibi, ati awọn ofin “itọsọna” ati “folda”.
Standard stdin
), iṣẹjade boṣewa (ijade boṣewa, stdout
) ati abajade aṣiṣe boṣewa (aṣiṣe boṣewa, stderr
).
Ti o ba wa ninu awọn aṣẹ apẹẹrẹ ti yoo fun ni isalẹ, iwọ yoo rii nkan bii my_whatever
- Eyi tumọ si pe ajẹkù yii nilo lati rọpo pẹlu nkan tirẹ. Fun apẹẹrẹ, orukọ faili kan.
Ni bayi, ṣaaju ki o to tẹsiwaju pẹlu itupalẹ awọn aṣẹ ti ohun elo yii jẹ igbẹhin si, jẹ ki a wo atokọ wọn ati awọn apejuwe kukuru wọn.
21 Bash pipaṣẹ
▍Gbigba alaye
man
: Ṣe afihan itọsọna olumulo (iranlọwọ) fun pipaṣẹ naa.pwd
: han alaye nipa awọn ṣiṣẹ liana.ls
: ṣe afihan awọn akoonu ti itọsọna kan.ps
: Gba ọ laaye lati wo alaye nipa awọn ilana ṣiṣe.
▍Ifọwọyi eto faili
cd
: ayipada ṣiṣẹ liana.touch
: ṣẹda faili.mkdir
: ṣẹda a liana.cp
: Da faili kan.mv
: Gbe tabi pa faili kan rẹ.ln
: ṣẹda ọna asopọ.
▍ I/O redirection ati pipelines
<
: àtúnjúwestdin
.>
: àtúnjúwestdout
.|
: piped abajade ti aṣẹ kan si titẹ sii ti aṣẹ miiran.
▍ Awọn faili kika
head
: ka ibẹrẹ faili.tail
: ka opin faili.cat
: Ka faili kan ki o tẹ sita awọn akoonu rẹ si iboju, tabi ṣajọpọ awọn faili.
▍Npaarẹ awọn faili, awọn ilana idaduro
rm
: Pa faili kan.kill
: da ilana naa duro.
▍Ṣawari
grep
: wa alaye.ag
: to ti ni ilọsiwaju aṣẹ fun wiwa.
▍ Ifipamọ
tar
: ṣiṣẹda pamosi ati ki o ṣiṣẹ pẹlu wọn.
Jẹ ki a sọrọ nipa awọn aṣẹ wọnyi ni awọn alaye diẹ sii.
Awọn alaye ẹgbẹ
Lati bẹrẹ pẹlu, jẹ ki ká wo pẹlu awọn ofin, awọn esi ti eyi ti wa ni ti oniṣowo ni awọn fọọmu stdout
. Nigbagbogbo awọn abajade wọnyi han ni window ebute kan.
▍Gbigba alaye
man command_name
: ṣe afihan itọsọna aṣẹ, ie alaye iranlọwọ.
pwd
: ṣe afihan ọna si itọsọna iṣẹ lọwọlọwọ. Lakoko ṣiṣe pẹlu laini aṣẹ, olumulo nigbagbogbo nilo lati wa ni pato ibiti o wa ninu eto naa.
ls
: ṣe afihan awọn akoonu ti itọsọna kan. Aṣẹ yii tun lo ni igbagbogbo.
ls -a
: ṣe afihan awọn faili ti o farapamọ. asia loo nibi -a
awọn pipaṣẹ ls
. Lilo awọn asia ṣe iranlọwọ lati ṣe akanṣe ihuwasi ti awọn aṣẹ.
ls -l
: Ṣe afihan alaye alaye nipa awọn faili.
Akiyesi pe awọn asia le wa ni idapo. Fun apẹẹrẹ - bi eleyi: ls -al
.
ps
: Wo awọn ilana ṣiṣe.
ps -e
: Ṣe afihan alaye nipa gbogbo awọn ilana ṣiṣe, kii ṣe awọn ti o ni nkan ṣe pẹlu ikarahun olumulo lọwọlọwọ. Aṣẹ yii ni igbagbogbo lo ni fọọmu yii.
▍Ifọwọyi eto faili
cd my_directory
: yipada ṣiṣẹ liana si my_directory
. Lati gbe soke ipele kan ninu igi liana, lo my_directory
ojulumo ona ../
.
cd pipaṣẹ
touch my_file
: ṣiṣẹda faili my_file
ni ọna ti a fun.
mkdir my_directory
: ṣẹda folda my_directory
ni ọna ti a fun.
mv my_file target_directory
: gbe faili my_file
si folda target_directory
. Nigbati o ba n ṣalaye itọsọna ibi-afẹde, o nilo lati lo ọna pipe si rẹ (kii ṣe ikole bii ../
).
egbe mv
tun le ṣee lo lati tunrukọ awọn faili tabi awọn folda. Fun apẹẹrẹ, o le dabi eyi:
mv my_old_file_name.jpg my_new_file_name.jpg
: ṣẹda ẹda faili kan
cp my_source_file target_directorymy_source_file
ki o si fi si folda kan target_directory
.
ln -s my_source_file my_target_file
: ṣẹda ọna asopọ aami my_target_file
fun faili my_source_file
. Ti o ba yi ọna asopọ pada, faili atilẹba yoo tun yipada.
Ti faili naa my_source_file
yoo parẹ, lẹhinna my_target_file
yoo wa nibe. Flag -s
awọn pipaṣẹ ln
faye gba o lati ṣẹda awọn ọna asopọ fun awọn ilana.
Bayi jẹ ki ká soro nipa I/O redirection ati pipelines.
▍ I/O redirection ati pipelines
my_command < my_file
: rọpo olupejuwe faili igbewọle boṣewa (stdin
) fun faili kan my_file
. Eyi le wulo ti aṣẹ naa ba n duro de diẹ ninu titẹ sii lati ori bọtini itẹwe, ati pe data yii ti wa ni fipamọ tẹlẹ ninu faili kan.
my_command > my_file
: àtúnjúwe awọn abajade ti aṣẹ, ie ohun ti yoo deede lọ sinu stdout
ati jade si iboju, si faili kan my_file
. Ti faili naa my_file
ko si - o ti wa ni da. Ti faili naa ba wa, o ti kọkọ kọ.
Fun apẹẹrẹ, lẹhin ṣiṣe pipaṣẹ naa ls > my_folder_contents.txt
faili ọrọ yoo ṣẹda ti o ni atokọ ti ohun ti o wa ninu ilana iṣẹ lọwọlọwọ.
Ti o ba ti dipo aami >
lo ikole >>
, lẹhinna, ti o ba jẹ pe faili ti a ti darí iṣẹjade ti aṣẹ naa wa, faili yii kii yoo ṣe atunṣe. Awọn data yoo wa ni afikun si awọn opin ti yi faili.
Bayi jẹ ki a wo sisẹ opo gigun ti epo data.
Ijade ti aṣẹ kan jẹ ifunni sinu titẹ sii ti aṣẹ miiran. O dabi sisopọ paipu kan si omiiran
first_command | second_command
: ami gbigbe, |
, ni a lo lati firanṣẹ abajade ti aṣẹ kan si aṣẹ miiran. Kini aṣẹ ti o wa ni apa osi ti eto ti a ṣalaye ranṣẹ si stdout
, Subu sinu stdin
pipaṣẹ si ọtun ti aami opo gigun ti epo.
Lori Lainos, data le jẹ pipelin ni lilo o kan nipa eyikeyi aṣẹ ti a ṣe daradara. Nigbagbogbo a sọ pe ohun gbogbo ni Linux jẹ opo gigun ti epo.
O le dè ọpọ awọn aṣẹ nipa lilo aami opo gigun ti epo. O dabi eleyi:
first_command | second_command | third_command
Opo gigun ti awọn aṣẹ pupọ ni a le ṣe afiwe si opo gigun ti epo
Ṣe akiyesi pe nigbati aṣẹ si apa osi ti aami naa |
, o jade nkankan lati stdout
, ohun ti o jade jẹ lẹsẹkẹsẹ wa bi stdin
ẹgbẹ keji. Iyẹn ni, o wa ni pe, lilo opo gigun ti epo, a n ṣe pẹlu ipaniyan ti o jọra ti awọn aṣẹ. Nigba miiran eyi le ja si awọn abajade airotẹlẹ. Awọn alaye nipa eyi le ka
Bayi jẹ ki a sọrọ nipa kika data lati awọn faili ati fifi wọn han loju iboju.
▍ Awọn faili kika
head my_file
: ka awọn ila lati ibẹrẹ faili kan ki o tẹ wọn si iboju. O le ka kii ṣe awọn akoonu ti awọn faili nikan, ṣugbọn tun kini awọn aṣẹ ṣe jade ninu stdin
lilo aṣẹ yii gẹgẹbi apakan ti opo gigun ti epo.
tail my_file
: ka awọn ila lati opin faili naa. Aṣẹ yii tun le ṣee lo ni opo gigun ti epo.
Ori (ori) wa ni iwaju, ati iru (iru) wa lẹhin
Ti o ba n ṣiṣẹ pẹlu data nipa lilo ile-ikawe pandas, lẹhinna awọn aṣẹ naa head
и tail
yẹ ki o mọ ọ. Ti eyi ko ba jẹ ọran, wo nọmba ti o wa loke, ati pe iwọ yoo rọrun lati ranti wọn.
Wo awọn ọna miiran lati ka awọn faili, jẹ ki a sọrọ nipa aṣẹ naa cat
.
Egbe cat
boya tẹjade awọn akoonu ti faili kan si iboju, tabi ṣajọpọ awọn faili lọpọlọpọ. O da lori iye awọn faili ti o kọja si aṣẹ yii nigbati a pe.
o nran pipaṣẹ
cat my_one_file.txt
: nigbati faili kan ba kọja si aṣẹ yii, yoo jade si stdout
.
Ti o ba fun ni awọn faili meji tabi awọn faili diẹ sii, lẹhinna o huwa yatọ.
cat my_file1.txt my_file2.txt
: ti o ti gba ọpọlọpọ awọn faili bi titẹ sii, aṣẹ yii ṣajọpọ awọn akoonu wọn ati ṣafihan ohun ti o ṣẹlẹ ninu stdout
.
Ti abajade isomọ faili nilo lati wa ni fipamọ bi faili titun, o le lo oniṣẹ ẹrọ >
:
cat my_file1.txt my_file2.txt > my_new_file.txt
Bayi jẹ ki a sọrọ nipa bi o ṣe le pa awọn faili rẹ ati da awọn ilana duro.
▍Npaarẹ awọn faili, awọn ilana idaduro
rm my_file
: pa faili my_file
.
rm -r my_folder
: npa folda kan my_folder
ati gbogbo awọn faili ati awọn folda ti o wa ninu. Flag -r
tọkasi wipe aṣẹ yoo ṣiṣẹ ni recursive mode.
Lati yago fun eto lati beere fun ìmúdájú nigbakugba ti faili kan tabi folda ti wa ni paarẹ, lo awọn Flag -f
.
kill 012345
: Duro ilana ṣiṣe ti a ti sọ tẹlẹ, fifun ni akoko lati fi ore-ọfẹ ku.
kill -9 012345
: Fi agbara fopin si ilana ṣiṣe ti pàtó kan. Wo asia -s SIGKILL
tumo si kanna bi awọn Flag -9
.
▍Ṣawari
O le lo awọn ofin oriṣiriṣi lati wa data. Gegebi bi - grep
, ag
и ack
. Jẹ ki a bẹrẹ ifaramọ wa pẹlu awọn aṣẹ wọnyi pẹlu grep
. Eyi jẹ idanwo-akoko, aṣẹ igbẹkẹle, eyiti, sibẹsibẹ, lọra ju awọn miiran lọ ati pe ko rọrun lati lo bi wọn ṣe jẹ.
grep pipaṣẹ
grep my_regex my_file
: awọrọojulówo my_regex
в my_file
. Ti a ba rii ibaamu kan, gbogbo okun naa yoo pada, fun ibaamu kọọkan. Aiyipada my_regex
mu bi ikosile deede.
grep -i my_regex my_file
: A ṣe wiwa wiwa ni ọna ti ko ṣe pataki.
grep -v my_regex my_file
: pada gbogbo awọn ori ila ti ko ni ninu my_regex
. Flag -v
tumo si inversion, o resembles awọn oniṣẹ NOT
, ti a rii ni ọpọlọpọ awọn ede siseto.
grep -c my_regex my_file
Pada alaye pada nipa nọmba awọn ere-kere ti a rii ninu faili fun apẹrẹ wiwa.
grep -R my_regex my_folder
: ṣe wiwa loorekoore ni gbogbo awọn faili ti o wa ninu folda ti a sọ ati ninu awọn folda ti o wa ni itẹ-ẹiyẹ ninu rẹ.
Bayi jẹ ki a sọrọ nipa ẹgbẹ naa ag
. O wa nigbamii grep
, o yarayara, o rọrun diẹ sii lati ṣiṣẹ pẹlu rẹ.
aṣẹ ag
ag my_regex my_file
: pada alaye nipa awọn nọmba ila, ati awọn ila ara wọn, ninu eyiti awọn ere-kere ti a ri pẹlu my_regex
.
ag -i my_regex my_file
: A ṣe wiwa wiwa ni ọna ti ko ṣe pataki.
Egbe ag
ṣiṣẹ faili laifọwọyi .gitignore
ati ki o yọkuro lati inu iṣelọpọ ohun ti a rii ninu awọn folda tabi awọn faili ti a ṣe akojọ si faili yẹn. O ti wa ni irorun.
ag my_regex my_file -- skip-vcs-ignores
Awọn akoonu ti awọn faili iṣakoso ẹya aifọwọyi (bii .gitignore
) ko ṣe akiyesi ni wiwa.
Ni afikun, ni ibere lati so fun egbe ag
lori iru awọn ọna faili ti o fẹ yọkuro lati inu wiwa, o le ṣẹda faili kan .agignore
.
Ni ibẹrẹ apakan yii, a mẹnuba aṣẹ naa ack
. Awọn ẹgbẹ ack
и ag
gidigidi iru, a le so pe ti won ba wa 99% interchangeable. Sibẹsibẹ, ẹgbẹ ag
ṣiṣẹ yiyara, ti o ni idi ti mo ti se apejuwe ti o.
Bayi jẹ ki ká soro nipa ṣiṣẹ pẹlu awọn pamosi.
▍ Ifipamọ
tar my_source_directory
: concatenates awọn faili lati folda kan my_source_directory
sinu kan nikan tarball faili. Iru awọn faili jẹ iwulo fun gbigbe awọn akojọpọ nla ti awọn faili si ẹnikan.
oda pipaṣẹ
Awọn faili tarball ti ipilẹṣẹ nipasẹ aṣẹ yii jẹ awọn faili pẹlu itẹsiwaju .tar
(Ipamọ teepu). Otitọ pe ọrọ “teepu” (teepu) ti wa ni pamọ ni orukọ aṣẹ ati ni itẹsiwaju ti awọn orukọ ti awọn faili ti o ṣẹda tọkasi bi aṣẹ yii ti pẹ to.
tar -cf my_file.tar my_source_directory
: ṣẹda faili tarball ti a npè ni my_file.tar
pẹlu awọn akoonu folda my_source_directory
. Flag -c
dúró fún “ṣẹ̀dá” (ìṣẹ̀dá), àti àsíá -f
bi "faili" (faili).
Lati jade awọn faili lati .tar
-faili, lo aṣẹ tar
pẹlu awọn asia -x
("jade", isediwon) ati -f
("faili", faili).
tar -xf my_file.tar
: jade awọn faili lati my_file.tar
si awọn ti isiyi ṣiṣẹ liana.
Bayi jẹ ki ká soro nipa bi o si compress ati decompress .tar
- awọn faili.
tar -cfz my_file.tar.gz my_source_directory
: nibi lilo asia -z
("zip", algorithm funmorawon) tọka pe algorithm yẹ ki o lo lati funmorawon awọn faili gzip
(GNUzip). Faili funmorawon fi aaye disk pamọ nigba titoju iru awọn faili. Ti awọn faili ba ti gbero, fun apẹẹrẹ, lati gbe lọ si awọn olumulo miiran, eyi ṣe alabapin si igbasilẹ iyara ti iru awọn faili.
Yọ faili kuro .tar.gz
o le fi asia -z
si aṣẹ akoonu jade .tar
-awọn faili, eyi ti a ti sọrọ loke. O dabi eleyi:
tar -xfz my_file.tar.gz
O yẹ ki o ṣe akiyesi pe ẹgbẹ naa tar
Ọpọlọpọ awọn asia ti o wulo diẹ sii wa.
Awọn inagijẹ Bash
Awọn aliases Bash (ti a npe ni aliases tabi awọn abbreviations) jẹ apẹrẹ lati ṣẹda awọn orukọ abbreviated ti awọn aṣẹ tabi awọn ilana wọn, lilo eyiti dipo awọn aṣẹ deede ṣe iyara iṣẹ. Ti o ba ni inagijẹ bu
, eyi ti o tọju aṣẹ naa python setup.py sdist bdist_wheel
, lẹhinna lati pe aṣẹ yii, o to lati lo inagijẹ yii.
Lati ṣẹda iru inagijẹ, kan ṣafikun aṣẹ atẹle si faili naa ~/.bash_profile
:
alias bu="python setup.py sdist bdist_wheel"
Ti eto rẹ ko ba ni faili naa ~/.bash_profile
, lẹhinna o le ṣẹda rẹ funrararẹ nipa lilo aṣẹ naa touch
. Lẹhin ṣiṣẹda inagijẹ, tun bẹrẹ ebute naa, lẹhin eyi o le lo inagijẹ yii. Ni idi eyi, titẹ sii ti awọn ohun kikọ meji rọpo igbewọle ti diẹ sii ju awọn ohun kikọ mejila mẹta ti aṣẹ naa, eyiti a pinnu fun
В ~/.bash_profile
o le fi awọn inagijẹ kun fun eyikeyi awọn pipaṣẹ ti a lo nigbagbogbo.
▍ Abajade
Ninu ifiweranṣẹ yii, a ti bo awọn aṣẹ Bash olokiki 21 ati sọrọ nipa ṣiṣẹda awọn inagijẹ aṣẹ. Ti o ba nifẹ si koko-ọrọ yii -
Eyin onkawe! Awọn aṣẹ wo ni o wulo fun awọn olubere ni iwọ yoo ṣafikun si awọn ti a jiroro ninu nkan yii?
→
orisun: www.habr.com