Hallo! Deze keer hebben we weer een set nuttige commando's voorbereid om je te helpen vertrouwd te raken met het gebruik van de terminal. Het eerste deel van de tutorial kun je hier vinden: Beginners terminal - deel 1.
Terminal - Theorie
Waar ben ik?
datum - Als we een dergelijke behoefte en wens hebben, kunnen we de huidige datum in de terminal controleren.
damian@rubydev:~$ datum
wto, 7 sty 2020,
Aanmelden en noteren
kat (concatenate) - dit commando heeft vele toepassingen, maar de meest populaire is het weergeven van de inhoud van bestanden.
In het onderstaande voorbeeld zie je twee bestanden - ruby_1.txt en ruby_2.txt - samen met hun inhoud. De cat [bestandsnaam] commando toont de inhoud van een enkel bestand, terwijl het cat [bestandsnaam 1] [bestandsnaam 2] geeft de inhoud van beide bestanden in de juiste volgorde weer.
Er is nog één ding dat we kunnen doen met de kat commando - de standaarduitvoer omleiden naar een nieuw bestand met het commando > teken. Dit betekent dat de inhoud die op het scherm wordt weergegeven, wordt doorgestuurd naar een opgegeven bestand. Als het opgegeven bestand niet bestaat op de opgegeven locatie, wordt het automatisch aangemaakt.
Wat hebben we hier?
ps (processtatus) - geeft basisinformatie over processen in het systeem. Dit commando is vergelijkbaar met Windows Taakbeheer, waar je een lijst krijgt van alle draaiende applicaties en processen. Elke toepassing, programma of lopende opdracht wordt een proces met een unieke identificatie, de zogenaamde PID (Process IDentifier).
Zoals je kunt zien, is de ps commando liet ons niet veel zien. Om alle actieve processen te controleren, moeten we het commando ps met een aux argument.
Aby zobaczyc wszystkie procesy w systemie, uzywajac skladni BSD:
ps ax
ps bijl
doden - Soms stopt een applicatie of programma met reageren. Dit is waar doden commando komt goed van pas. Naar doden een proces, hoeft u alleen maar de doden commando met zijn PID.
Hoe vind je de PID van dat proces? Je kunt het beste de eerder genoemde ps aux opdracht. Het kan gebeuren dat doden alleen is niet genoeg omdat het proces wacht op het einde van een ander afhankelijk proces. Daarom, doden wordt ook vaak gebruikt met de -9 optie. Het betekent de onmiddellijke beëindiging van het lopende proces, dus voordat je deze optie gebruikt, moet je ervoor zorgen dat alle belangrijke wijzigingen zijn opgeslagen. Laten we eens kijken naar een voorbeeld van zo'n commando:
damian@rubydev:~$ kill -9 1234
Echo!
echo - dit is het commando dat de tekst teruggeeft die eraan is toevertrouwd. Net als bij katkunt u de ingevoerde tekst naar een bestand sturen met behulp van de optie echo commando.
Het kan nuttig zijn
Als je de geschiedenis van eerder ingevoerde commando's wilt bekijken, kunnen we de optie geschiedenis commando.
Als je het terminalvenster wilt wissen, heb je de optie duidelijk commando.
De verlaat Zoals de naam al zegt, sluit het commando de terminal of het huidige geopende tabblad.
Het begin en het einde
De hoofd geeft het begin van een bestand of standaard uitvoer weer. De standaardwaarde is de eerste tien regels. Je kunt dit aanpassen met de -n optie waar je elk geheel getal onder n. Om dit beter te illustreren, zal ik een voorbeeld gebruiken.
We hebben een tekstbestand nodig. Laten we het al genoemde geschiedenis commando en de omleiding > karakter.
damian@rubydev:~$ geschiedenis > geschiedenis.txt
Op deze manier werd een bestand met de volledige geschiedenis van commando's gemaakt. Vervolgens werd met behulp van kop -15 geschiedenis.txtis het mogelijk om de eerste vijftien commando's weer te geven die in de terminal zijn ingevoerd.
Ook de staart toont ons de laatste regels van het geselecteerde bestand.
Zoek op
grep (global regular expression print) wordt gebruikt om in de tekst te zoeken naar een tekenreeks die overeenkomt met de gegeven reguliere uitdrukking (RegExp). Het wordt vaak gebruikt om een specifieke uitdrukking in een bestand te vinden of om de geretourneerde uitvoer te "filteren". Laten we voor dit doel de eerder gemaakte geschiedenis.txt bestand en controleer hoe vaak de ps commando werd tot nu toe gebruikt:
damian@rubydev:~$ grep ps history.txt
82 echo "Lorem ipsum rubydev 1" > ruby_1.txt
84 echo "Lorem ipsum rubydev 2" > ruby_2.txt
92 ps
93 ps aux
94 ps --help
95 man ps
96 ps -h
98 ps -help
99 ps -ejH
100 ps aux
101 man ps
102 ps -aux
103 ps aux
109 geschiedenis | grep ps
113 echo "lorem ipsum rubydev" > rubydev.rb
Zoals je kunt zien, grep ook woorden gevonden die de zin bevatten ps. De uitdrukking die in ons voorbeeld werd gebruikt was ps alleen. Ik ben van plan om een apart artikel te schrijven over reguliere expressies, maar voor nu moedig ik je aan om het onderwerp zelf te verkennen. Basiskennis is op dit moment net genoeg.
Commando's combineren
| (pipe) is een symbool waarmee we verschillende commando's (processen) kunnen combineren en tegelijkertijd kunnen starten. Specifiek kunnen we de uitvoer (stdout) van het ene commando combineren met de invoer (stdin) van het andere. Dit is een zeer nuttige functie.
De uitvoer (stdout) van de geschiedenis commando wordt doorzocht door de grep commando en retourneert alle strings met de overeenkomende ps uitdrukking.
geschiedenis | staart -5
In dit geval kan de staart commando met de -5 optie toont de laatste vijf regels van de uitvoer (stdout) van de geschiedenis commando.
Deze combinatie is vooral handig bij het zoeken naar de PID van het proces dat je wilt beëindigen. Onthoud dat het uitvoeren van de grep commando maakt ook een proces aan, dus je ziet meestal de PID van het grep proces in de laatste regel.
Bestanden en mappen openen
Voordat we naar het commando gaan om het type toegangsrechten te veranderen, is het de moeite waard om te vermelden dat elk besturingssysteem de zogenaamde toegangsrechten heeft. Dit betekent dat elke map of bestand metadata bevat over wie er toegang toe heeft. De eerste kolom van de volgende "uitvoer" vertelt ons er alles over (uitvoerinformatie weergegeven in het terminalvenster):
geschiedenis | staart -5
Toegang tot bestanden en mappen wordt gedefinieerd door drie componenten. De eerste (user) staat voor een enkele gebruiker, de tweede (group) staat voor een groep, terwijl de derde (other) van toepassing is op alle andere gebruikers.
d - bepaalt of het een map of een bestand is (d - map, f - bestand)
rwx - gebruikersrechten
r-x - rechten voor de groep
r-x - geautoriseerd voor alle andere gebruikers
Om het te vereenvoudigen kun je het in drie delen verdelen:
Laten we nu eens kijken naar de betekenis van deze rechten:
r (lezen) - hiermee kun je de inhoud lezen
w (schrijven) - hiermee kun je de inhoud wijzigen
x (uitvoeren) - hiermee kun je een bestand uitvoeren of een map openen
Bestands- of mapmachtigingen kunnen worden gewijzigd met de optie chmod (wijzig modus) commando. De eenvoudigste manier om de permissies te wijzigen is door het ingebedde systeem te gebruiken en het nummer voor de permissies voor de gebruiker, groep en anderen op te geven.
Om deze kennis in de praktijk te brengen, veranderen we de machtigingen voor de eerder genoemde wideo map voor groepen en andere gebruikers - haal alle rechten weg voor die twee, maar laat de volledige toelating gewoon voor de enkele gebruiker. Volgens de bovenstaande tabel wordt "geen rechten" aangeduid met het getal 0. Onmiddellijk na de chmod commando moet je drie cijfers invoeren, die elk de rechten specificeren voor de gegeven categorie (gebruiker - groep - overige). Aan het einde geef je de naam van het bestand of de map. Het commando zou er als volgt uit moeten zien:
damian@rubydev:~$ chmod 700 Wideo
damian@rubydev:~$ ls -l | tail -1
drwx------ 2 damian damian 4096 sty 6 17:41 Wideo
Samenvatting
Er is een hele zwerm andere commando's en de makkelijkste manier om ze allemaal onder de knie te krijgen is door te oefenen met het oplossen van specifieke problemen. Als je er meer over wilt weten, Ik raad het pocket Linux lexicon van commando's aan. Naar mijn mening is het een aangename manier om wat tijd te doden in het openbaar vervoer.