[voamarika] Bash ho an'ny vao manomboka: didy 21 mahasoa

Ny fitaovana, ny fandikana izay avoakantsika androany, dia natao ho an'ireo izay te-hifehy ny baikon'ny Linux. Ny fahaizana mampiasa io fitaovana io amin'ny fomba mahomby dia afaka mitahiry fotoana betsaka. Indrindra indrindra, hiresaka momba ny akorandriaka Bash sy ny baiko mahasoa 21 eto isika. Hiresaka momba ny fomba fampiasana sainam-baiko sy alias Bash ihany koa isika mba hanafainganana ny fanoratana toromarika lava.

[voamarika] Bash ho an'ny vao manomboka: didy 21 mahasoa

Vakio ihany koa ao amin'ny bilaoginay ny andian-dahatsoratra momba ny script bash

Ireo fepetra

Rehefa mianatra miara-miasa amin'ny tsipika baiko Linux ianao dia hahita hevitra maro izay manampy amin'ny fitetezana. Ny sasany amin'izy ireo, toy ny "Linux" sy "Unix", na "shell" sy "terminal", dia misavoritaka indraindray. Andeha isika hiresaka momba ireo sy ireo teny manan-danja hafa.

Unix dia rafitra fiasa malaza izay novolavolain'ny Bell Labs tamin'ny taona 1970. Nakatona ny code-ny.

Linux no rafitra fiasa mitovy amin'ny Unix malaza indrindra. Ampiasaina amin'ny fitaovana maro izy io ankehitriny, anisan'izany ny ordinatera.

alalan'ny terminal (terminal), na terminal emulator dia programa manome fidirana amin'ny rafitra miasa. Afaka manana varavarankely terminal maromaro misokatra miaraka amin'ny fotoana iray ianao.

akorandriaka (shell) dia programa ahafahanao mandefa baiko voasoratra amin'ny fiteny manokana amin'ny rafitra fiasana.

Bash mijoro ho Bourne Again Shell. Io no fiteny shell mahazatra indrindra ampiasaina hifaneraserana amin'ny rafitra miasa. Ary koa, ny shell Bash no default amin'ny macOS.

Interface tsipika baiko (Command Line Interface, CLI) dia fomba fifaneraserana eo amin'ny olona iray sy ny solosaina iray, izay ampiasain'ny mpampiasa hampiditra baiko avy amin'ny klavier, ary ny solosaina, manatanteraka ireo baiko ireo, dia mampiseho hafatra amin'ny endrika lahatsoratra ho an'ny mpampiasa. Ny tena fampiasana ny CLI dia ny fahazoana vaovao farany momba ny sampana sasany, toy ny rakitra, ary ny miasa amin'ny rakitra. Ny interface tsipika baiko dia tokony havahana amin'ny interface graphical user interface (GUI), izay mampiasa ny totozy voalohany indrindra. Ny interface interface dia matetika antsoina hoe tsipika baiko.

teny (script) dia programa kely misy filaharan'ny baiko shell. Ny script dia nosoratana tamin'ny rakitra, azo ampiasaina imbetsaka izy ireo. Rehefa manoratra scripts dia azonao atao ny mampiasa fari-pahalalana, fepetra, tadivavarana, fiasa ary endri-javatra hafa.

Ankehitriny rehefa nandinika ireo teny manan-danja isika dia tiako ny manamarika fa hampiasa ny teny hoe "Bash", "shell" ary "command line" aho eto, ary koa ny teny hoe "directory" sy "folder".

Malagasy mikoriana, izay hampiasaintsika eto dia ny fampidirana mahazatra (fampidirana mahazatra, stdin), vokatra manara-penitra (output standard, stdout) ary ny famoahana ny hadisoana mahazatra (fahadisoana mahazatra, stderr).

Raha ao amin'ny baiko ohatra izay homena etsy ambany dia hahita zavatra toy izany ianao my_whatever - midika izany fa mila soloina zavatra anao io sombiny io. Ohatra, ny anaran'ny rakitra.

Ankehitriny, alohan'ny hanohizana ny famakafakana ny baiko izay natokana ho an'ity fitaovana ity, andeha hojerentsika ny lisitry ny lisitra sy ny famaritana fohy azy ireo.

21 Bash baiko

▍Mahazoa vaovao

  • man: Mampiseho ny torolalana (fanampiana) momba ny baiko.
  • pwd: mampiseho fampahalalana momba ny lahatahiry miasa.
  • ls: mampiseho ny votoatin'ny lahatahiry iray.
  • ps: Mamela anao hijery vaovao momba ny fizotry ny fandehanana.

▍Fikirakirana rafitra

  • cd: hanova ny lahatahiry miasa.
  • touch: mamorona rakitra.
  • mkdir: mamorona lahatahiry.
  • cp: Mandika rakitra.
  • mv: Mamindra na mamafa rakitra.
  • ln: mamorona rohy.

▍I/O redirection sy pipelines

  • <: redirect stdin.
  • >: redirect stdout.
  • |: Fampitahana ny fivoahan'ny baiko iray mankany amin'ny fidiran'ny baiko hafa.

▍Famakiana rakitra

  • head: mamaky ny fiandohan'ny rakitra.
  • tail: mamaky ny faran'ny rakitra.
  • cat: Mamakia rakitra ary manonta ny ao anatiny amin'ny efijery, na manambatra rakitra.

▍ Famafana rakitra, fampiatoana ny dingana

  • rm: Famafana rakitra.
  • kill: atsaharo ny dingana.

▍Karoka

  • grep: fitadiavana vaovao.
  • ag: baiko mandroso amin'ny fikarohana.

▍Fitahirizana

  • tar: famoronana arisiva ary miara-miasa aminy.

Andeha isika hiresaka momba ireo baiko ireo amin'ny antsipiriany bebe kokoa.

Details momba ny ekipa

Hanombohana, andao hiatrika ny baiko, ny vokatra izay navoaka tamin'ny endrika stdout. Matetika ireo vokatra ireo dia miseho amin'ny varavarankely terminal.

▍Mahazoa vaovao

man command_name: asehoy ny torolalana baiko, izany hoe fampahalalana fanampiana.

pwd: asehoy ny lalana mankany amin'ny lahatahiry miasa ankehitriny. Rehefa miasa miaraka amin'ny baikon'ny baiko, matetika ny mpampiasa dia mila mahafantatra tsara hoe aiza ao amin'ny rafitra misy azy.

ls: mampiseho ny votoatin'ny lahatahiry iray. Ampiasaina matetika koa io baiko io.

ls -a: asehoy ny rakitra miafina. saina no ampiharina eto -a didy ls. Ny fampiasana saina dia manampy amin'ny fampifanarahana ny fihetsiky ny baiko.

ls -l: Asehoy ny antsipiriany momba ny rakitra.

Mariho fa azo atambatra ny saina. Ohatra - toy izao: ls -al.

ps: Jereo ny fizotran'ny fandehanana.

ps -e: Asehoy ny fampahafantarana momba ny dingana rehetra mandeha, fa tsy izay mifandray amin'ny shell mpampiasa ankehitriny. Ity baiko ity dia matetika ampiasaina amin'ity endrika ity.

▍Fikirakirana rafitra

cd my_directory: hanova ny lahatahiry miasa ho my_directory. Mba hiakatra ambaratonga iray amin'ny hazo lahatahiry, ampiasao my_directory lalana mifanakaiky ../.

[voamarika] Bash ho an'ny vao manomboka: didy 21 mahasoa
cd command

touch my_file: famoronana rakitra my_file manaraka ny lalana nomena.

mkdir my_directory: mamorona lahatahiry my_directory manaraka ny lalana nomena.

mv my_file target_directory: mamindra rakitra my_file fampirimana target_directory. Rehefa mamaritra ny lahatahiry kendrena ianao dia mila mampiasa ny lalana tanteraka mankany aminy (fa tsy fanorenana toy ny ../).

ekipa mvazo ampiasaina hanovana anarana rakitra na lahatahiry ihany koa. Ohatra, mety ho toy izao izany:

mv my_old_file_name.jpg my_new_file_name.jpg
cp my_source_file target_directory
: mamorona dika mitovy amin'ny rakitra iray my_source_file ary apetraho ao anaty lahatahiry target_directory.

ln -s my_source_file my_target_file: mamorona rohy an'ohatra my_target_file isaky ny rakitra my_source_file. Raha ovainao ny rohy dia hiova koa ny rakitra tany am-boalohany.

Raha ny rakitra my_source_file dia ho voafafa my_target_file dia hijanona. sainam-pirenena -s didy ln mamela anao hamorona rohy ho an'ny lahatahiry.

Andeha isika hiresaka momba ny redirection I/O sy ny pipelines.

▍I/O redirection sy pipelines

my_command < my_file: manolo ny famariparitana ny rakitra fampidirana mahazatra (stdin) isaky ny rakitra my_file. Mety hahasoa izany raha toa ka miandry fampidirana avy amin'ny klavier ny baiko, ary efa voatahiry ao anaty rakitra ity angona ity.

my_command > my_file: Mamindra ny vokatry ny baiko, izany hoe izay miditra amin'ny mahazatra stdout ary mivoaka amin'ny efijery, amin'ny rakitra iray my_file. Raha ny rakitra my_file tsy misy - dia noforonina. Raha misy ilay rakitra dia voasolo.

Ohatra, rehefa avy nanatanteraka ny baiko ls > my_folder_contents.txt hisy fisie lahatsoratra ho noforonina misy lisitry ny zavatra ao amin'ny lahatahiry miasa ankehitriny.

Raha solon'ny marika > mampiasa ny fanorenana >>, avy eo, raha toa ka misy ny fichier izay avadika ny famoahana ny baiko, dia tsy hosoratana io rakitra io. Hampiana amin'ny faran'ity rakitra ity ny angona.

Andeha hojerentsika izao ny fanodinana fantsona fantsona.

[voamarika] Bash ho an'ny vao manomboka: didy 21 mahasoa
Ny vokatra avy amin'ny baiko iray dia ampidirina amin'ny fampidirana baiko iray hafa. Toy ny mampifandray fantsona iray amin'ny iray hafa

first_command | second_command: famantarana ny conveyor, |, dia ampiasaina handefasana ny vokatra avy amin'ny baiko iray mankany amin'ny baiko hafa. Inona no alefan'ny baiko eo amin'ny ilany havia amin'ilay rafitra voalaza stdout, Latsaka ao stdin baiko eo ankavanan'ny marika fantsona.

Amin'ny Linux, ny angon-drakitra dia azo amboarina amin'ny alàlan'ny baiko voarindra tsara. Matetika no lazaina fa ny zavatra rehetra ao amin'ny Linux dia pipeline.

Azonao atao ny mampifandray baiko maromaro amin'ny alàlan'ny marika pipeline. Toa izao izy io:

first_command | second_command | third_command

[voamarika] Bash ho an'ny vao manomboka: didy 21 mahasoa
Ny fantsona misy baiko maromaro dia azo ampitahaina amin'ny fantsona iray

Mariho fa rehefa ny baiko eo ankavian'ny marika |, mamoaka zavatra ho stdout, izay avoakany dia azo alaina avy hatrany stdin ekipa faharoa. Izany hoe, hita fa, amin'ny fampiasana ny fantsona, dia miatrika ny fanatanterahana ny baiko mifanitsy. Mety hiteraka vokatra tsy ampoizina izany indraindray. Azo vakiana ny antsipiriany momba izany eto.

Andeha isika hiresaka momba ny famakiana angona avy amin'ny rakitra sy ny fampisehoana azy ireo eo amin'ny efijery.

▍Famakiana rakitra

head my_file: mamaky andalana avy amin'ny fiandohan'ny rakitra iray ary manonta azy eo amin'ny efijery. Tsy ny votoatin'ny rakitra ihany no azonao vakiana, fa ny zavatra avoakan'ny baiko stdinmampiasa ity baiko ity ho ampahany amin'ny fantsona.

tail my_file: mamaky andalana avy amin'ny faran'ny rakitra. Ity baiko ity dia azo ampiasaina amin'ny fantsona.

[voamarika] Bash ho an'ny vao manomboka: didy 21 mahasoa
Ny loha (loha) dia eo aloha, ary ny rambony (rambo) dia ao aoriana

Raha miasa amin'ny angon-drakitra mampiasa ny tranomboky pandas ianao, dia ny baiko head и tail tokony ho fantatrao. Raha tsy izany no izy, dia jereo ny sary etsy ambony, dia ho tadidinao mora foana izy ireo.

Diniho ny fomba hafa hamakiana rakitra, andao hiresaka momba ny baiko cat.

ekipa cat na manonta ny votoatin'ny rakitra iray amin'ny efijery, na mampifandray rakitra marobe. Miankina amin'ny isan'ny rakitra alefa amin'ity baiko ity izany rehefa antsoina.

[voamarika] Bash ho an'ny vao manomboka: didy 21 mahasoa
baiko saka

cat my_one_file.txt: rehefa misy rakitra iray alefa amin'ity baiko ity dia avoakany any stdout.

Raha omenao rakitra roa na mihoatra izany, dia hafa ny fitondran-tenany.

cat my_file1.txt my_file2.txt: rehefa nahazo rakitra maromaro ho fampidirana, ity baiko ity dia mampifandray ny atiny ary mampiseho ny zava-nitranga tao stdout.

Raha toa ka mila tehirizina ho rakitra vaovao ny vokatry ny concatenation dia azonao ampiasaina ny operator >:

cat my_file1.txt my_file2.txt > my_new_file.txt

Andeha isika hiresaka momba ny fomba hamafa rakitra sy hampitsahatra ny dingana.

▍ Famafana rakitra, fampiatoana ny dingana

rm my_file: mamafa rakitra my_file.

rm -r my_folder: mamafa lahatahiry iray my_folder ary ny rakitra sy lahatahiry rehetra ao anatiny. sainam-pirenena -r dia manondro fa ny baiko dia handeha amin'ny fomba recursive.

Mba hisorohana ny rafitra tsy hangataka fanamafisana isaky ny misy rakitra na lahatahiry voafafa, ampiasao ny saina -f.

kill 012345: Atsaharo ny fizotry ny fandehanana voatondro, manome fotoana hanakanana azy tsara.

kill -9 012345: Mamarana an-keriny ny fizotran'ny fandehanana. View Flag -s SIGKILL midika hoe mitovy amin’ny saina -9.

▍Karoka

Azonao atao ny mampiasa baiko samihafa hikaroka angona. Manokana - grep, ag и ack. Andeha isika hanomboka amin'ny fahafantarana ireo baiko ireo grep. Ity dia baiko voasedra, azo itokisana, izay, na izany aza, dia miadana kokoa noho ny hafa ary tsy mety amin'ny fampiasana azy.

[voamarika] Bash ho an'ny vao manomboka: didy 21 mahasoa
grep command

grep my_regex my_file: fitadiavana my_regex в my_file. Raha misy lalao hita dia averina ny tady manontolo, isaky ny lalao. toerana misy anao my_regex raisina ho toy ny fomba fiteny mahazatra.

grep -i my_regex my_file: Atao amin'ny fomba tsy misy dikany ny fikarohana.

grep -v my_regex my_file: mamerina ny andalana rehetra tsy misy my_regex. sainam-pirenena -v midika hoe inversion, mitovy amin'ny operator NOT, hita amin'ny fiteny fandaharana maro.

grep -c my_regex my_file: Mamerina fampahalalana momba ny isan'ny lalao hita ao amin'ny rakitra ho an'ny lamina fikarohana.

grep -R my_regex my_folder: manao fikarohana miverimberina amin'ny rakitra rehetra hita ao amin'ny lahatahiry voatondro sy ao amin'ny lahatahiry voatahiry ao.

Andeha isika hiresaka momba ny ekipa ag. Tonga izy taty aoriana grep, dia haingana kokoa, mora kokoa ny miasa miaraka aminy.

[voamarika] Bash ho an'ny vao manomboka: didy 21 mahasoa
ag baiko

ag my_regex my_file: mamerina ny vaovao momba ny laharan'ny tsipika, sy ny andalana mihitsy, izay nahitana fifanandrinana my_regex.

ag -i my_regex my_file: Atao amin'ny fomba tsy misy dikany ny fikarohana.

ekipa ag mandeha ho azy ny fichier .gitignore ary tsy tafiditra ao amin'ny famoahana izay hita ao amin'ny lahatahiry na rakitra voatanisa ao amin'io rakitra io. Tena mahazo aina.

ag my_regex my_file -- skip-vcs-ignores: ao anatin'ny fisie fanaraha-maso ny version automatique (toy ny .gitignore) dia tsy raisina amin'ny fikarohana.

Ankoatra izany, mba hilazana ny ekipa ag amin'ny lalan'ny rakitra tianao hanilihana amin'ny fikarohana dia azonao atao ny mamorona rakitra .agignore.

Tany am-piandohan'ity fizarana ity dia nilaza ny baiko izahay ack. Ekipa ack и ag tena mitovy, azo lazaina fa 99% azo ifanakalozana izy ireo. Na izany aza, ny ekipa ag miasa haingana kokoa, izay no antony nilazako azy.

Andeha isika hiresaka momba ny miasa amin'ny arsiva.

▍Fitahirizana

tar my_source_directory: mampifandray rakitra avy amin'ny lahatahiry iray my_source_directory ao anaty rakitra tarball tokana. Ny rakitra toy izany dia ilaina amin'ny famindrana rakitra marobe amin'ny olona iray.

[voamarika] Bash ho an'ny vao manomboka: didy 21 mahasoa
baiko tar

Ny rakitra tarball novokarin'ity baiko ity dia rakitra miaraka amin'ny fanitarana .tar (Tape ARchive). Ny hoe "tape" (tape) dia miafina ao amin'ny anaran'ny baiko sy amin'ny fanitarana ny anaran'ny rakitra noforoniny dia manondro hoe hafiriana no nisy an'io baiko io.

tar -cf my_file.tar my_source_directory: mamorona rakitra tarball antsoina hoe my_file.tar miaraka amin'ny atiny lahatahiry my_source_directory. sainam-pirenena -c dia midika hoe "mamorona" (famoronana), ary ny saina -f toy ny "rakitra" (rakitra).

Mba hanesorana rakitra avy amin'ny .tar-file, ampiasao ny baiko tar misy saina -x ("extract", extraction) ary -f ("rakitra", rakitra).

tar -xf my_file.tar: maka rakitra avy amin'ny my_file.tar mankany amin'ny lahatahiry miasa ankehitriny.

Andeha isika hiresaka momba ny fomba hanenjanana sy decompress .tar- rakitra.

tar -cfz my_file.tar.gz my_source_directory: eto mampiasa ny saina -z ("zip", algorithm famandrihan-toerana) dia manondro fa ny algorithm dia tokony hampiasaina hanesorana ireo rakitra gzip (GNUzip). Ny famandrihan-drakitra dia mitahiry habaka kapila rehefa mitahiry rakitra toy izany. Raha toa ka kasaina, ohatra, hafindra amin'ny mpampiasa hafa ny rakitra, dia manampy amin'ny fampidinana haingana kokoa ny rakitra toy izany.

Sokafy ny rakitra .tar.gz afaka manampy saina ianao -z mankany amin'ny baiko misintona votoaty .tar-files, izay noresahinay tetsy ambony. Toa izao izy io:

tar -xfz my_file.tar.gz
Marihina fa ny ekipa tar Misy sainam-pirenena mahasoa kokoa.

Bash aliases

Bash aliases (antsoina koa hoe aliases na fanafohezana) dia natao hamoronana anarana fanafohezana ny baiko na ny filaharany, ny fampiasana azy fa tsy ny baiko mahazatra dia manafaingana ny asa. Raha manana alias bu, izay manafina ny baiko python setup.py sdist bdist_wheel, avy eo miantso an'io baiko io dia ampy ny mampiasa an'io alias io.

Mba hamoronana alias toy izany, ampio fotsiny ity baiko manaraka ity amin'ny rakitra ~/.bash_profile:

alias bu="python setup.py sdist bdist_wheel"

Raha tsy manana ny rakitra ny rafitrao ~/.bash_profile, dia azonao atao ny mamorona azy amin'ny alàlan'ny baiko touch. Aorian'ny famoronana ny alias, avereno indray ny terminal, aorian'izay dia azonao ampiasaina ity alias ity. Amin'ity tranga ity, ny fidiran'ny tarehintsoratra roa dia manolo ny fampidirana tarehintsoratra mihoatra ny telopolo amin'ny baiko, izay natao ho an'ny FIVORIAMBE fonosana Python.

В ~/.bash_profile azonao atao ny manampy aliases ho an'ny baiko ampiasaina matetika.

▍Vokatra

Ato amin'ity lahatsoratra ity, nandrakotra didy Bash malaza 21 izahay ary niresaka momba ny famoronana aliases. Raha liana amin'ity lohahevitra ity ianao - eto andian-dahatsoratra natokana ho an'i Bash. izany Azonao atao ny mahita dika pdf amin'ireo publication ireo. Ary koa, raha te hianatra Bash ianao, tadidio fa, toy ny amin'ny rafitra fandaharana hafa rehetra, ny fampiharana no fanalahidy.

Ry mpamaky malala! Inona no baiko mahasoa ho an'ny vao manomboka azonao ampiana amin'ireo noresahina ato amin'ity lahatsoratra ity?

Vakio ihany koa ao amin'ny bilaoginay ny andian-dahatsoratra momba ny script bash

[voamarika] Bash ho an'ny vao manomboka: didy 21 mahasoa

Source: www.habr.com

Add a comment