[könyvjelzővel] Bash kezdőknek: 21 hasznos parancs

Az anyag, amelynek fordítását ma közöljük, azoknak szól, akik szeretnék elsajátítani a Linux parancssort. Az eszköz hatékony használatának képessége sok időt takaríthat meg. Itt különösen a Bash shellről és 21 hasznos parancsról fogunk beszélni. Szó lesz arról is, hogyan használhatjuk a parancsjelzőket és a Bash álneveket a hosszú utasítások begépelésének felgyorsítására.

[könyvjelzővel] Bash kezdőknek: 21 hasznos parancs

Olvassa el blogunkban a bash szkriptekről szóló kiadványsorozatot is

feltételek

Amint megtanulja a Linux parancssor használatát, számos olyan fogalommal fog találkozni, amelyek hasznosak a navigálásban. Némelyikük, például a "Linux" és a "Unix", vagy a "shell" és a "terminál", néha összekeverik. Beszéljünk ezekről és más fontos kifejezésekről.

Unix egy népszerű operációs rendszer, amelyet a Bell Labs fejlesztett ki az 1970-es években. A kódja le volt zárva.

Linux a legnépszerűbb Unix-szerű operációs rendszer. Ma már számos eszközön használják, beleértve a számítógépeket is.

Terminál (terminál), vagy terminál emulátor egy olyan program, amely hozzáférést biztosít az operációs rendszerhez. Egyszerre több terminálablak is nyitva lehet.

héj (shell) egy olyan program, amely lehetővé teszi, hogy speciális nyelven írt parancsokat küldjön az operációs rendszernek.

Bash a Bourne Again Shell rövidítése. Ez az operációs rendszerrel való interakcióhoz használt leggyakoribb shell-nyelv. Ezenkívül a Bash shell az alapértelmezett a macOS rendszeren.

Parancssori interfész (Command Line Interface, CLI) egy személy és egy számítógép közötti interakciós módszer, melynek segítségével a felhasználó a billentyűzetről parancsokat ad be, és a számítógép ezeket a parancsokat végrehajtva szöveges üzeneteket jelenít meg a felhasználó számára. A CLI fő célja, hogy naprakész információkat szerezzen bizonyos entitásokról, például fájlokról, és hogy a fájlokkal dolgozzon. A parancssori felületet meg kell különböztetni a grafikus felhasználói felülettől (GUI), amely elsősorban az egeret használja. A parancssori felületet gyakran egyszerűen parancssornak nevezik.

Forgatókönyv (script) egy kis program, amely shell-parancsok sorozatát tartalmazza. A szkriptek fájlba vannak írva, ismételten használhatók. Szkriptek írásakor használhat változókat, feltételes feltételeket, ciklusokat, függvényeket és egyéb szolgáltatásokat.

Most, hogy kitértünk a fontosabb kifejezésekre, szeretném felhívni a figyelmet arra, hogy a „Bash”, „shell” és „command line” kifejezéseket felváltva használom itt, valamint a „könyvtár” és „mappa” kifejezéseket.

standard patakok, amit itt fogunk használni, az a standard bemenet (standard bemenet, stdin), szabványos kimenet (standard kimenet, stdout) és standard hibakimenet (standard hiba, stderr).

Ha az alábbiakban megadott példaparancsokban valami hasonlót fog találni my_whatever - ez azt jelenti, hogy ezt a töredéket ki kell cserélni valamivel a tiéddel. Például egy fájl neve.

Most, mielőtt folytatnánk azoknak a parancsoknak az elemzését, amelyeknek ez az anyag készült, vessünk egy pillantást ezek listájára és rövid leírására.

21 Bash parancs

▍Információszerzés

  • man: Megjeleníti a parancs felhasználói útmutatóját (súgóját).
  • pwd: információkat jelenít meg a munkakönyvtárról.
  • ls: egy könyvtár tartalmát jeleníti meg.
  • ps: Lehetővé teszi a futó folyamatokkal kapcsolatos információk megtekintését.

▍Fájlrendszer-kezelés

  • cd: munkakönyvtár módosítása.
  • touch: hozzon létre egy fájlt.
  • mkdir: hozzon létre egy könyvtárat.
  • cp: Fájl másolása.
  • mv: Fájl áthelyezése vagy törlése.
  • ln: link létrehozása.

▍I/O átirányítás és csővezetékek

  • <: átirányítás stdin.
  • >: átirányítás stdout.
  • |: az egyik parancs kimenetét egy másik parancs bemenetére továbbította.

▍Fájlok olvasása

  • head: olvassa el a fájl elejét.
  • tail: olvassa be a fájl végét.
  • cat: Fájl olvasása és tartalmának kinyomtatása a képernyőre, vagy fájlok összefűzése.

▍Fájlok törlése, folyamatok leállítása

  • rm: Fájl törlése.
  • kill: állítsa le a folyamatot.

▍ Keresés

  • grep: információ keresése.
  • ag: fejlett parancs a kereséshez.

▍Archiválás

  • tar: archívumok létrehozása és velük való munka.

Beszéljünk ezekről a parancsokról részletesebben.

Csapat részletei

Kezdésként foglalkozzunk a parancsokkal, amelyek eredményei az űrlapon jelennek meg stdout. Általában ezek az eredmények egy terminál ablakban jelennek meg.

▍Információszerzés

man command_name: megjeleníti a parancs útmutatót, azaz a súgó információkat.

pwd: megjeleníti az aktuális munkakönyvtár elérési útját. A parancssoros munka során a felhasználónak gyakran meg kell találnia, hogy pontosan hol van a rendszerben.

ls: egy könyvtár tartalmának megjelenítése. Ezt a parancsot is elég gyakran használják.

ls -a: Mutasd a rejtett fájlokat. itt alkalmazott zászló -a parancsokat ls. A zászlók használata segít testreszabni a parancsok viselkedését.

ls -l: Részletes információk megjelenítése a fájlokról.

Vegye figyelembe, hogy a zászlók kombinálhatók. Például - így: ls -al.

ps: futó folyamatok megtekintése.

ps -e: Információ megjelenítése az összes futó folyamatról, nem csak azokról, amelyek az aktuális felhasználói shellhez vannak társítva. Ezt a parancsot gyakran használják ebben a formában.

▍Fájlrendszer-kezelés

cd my_directory: munkakönyvtár módosítása erre my_directory. Ha egy szinttel feljebb szeretne lépni a címtárfában, használja a my_directory relatív út ../.

[könyvjelzővel] Bash kezdőknek: 21 hasznos parancs
cd parancs

touch my_file: fájl létrehozása my_file a megadott út mentén.

mkdir my_directory: mappa létrehozása my_directory a megadott út mentén.

mv my_file target_directory: fájl áthelyezése my_file mappába target_directory. A célkönyvtár megadásakor az abszolút elérési utat kell használnia (és nem egy konstrukciót, mint pl ../).

csapat mvfájlok vagy mappák átnevezésére is használható. Például így nézhet ki:

mv my_old_file_name.jpg my_new_file_name.jpg
cp my_source_file target_directory
: egy fájl másolatának létrehozása my_source_file és tedd egy mappába target_directory.

ln -s my_source_file my_target_file: szimbolikus hivatkozás létrehozása my_target_file fájlonként my_source_file. Ha módosítja a hivatkozást, az eredeti fájl is megváltozik.

Ha a fájl my_source_file akkor törlésre kerül my_target_file marad. Zászló -s parancsokat ln lehetővé teszi hivatkozások létrehozását a könyvtárakhoz.

Most beszéljünk az I/O átirányításról és a csővezetékekről.

▍I/O átirányítás és csővezetékek

my_command < my_file: lecseréli a szabványos bemeneti fájl leírót (stdin) fájlonként my_file. Ez akkor lehet hasznos, ha a parancs valamilyen bevitelre vár a billentyűzetről, és ezek az adatok már el vannak mentve egy fájlba.

my_command > my_file: átirányítja a parancs eredményeit, vagyis azt, amibe általában belemenne stdout és kimenet a képernyőre, egy fájlba my_file. Ha a fájl my_file nem létezik – létrejön. Ha a fájl létezik, akkor felülírja.

Például a parancs végrehajtása után ls > my_folder_contents.txt létrejön egy szöveges fájl, amely tartalmazza az aktuális munkakönyvtár tartalmának listáját.

Ha a szimbólum helyett > használja a konstrukciót >>, akkor, ha létezik az a fájl, amelyre a parancs kimenete át van irányítva, ez a fájl nem kerül felülírásra. Az adatok a fájl végére kerülnek.

Most vessünk egy pillantást az adatfolyam-feldolgozásra.

[könyvjelzővel] Bash kezdőknek: 21 hasznos parancs
Az egyik parancs kimenete egy másik parancs bemenetébe kerül. Mintha az egyik csövet a másikhoz kötnénk

first_command | second_command: szállítószalag szimbólum, |, arra szolgál, hogy egy parancs kimenetét elküldje egy másik parancsnak. Amit a leírt szerkezet bal oldalán található parancs küld stdout, Beleesni stdin parancsot a csővezeték szimbólumtól jobbra.

Linuxon az adatok szinte bármilyen jól formázott paranccsal továbbíthatók. Gyakran mondják, hogy a Linuxban minden egy folyamat.

Több parancsot is láncolhat a folyamatjellel. Ez így néz ki:

first_command | second_command | third_command

[könyvjelzővel] Bash kezdőknek: 21 hasznos parancs
A több parancsból álló folyamat egy folyamathoz hasonlítható

Vegye figyelembe, hogy amikor a parancs bal oldalán a szimbólum |, kiad valamit stdout, amit kiad, azonnal elérhető stdin második csapat. Vagyis kiderül, hogy a folyamatot használva a parancsok párhuzamos végrehajtásával van dolgunk. Néha ez nem várt eredményekhez vezethet. Részletek erről olvashatók itt.

Most beszéljünk a fájlok adatainak beolvasásáról és a képernyőn való megjelenítéséről.

▍Fájlok olvasása

head my_file: beolvassa a sorokat a fájl elejétől, és kinyomtatja a képernyőre. Nemcsak a fájlok tartalmát olvashatja el, hanem azt is, hogy a parancsok mit adnak ki stdinhasználja ezt a parancsot a folyamat részeként.

tail my_file: beolvassa a sorokat a fájl végétől. Ez a parancs egy folyamatban is használható.

[könyvjelzővel] Bash kezdőknek: 21 hasznos parancs
A fej (fej) elöl van, és a farok (farok) mögött

Ha adatokkal dolgozik a pandas könyvtár használatával, akkor a parancsokat head и tail ismerősnek kell lennie számodra. Ha ez nem így van, vessen egy pillantást a fenti ábrára, és könnyen emlékezni fog rájuk.

Fontolja meg a fájlok olvasásának más módjait, beszéljünk a parancsról cat.

Csapat cat vagy kinyomtatja egy fájl tartalmát a képernyőre, vagy összefűzi több fájlt. Ez attól függ, hogy hány fájlt adnak át ennek a parancsnak a meghívásakor.

[könyvjelzővel] Bash kezdőknek: 21 hasznos parancs
macska parancs

cat my_one_file.txt: ha egyetlen fájlt adunk át ennek a parancsnak, akkor azt a következőre adja ki stdout.

Ha két vagy több fájlt ad meg, akkor másképp fog viselkedni.

cat my_file1.txt my_file2.txt: miután több fájlt kapott bemenetként, ez a parancs összefűzi azok tartalmát, és megjeleníti, hogy mi történt stdout.

Ha a fájlösszefűzés eredményét új fájlként kell menteni, használhatja az operátort >:

cat my_file1.txt my_file2.txt > my_new_file.txt

Most beszéljünk a fájlok törléséről és a folyamatok leállításáról.

▍Fájlok törlése, folyamatok leállítása

rm my_file: fájl törlése my_file.

rm -r my_folder: töröl egy mappát my_folder és a benne lévő összes fájlt és mappát. Zászló -r azt jelzi, hogy a parancs rekurzív módban fog futni.

Ha meg szeretné akadályozni, hogy a rendszer minden egyes fájl vagy mappa törlésekor megerősítést kérjen, használja a jelzőt -f.

kill 012345: Leállítja a megadott futási folyamatot, időt adva a kecsesen leállásra.

kill -9 012345: Kényszeresen leállítja a megadott futó folyamatot. Zászló megtekintése -s SIGKILL ugyanazt jelenti, mint a zászló -9.

▍ Keresés

Az adatok kereséséhez különböző parancsokat használhat. Különösen - grep, ag и ack. Kezdjük az ismerkedést ezekkel a parancsokkal grep. Ez egy jól bevált, megbízható parancs, amely azonban lassabb, mint a többi, és nem olyan kényelmes a használata, mint azok.

[könyvjelzővel] Bash kezdőknek: 21 hasznos parancs
grep parancsot

grep my_regex my_file: keres my_regex в my_file. Ha talál egyezést, akkor a teljes karakterláncot visszaküldi minden egyes egyezéshez. Alapértelmezett my_regex reguláris kifejezésként kezeljük.

grep -i my_regex my_file: A keresés a kis- és nagybetűket figyelmen kívül hagyva történik.

grep -v my_regex my_file: visszaadja az összes olyan sort, amely nem tartalmazza my_regex. Zászló -v inverziót jelent, az operátorhoz hasonlít NOT, számos programozási nyelvben megtalálható.

grep -c my_regex my_file: Információt ad vissza a fájlban talált keresett minta egyezéseinek számáról.

grep -R my_regex my_folder: rekurzív keresést végez a megadott mappában található összes fájlban és a benne beágyazott mappákban.

Most beszéljünk a csapatról ag. Később jött grep, gyorsabb, kényelmesebb vele dolgozni.

[könyvjelzővel] Bash kezdőknek: 21 hasznos parancs
ag parancsot

ag my_regex my_file: információkat ad vissza a sorszámokról és magukról a sorokról, amelyekben egyezést találtak my_regex.

ag -i my_regex my_file: A keresés a kis- és nagybetűket figyelmen kívül hagyva történik.

Csapat ag automatikusan feldolgozza a fájlt .gitignore és kizárja a kimenetből azt, ami az adott fájlban felsorolt ​​mappákban vagy fájlokban található. Nagyon kényelmes.

ag my_regex my_file -- skip-vcs-ignores: automatikus verzióvezérlő fájlok tartalma (pl .gitignore) nem veszik figyelembe a keresés során.

Ezen kívül annak érdekében, hogy elmondja a csapatnak ag mely fájl elérési utakon kívánja kizárni a keresést, létrehozhat egy fájlt .agignore.

A szakasz elején említettük a parancsot ack. Csapatok ack и ag nagyon hasonlóak, elmondhatjuk, hogy 99%-ban felcserélhetők. Azonban a csapat ag gyorsabban működik, ezért írtam le.

Most beszéljünk az archívumokkal való munkáról.

▍Archiválás

tar my_source_directory: összefűzi a fájlokat egy mappából my_source_directory egyetlen tarball fájlba. Az ilyen fájlok nagy fájlkészletek átviteléhez hasznosak.

[könyvjelzővel] Bash kezdőknek: 21 hasznos parancs
tar parancs

Az ezzel a paranccsal generált tarball fájlok a kiterjesztésű fájlok .tar (Kazettás archívum). Az a tény, hogy a "szalag" (szalag) szó el van rejtve a parancs nevében és az általa létrehozott fájlok nevének kiterjesztésében, jelzi, hogy ez a parancs mennyi ideig létezik.

tar -cf my_file.tar my_source_directory: létrehoz egy tarball fájlt my_file.tar mappa tartalmával my_source_directory. Zászló -c jelentése "create" (teremtés), és a zászló -f mint "fájl" (fájl).

Fájlok kicsomagolásához .tar-fájl, használja a parancsot tar zászlókkal -x ("kivonat", extrakció) és -f ("fájl", fájl).

tar -xf my_file.tar: kibontja a fájlokat innen my_file.tar az aktuális munkakönyvtárba.

Most beszéljünk a tömörítésről és a kibontásról .tar- fájlok.

tar -cfz my_file.tar.gz my_source_directory: itt a zászló használatával -z ("zip", tömörítési algoritmus) azt jelzi, hogy az algoritmust kell használni a fájlok tömörítésére gzip (GNUzip). A fájltömörítés lemezterületet takarít meg az ilyen fájlok tárolásakor. Ha például a fájlok átvitelét tervezik más felhasználóknak, ez hozzájárul az ilyen fájlok gyorsabb letöltéséhez.

Csomagolja ki a fájlt .tar.gz zászlót adhat hozzá -z a tartalom kibontása parancshoz .tar-fájlok, amelyeket fentebb tárgyaltunk. Ez így néz ki:

tar -xfz my_file.tar.gz
Meg kell jegyezni, hogy a csapat tar Van még sok hasznos zászló.

Bash álnevek

A Bash álnevek (más néven álnevek vagy rövidítések) arra szolgálnak, hogy parancsok vagy azok sorozatai rövidített neveit hozzanak létre, amelyek használata a szokásos parancsok helyett felgyorsítja a munkát. Ha van álneved bu, amely elrejti a parancsot python setup.py sdist bdist_wheel, akkor a parancs meghívásához elegendő ezt az álnevet használni.

Ilyen álnév létrehozásához csak adja hozzá a következő parancsot a fájlhoz ~/.bash_profile:

alias bu="python setup.py sdist bdist_wheel"

Ha a rendszer nem rendelkezik a fájllal ~/.bash_profile, akkor saját maga is létrehozhatja a paranccsal touch. Az álnév létrehozása után indítsa újra a terminált, ezután már használhatja ezt az aliast. Ebben az esetben a két karakter bevitele helyettesíti a parancs több mint három tucat karakterének bevitelét, amely a szerelvények Python csomagok.

В ~/.bash_profile felvehet álneveket a gyakran használt parancsokhoz.

▍ Eredmények

Ebben a bejegyzésben 21 népszerű Bash-parancsot ismertetünk, és beszéltünk a parancsálnevek létrehozásáról. Ha érdekel ez a téma - itt a Bashnak szentelt kiadványsorozat. Itt Ezeknek a kiadványoknak pdf-változata megtalálható. Továbbá, ha meg akarja tanulni a Bash-t, ne feledje, hogy mint minden más programozási rendszernél, a gyakorlat kulcsfontosságú.

Kedves olvasók! Milyen kezdők számára hasznos parancsokat adna hozzá az ebben a cikkben tárgyalt parancsokhoz?

Olvassa el blogunkban a bash szkriptekről szóló kiadványsorozatot is

[könyvjelzővel] Bash kezdőknek: 21 hasznos parancs

Forrás: will.com

Hozzászólás