Vorige week zijn we begonnen met onze Linux Hands-On-serie om een gestructureerde serie te maken die de lezer informeert en onderricht over wat Linux is, hoe het werkt, en er tegelijkertijd voor zorgt dat ze hun handen vuil maken door terminalcommando's uit te proberen.
Zoals vermeld in het eerste deel van de serie, zal de hele serie elke week een logisch vervolg zijn. Dat betekent dat dit deel alleen zin heeft als je ofwel het eerste deel hebt doorlopen en alle commando's hebt geprobeerd of als je de basiskennis over Linux en je kunt er je weg in vinden. Als u niet bekend bent met deze concepten, zorg er dan voor dat u: lees het eerste deel, en dan kun je er meteen in springen.
In het bericht van deze week bouwen we voort op wat we in het vorige bericht hebben behandeld en vertellen we je hoe je wat meer gecompliceerde dingen kunt doen. Als je vragen hebt gehad, zoals het bewerken van bestanden in Linux? Hoe een proces in Linux enz. te bekijken, dit bericht zal deze beantwoorden. Dus zonder nog meer tijd te verspillen, laten we meteen naar de commando's gaan.
We verdelen de commando's in secties, zodat het logisch is om ze een voor een door te nemen.
Wat ga je leren?
- Bestandsbehandeling
- Patroonaanpassing
- Proces: bekijken en doden
- Tekstbestanden bewerken
Oké, dus nu we een basisstructuur hebben, laten we ze een voor een doornemen.
In het vorige bericht heb je geleerd hoe je bestanden in Linux kunt maken en hoe je ze kunt verwijderen. Laten we daarop voortbouwen en eerst kijken hoe we de inhoud van een bestand kunnen bekijken.
kat commando
Om de inhoud van een bestand te bekijken, gebruiken we het cat-commando. De tekstboekdefinitie van deze opdracht is dat - cat-opdracht achtereenvolgens een bestand leest en de uitvoer afdrukt naar de standaarduitvoer. In eenvoudige bewoordingen betekent dit dat het bestand de inhoud van een bestand regel voor regel afdrukt.
Laten we een voorbeeld gebruiken om te zien hoe het kat-commando werkt, zullen we?
Hier is de syntaxis:
kat BESTANDSNAAM
Vervang de BESTANDSNAAM met een van jezelf. Zoals je hieronder kunt zien, heeft het commando zojuist de inhoud van de bestanden ghost.txt afgedrukt in een regel voor regel formaat:

Nu we weten hoe we de inhoud van een bestand moeten bekijken, gaan we leren hoe we inhoud aan een bestand kunnen toevoegen, rechtstreeks vanaf de terminal, zonder enige editor te gebruiken (maak je geen zorgen, dat komt heel snel).
Omleidingsoperators in Linux
Een van de manieren waarop u kunt toevoegen (overschrijven of toevoegen) inhoud naar een bestand is met behulp van een van de omleidingsoperators. In eenvoudige bewoordingen stellen de omleidingsoperators gebruikers in staat om de invoer en uitvoer van een opdracht te regelen.
Van dat blies langs je hoofd, hier is een meer herkenbaar voorbeeld. Weet je nog wat het echo-commando deed? Het printte een string naar de terminal. De string was de uitvoer van het echo-commando. Door een van de omleidingsoperatoren te gebruiken, kunt u die uitvoer daadwerkelijk gebruiken en naar een bestand schrijven.
Genoeg gepraat, laten we eens kijken hoe de omleidingsoperator werkt met een voorbeeld.
Dit is de syntaxis voor de omleidingsoperator:
opdracht redirection_operator bestand
Hier is de opdracht de terminalopdracht die een tekenreeks uitvoert en het bestand is het eigenlijke bestand dat die uitvoer accepteert. Er zijn verschillende omleidingsoperatoren beschikbaar, maar laten we ons beperken tot het schrijven naar bestanden.
Om dit te doen kunnen we een van de twee omleidingsoperatoren gebruiken, namelijk: > en >>
In de volgende schermafbeelding kunt u zien hoe het werkt. Ik heb in de terminal laten zien dat het bestand aanvankelijk leeg is met het commando cat, daarna heb ik inhoud aan het bestand toegevoegd met het commando echo en uiteindelijk heb ik de inhoud afgedrukt met het commando cat.
Het > operator werkt in de overschrijfmodus. Dit betekent dat als u de > operator om inhoud naar een bestand te schrijven, de vorige inhoud wordt overschreven. Dit wordt weergegeven in de onderstaande schermafbeelding. Zoals u kunt zien, is de vorige inhoud vervangen door de nieuwe.

Nu is de voor de hand liggende vraag wat als u de bestaande inhoud niet wilt vervangen? Welnu, er is een versie van de omleidingsoperator die precies dat doet.
Om aan een bestand toe te voegen, in plaats van de > gebruiken we >>
Hier is de syntaxis:
commando >> bestandsnaam
En u kunt een voorbeeldgebruik zien in de onderstaande schermafbeelding, waaraan de inhoud is toegevoegd. Best netjes toch? Akkoord, het biedt niet dezelfde flexibiliteit als een teksteditor, maar voor kleinere gebruikssituaties doet het de klus redelijk goed.

Oke lekker verder!
Nu we weten hoe we inhoud aan een bestand moeten toevoegen en bekijken, hoe zit het dan met het leren zoeken naar bestanden in het bestandssysteem?
zoek commando
Om bestanden binnen uw bestandssysteem te zoeken, gebruiken we de opdracht find. Het commando doet in wezen wat het beweert te doen. Het vindt een bepaalde bestandsnaam of een regex-patroon.
De basissyntaxis voor hetzelfde zou als volgt zijn:
zoek pad -naam expressie
Vervang zoals altijd de tijdelijke aanduidingen door uw eigen waarden.
Het pad vertelt het find-commando naar welke map het gegeven bestand moet worden doorzocht. De naam optie specificeert een patroon waarmee de zoekopdracht moet worden vergeleken.
Laten we eens kijken hoe de opdracht find werkt in een voorbeeldgebruik.

Zoals hieronder te zien is in de voorbeelduitvoer, zoekt de opdracht naar any .exe bestanden in mijn bestandssysteem en voert het uit naar de console. Nu we enkele van de meer complexe manipulatiecommando's onder onze riem hebben, gaan we een stap verder.
We gaan nu bekijken hoe we dingen in een bestand kunnen zoeken.
grep Commando
grep staat voor Algemene reguliere expressie en hoewel we dat in een toekomstige post zullen behandelen, is de basisverklaring voor wat het betekent, dat het slechts een sjabloon is dat grep gebruikt om de strings te controleren om een overeenkomst te vinden. Maak je geen zorgen als het niet veel zin heeft. We zullen het uitgebreid behandelen in deel 3.
Oké, laten we grep eens testen. Dit is de syntaxis van onze test:
grep -i "string to match" bestandsnaam.extensie
Het - i optie zal grep vertellen om hoofdletters te negeren, zodat "HO" "ho" en "hO" als hetzelfde worden beschouwd. De tekenreeks waarmee moet worden vergeleken, wordt gespecificeerd onder aanhalingstekens die vervolgens worden gevolgd door de bestandsnaam.

Oké, laten we eens kijken hoe het grep-commando in een demo is. Zoals hierboven te zien is, toont mijn voorbeeld het gebruik van grep in zowel hoofdlettergevoelige modi als in niet-hoofdlettergevoelige modus.
Het is op dit punt de moeite waard om op te merken dat er n verschillende combinaties zijn voor een commando en verschillende opties die daarbij horen. Wat ik hier doe, is je een algemene, afgeronde use-case geven die voor de meeste eenvoudige gevallen zal werken, maar als je all-in wilt gaan, kun je zeker een man op bevel doen om alle beschikbare opties voor gebruik met de opdracht.
Laten we vervolgens eens kijken hoe we 2 verschillende bestanden regel voor regel kunnen vergelijken.
diff Commando
Om te zien hoe 2 bestanden van elkaar verschillen (snap je?) gebruiken we het diff commando. Het is beter om het in actie te zien om te begrijpen hoe het echt werkt, dus laten we meteen beginnen.
Hier is de syntaxis voor de opdracht diff:
diff bestand1 bestand2
En hier is een voorbeeld van het gebruik van de diff Linux-opdracht:

Op het eerste gezicht is het misschien niet helemaal logisch, dus laten we de output opsplitsen.
De eerste regel van de diff-uitvoer bevat:
- regelnummers die overeenkomen met het eerste bestand
- een letter (a voor toevoegen, c voor wijzigen of d voor verwijderen)
- regelnummers die overeenkomen met het tweede bestand.
In onze output hierboven, “1,3c1” middelen: "Regels 1 tot en met 3 in het eerste bestand moeten worden gewijzigd om overeen te komen met regel 1 in het tweede bestand." Het vertelt ons dan wat die regels in elk bestand zijn:
- Regels voorafgegaan door een < zijn regels uit het eerste bestand
- Regels voorafgegaan door > zijn regels uit het tweede bestand.
Verderop gaan we kijken hoe we meer te weten kunnen komen over herhaalde regels in een bepaald bestand.
uniq Commando
Het uniq-commando wordt gebruikt om de herhaalde regels te achterhalen, samen met hun aantal en andere soortgelijke details. Als je het bemant, staat er dat het wordt gebruikt om herhaalde regels in een bestand uit te filteren of te rapporteren. Zoals met bijna alle commando's, heeft het uniq-commando ook een heleboel opties om mee te gaan.
Maar kortheidshalve en om ervoor te zorgen dat u een groter aantal commando's leert in plaats van te veel te leren over een enkel commando, zullen we slechts een minimaal voorbeeld geven, en u kunt er meer in graven met het man-commando.
Oké, hier is de syntaxis voor de uniq-opdracht:
uniq -opties bestandsnaam
Laten we nu een voorbeeld bekijken om te leren hoe het uniq-commando in Linux werkt.

Laten we het monster heel snel opsplitsen. De -c optie vertelt het uniq-commando om a . af te drukken tellen samen met de uitvoer en de volgende optie is de bestandsnaam die aan uniq wordt geleverd.
Zoals je in het bovenstaande voorbeeld kunt zien, drukte het de telling van de herhaalde regels af, wat in ons geval 2 was.
Dat zou het moeten doen voor alle commando's die je moet kennen om ervoor te zorgen dat je in staat bent om bestanden te omzeilen, maar er is een heel belangrijk onderdeel dat we tot nu toe niet hebben behandeld en het betreft toegangsrechten.
U ziet in de echte wereld dat u niet wilt dat al uw bestanden een algemene lees-/schrijftoegang hebben, wat betekent dat iedereen gewoon kan lopen en een bestand kan bewerken. Bepaalde bestanden moeten worden beschermd tegen manipulatie. Dat is waar toegangscontrole van pas komt, en Linux en Unix beheren het beide verrassend goed met dit volgende commando.
chmod-opdracht
Het chmod-commando staat voor de wijzigingsmodus en stelt u in feite in staat om de manier te wijzigen waarop een bestand kan worden geopend en door wie het kan worden geopend.
De syntaxis voor chmod is vrij eenvoudig en ziet er als volgt uit:
chmod -options permissies bestandsnaam
Hoewel opties en bestandsnaam niet hoeven te worden uitgewerkt, is de: permissies deel heeft wel wat uitleg nodig.
Bestandsrechten in Linux draaien om 3 scopes, gebruiker, groep, en anderen. Machtigingen zijn op hun beurt van 3 soorten lezen, schrijven, en uitvoeren. Dit betekent dat elk bereik 3 machtigingen heeft, waardoor er in totaal 3 sets bereiken zijn met elk 3 machtigingen.
Met dat in gedachten is hier een voorbeeldgebruik om u te laten zien hoe chmod werkt:
chmod u=rwx, g=rx, o=r bestandsnaam.txt
Here u staat voor gebruiker, g For groep en o For anderen. En de = teken wordt gebruikt om de toestemming toe te wijzen lezen (r), schrijven (w), en uitvoeren (x) aan elk bereik. De komma scheidt elke opdracht.

Er is een afkorting voor het toewijzen van de machtigingen en het gebruikt de octale notatie. In de octale notatie:
- 4 staat voor lezen
- 2 staat voor schrijven
- 1 staat voor uitvoeren
- 0 staat voor geen toestemming
Dus volgens de bovenstaande notatie is het nummer 7 zal lees-schrijf- en uitvoerrechten verlenen (4 + 2 + 1). Je kunt het dienovereenkomstig mixen en matchen en hier is een voorbeeld van een use-case met behulp van de octale notatie:
chmod 755 starwars.txt

In dit voorbeeld heeft het bestand starwars:
- lees-, schrijf- en uitvoerrechten voor de gebruiker.
- lezen en uitvoeren voor de groep.
- anderen uitvoeren.
Akkoord! we naderen het einde van het gedeelte over het verwerken van bestanden van de post. Met deze laatste opdracht kunt u een bestand archiveren/een bestand comprimeren. Het archiveren van een bestand is handig wanneer u een aantal bestanden over verschillende systemen wilt verplaatsen en ervoor wilt zorgen dat u ze niet corrumpeert.
tar Commando
Het tar-commando staat voor tape archive en stelt u in staat om de gearchiveerde bestanden te manipuleren en uit te pakken.
Hier is de basissyntaxis van de opdracht om te zien hoe het werkt:
tar -opties bestandsnaam1 bestandsnaam1 …. bestandsnaamN
Laten we een voorbeeldgebruik bekijken met een aantal opties. Het wordt ten zeerste aangemoedigd om met het voorbeeld te spelen en het vervolgens zelf te verkennen om meer interessante gebruiksgevallen te ontdekken.
tar -c -f gecomprimeerd.zip ghost.txt starwars.txt

Laten we het opsplitsen. De -c en -f commando's zijn slechts enkele van de vele, maar dit is wat ze doen. De -c optie vertelt het commando om maak een nieuw archief aan en -f wordt gebruikt specificeer de bestandsnaam voor het archief dat in dit geval gecomprimeerd.zip is, kan het tar-commando archieven maken in .zip, .tar, .rar en andere formaten, dus zorg ervoor dat u er een kiest die aan uw behoeften voldoet
Nu u weet hoe u bestanden moet comprimeren, gaan we kijken hoe u ze kunt extraheren. Wij gebruiken de -x en -f opties op het tar-commando om een bestand uit te pakken, de -x optie vertelt tar to pak het bestand uit en -f wordt gebruikt specificeer de bestandsnaam zoals weergegeven in het onderstaande voorbeeld:

Oké, we zijn eindelijk voorbij het bestandsverwerkingsgedeelte van de post. Hoera! Je hebt het geweldig gedaan om zo ver te komen. We gaan het nu hebben over processen.
In de Linux-terminologie is een proces een programma dat momenteel wordt uitgevoerd en een specifieke taak uitvoert. Processen zijn dynamisch en veranderen voortdurend als de gebruiker tussen applicaties schakelt.
Het Linux-documentatie vertelt uitgebreid over processen en ik moedig je aan om het te lezen als je klaar bent met dit bericht.
Nu we weten wat een proces is, laten we eens kijken hoe we ze kunnen bekijken.
ps Commando
Het ps-commando laat ons zien welke processen momenteel worden uitgevoerd op een machine. Het wordt geleverd met een verscheidenheid aan opties, maar hier is een minimaal gebruik dat alle processen laat zien die momenteel als root worden uitgevoerd.
De syntaxis is als volgt:
ps -optie
In ons geval gebruiken we de -u optie die de . toont processen die als root worden uitgevoerd.

Nu je weet hoe je processen moet bekijken, hoe zit het dan met het leren hoe je ze kunt doden?
kill Commando
Het kill-commando wordt gebruikt om een bepaald proces te beëindigen of te beëindigen zonder uit te loggen of de computer opnieuw op te starten. Het is vermeldenswaard dat het kill-commando een proces niet echt doodt, het stuurt alleen een signaal naar een proces en het signaal vertelt het proces wat er moet gebeuren. Als er geen signaal is opgegeven, is er standaard een signaal 15 Dit betekent dat we onszelf en onze geliefden praktisch vergiftigen. SIGTERM wordt naar het proces gestuurd en als dit niet lukt een sterker signaal 9 SIGDODEN wordt naar het proces verzonden, maar voor de meeste normale gebruiksgevallen hoeft u alleen maar op te geven om een proces te beëindigen: PID.
Hier is de syntaxis voor het kill-commando:
kill [signaal of opties] PID's
En hier is een demo:

Wees heel voorzichtig bij het doden van een proces. Als u een systeemkritisch proces uitschakelt, kan uw machine zich abnormaal gaan gedragen. Als het je echter nog steeds lukt om dit te doen, zorg er dan voor dat je je systeem eenmaal opnieuw opstart om de normale uitvoering te herstellen.
Oké, nu we wat gronden hebben behandeld met de terminalcommando's, laten we het hebben over een gemakkelijke manier om wijzigingen aan te brengen/inhoud aan een bestand toe te voegen. We gebruiken allemaal teksteditors zoals Visual Studio Code of Atom, maar aangezien het doel van deze serie is om jullie allemaal comfortabel en gezellig te maken met de terminal, waarom zou je dan niet een basiseditor in de terminal zelf verkennen?
nano-opdracht
Nano (geloof me) staat voor Nano's JAARther editor en het is een gratis, lichtgewicht en open source editor waarmee je bestanden in de terminal kunt bewerken. Het is een native teksteditor-achtige omgeving met de gebruikelijke commando's die je kent.
Om nano aan te roepen/een bestand in nano te openen, typ je de opdracht in de volgende syntaxis:
nano BESTANDSNAAM
Als het bestand bestaat, zou nano het openen en als dat niet het geval is, zou het een nieuw bestand met die naam maken en het openen. De editor is op zich redelijk minimaal en in tegenstelling tot zijn oudere (en gehate) broer of zus Vim/Vi wordt je er niet gek van met de notoir moeilijke commando's. Om binnen het bestand te navigeren gebruik je de gebruikelijke pijltjestoetsen. Om inhoud te verwijderen gebruik je nog steeds de delete/backspace-toets en voor het omgaan met je klembord gebruik je de bekende Ctrl+C, Ctrl+V etc.

De editor legt de meest gebruikte bewerkingen uit, zoals het verlaten van de editor in de onderste helft van het scherm. Voordat u afsluit met Ctrl+X, wordt u gevraagd de aangebrachte wijzigingen op te slaan. Natuurlijk bestaat Vim al langer, maar naar mijn persoonlijke mening is het niets meer dan een pas op de hippiecultuur. Het meeste dat je kunt halen uit het zijn van een professional bij Vim, is opscheppen, en daar eindigt het zelf. Er is absoluut geen reden om hun kostbare tijd te verspillen aan het leren gebruiken van Vim. Dat gezegd hebbende, zijn we eindelijk aan het einde van deel 2.
Linux-opdrachten voor gemiddelde gebruikers: samenvatting
In deel 2 van de Linux Hands On-serie bouwden we voort op de basis die we hadden gelegd Deel 1. We zijn erin geslaagd om met bestanden om te gaan en ze te manipuleren. We hebben ook een heel nieuw concept geleerd, processen genaamd, en hoe we ze kunnen doden. En we sloten dit deel af met een overzicht van de Nano-teksteditor. Dat zou alles zijn voor deze week. Zorg ervoor dat je jezelf genoeg tijd geeft om te spelen met de opdracht die in dit bericht wordt gedeeld, totdat we de volgende week met deel 3 terugkeren. Laat je niet overweldigen door het aantal commando's dat er is, het duurt lang voordat deze dingen spiergeheugen worden. Tot dat gebeurt, is hands-on ervaring je beste vriend.
Manas Chaudhary
Bedankt voor deze Linux-serie. Ik heb dit volledig doorgenomen en vond het erg nuttig. Vooral video's. Soms is het moeilijk om het artikel te volgen, dus ik heb de video gedownload en geleerd. Nu heb ik het gevoel dat ik een goede hoeveelheid Linux ken om er iets in te gaan doen. Bedankt voor deze berichten hebben me erg geholpen.