Néhány alapvető hasznos parancs
Már megadtuk a shell-parancsfájlok alapvető részletezését és a ciklusok példaszerű körvonalát, de mindenképpen nézzük meg azokat a cikkeket, ha eddig nem találtuk meg a shell-parancsfájlokat.
A parancssor sok okból csodálatos, és az átirányítás az egyik legjelentősebb. Ha meg kellett volna jegyezned és reprodukálnod kell minden parancs kimenetét, hogy további lépéseket tegyünk, vagy használjunk valami mást, akkor régen mindannyian őrültünk. Az átirányítás segítségével ezt a kimenetet használhatjuk és menthetjük el, vagy azonnal felhasználhatjuk más parancs bemeneteként. A fájlokat más parancsok bemeneteként is használhatjuk.
Mielőtt folytatnánk, fedezzünk néhány alapvető parancsot, amely sok helyen használható.
visszhang - Ez a parancs egyszerűen kinyomtatja (megjeleníti) az argumentum teljes tartalmát a parancssorban kimenetként
echo argument with spaces
macska - Ez a parancs megjeleníti a szöveges fájlok tartalmát kimenetként.
cat file_to_be_read
Tegyük fel, hogy létrehozzuk ezt a szöveges fájlt a nano-ban:
Amikor a cat parancsot használjuk a fájlra, láthatjuk a kimenetét.
grep pattern file
Kimenetek átirányítása
Egy parancs kimenetének átirányításához egy fájlba speciális karaktert használunk, a nagyobb szimbólumot (>).
Nézzük fel a listát, ugye? Adja meg a következő parancsot:
echo pepperoni > list
Vegye figyelembe, hogy a "lista" előző tartalmát eltávolították. Próbáld újra:
echo yellow peppers >> list
Vegyük a parancs kimenetét, és fájlba helyezzük:
ls –al / > ~/rootlist
Csővezeték, vagy láncolás
A csővezetéket úgy nevezik el, hogy használja a csövet (| | osztva a billentyűvel a legtöbb billentyűzeten). Lényegében egy parancs kimenetét veszi, és közvetlenül továbbítja a másiknak. Létrehozhat parancsok hosszú láncolatát, hogy ilyen módon kiválassza a kívánt specifikált kimenetet, és nagyon kényelmes a parancsokhoz hasonlóan.
Amint látja, a grep kis-és nagybetűkre érzékeny. Használhatja a "-i" jelzőt, hogy figyelmen kívül hagyja az esetet.
Bemenetek átirányítása
A parancsfájlokból származó bemeneteket is használhatja a kevésbé szimbólummal (<).
cat < list
Tegyük fel, hogy minden olyan szót szűrni akarunk, amellyel a "listánk" fájljából "pep" van benne egy új, "javítások" nevű fájlba.
grep pep < list > revisions
grep pep < list | sort > revisions
Ez a "pep" kifejezést a "list" bemeneti fájlt kereső kifejezésként fogja használni, abc sorrendben rendezi (minden nagybetűs kifejezéseket, amelyeket kisbetűs kifejezések követnek), majd kiadja a "revision" fájlba.
A rendezési parancs ábrázolásához nézzük a következő példát:
Egy egyszerű szkript
Létre kell hoznunk egy parancsfájlt, amelynek a következő formája van:
script searchterm listfile
Ez a fogalmat veszi igénybe, és a grep-ot keresheti egy listafájl segítségével, rendezi az eredményeket, majd kiadja őket egy másik fájlba.
Ami a válogatást illeti, többet tehetsz, mint egyszerűen alfabetikus sorrendben. Vessen egy pillantást a man oldalra az alábbi parancsok közül:
- tsort - fejlettebb topológiai rendezési funkció
- tr - lehetővé teszi a karakterek más karakterekhez való hozzárendelését és átírását.
- uniq - eltávolítja a nem egyedi (olvasható: duplikált)
- awk - egy igazán fejlett szövegfeldolgozó nyelv / függvény, amelyet a fájlnevek mezőinek elkülönítésére használhatunk
- vágás, beillesztés / csatlakozás - parancsok, amelyek a mezők elkülönítésére szolgálnak a szövegfájlokból és új adatokat oszlopokká
- look - olyan keresések, mint a grep does, de használ egy szótárat (amely felhasználó-specifikus) a kereséshez
- wc - lehetővé teszi számok számát, vonalszámlálót, karakter számlálást stb
Vettünk egy pillantást néhány alapra ma, amely hasznos lehet a parancssorban, mint a szkriptekben. A szövegalapú adatok gyakran a mindennapi dolgok középpontjában állnak, így képesek vagyunk vele együttműködni, keresni és manipulálni.
Mik azok a kedvenc szkriptek? Van olyan speciálisan használható szkript a szövegalapú fájlokhoz? Ossza meg, amit tud a megjegyzésekben!