Galutinis „Linux“ komandų eilutės vadovas - visa „Bash“ pamoka

Sveiki atvykę į mūsų pagrindinį „Linux“ komandų eilutės vadovą. Ši pamoka parodys jums keletą pagrindinių „Linux“ komandų eilutės technologijų ir supažindins jus su „Bash“ scenarijų kalba.

Kas yra Bashas?

„Bash“ (sutrumpintai reiškia „Bourne Again SHell“) yra „Unix“ apvalkalas ir komandų kalbos vertėjas. Korpusas yra tiesiog makroprocesorius, vykdantis komandas. Tai yra plačiausiai naudojamas apvalkalas, pagal numatytuosius nustatymus supakuotas daugumai „Linux“ paskirstymų, ir „Korn“ apvalkalo (ksh) ir C apvalkalo (csh) įpėdinis.

Daugelį dalykų, kuriuos galima padaryti „Linux“ operacinė sistema gali būti padaryta naudojant komandinę eilutę. Keletas pavyzdžių yra ...

  • Redaguoti failus
  • Operacinės sistemos garsumo reguliavimas
  • Tinklalapių gavimas iš interneto
  • Automatizuoti kiekvieną dieną atliekamą darbą

Daugiau apie bash galite perskaityti čia, per GNU dokumentaciją ir per tldp vadovą.

„Bash“ naudojimas komandinėje eilutėje („Linux“, OS X)

Galite pradėti naudoti „bash“ daugumoje „Linux“ ir „OS X“ operacinių sistemų atidarę terminalą. Panagrinėkime paprastą „labo pasaulio“ pavyzdį. Atidarykite terminalą ir parašykite šią eilutę (viskas po $ ženklu):

[email protected]:~$ echo "Hello world!" Hello world!

Kaip matote, mes naudojome komandą echo, kad atspausdintume eilutę „Hello world!“ iki terminalo.

Rašyti bash scenarijų

Taip pat galite visas savo „bash“ komandas įdėti į .sh failą ir paleisti jas iš komandinės eilutės. Tarkime, kad turite „bash“ scenarijų su tokiu turiniu:

#!/bin/bash echo "Hello world!"

Verta paminėti, kad pirmoji scenarijaus eilutė prasideda #!. Tai yra speciali direktyva, kurią „Unix“ traktuoja skirtingai.

Kodėl scenarijaus failo pradžioje naudojome #! / Bin / bash?

Taip yra todėl, kad įprasta interaktyviajam apvalkalui žinoti, kokį vertėją paleisti tolesnėje programoje. Pirmoji eilutė nurodo „Unix“, kad failą turi vykdyti / bin / bash. Tai yra standartinė Bourne apvalkalo vieta beveik visose „Unix“ sistemose. Pridėjus #! / Bin / bash kaip pirmąją scenarijaus eilutę, nurodoma OS iškviesti nurodytą apvalkalą, kad būtų įvykdytos scenarijuje nurodytos komandos. #!dažnai vadinamas „hash-bang“, „she-bang“ ar „sha-bang“. Nors jis vykdomas tik tuo atveju, jei scenarijų vykdote kaip vykdomąjį. Pvz., Kai ./scriptname.extensionvedate tekstą, jis pažvelgs į viršutinę eilutę, kad sužinotų vertėją, o vykdant scenarijų kaip bash scriptname.sh, pirmoji eilutė nepaisoma.

Tada galite paleisti scenarijų taip: Jei norite, kad failas būtų vykdomas, turėtumėte skambinti šia komanda sudo chmod + x "failo vardas".

[email protected]:~$ ./myBashScript.sh Hello world!

Scenarijuje yra tik dvi eilutės. Pirmasis nurodo, kokį vertėją naudoti failui paleisti (šiuo atveju „bash“). Antroji eilutė yra komanda, kurią norime naudoti, aidas, po kurios seka tai, ką norime atspausdinti, tai yra „Hello World“.

Kartais scenarijus nebus vykdomas, o aukščiau nurodyta komanda pateiks klaidą. Taip yra dėl faile nustatytų leidimų. Norėdami išvengti šio naudojimo:

[email protected]:~$ chmod u+x myBashScript.sh

Ir tada vykdykite scenarijų.

„Linux“ komandinė eilutė: „Bash Cat“

„Cat“ yra viena iš dažniausiai naudojamų komandų „Unix“ operacinėse sistemose.

„Cat“ naudojamas nuosekliai skaityti failą ir spausdinti jį naudojant standartinę išvestį. Pavadinimas kilęs iš jo naudojimo paskirtį CON kačių Šeimos nariui pagrindine linija failus.

Naudojimas

cat [options] [file_names]

Dažniausiai naudojamos parinktys:

  • -b, skaičiuokite ne tuščias išvesties eilutes
  • -n, sunumeruokite visas išvesties eilutes
  • -s, išspauskite kelias gretimas tuščias eilutes
  • -v, rodomi nespausdinami simboliai, išskyrus skirtukus ir eilutės pabaigos simbolius

Pavyzdys

Terminale išspausdinkite failo.txt turinį:

cat file.txt

Sujunkite dviejų failų turinį ir parodykite rezultatą terminale:

cat file1.txt file2.txt

„Linux“ komandinė eilutė: „Bash“ CD

Pavyzdžiui, pakeiskite katalogą į nurodytą keliącd projects.

Tam yra keli tikrai naudingi argumentai:

  • . nurodo dabartinį katalogą, pvz ./projects
  • ..gali būti naudojamas perkelti vieną aplanką aukštyn, naudoti cd ..ir gali būti sujungtas keliems lygiams aukštyn../../my_folder
  • /Ar jūsų sistemoje šaknis, kad pasiektų svarbiausius aplankus, pavyzdžiui system, usersir tt
  • ~yra namų katalogas, dažniausiai kelias /users/username. Perkelkite atgal į aplankus, nurodytus atsižvelgiant į šį kelią, įtraukdami jį, pavyzdžiui, į savo kelią ~/projects.

„Linux“ komandinė eilutė: „Bash“ galva

„Head“ naudojama atspausdinti pirmąsias dešimt eilučių (pagal numatytuosius nustatymus) arba bet kurią kitą failo ar failų nurodytą sumą. „Cat“ naudojamas nuosekliai skaityti failą ir spausdinti jį naudojant standartinę išvestį.

ty išspausdina visą failo turinį. - tai ne visada būtina, galbūt jūs tiesiog norite patikrinti failo turinį, kad įsitikintumėte, ar jis teisingas, arba patikrinti, ar jis tikrai nėra tuščias. „Head“ komanda leidžia peržiūrėti pirmąsias N failo eilutes.

if more than on file is called then the first ten lines of each file is displayed, unless specific number of lines are specified. Choosing to display the file header is optional using the option below

Usage

head [options] [file_name(s)]

Most used options:

  • -n N, prints out the first N lines of the file(s)
  • -q, doesn’t print out the file headers
  • -v, always prints out the file headers

Example

head file.txt

Prints in terminal the first ten lines of file.txt (default)

head -n 7 file.txt

Prints in terminal the first seven lines of file.txt

head -q -n 5 file1.txt file2.txt

Print in terminal the first 5 lines of file1.txt, followed by the first 5 lines of file2.txt

Linux Command Line: Bash ls

ls is a command on Unix-like operating systems to list contents of a directory, for example folder and file names.

Usage

cat [options] [file_names]

Most used options:

  • -a, all files and folders, including ones that are hidden and start with a .
  • -l, List in long format
  • -G, enable colorized output.

Example:

List files in freeCodeCamp/guide/

ls ⚬ master CODE_OF_CONDUCT.md bin package.json utils CONTRIBUTING.md gatsby-browser.js plugins yarn.lock LICENSE.md gatsby-config.js src README.md gatsby-node.js static assets gatsby-ssr.js translations

Linux Command Line: Bash man

„Man“, „ man ual“ santrumpa , yra „bash“ komanda, naudojama rodyti internetinius nurodytos komandos vadovus.

Vyras Rodo reletive vyras puslapis (trumpas žmogaus UAL puslapyje ) iš tikro komandą.

Naudojimas

man [options] [command]

Dažniausiai naudojamos parinktys:

  • -f, atspausdinkite trumpą nurodytos komandos aprašymą
  • -a, iš eilės rodomi visi turimi įvadiniai vadovo puslapiai, esantys vadove

Pavyzdys

Rodyti ls žmogaus puslapį:

man ls

„Linux“ komandinė eilutė: Bash mv

Perkelia failus ir aplankus.

mv source target mv source ... directory

Pirmasis argumentas yra failas, kurį norite perkelti, o antrasis - vieta, į kurią norite jį perkelti.

Dažniausiai naudojamos parinktys:

  • -f priversti juos perkelti ir perrašyti failus be patikrinimo su vartotoju.
  • -i norėdami paraginti patvirtinimą prieš perrašydami failus.

Tai viskas. Eik ir naudok „Linux“.