[v záložce] Bash pro začátečníky: 21 užitečných příkazů

Materiál, jehož překlad dnes zveřejňujeme, je určen pro ty, kteří chtějí ovládat příkazový řádek Linuxu. Schopnost efektivně používat tento nástroj může ušetřit spoustu času. Zejména zde budeme hovořit o shellu Bash a 21 užitečných příkazech. Řekneme si také, jak používat příznaky příkazů a aliasy Bash pro urychlení psaní dlouhých instrukcí.

[v záložce] Bash pro začátečníky: 21 užitečných příkazů

Přečtěte si také na našem blogu sérii publikací o bash skriptech

Podmínky

Když se naučíte pracovat s příkazovým řádkem Linuxu, setkáte se s mnoha koncepty, které jsou užitečné pro orientaci. Některé z nich, jako "Linux" a "Unix", nebo "shell" a "terminál", jsou někdy zmatené. Promluvme si o těchto a dalších důležitých pojmech.

Unix je populární operační systém, který vyvinula společnost Bell Labs v 1970. letech XNUMX. století. Její kód byl uzavřen.

Linux je nejpopulárnější operační systém podobný Unixu. Nyní se používá na mnoha zařízeních, včetně počítačů.

Terminál (terminál) nebo emulátor terminálu je program, který umožňuje přístup k operačnímu systému. Můžete mít otevřeno více oken terminálu současně.

Shell (shell) je program, který umožňuje posílat do operačního systému příkazy napsané ve speciálním jazyce.

Praštit znamená Bourne Again Shell. Je to nejběžnější jazyk shellu používaný k interakci s operačním systémem. Také prostředí Bash je výchozím nastavením v systému macOS.

Rozhraní příkazového řádku (Command Line Interface, CLI) je metoda interakce mezi osobou a počítačem, při které uživatel zadává příkazy z klávesnice a počítač, který tyto příkazy provádí, zobrazuje uživateli zprávy v textové podobě. CLI se používá hlavně k získání aktuálních informací o určitých entitách, například o souborech, ak práci se soubory. Rozhraní příkazového řádku je třeba odlišit od grafického uživatelského rozhraní (GUI), které primárně používá myš. Rozhraní příkazového řádku se často nazývá jednoduše příkazový řádek.

Skript (script) je malý program, který obsahuje sekvenci příkazů shellu. Skripty se zapisují do souborů, lze je používat opakovaně. Při psaní skriptů můžete používat proměnné, podmínky, smyčky, funkce a další funkce.

Nyní, když jsme probrali důležité pojmy, chci upozornit, že výrazy „Bash“, „shell“ a „příkazový řádek“ zde budu používat zaměnitelně, stejně jako výrazy „adresář“ a „složka“.

Standardní proudy, který zde použijeme, je standardní vstup (standardní vstup, stdin), standardní výstup (standardní výstup, stdout) a standardní chybový výstup (standardní chyba, stderr).

Pokud v příkladech příkazů, které budou uvedeny níže, najdete něco jako my_whatever - to znamená, že tento fragment je třeba nahradit něčím vaším. Například název souboru.

Nyní, než přistoupíme k analýze příkazů, kterým je tento materiál věnován, podívejme se na jejich seznam a jejich stručný popis.

21 Bash příkazy

▍Získávání informací

  • man: Zobrazí uživatelskou příručku (nápovědu) k příkazu.
  • pwd: zobrazí informace o pracovním adresáři.
  • ls: zobrazí obsah adresáře.
  • ps: Umožňuje zobrazit informace o běžících procesech.

▍Manipulace se systémem souborů

  • cd: změna pracovního adresáře.
  • touch: Vytvořte soubor.
  • mkdir: vytvořit adresář.
  • cp: Zkopírujte soubor.
  • mv: Přesunutí nebo odstranění souboru.
  • ln: vytvořit odkaz.

▍ Přesměrování I/O a potrubí

  • <: přesměrování stdin.
  • >: přesměrování stdout.
  • |: přesměrování výstupu jednoho příkazu na vstup jiného příkazu.

▍Čtení souborů

  • head: čtení začátku souboru.
  • tail: čtení konce souboru.
  • cat: Čtení souboru a tisk jeho obsahu na obrazovku nebo zřetězení souborů.

▍ Mazání souborů, zastavování procesů

  • rm: Smazání souboru.
  • kill: zastavit proces.

▍Hledat

  • grep: vyhledávání informací.
  • ag: rozšířený příkaz pro vyhledávání.

▍Archivace

  • tar: vytváření archivů a práce s nimi.

Promluvme si o těchto příkazech podrobněji.

Podrobnosti o týmu

Pro začátek se pojďme zabývat příkazy, jejichž výsledky jsou vydávány ve formuláři stdout. Obvykle se tyto výsledky zobrazí v okně terminálu.

▍Získávání informací

man command_name: zobrazení průvodce příkazy, tj. informace nápovědy.

pwd: zobrazí cestu k aktuálnímu pracovnímu adresáři. V průběhu práce s příkazovým řádkem uživatel často potřebuje zjistit, kde přesně se v systému nachází.

ls: zobrazení obsahu adresáře. Tento příkaz se také používá poměrně často.

ls -a: zobrazit skryté soubory. zde použita vlajka -a týmy ls. Použití příznaků pomáhá přizpůsobit chování příkazů.

ls -l: Zobrazí podrobné informace o souborech.

Všimněte si, že příznaky lze kombinovat. Například - takto: ls -al.

ps: Zobrazení běžících procesů.

ps -e: Zobrazí informace o všech běžících procesech, nejen o těch, které jsou spojeny s aktuálním uživatelským prostředím. Tento příkaz se často používá v této podobě.

▍Manipulace se systémem souborů

cd my_directory: změnit pracovní adresář na my_directory. Chcete-li se v adresářovém stromu posunout o jednu úroveň výše, použijte my_directory relativní cesta ../.

[v záložce] Bash pro začátečníky: 21 užitečných příkazů
příkaz cd

touch my_file: vytvoření souboru my_file po dané cestě.

mkdir my_directory: vytvoření složky my_directory po dané cestě.

mv my_file target_directory: přesunutí souboru my_file do složky target_directory. Při zadávání cílového adresáře musíte použít absolutní cestu k němu (a ne konstrukci jako ../).

Tým mvlze také použít k přejmenování souborů nebo složek. Může to vypadat například takto:

mv my_old_file_name.jpg my_new_file_name.jpg
cp my_source_file target_directory
: vytvoření kopie souboru my_source_file a vložte jej do složky target_directory.

ln -s my_source_file my_target_file: vytvořit symbolický odkaz my_target_file na soubor my_source_file. Pokud změníte odkaz, změní se i původní soubor.

Pokud soubor my_source_file bude poté smazáno my_target_file zůstane. Vlajka -s týmy ln umožňuje vytvářet odkazy na adresáře.

Nyní si povíme něco o přesměrování I/O a kanálech.

▍ Přesměrování I/O a potrubí

my_command < my_file: nahrazuje standardní popisovač vstupního souboru (stdin) na soubor my_file. To může být užitečné, pokud příkaz čeká na nějaký vstup z klávesnice a tato data jsou již uložena v souboru.

my_command > my_file: přesměruje výsledky příkazu, tedy to, co by normálně šlo stdout a výstup na obrazovku do souboru my_file. Pokud soubor my_file neexistuje - je vytvořen. Pokud soubor existuje, je přepsán.

Například po provedení příkazu ls > my_folder_contents.txt vytvoří se textový soubor obsahující seznam toho, co je v aktuálním pracovním adresáři.

Pokud místo symbolu > použít konstrukci >>, pak za předpokladu, že soubor, na který je výstup příkazu přesměrován, existuje, nebude tento soubor přepsán. Data budou přidána na konec tohoto souboru.

Nyní se podíváme na zpracování datového kanálu.

[v záložce] Bash pro začátečníky: 21 užitečných příkazů
Výstup jednoho příkazu je přiveden na vstup jiného příkazu. Je to jako spojování jedné trubky s druhou

first_command | second_command: symbol dopravníku, |, se používá k odeslání výstupu jednoho příkazu do jiného příkazu. Na co posílá příkaz na levé straně popsané struktury stdout, Spadají do stdin příkaz napravo od symbolu potrubí.

V Linuxu lze data zpracovat pomocí téměř jakéhokoli dobře vytvořeného příkazu. Často se říká, že všechno v Linuxu je potrubí.

Pomocí symbolu potrubí můžete zřetězit více příkazů. Vypadá to takto:

first_command | second_command | third_command

[v záložce] Bash pro začátečníky: 21 užitečných příkazů
Potrubí několika příkazů lze přirovnat k potrubí

Všimněte si, že když příkaz vlevo od symbolu |, výstupy něco k stdout, co její výstupy jsou okamžitě k dispozici jako stdin druhý tým. To znamená, že se ukazuje, že pomocí potrubí se zabýváme paralelním prováděním příkazů. Někdy to může vést k neočekávaným výsledkům. Podrobnosti o tom si můžete přečíst zde.

Nyní si povíme něco o čtení dat ze souborů a jejich zobrazení na obrazovce.

▍Čtení souborů

head my_file: čte řádky od začátku souboru a vytiskne je na obrazovku. Můžete si přečíst nejen obsah souborů, ale také to, co příkazy vypisují stdinpomocí tohoto příkazu jako součásti potrubí.

tail my_file: čte řádky od konce souboru. Tento příkaz lze také použít v potrubí.

[v záložce] Bash pro začátečníky: 21 užitečných příkazů
Hlava (hlava) je vpředu a ocas (ocas) je vzadu

Pokud pracujete s daty pomocí knihovny pandas, pak příkazy head и tail by vám měl být známý. Pokud tomu tak není, podívejte se na výše uvedený obrázek a snadno si je zapamatujete.

Zvažte další způsoby čtení souborů, pojďme mluvit o příkazu cat.

Tým cat buď vytiskne obsah souboru na obrazovku, nebo zřetězí více souborů. Záleží na tom, kolik souborů se tomuto příkazu při volání předá.

[v záložce] Bash pro začátečníky: 21 užitečných příkazů
kočičí příkaz

cat my_one_file.txt: když je tomuto příkazu předán jeden soubor, vydá jej stdout.

Pokud mu dáte dva soubory nebo více souborů, chová se jinak.

cat my_file1.txt my_file2.txt: po přijetí několika souborů jako vstupu tento příkaz zřetězí jejich obsah a zobrazí, co se stalo stdout.

Pokud je třeba výsledek zřetězení souborů uložit jako nový soubor, můžete použít operátor >:

cat my_file1.txt my_file2.txt > my_new_file.txt

Nyní si povíme, jak smazat soubory a zastavit procesy.

▍ Mazání souborů, zastavování procesů

rm my_file: smazat soubor my_file.

rm -r my_folder: smaže složku my_folder a všechny soubory a složky, které obsahuje. Vlajka -r označuje, že příkaz bude spuštěn v rekurzivním režimu.

Chcete-li zabránit tomu, aby systém požadoval potvrzení při každém odstranění souboru nebo složky, použijte příznak -f.

kill 012345: Zastaví zadaný běžící proces a poskytne mu čas na řádné ukončení.

kill -9 012345: Nuceně ukončí zadaný běžící proces. Zobrazit vlajku -s SIGKILL znamená totéž co vlajka -9.

▍Hledat

K vyhledávání dat můžete použít různé příkazy. Zejména - grep, ag и ack. Začněme naše seznámení s těmito příkazy grep. Jedná se o léty prověřený spolehlivý příkaz, který je však pomalejší než ostatní a jeho použití není tak pohodlné jako u nich.

[v záložce] Bash pro začátečníky: 21 užitečných příkazů
příkaz grep

grep my_regex my_file: vyhledávání my_regex в my_file. Pokud je nalezena shoda, je vrácen celý řetězec pro každou shodu. Výchozí my_regex považováno za regulární výraz.

grep -i my_regex my_file: Vyhledávání se provádí bez ohledu na velikost písmen.

grep -v my_regex my_file: vrátí všechny řádky, které neobsahují my_regex. Vlajka -v znamená inverzi, podobá se operátoru NOT, který se nachází v mnoha programovacích jazycích.

grep -c my_regex my_file: Vrátí informaci o počtu shod pro hledaný vzor nalezený v souboru.

grep -R my_regex my_folder: provede rekurzivní vyhledávání ve všech souborech umístěných v zadané složce a ve složkách v ní vnořených.

Nyní si povíme něco o týmu ag. Přišla později grep, je rychlejší, je s ním pohodlnější pracovat.

[v záložce] Bash pro začátečníky: 21 užitečných příkazů
příkaz ag

ag my_regex my_file: vrací informace o číslech řádků a samotných řádcích, ve kterých byly nalezeny shody my_regex.

ag -i my_regex my_file: Vyhledávání se provádí bez ohledu na velikost písmen.

Tým ag automaticky zpracovat soubor .gitignore a vyloučí z výstupu to, co se nachází ve složkách nebo souborech uvedených v tomto souboru. Je to velmi pohodlné.

ag my_regex my_file -- skip-vcs-ignores: obsah souborů automatické správy verzí (např .gitignore) se při vyhledávání nebere v úvahu.

Navíc s cílem říct týmu ag na kterých cestách souborů chcete vyloučit z vyhledávání, můžete vytvořit soubor .agignore.

Na začátku této části jsme zmínili příkaz ack. Týmy ack и ag velmi podobné, můžeme říci, že jsou z 99 % zaměnitelné. Nicméně tým ag funguje rychleji, proto jsem to popsal.

Nyní si povíme něco o práci s archivy.

▍Archivace

tar my_source_directory: zřetězí soubory ze složky my_source_directory do jednoho souboru tarball. Takové soubory jsou užitečné pro přenos velkých sad souborů někomu.

[v záložce] Bash pro začátečníky: 21 užitečných příkazů
příkaz tar

Soubory tarball generované tímto příkazem jsou soubory s příponou .tar (Archiv pásky). Skutečnost, že se v názvu příkazu a v příponách názvů souborů, které vytváří, skrývá slovo „páska“ (páska), naznačuje, jak dlouho tento příkaz existuje.

tar -cf my_file.tar my_source_directory: vytvoří soubor tarball s názvem my_file.tar s obsahem složky my_source_directory. Vlajka -c znamená „create“ (stvoření) a vlajka -f jako "soubor" (soubor).

Chcete-li extrahovat soubory z .tar-file, použijte příkaz tar s vlajkami -x ("extrakce", extrakce) a -f ("soubor", soubor).

tar -xf my_file.tar: extrahuje soubory z my_file.tar do aktuálního pracovního adresáře.

Nyní si povíme, jak komprimovat a dekomprimovat .tar-soubory.

tar -cfz my_file.tar.gz my_source_directory: zde pomocí vlajky -z ("zip", kompresní algoritmus) označuje, že by měl být algoritmus použit ke kompresi souborů gzip (GNUzip). Komprese souborů šetří místo na disku při ukládání takových souborů. Pokud se soubory plánují například přenést jiným uživatelům, přispívá to k rychlejšímu stahování takových souborů.

Rozbalte soubor .tar.gz můžete přidat vlajku -z na příkaz extrahovat obsah .tar-soubory, o kterých jsme hovořili výše. Vypadá to takto:

tar -xfz my_file.tar.gz
Nutno podotknout, že tým tar Existuje mnoho dalších užitečných příznaků.

Bash aliasy

Aliasy bash (také nazývané aliasy nebo zkratky) jsou určeny k vytváření zkrácených názvů příkazů nebo jejich sekvencí, jejichž použití místo běžných příkazů urychluje práci. Pokud máte alias bu, který skrývá příkaz python setup.py sdist bdist_wheel, pak pro volání tohoto příkazu stačí použít tento alias.

Chcete-li vytvořit takový alias, přidejte do souboru následující příkaz ~/.bash_profile:

alias bu="python setup.py sdist bdist_wheel"

Pokud váš systém nemá soubor ~/.bash_profile, pak si jej můžete vytvořit sami pomocí příkazu touch. Po vytvoření aliasu restartujte terminál, poté můžete tento alias používat. V tomto případě zadání dvou znaků nahradí zadání více než tří desítek znaků příkazu, který je určen pro sestavy Python balíčky.

В ~/.bash_profile můžete přidat aliasy pro často používané příkazy.

▍Výsledky

V tomto příspěvku jsme pokryli 21 populárních příkazů Bash a mluvili o vytváření aliasů příkazů. Pokud vás toto téma zajímá - zde série publikací věnovaných Bashovi. Zde Tyto publikace najdete ve formátu pdf. Také, pokud se chcete naučit Bash, nezapomeňte, že stejně jako u jakéhokoli jiného programovacího systému je praxe klíčová.

Vážení čtenáři! Jaké příkazy, které jsou užitečné pro začátečníky, byste přidali k těm, které byly popsány v tomto článku?

Přečtěte si také na našem blogu sérii publikací o bash skriptech

[v záložce] Bash pro začátečníky: 21 užitečných příkazů

Zdroj: www.habr.com

Přidat komentář