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.
→
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.
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 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ásstdin
.>
: átirányításstdout
.|
: 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 ../
.
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 mv
fá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
: egy fájl másolatának létrehozása
cp my_source_file target_directorymy_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.
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
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
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 stdin
haszná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ó.
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.
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.
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.
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.
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
В ~/.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 -
Kedves olvasók! Milyen kezdők számára hasznos parancsokat adna hozzá az ebben a cikkben tárgyalt parancsokhoz?
→
Forrás: will.com