In dit artikel leg ik uit hoe je de Terminal-commando's kunt gebruiken om informatie te geven over sommige commando's en wat ze doen.
Ik geef ook voorbeelden om het proces te illustreren.
De opdrachtregeltool is krachtig. Er bestaan tools die een vervelende klus in een grafische gebruikersinterface (UI) omzetten in een taak die een paar seconden duurt. Het verwijderen van de laatste vier regels in elke rij van een groot bestand zou een langdurig proces zijn in een applicatie voor de gebruikersinterface. Het kan echter worden geautomatiseerd in de opdrachtregel.
De meest gebruikelijke manieren om een Terminal-venster te openen in Ubuntu Linux zijn:
Er zijn veel opdrachten die gekoppeld zijn aan de Terminal Shell in Ubuntu Linux. Het onderstaande artikel geeft een overzicht van de meest gebruikte, onder de groepen die ze treffen.
Er zijn drie hoofdcommando's die we gebruiken om alle informatie te verstrekken die nodig is om de verschillende terminalcommando's te gebruiken.
Met de opdracht man wordt de handleiding weergegeven voor elke opdracht die wordt gebruikt in de Terminal.
De meeste shell-commando's accepteren verschillende opties. Voor informatie over een opdracht en een lijst met beschikbare opties gebruikt u de man
- Afkorting van Manual Command. Geef de naam van het commando waar je meer over wilt weten als argument. Dat is wat het bevel geeft aan de man
Opdracht werkt aan.
Voorbeeld: Als u de opdracht man who
, wordt de volgende uitvoer weergegeven.
WHO(1) User Commands WHO(1)
NAME
who - show who is logged on
SYNOPSIS
who [OPTION}... [ FILE | ARG1 ARG2 ]
DESCRIPTION
-a, --all
same as -b -d --login -p -r -t -T -u
-b, --boot
time of last system boot
-d, --dead
print dead processes
-H, --heading
print line of column headings
-i, --idle
add idle time as HOURS:MINUTES, . or old (deprecated, use -u)
-l, --login
print system login processes
--lookup
attempt to canonicalize hostnames via DNS
-m, only hostname and user associated with stdin
Manual page who(1) line 1
Veel van de handleidingen zijn meerdere schermen lang. Gebruik de cursor of ARROW
of de toetsen Pagina omhoog en Pagina omlaag om door de tekst te navigeren. De spatiebalk geeft de volgende regel tekst weer. Als u op de q-toets drukt, wordt de handleiding afgesloten en keert u terug naar de shell.
Op de man-pagina zien we dat we de -a
Optie om meer informatie over de actieve gebruikerssessies weer te geven.
user@3[user]$ who -a
|
|
|
|
Nov 14 13:47 |
|
10 |
id=si |
term=0 |
exit=0 |
|
|
|
system boot |
Nov 14 13:47 |
|
|
|
|
|
|
|
|
run-level 5 |
Nov 14 13:47 |
|
|
Last=S |
|
|
|
|
|
|
Nov 14 13:47 |
|
835 |
id=15 |
term=0 |
exit=0 |
LOGIN |
|
|
tty1 |
Nov 14 13:47 |
|
958 |
id=1 |
|
|
root |
|
- |
tty2 |
Nov 14 19:15 |
00:19 |
959 |
|
|
|
user |
|
- |
tty3 |
Nov 14 19:28 |
00:06 |
960 |
|
|
|
LOGIN |
|
|
tty4 |
Nov 14 13:47 |
|
961 |
id=4 |
|
|
LOGIN |
|
|
tty5 |
Nov 14 13:47 |
|
962 |
id=5 |
|
|
LOGIN |
|
|
tty6 |
Nov 14 13:47 |
|
963 |
id=6 |
|
|
user |
|
? |
:0 |
Nov 14 13:47 |
? |
965 |
|
|
|
|
|
|
pts/3 |
Nov 14 16:29 |
|
1746 |
id=/3 |
term=0 |
exit=0 |
user@3[user]$
Het leest ook helpbestanden voor programma's, de man
Command kan ook informatie geven over shells, functies en bibliotheken.
Als u niet zeker weet hoe u een specifieke opdracht moet gebruiken, voert u de opdracht uit met de -h
of –help
Switches. U ziet gebruiksinformatie en een lijst met opties die u met de opdracht kunt gebruiken.
Voorbeeld: Als u wilt weten hoe u de wget
opdracht, typ wget –help
of wget -h
te installeren.
User@Ubuntu@#$ wget --help
GNU Wget 1.12, a non-interactive network retriever.
Usage: wget [OPTION]... [URL]...
Mandatory arguments to long options are mandatory for short options t
oo.
Startup:
-V, --version display the version of Wget and exit.
-h, --help print this help.
-b, --background go to background after startup.
-e, --execute=COMMAND execute a '.wgetrc' -style command.
Logging and input file:
Hiermee wordt vaak een grote hoeveelheid informatie naar de Terminal gestuurd. Het kan lastig zijn om er doorheen te bladeren. Om de uitvoer gemakkelijker te kunnen lezen, kunt u pipe
het door het minder commando. Waardoor je er doorheen kunt scrollen met de cursor of pijltjestoetsen op je toetsenbord.
Voorbeeld: wget -help | less
GNU Wget 1.12, a non-interactive network retriever.
Usage: wget [OPTION]... [URL]...
Mandatory arguments to long options are mandatory for short options t
oo.
Startup:
-V, --version display the version of Wget and exit.
-h, --help print this help.
-b, --background go to background after startup.
-e, --execute=COMMAND execute a '.wgetrc' -style command.
Logging and input file:
-o, --output-file=FILE log messages to FILE.
:
Druk op q om het hulpprogramma less te sluiten wanneer u klaar bent.
Om een specifieke optie te vinden, kunt u pipe
De uitvoer via de grep
bevelen. (Bijvoorbeeld: Gebruik de volgende opdracht om te zoeken naar opties die het woord bevatten proxy.
)
wget -help | grep proxy
User@ubuntu:~$ wget --help | grep proxy
--no-proxy explicitly turn off proxy.
--proxy-user=USER set USER as proxy username.
--proxy-password=PASS set PASS as proxy password.
User@Ubuntu:~$
Sommige opdrachten worden ook gedocumenteerd in de info
systeem. De informatie hier vormt een aanvulling op wat de man
Opdracht wordt weergegeven.
Voorbeeld: Voer de opdracht in info ls,
De volgende uitvoer wordt weergegeven.
[support@support]$" info ls
U kunt nu een handleiding bekijken met belangrijke informatie over de ls
bevelen.
File: coreutils.info, Node: ls invocation, Next: dir invocation, Up: Directory listing
'ls': List directory contents
=============================
The 'ls' program lists information about files (of any type,
including directories). Options and file arguments can be intermixed
arbitrarily, as usual.
For non-option command-line arguments that are directories, by
default 'ls' lists the contents of directories, not recursively, and
omitting files with name beginning with '.'. For other non-option
arguments, be default 'ls' lists just the file name. If no non-option
argument is specified, 'ls' operates on the current directory, acting
as if it had been invoked with a single argument of '.'.
By default, the output is sorted alphabetically, according to the
locale settings in effect. (1) If standard output is a terminal, the
output is in columns (sorted vertically) and control characters are
output as question marks; otherwise, the output is listed one per line
and control characters are output as-is.
--zz-Info: (coreutils.info.gz)ls invocation, 48 lines --Top------------------
Welcome to info version 4.3 Type C-h for help, m for menu item.
U kunt naar beneden scrollen op de pagina door op de spatiebalk te drukken of door de cursor/ARROW
Sleutels.
help
, druk op Hquit
, druk op Q
Je kunt bijna alles doen in een terminal, wat je ook zou doen vanuit een gebruikersinterface.
Zoals eerder gezegd, werden veel commando's eerst ontworpen om in de terminal te werken, en vervolgens werd er een gebruikersinterface bovenop geplaatst. Dat is de reden waarom sommige GUI's onhandig aanvoelen - in eerste instantie waren ze een bijzaak, aangezien ze in de meeste Linux Server-builds niet worden meegenomen.
De standaardlocatie voor uw Terminal om deze te openen vanuit het menu is in uw homedirectory, Bekend als ~
U kunt uw huidige directory vinden via de .
bediener. De meeste opdrachten zijn hoofdlettergevoelig wanneer ze werken op de huidige mapselectie die werkt op opdrachten, locaties en bestanden. /home
is niet hetzelfde als /HOME
of /Home
te installeren.
Gebruik de TAB-toets om bestandsnamen te voltooien als u een lange drivertitel hebt. driver-128947232jaseu.sh
Typ bijvoorbeeld dri
en het komt de rest binnen. Mits je geen twee namen hebt die beginnen met dri
En als je dat doet, voeg dan nog een personage toe om het te maken driv
en probeer het opnieuw. Zorg ervoor dat de auto volledig overeenkomt met wat u wilt zien.
Bijna elke opdracht kan volledig worden gelezen met behulp van de man
pagina of door te typen -h
of --help
na het schrijven van de eerste opdracht. Deze syntaxis is ofwel man command_name
, command_name -h
of command_name --help
te installeren.
Om nog meer informatie te krijgen, kunt u info gebruiken. Een opdracht kan worden gezocht met behulp van info command_name
te installeren. Het merendeel van deze opdrachten maken deel uit van het coreutils-pakket. U vindt hier info
evenals het gebruik van info coreutils command_name
aanroepen waar het commando waarnaar wordt gezocht, vervangt command_name
te installeren.
Vrijwel elke opdracht kan stap voor stap precies aangeven wat er gebeurt. Dit is meestal de -v
of --verbose
te installeren.
U kunt meerdere opdrachtvlaggen tegelijk voor een opdracht opgeven om meer informatie te krijgen. Zie de ls -al
voorbeeld hieronder.
Commandonamen zijn niet altijd voor de hand liggend - vanwege ruimtegebrek in de oude dagen van UNIX werden ze ingekort en bleven deze conventies hangen.
cd
wordt gebruikt om door de mappen te navigeren. U kunt via het pad naar elke gewenste locatie gaan
cd
- Brengt u terug naar uw homedirectory, net als bij cd ~
cd..
- Brengt u één map terug. Beginnend in /home/user/Desktop
, cd..
brengt u in staat om /home/user
te installeren. Dit kan worden uitgebreid tot cd ../../
waarmee u twee directories terug gaat naar /home
te installeren.
cd foldername/
- Verplaatst u vooruit naar de gegeven map vanuit uw huidige map.
/
, is het een belangrijke omissie. Als ik in /home/user
En ik wil naar Desktop
te installeren. Ik moet typen cd Desktop/
zonder de /
voor Desktop
te installeren. Typen /
voordat het ons in de root van het bestandssysteem plaatst, wat niet zou werken.
cd /some/other/path
- Hiermee gaat u naar het opgegeven mappad. Als je het pad goed hebt. Vergeet niet dat u de TAB
toets voor automatisch aanvullen.
ls
- Geeft alle bestanden in de huidige map weer.
ls -l
- Biedt een langere lijst, inclusief eigenaars, rechten, grootte en wijzigingsdatum.
ls -a
- Toont de verborgen bestanden en mappen en de normale lijst.
ls -al
- Combineert twee opties om zowel de verborgen bestanden en mappen weer te geven en dit in de lange indeling.
ls -h
- Toont bestandsgroottes in door mensen leesbaar formaat KB, MB, GB,
Bestandsgroottes in plaats van bytes. Het wordt meestal gebruikt met de -l
vlag.
U kunt bestanden bekijken in mappen waar u niet eens in zit. Als ik in /home/user/Desktop
en ik wil een bestand bekijken in /home/user
, kan ik doen ls ../
die de bestanden een directory terug vermeldt.
cp file /path/to/folder
- Kopieert het opgegeven bestand naar het opgegeven pad.
cp -r folder /path/to/folder
- Kopieert de inhoud van de map herhaaldelijk naar een andere map.
cp *.extension /path/to/folder
- Kopieert de bestanden die overeenkomen met de opgegeven extensie naar de nieuwe map. Als u al .doc bestanden wilt kopiëren, wordt het cp *.doc /path/to/folder
en de map moet bestaan.
cp name* /path/to/folder
- Kopieert alle bestanden die beginnen met name
naar de opgegeven map. Als u alle bestanden wilt kopiëren die beginnen met example
, wordt het cp example* /path/to/folder
en de map moet al bestaan.
De syntaxis van mv
is vergelijkbaar met het bovenstaande voorbeeld met cp
vrijgesteld bijvoorbeeld #2. mv
neemt niet de -r
markeren omdat het verplaatsen van een map ook de inhoud ervan verplaatst. De syntaxis is niet in alle gevallen exact, maar werkt met de bovenstaande voorbeelden. Raadpleeg uw man-pagina's voor meer informatie.
Bestanden verwijderen met rm
is permanent. De prullenbak wordt niet gebruikt. Gebruik dit met de nodige voorzichtigheid en zorg ervoor dat u precies verwijdert wat u wilt, voordat u op de knop Enter
toets. Als u uw verwijderopdrachten te ingewikkeld maakt, loopt het nooit goed af.
rm file
- Verwijder dat specifieke bestand van de computer.
rm -r folder
- Verwijder die specifieke map van de computer.
rm -rf folder
- Verwijdert die specifieke map met geweld van de computer. Deze opdracht kan uw configuratie verstoren als deze onjuist wordt gebruikt.
U kunt bestanden bewerken met nano
in een terminal om snelle en ruwe bestanden te maken tot volledige configuraties. Het kan handig zijn, maar het verwerkt platte tekstbestanden en programmeerbestanden, zodat zaken als Microsoft Word-documenten niet goed worden geopend.
Als de root eigenaar is van een bestand, kan een gewone gebruiker het niet bewerken. nano
moet worden voorafgegaan door sudo
; om wijzigingen op te slaan. Anders wordt het geopend in de alleen-lezen modus.
nano newfile.whatever
van de opgegeven naam en opent deze om te bewerken.
nano existing_file
- hiermee opent u het bestaande bestand voor bewerking.
Vanuit nano
Sla het bestand op door op de knop CTRL+O
toetsen samen te voegen en de naam te wijzigen of op de Enter
toets om dezelfde naam te behouden. Hiermee wordt het bestand opgeslagen.
Afsluiten nano
Door gebruik te maken van de CTRL+X
sleutels samen. Als u niet-opgeslagen wijzigingen hebt, wordt u gevraagd of u ze wilt opslaan.
mkdir folder_name
- Maakt de map met de opgegeven naam
mkdir -p /path/to/folder/name
- Maakt elke map waar dat nodig is. Een map maken /home/user/1stfolder/2ndfolder
, en alleen /home/user
bestaat, met behulp van mkdir -p
Maakt beide mappen 1stfolder,
als 2ndfolder
te installeren.
ps aux
- Geeft een gedetailleerd overzicht van alle processen die op de computer worden uitgevoerd. Dit omvat gebruiker, proces-ID PID,
en de naam van het proces. Hiermee kunt u de proceslijst weergeven en indien nodig kunt u onnodige of onderbroken processen beëindigen.
kill PID
- PID is een nummer dat verwijst naar het foutieve proces. U moet de PID verkrijgen van een commando als ps aux
te installeren. Als een proces weigert te sterven, kunt u ook kill -9 PID
die het proces op alle mogelijke manieren moet beëindigen.
killall program
- Killall
Doodt by name
Alle instanties van de listed program
te installeren. Als er bijvoorbeeld 3 Firefox-internetbrowsersessies open staan, killall Firefox
doet precies dat, alle Firefox-sessies doden. kill
zou de gespecificeerde PID van het aanstootgevende Firefox-proces nemen dat u wilt doden en alleen die doden.
xkill
is een manier om op de gebruikersinterface te klikken en Windows te doden. Typen xkill
zou een schedel-en-gekruiste beenderen pictogram moeten oproepen en het volgende venster waarop wordt geklikt, wordt gedood.
Pipes
worden weergegeven als een straight bar,
ook wel bekend als de |
toets.
Het is een toets die zelden wordt gebruikt in Windows, maar wordt vaak aangetroffen boven de backslash-toets.
Deze worden gebruikt om opdrachten aan elkaar te koppelen. Pipes
nemen de uitvoer van één opdracht en leiden deze om als invoer voor een tweede opdracht wanneer ze aan elkaar zijn gekoppeld.
Raadpleeg online bronnen voor meer informatie over pipes
en het gebruik ervan omdat er boekdelen op zijn geschreven.
>
wordt gebruikt om overwrite
de inhoud van de bestaande bestanden door deze te vervangen door de uitvoer van de nieuwe opdracht.
>>
wordt gebruikt om append
informatie op te nemen in de bestaande bestanden. Dit is handig voor het loggen van acties.
Example:
ps aux > processes.log
verzendt de uitvoer van ps aux
Naar het bestand processes.log
voor het weergeven van de opdracht die wordt uitgevoerd in een teksteditor en die de huidige inhoud van het bestand overschrijft.
tee
wordt gebruikt in combinatie met een |
om de opdrachtuitvoer over te nemen en ergens anders heen te sturen. Dit is handig als er fouten zijn die u mist. Op deze manier wordt alles wat er op het scherm gebeurt ook vastgelegd in een bestand.
Voorbeeld: dmesg
| tee boot.txt
zou de opdracht uitvoeren dmesg
waarmee de initiële opstartinformatie wordt weergegeven. De |
verzendt de uitvoer van dmesg
Aan tee
, die vervolgens zijn werk doet door het naar de terminal en naar het logbestand te sturen boot.txt
te installeren.
Wilt u een bestand in de huidige map uitvoeren nadat het als uitvoerbaar is gemarkeerd? De ./
De operator kan het bestand uitvoeren als een normale gebruiker, op voorwaarde dat u geen rootrechten nodig heeft. ./
betekent letterlijk in the current directory
Het werkt dus niet op bestanden buiten de huidige map.
Als u een bestand wilt uitvoeren dat niet in de huidige map staat, moet u het pad naar het juiste actieve programma doorgeven. Als het een python-programma is, is het python /path/to/file
En als het een shellbestand is, is het sh /path/to/file
als voorbeeld. Er zijn andere programma's, maar dit zijn de meest voorkomende.
Als u een bestand met rootrechten wilt uitvoeren omdat u operation not permitted?
te installeren. U moet de opdracht voorafgaan door sudo
te installeren. Net als bij het bovenstaande voorbeeld, sudo python /path/to/file
Voert het script uit met rootrechten.
Als u een gebruikersinterfaceprogramma vanaf de terminal wilt uitvoeren, typt u de programmanaam - case sensitive!
En het wordt gelanceerd. Hierdoor wordt de huidige terminal onbruikbaar. Het sluiten van de terminal terwijl het programma open is, verbreekt ook het programma. Een betere manier is om het programma op de achtergrond te plaatsen, met behulp van program_name
en typ dan het woord exit
op de terminal om deze te sluiten en het proces draaiende te houden.
Als u een gebruikersinterfaceprogramma met rootrechten vanaf de terminal wilt uitvoeren, moet u het voorafgaan door gksudo
of gksu
en niet sudo
te installeren. Gebruik sudo
Het starten van applicaties voor de gebruikersinterface is een slechte gewoonte en moet worden vermeden.
Doen not
Gebruik sudo
alleen omdat er iets naar boven komt Operation not permitted.
Houd er rekening mee dat je kunt destroy
computers door opdrachten op de verkeerde plaats uit te voeren met rootrechten. Zorg ervoor dat uw bestanden afkomstig zijn van betrouwbare bronnen.
Weet u niet in welke map u zich bevindt? Typ pwd
om de werkmap af te drukken.
Wilt u uw schijfruimte berekenen? df -h
kan een snelle schatting geven.
Wilt u de grootte van een map of bestand berekenen? du -cksh target_name
doet precies dat. Wilt u de grootte van de huidige map berekenen? du -cksh
te installeren.
Wilt u een uitvoerbaar bestand markeren? chmod +x filename
doet dat.
Je moet een iso monteren? Linux heeft deze functionaliteit ingebouwd. Maak ergens een directory, zeg /home/user/isomount
en geef het commando mount -o loop /path/to/myisofile.iso /home/user/isomount
en de inhoud wordt in die map gemount.
Nadat u een opdracht hebt uitgevoerd, moet u deze opnieuw uitvoeren, maar u weet niet meer precies hoe het ging? Typ history
in de terminal en het drukt uw opdrachtgeschiedenis af. Wilt u uw geschiedenis wissen? history -c
Wist de informatie.