[záložka] Bash pre začiatočníkov: 21 užitočných príkazov

Materiál, ktorého preklad dnes zverejňujeme, je určený pre tých, ktorí chcú ovládať príkazový riadok Linuxu. Schopnosť efektívneho používania tohto nástroja môže ušetriť veľa času. Budeme tu hovoriť najmä o shelli Bash a 21 užitočných príkazoch. Povieme si tiež, ako používať príznaky príkazov a aliasy Bash na zrýchlenie písania dlhých inštrukcií.

[záložka] Bash pre začiatočníkov: 21 užitočných príkazov

V našom blogu si tiež prečítajte sériu publikácií o bash skriptoch

Podmienky

Keď sa naučíte pracovať s príkazovým riadkom Linuxu, stretnete sa s mnohými konceptmi, ktoré sú užitočné pri navigácii. Niektoré z nich, ako napríklad „Linux“ a „Unix“, alebo „shell“ a „terminál“, sú niekedy zmätené. Povedzme si o týchto a ďalších dôležitých pojmoch.

unix je populárny operačný systém, ktorý vyvinula spoločnosť Bell Labs v 1970. rokoch. Jej kód bol uzavretý.

Linux je najpopulárnejší operačný systém podobný Unixu. V súčasnosti sa používa na mnohých zariadeniach vrátane počítačov.

Terminál (terminál) alebo emulátor terminálu je program, ktorý umožňuje prístup k operačnému systému. Súčasne môžete mať otvorených viacero okien terminálu.

škrupina (shell) je program, ktorý umožňuje odosielať do operačného systému príkazy napísané v špeciálnom jazyku.

tresnúť znamená Bourne Again Shell. Je to najbežnejší jazyk shellu používaný na interakciu s operačným systémom. V systéme MacOS je predvolený aj shell Bash.

Rozhranie príkazového riadku (Command Line Interface, CLI) je metóda interakcie medzi osobou a počítačom, pomocou ktorej používateľ zadáva príkazy z klávesnice a počítač, ktorý tieto príkazy vykonáva, zobrazuje používateľovi správy v textovej forme. Hlavným využitím CLI je získavanie aktuálnych informácií o určitých entitách, ako sú súbory, a práca so súbormi. Rozhranie príkazového riadka by sa malo odlišovať od grafického používateľského rozhrania (GUI), ktoré primárne používa myš. Rozhranie príkazového riadku sa často nazýva jednoducho príkazový riadok.

Skript (script) je malý program, ktorý obsahuje sekvenciu príkazov shellu. Skripty sa zapisujú do súborov, dajú sa použiť opakovane. Pri písaní skriptov môžete použiť premenné, podmienky, cykly, funkcie a ďalšie funkcie.

Teraz, keď sme prebrali dôležité pojmy, chcem zdôrazniť, že výrazy „Bash“, „shell“ a „príkazový riadok“ tu budem používať zameniteľne, ako aj výrazy „adresár“ a „priečinok“.

standard potoky, ktorý tu použijeme, je štandardný vstup (štandardný vstup, stdin), štandardný výstup (štandardný výstup, stdout) a výstup štandardnej chyby (štandardná chyba, stderr).

Ak v príkladoch príkazov, ktoré budú uvedené nižšie, nájdete niečo ako my_whatever - to znamená, že tento fragment je potrebné nahradiť niečím vašim. Napríklad názov súboru.

Teraz, skôr ako pristúpime k analýze príkazov, ktorým je venovaný tento materiál, pozrime sa na ich zoznam a ich stručný popis.

21 Bash príkazy

▍Získavanie informácií

  • man: Zobrazí používateľskú príručku (pomocníka) pre príkaz.
  • pwd: zobrazuje informácie o pracovnom adresári.
  • ls: zobrazí obsah adresára.
  • ps: Umožňuje zobraziť informácie o spustených procesoch.

▍Manipulácia so systémom súborov

  • cd: zmena pracovného adresára.
  • touch: vytvoriť súbor.
  • mkdir: vytvoriť adresár.
  • cp: Skopírujte súbor.
  • mv: Presunutie alebo odstránenie súboru.
  • ln: vytvoriť odkaz.

▍ Presmerovanie I/O a potrubia

  • <: presmerovanie stdin.
  • >: presmerovanie stdout.
  • |: presmerovanie výstupu jedného príkazu na vstup iného príkazu.

▍ Čítanie súborov

  • head: prečítať začiatok súboru.
  • tail: čítanie konca súboru.
  • cat: Čítanie súboru a tlač jeho obsahu na obrazovku alebo spojenie súborov.

▍Vymazanie súborov, zastavenie procesov

  • rm: Odstránenie súboru.
  • kill: zastaviť proces.

▍Hľadať

  • grep: vyhľadávanie informácií.
  • ag: rozšírený príkaz na vyhľadávanie.

▍Archivácia

  • tar: vytváranie archívov a práca s nimi.

Povedzme si o týchto príkazoch podrobnejšie.

Podrobnosti o tíme

Na začiatok sa poďme zaoberať príkazmi, ktorých výsledky sú vydávané vo formulári stdout. Zvyčajne sa tieto výsledky zobrazia v okne terminálu.

▍Získavanie informácií

man command_name: zobrazenie sprievodcu príkazmi, t. j. informácie pomocníka.

pwd: zobrazí cestu k aktuálnemu pracovnému adresáru. V priebehu práce s príkazovým riadkom používateľ často potrebuje zistiť, kde presne sa v systéme nachádza.

ls: zobrazenie obsahu adresára. Tento príkaz sa tiež používa pomerne často.

ls -a: zobraziť skryté súbory. tu bola použitá vlajka -a príkazy ls. Použitie príznakov pomáha prispôsobiť správanie príkazov.

ls -l: Zobrazí podrobné informácie o súboroch.

Upozorňujeme, že príznaky je možné kombinovať. Napríklad - takto: ls -al.

ps: Zobrazenie spustených procesov.

ps -e: Zobrazenie informácií o všetkých spustených procesoch, nielen o tých, ktoré súvisia s aktuálnym používateľským prostredím. Tento príkaz sa často používa v tejto forme.

▍Manipulácia so systémom súborov

cd my_directory: zmeniť pracovný adresár na my_directory. Ak sa chcete presunúť o jednu úroveň vyššie v strome adresárov, použite my_directory relatívna cesta ../.

[záložka] Bash pre začiatočníkov: 21 užitočných príkazov
príkaz cd

touch my_file: vytvorenie súboru my_file po danej ceste.

mkdir my_directory: vytvorenie priečinka my_directory po danej ceste.

mv my_file target_directory: presunúť súbor my_file do priečinka target_directory. Pri zadávaní cieľového adresára musíte použiť absolútnu cestu k nemu (a nie konštrukciu ako ../).

tím mvmožno použiť aj na premenovanie súborov alebo priečinkov. Môže to vyzerať napríklad takto:

mv my_old_file_name.jpg my_new_file_name.jpg
cp my_source_file target_directory
: vytvorenie kópie súboru my_source_file a vložte ho do priečinka target_directory.

ln -s my_source_file my_target_file: vytvorte symbolický odkaz my_target_file na súbor my_source_file. Ak zmeníte odkaz, zmení sa aj pôvodný súbor.

Ak súbor my_source_file sa potom vymaže my_target_file zostane. Vlajka -s príkazy ln umožňuje vytvárať odkazy na adresáre.

Teraz si povedzme o presmerovaní I/O a pipeline.

▍ Presmerovanie I/O a potrubia

my_command < my_file: nahrádza štandardný popisovač vstupného súboru (stdin) na súbor my_file. To môže byť užitočné, ak príkaz čaká na nejaký vstup z klávesnice a tieto údaje sú už uložené v súbore.

my_command > my_file: presmeruje výsledky príkazu, t. j. to, čo by sa normálne dostalo do stdout a výstup na obrazovku do súboru my_file. Ak súbor my_file neexistuje – je vytvorený. Ak súbor existuje, je prepísaný.

Napríklad po vykonaní príkazu ls > my_folder_contents.txt vytvorí sa textový súbor so zoznamom toho, čo sa nachádza v aktuálnom pracovnom adresári.

Ak namiesto symbolu > použiť konštrukciu >>, potom za predpokladu, že súbor, do ktorého je výstup príkazu presmerovaný, existuje, tento súbor sa neprepíše. Údaje sa pridajú na koniec tohto súboru.

Teraz sa pozrime na spracovanie dátového potrubia.

[záložka] Bash pre začiatočníkov: 21 užitočných príkazov
Výstup jedného príkazu sa privádza na vstup iného príkazu. Je to ako spojenie jedného potrubia s druhým

first_command | second_command: symbol dopravníka, |, sa používa na odoslanie výstupu jedného príkazu inému príkazu. Na čo posiela príkaz na ľavej strane opísanej štruktúry stdout, Spadnúť do stdin príkaz napravo od symbolu potrubia.

V systéme Linux môžu byť údaje zreťazené pomocou takmer akéhokoľvek správne vytvoreného príkazu. Často sa hovorí, že všetko v Linuxe je potrubie.

Pomocou symbolu potrubia môžete reťaziť viacero príkazov. Vyzerá to takto:

first_command | second_command | third_command

[záložka] Bash pre začiatočníkov: 21 užitočných príkazov
Potrubie niekoľkých príkazov možno porovnať s potrubím

Všimnite si, že pri príkaze naľavo od symbolu |, výstupy niečo do stdout, čo jej výstupy sú okamžite k dispozícii ako stdin druhý tím. To znamená, že sa ukazuje, že pomocou potrubia sa zaoberáme paralelným vykonávaním príkazov. Niekedy to môže viesť k neočakávaným výsledkom. Podrobnosti o tom si môžete prečítať tu.

Teraz si povieme niečo o čítaní údajov zo súborov a ich zobrazovaní na obrazovke.

▍ Čítanie súborov

head my_file: prečíta riadky od začiatku súboru a vytlačí ich na obrazovku. Môžete si prečítať nielen obsah súborov, ale aj výstup príkazov stdinpomocou tohto príkazu ako súčasti potrubia.

tail my_file: číta riadky od konca súboru. Tento príkaz možno použiť aj v potrubí.

[záložka] Bash pre začiatočníkov: 21 užitočných príkazov
Hlava (hlava) je vpredu a chvost (chvost) je vzadu

Ak pracujete s údajmi pomocou knižnice pandas, potom príkazy head и tail by vám mal byť známy. Ak to tak nie je, pozrite sa na obrázok vyššie a ľahko si ich zapamätáte.

Zvážte iné spôsoby čítania súborov, poďme sa rozprávať o príkaze cat.

Tím cat buď vytlačí obsah súboru na obrazovku, alebo zreťazí viacero súborov. Závisí to od toho, koľko súborov je odovzdaných tomuto príkazu pri volaní.

[záložka] Bash pre začiatočníkov: 21 užitočných príkazov
mačací príkaz

cat my_one_file.txt: keď je tomuto príkazu odovzdaný jeden súbor, odošle ho do stdout.

Ak mu dáte dva alebo viac súborov, bude sa správať inak.

cat my_file1.txt my_file2.txt: po prijatí niekoľkých súborov ako vstupu tento príkaz zreťazí ich obsah a zobrazí, čo sa stalo stdout.

Ak je potrebné výsledok zreťazenia súborov uložiť ako nový súbor, môžete použiť operátor >:

cat my_file1.txt my_file2.txt > my_new_file.txt

Teraz si povedzme, ako odstrániť súbory a zastaviť procesy.

▍Vymazanie súborov, zastavenie procesov

rm my_file: vymazať súbor my_file.

rm -r my_folder: vymaže priečinok my_folder a všetky súbory a priečinky, ktoré obsahuje. Vlajka -r označuje, že príkaz sa spustí v rekurzívnom režime.

Ak chcete zabrániť tomu, aby systém požadoval potvrdenie pri každom odstránení súboru alebo priečinka, použite príznak -f.

kill 012345: Zastaví určený bežiaci proces a poskytne mu čas na elegantné vypnutie.

kill -9 012345: Nútene ukončí zadaný bežiaci proces. Zobraziť vlajku -s SIGKILL znamená to isté ako vlajka -9.

▍Hľadať

Na vyhľadávanie údajov môžete použiť rôzne príkazy. Najmä - grep, ag и ack. Oboznámenie sa s týmito príkazmi začneme s grep. Ide o rokmi overený spoľahlivý príkaz, ktorý je však pomalší ako ostatné a nie je tak pohodlný na používanie ako oni.

[záložka] Bash pre začiatočníkov: 21 užitočných príkazov
príkaz grep

grep my_regex my_file: vyhľadávanie my_regex в my_file. Ak sa nájde zhoda, vráti sa celý reťazec pre každú zhodu. Predvolené my_regex považovať za regulárny výraz.

grep -i my_regex my_file: Vyhľadávanie sa vykonáva bez ohľadu na veľkosť písmen.

grep -v my_regex my_file: vráti všetky riadky, ktoré neobsahujú my_regex. Vlajka -v znamená inverziu, podobá sa operátorovi NOT, ktorý sa nachádza v mnohých programovacích jazykoch.

grep -c my_regex my_file: Vráti informácie o počte zhôd pre hľadaný vzor nájdený v súbore.

grep -R my_regex my_folder: vykoná rekurzívne vyhľadávanie vo všetkých súboroch umiestnených v zadanom priečinku a v priečinkoch v ňom vnorených.

Teraz si povedzme o tíme ag. Prišla neskôr grep, je rýchlejší, pracuje sa s ním pohodlnejšie.

[záložka] Bash pre začiatočníkov: 21 užitočných príkazov
ag príkaz

ag my_regex my_file: vráti informácie o číslach riadkov a samotných riadkoch, v ktorých sa našli zhody my_regex.

ag -i my_regex my_file: Vyhľadávanie sa vykonáva bez ohľadu na veľkosť písmen.

Tím ag automaticky spracovať súbor .gitignore a vylúči z výstupu to, čo sa nachádza v priečinkoch alebo súboroch uvedených v tomto súbore. Je to veľmi pohodlné.

ag my_regex my_file -- skip-vcs-ignores: obsah súborov automatického riadenia verzií (napr .gitignore) sa pri vyhľadávaní nezohľadňuje.

Navyše, aby tým povedal ag na ktorých cestách k súborom chcete vylúčiť z vyhľadávania, môžete vytvoriť súbor .agignore.

Na začiatku tejto časti sme spomenuli príkaz ack. Tímy ack и ag veľmi podobné, môžeme povedať, že sú na 99% zameniteľné. Tým však ag funguje rýchlejšie, preto som to opísal.

Teraz si povieme niečo o práci s archívmi.

▍Archivácia

tar my_source_directory: zreťazí súbory z priečinka my_source_directory do jedného súboru tarball. Takéto súbory sú užitočné na prenos veľkých súborov súborov niekomu.

[záložka] Bash pre začiatočníkov: 21 užitočných príkazov
príkaz tar

Súbory tarball generované týmto príkazom sú súbory s príponou .tar (Archív pásky). To, že v názve príkazu a v prípone názvov súborov, ktoré vytvára, je ukryté slovo „páska“ (páska), naznačuje, ako dlho tento príkaz existuje.

tar -cf my_file.tar my_source_directory: vytvorí súbor tarball s názvom my_file.tar s obsahom priečinka my_source_directory. Vlajka -c znamená „vytvoriť“ (stvorenie) a vlajku -f ako "súbor" (súbor).

Ak chcete extrahovať súbory z .tar-súbor, použite príkaz tar s vlajkami -x ("extrakt", extrakcia) a -f ("súbor", súbor).

tar -xf my_file.tar: extrahuje súbory z my_file.tar do aktuálneho pracovného adresára.

Teraz si povedzme, ako komprimovať a dekomprimovať .tar-súbory.

tar -cfz my_file.tar.gz my_source_directory: tu pomocou vlajky -z ("zip", kompresný algoritmus) označuje, že tento algoritmus by sa mal použiť na kompresiu súborov gzip (GNUzip). Kompresia súborov šetrí miesto na disku pri ukladaní takýchto súborov. Ak sú súbory plánované napríklad na prenos iným používateľom, prispieva to k rýchlejšiemu sťahovaniu takýchto súborov.

Rozbaľte súbor .tar.gz môžete pridať vlajku -z na príkaz extrahovať obsah .tar-súbory, o ktorých sme hovorili vyššie. Vyzerá to takto:

tar -xfz my_file.tar.gz
Treba podotknúť, že tým tar Existuje mnoho ďalších užitočných vlajok.

Bash aliasy

Aliasy Bash (tiež nazývané aliasy alebo skratky) sú určené na vytváranie skrátených názvov príkazov alebo ich sekvencií, ktorých použitie namiesto bežných príkazov urýchľuje prácu. Ak máte alias bu, ktorý skrýva príkaz python setup.py sdist bdist_wheel, potom na zavolanie tohto príkazu stačí použiť tento alias.

Ak chcete vytvoriť takýto alias, stačí do súboru pridať nasledujúci príkaz ~/.bash_profile:

alias bu="python setup.py sdist bdist_wheel"

Ak váš systém nemá súbor ~/.bash_profile, potom si ho môžete vytvoriť sami pomocou príkazu touch. Po vytvorení aliasu reštartujte terminál, po ktorom môžete tento alias používať. V tomto prípade zadanie dvoch znakov nahradí zadanie viac ako troch desiatok znakov príkazu, ktorý je určený pre montáže balíky Python.

В ~/.bash_profile môžete pridať aliasy pre často používané príkazy.

▍Výsledky

V tomto príspevku sme pokryli 21 populárnych príkazov Bash a hovorili o vytváraní aliasov príkazov. Ak vás táto téma zaujíma - tu séria publikácií venovaných Bashovi. Tu Môžete nájsť pdf verziu týchto publikácií. Tiež, ak sa chcete naučiť Bash, nezabudnite, že ako pri akomkoľvek inom programovacom systéme, prax je kľúčová.

Vážení čitatelia! Aké príkazy užitočné pre začiatočníkov by ste pridali k tým, o ktorých sa hovorilo v tomto článku?

V našom blogu si tiež prečítajte sériu publikácií o bash skriptoch

[záložka] Bash pre začiatočníkov: 21 užitočných príkazov

Zdroj: hab.com

Pridať komentár