Ang materyal, ang paghubad nga among gipatik karon, gituyo alang sa gusto nga mag-master sa linya sa mando sa Linux. Ang pagkahibalo unsaon paggamit niini nga himan sa epektibong paagi makadaginot ug daghang panahon. Sa partikular, maghisgot kita bahin sa Bash shell ug 21 ka mapuslanong mga sugo. Maghisgot usab kami kung giunsa paggamit ang mga bandera ug alyas sa Bash command aron mapadali ang pag-type sa taas nga mga pahayag.
β
Mga Termino
Samtang nagkat-on ka sa paggamit sa linya sa command sa Linux, mahimo nimong makit-an ang daghang mga konsepto nga magamit sa pag-navigate. Ang uban kanila, sama sa "Linux" ug "Unix", o "shell" ug "terminal", usahay maglibog. Atong hisgotan kini ug uban pang importanteng termino.
Karon nga natabonan na nato ang importanteng mga termino, gusto nakong ipunting nga dinhi akong gamiton ang mga termino nga "Bash", "shell" ug "command line" nga baylobaylo, ingon man ang mga termino nga "direktoryo" ug "folder ".
Standard stdin
), standard nga output, stdout
) ug standard error output (standard error, stderr
).
Kung sa mga pananglitan sa sugo sa ubos makita nimo ang usa ka butang nga sama sa my_whatever
- kini nagpasabot nga kini nga tipik kinahanglan nga pulihan sa usa ka butang nga imoha. Pananglitan, ang ngalan sa file.
Karon, sa dili pa kita magsugod sa pag-analisar sa mga sugo nga gipahinungod niini nga materyal, atong tan-awon ang ilang listahan ug ang ilang mubo nga mga paghulagway.
21 Bash nga mga sugo
βPagkuha og impormasyon
man
: Nagpakita sa giya sa gumagamit (tabang) alang sa sugo.pwd
: Nagpakita og impormasyon mahitungod sa working directory.ls
: Nagpakita sa mga sulod sa usa ka direktoryo.ps
: Nagtugot kanimo sa pagtan-aw sa impormasyon bahin sa mga proseso sa pagpadagan.
βPagmaniobra sa sistema sa file
cd
: Usba ang working directory.touch
: Paghimo og file.mkdir
: Paghimo og direktoryo.cp
: Pagkopya og file.mv
: Pagbalhin o pagtangtang sa usa ka file.ln
: Paghimo og link.
βI/O redirection ug pipelines
<
: redirectstdin
.>
: redirectstdout
.|
: Pag-pipe sa output sa usa ka command ngadto sa input sa laing command.
β Pagbasa sa mga file
head
: Basaha ang sinugdanan sa file.tail
: Basaha ang katapusan sa file.cat
: Basaha ang usa ka file ug ipakita ang mga sulod niini sa screen o idugtong ang mga file.
βPagtangtang sa mga file, paghunong sa mga proseso
rm
: Pagtangtang sa file.kill
: Hunonga ang proseso.
βPagpangita
grep
: pangitag impormasyon.ag
: advanced search command.
βPag-archive
tar
: paghimo og mga archive ug pagtrabaho uban kanila.
Atong hisgotan kini nga mga sugo sa mas detalyado.
Mga detalye sa team
Una, atong tan-awon ang mga sugo kansang mga resulta gipakita sa porma stdout
. Kasagaran kini nga mga resulta makita sa usa ka terminal nga bintana.
βPagkuha og impormasyon
man command_name
: output sa command manual, nga mao, impormasyon sa pakisayran.
pwd
: Nagpakita sa agianan sa kasamtangan nga direktoryo sa pagtrabaho. Kung nagtrabaho kauban ang command line, ang tiggamit kanunay kinahanglan nga mahibal-an kung diin eksakto siya sa sistema.
ls
: Nagpakita sa mga sulod sa direktoryo. Kini nga sugo gigamit usab kanunay.
ls -a
: Ipakita ang tinago nga mga file. Ang bandera gigamit dinhi -a
mga mando ls
. Ang paggamit sa mga bandera makatabang sa pagpahiangay sa pamatasan sa mga sugo.
ls -l
: Ipakita ang detalyadong impormasyon bahin sa mga file.
Palihug timan-i nga ang mga bandila mahimong ikombinar. Pananglitan, sama niini: ls -al
.
ps
: Tan-awa ang nagdagan nga mga proseso.
ps -e
: Nagpakita og impormasyon mahitungod sa tanang proseso nga nagdagan, dili lang sa mga nalambigit sa kasamtangang shell sa user. Kini nga sugo sagad gigamit niini nga porma.
βPagmaniobra sa sistema sa file
cd my_directory
: usba ang working directory sa my_directory
. Aron mabalhin ang usa ka lebel nga mas taas sa punoan sa direktoryo, gamita my_directory
relatibong dalan ../
.
cd nga sugo
touch my_file
: paghimo sa file my_file
subay sa gihatag nga dalan.
mkdir my_directory
: Paghimo og folder my_directory
subay sa gihatag nga dalan.
mv my_file target_directory
: ibalhin ang file my_file
sa folder target_directory
. Kung gipiho ang target nga direktoryo, kinahanglan nimo gamiton ang hingpit nga agianan niini (ug dili usa ka pagtukod sama sa ../
).
Team mv
, dugang pa, mahimong gamiton sa pag-usab sa ngalan sa mga file o folder. Pananglitan, kini mahimong sama niini:
mv my_old_file_name.jpg my_new_file_name.jpg
: Paghimo og kopya sa file
cp my_source_file target_directorymy_source_file
ug ibutang kini sa usa ka folder target_directory
.
ln -s my_source_file my_target_file
: Paghimo og simbolo nga sumpay my_target_file
kada file my_source_file
. Kung imong usbon ang link, ang gigikanan nga file mausab usab.
Kung ang file my_source_file
mapapas, unya my_target_file
magpabilin. Bandila -s
mga mando ln
nagtugot kanimo sa paghimo og mga link alang sa mga direktoryo.
Karon maghisgot kita bahin sa I/O redirection ug pipelines.
βI/O redirection ug pipelines
my_command < my_file
: nagpuli sa standard input file handle (stdin
) matag file my_file
. Mahimong mapuslanon kini kung ang sugo nagpaabut sa pipila ka input gikan sa keyboard, ug kini nga datos kaniadto gitipigan sa usa ka file.
my_command > my_file
: nag-redirect sa mga resulta sa sugo, sa ato pa, unsa ang kasagarang mahuman stdout
ug gipakita sa screen, sa usa ka file my_file
. Kung ang file my_file
wala - kini gibuhat. Kon ang file anaa, kini gisapawan kanag.
Pananglitan, human sa pagpatuman sa sugo ls > my_folder_contents.txt
usa ka text file ang pagabuhaton nga adunay lista sa kung unsa ang naa sa karon nga direktoryo sa pagtrabaho.
Kon imbes nga simbolo >
pahimusli ang disenyo >>
, unya, basta ang file diin ang command output gi-redirect anaa, kini nga file dili ma-overwritten. Ang datos idugang sa katapusan sa kini nga file.
Karon atong tan-awon ang pagproseso sa pipeline sa data.
Unsa ang usa ka command output gipakaon sa laing command's input. Kini sama sa pagkonektar sa usa ka tubo ngadto sa lain
first_command | second_command
: simbolo sa conveyor, |
, gigamit sa pagpadala sa mga resulta sa usa ka sugo ngadto sa laing sugo. Unsa ang sugo nga nahimutang sa wala nga bahin sa gihulagway nga konstruksyon nga gipadala stdout
, Nahulog sa stdin
sugo, nga nahimutang sa tuo sa conveyor simbolo.
Sa Linux, ang data pipelining mahimo gamit ang halos bisan unsang maayong pagkaporma nga command. Kanunay giingon nga ang tanan sa Linux usa ka pipeline.
Mahimo nimong gamiton ang simbolo sa conveyor aron magkadena ang daghang mga sugo. Murag mao ni:
first_command | second_command | third_command
Ang usa ka pipeline sa daghang mga sugo mahimong itandi sa usa ka pipeline
Palihug timan-i nga sa diha nga ang sugo sa wala sa simbolo |
, nagpagawas sa usa ka butang sa stdout
, kung unsa ang iyang mga output magamit dayon ingon stdin
ikaduhang team. Kana mao, kini nahimo nga kung mogamit usa ka pipeline, nag-atubang kami sa parehas nga pagpatuman sa mga mando. Usahay kini mahimong mosangpot sa wala damha nga mga resulta. Makabasa ka ug dugang bahin niini
Karon maghisgot kita bahin sa pagbasa sa datos gikan sa mga file ug ipakita kini sa screen.
β Pagbasa sa mga file
head my_file
: Nagbasa sa mga linya gikan sa sinugdanan sa file ug gipakita kini sa screen. Mahimo nimong basahon dili lamang ang mga sulod sa mga file, kondili usab kung unsa ang output sa mga sugo stdin
gamit kini nga sugo isip elemento sa pipeline.
tail my_file
: Nagbasa sa mga linya gikan sa katapusan sa file. Kini nga sugo mahimo usab nga gamiton sa usa ka pipeline.
Ulo (ulo) anaa sa atubangan, ug ikog (ikog) anaa sa luyo
Kung nagtrabaho ka sa datos gamit ang pandas library, unya ang mga sugo head
ΠΈ tail
dapat pamilyar sa imo. Kung dili kini ang kahimtang, tan-awa ang litrato sa ibabaw ug dali nimo silang mahinumduman.
Atong tan-awon ang ubang mga paagi sa pagbasa sa mga file, paghisgot bahin sa mando cat
.
team cat
ipakita ang mga sulod sa usa ka file sa screen, o maghiusa sa daghang mga file. Nagdepende kini kung pila ka mga file ang gipasa sa kini nga mando kung gitawag.
iring sugo
cat my_one_file.txt
: Sa diha nga kini nga sugo gihatag sa usa ka file, kini output niini sa stdout
.
Kung hatagan nimo kini og duha ka mga file o daghan pa nga mga file, nan lahi ang paglihok niini.
cat my_file1.txt my_file2.txt
: nga nakadawat og daghang mga file isip input, kini nga sugo maghiusa sa ilang mga sulod ug magpagawas kung unsa ang migawas stdout
.
Kung ang resulta sa file concatenation kinahanglan nga ma-save ingon usa ka bag-ong file, mahimo nimong gamiton ang operator >
:
cat my_file1.txt my_file2.txt > my_new_file.txt
Karon atong hisgutan kung unsaon pagtangtang sa mga file ug paghunong sa mga proseso.
βPagtangtang sa mga file, paghunong sa mga proseso
rm my_file
: nagtangtang sa usa ka file my_file
.
rm -r my_folder
: nagtangtang sa usa ka folder my_folder
ug ang tanang mga file ug mga folder nga anaa niini. Bandila -r
nagpakita nga ang sugo molihok sa recursive mode.
Aron mapugngan ang sistema sa pagpangayo og kumpirmasyon sa matag higayon nga imong tangtangon ang usa ka file o folder, gamita ang bandila -f
.
kill 012345
: Gipahunong ang espesipikong proseso sa pagpadagan, nga naghatag niini og panahon sa pagtak-op nga maayo.
kill -9 012345
: Kusog nga gitapos ang gitakda nga proseso sa pagpadagan. Bandera sa espisye -s SIGKILL
nagpasabot nga parehas sa bandila -9
.
βPagpangita
Makagamit ka ug lain-laing mga sugo sa pagpangita sa datos. Sa partikular- grep
, ag
ΠΈ ack
. Atong sugdan ang atong kaila niining mga teams uban sa grep
. Kini usa ka gisulayan sa oras, kasaligan nga mando, nga, bisan pa, labi ka hinay kaysa sa uban ug dili kadali gamiton sama sa kaniadto.
grep nga sugo
grep my_regex my_file
: naghimo sa pagpangita my_regex
Π² my_file
. Kung makit-an ang usa ka posporo, ang tibuuk nga kuwerdas ibalik alang sa matag duwa. Default my_regex
Gitratar isip usa ka regular nga ekspresyon.
grep -i my_regex my_file
: Ang pagpangita gihimo sa usa ka case-insensitive nga paagi.
grep -v my_regex my_file
: mibalik sa tanang mga laray nga walay sulod my_regex
. Bandila -v
nagpasabot inversion, kini susama sa operator NOT
, anaa sa daghang programming language.
grep -c my_regex my_file
: Ibalik ang impormasyon bahin sa gidaghanon sa mga tugma sa gipangita nga pattern nga makita sa file.
grep -R my_regex my_folder
: Naghimo ug recursive search sa tanang file nga nahimutang sa gihatag nga folder ug sa mga folder subfolder sulod niini.
Karon maghisgot ta bahin sa team ag
. Nagpakita siya sa ulahi grep
, kini mao ang mas paspas ug mas sayon ββsa pagtrabaho uban sa.
ag sugo
ag my_regex my_file
: nagbalik sa impormasyon bahin sa mga numero sa linya, ug sa mga linya mismo, diin nakit-an ang mga posporo my_regex
.
ag -i my_regex my_file
: Ang pagpangita gihimo sa usa ka case-insensitive nga paagi.
team ag
awtomatiko nga giproseso ang file .gitignore
ug wala iapil gikan sa output kung unsa ang makit-an sa mga folder o mga file nga gilista sa kana nga file. Komportable kaayo kini.
ag my_regex my_file -- skip-vcs-ignores
: sulod sa automatic version control system files (sama sa .gitignore
) wala gikonsiderar kung nangita.
Dugang pa, aron isulti ang mando ag
aron mahibal-an kung unsang mga agianan sa file ang kinahanglan nga dili iapil sa pagpangita, mahimo ka maghimo usa ka file .agignore
.
Sa sinugdanan niini nga seksyon among gihisgutan ang sugo ack
. Mga team ack
ΠΈ ag
susama kaayo, makaingon kita nga sila 99% mabaylo. Apan, ang team ag
mas paspas ang pagtrabaho, mao nga akong gihulagway kini.
Karon maghisgot kita bahin sa pagtrabaho sa mga archive.
βPag-archive
tar my_source_directory
: naghiusa sa mga file gikan sa usa ka folder my_source_directory
sa usa ka tarball file. Ang ingon nga mga file sayon ββββnga gamiton aron mabalhin ang dagkong mga set sa mga file ngadto sa usa ka tawo.
tar nga sugo
Ang mga file sa tarball nga gihimo niini nga command mga file nga adunay extension .tar
(Tape ARchive). Ang kamatuoran nga ang pulong nga "tape" gitago sa ngalan sa command ug sa extension sa mga ngalan sa mga file nga gimugna niini nagpakita kung unsa ka dugay kini nga sugo naglungtad.
tar -cf my_file.tar my_source_directory
: naghimo ug tarball file nga ginganlan my_file.tar
uban sa sulod sa folder my_source_directory
. Bandila -c
nagpasabot sa "pagmugna", ug ang bandila -f
isip "file" (file).
Aron makuha ang mga file nga nahimutang sa .tar
-file, gigamit ang command tar
uban sa mga bandera -x
(βextractβ, extraction) ug -f
(βfileβ, file).
tar -xf my_file.tar
: nagkuha sa mga file gikan sa my_file.tar
ngadto sa kasamtangan nga working directory.
Karon atong hisgutan kung unsaon pag-compress ug pag-decompress .tar
- mga file.
tar -cfz my_file.tar.gz my_source_directory
: dinhi, gamit ang bandera -z
("zip", compression algorithm) nagpakita nga ang algorithm kinahanglan gamiton sa pag-compress sa mga file gzip
(GNU zip). Ang pag-compress sa file nagtugot kanimo sa pagtipig sa espasyo sa disk kung gitipigan ang ingon nga mga file. Kung ang mga file giplano, pananglitan, nga ibalhin sa ubang mga tiggamit, kini makatabang sa pag-download sa ingon nga mga file nga mas paspas.
Unzip file .tar.gz
mahimo nimo pinaagi sa pagdugang og bandila -z
ngadto sa sugo sa pagkuha sa sulod .tar
-files, nga atong gihisgutan sa ibabaw. Murag mao ni:
tar -xfz my_file.tar.gz
Kini kinahanglan nga matikdan nga ang team tar
Adunay daghan pa nga mapuslanon nga mga bandila.
Bash mga alias
Ang mga alyas sa Bash (gitawag usab nga mga alyas o mga pinamubo) gidesinyo sa paghimo og pinamubo nga mga ngalan sa mga sugo o sa ilang mga han-ay, ang paggamit niini imbes nga regular nga mga sugo nagpadali sa trabaho. Kon ikaw, ingnon ta, adunay pseudonym bu
, sa luyo diin ang sugo gitago python setup.py sdist bdist_wheel
, unya ang pagtawag niini nga sugo igo na nga gamiton kini nga alias.
Aron makahimo og ingon nga alyas, idugang lang ang mosunod nga sugo sa file ~/.bash_profile
:
alias bu="python setup.py sdist bdist_wheel"
Kung walay file sa imong sistema ~/.bash_profile
, unya mahimo nimo kini sa imong kaugalingon gamit ang command touch
. Human sa paghimo og usa ka alyas, i-restart ang terminal, pagkahuman magamit nimo kini nga alias. Niini nga kaso, ang pagsulod sa duha ka mga karakter mopuli sa pagsulod sa labaw sa tulo ka dosena nga mga karakter sa sugo, nga gituyo alang sa
Π ~/.bash_profile
Mahimo nimong idugang ang mga alyas alang sa bisan unsang kanunay nga gigamit nga mga sugo.
βResulta
Niini nga artikulo, among gitan-aw ang 21 ka sikat nga Bash commands ug naghisgot bahin sa paghimo og mga command alias. Kung interesado ka niini nga hilisgutan -
Minahal nga magbabasa! Unsa nga mga sugo ang imong idugang sa mga nasakup niini nga artikulo nga mapuslanon nga mahibal-an sa mga nagsugod?
β
Source: www.habr.com