I denne artikel forklarer jeg, hvordan du bruger de indbyggede terminalkommandoer til at give oplysninger om nogle kommandoer, og hvad de gør.
Jeg giver eksempler til at illustrere processen.
Kommandolinjeværktøjet er effektivt. Der findes værktøjer, der tager en kedsommelig opgave i en grafisk brugergrænseflade (GUI) og gør det til en opgave, der tager nogle få sekunder. At fjerne de sidste fire linjer i hver række i en stor fil ville være en lang proces i et program med grafisk brugerflade. En sådan opgave kan dog automatiseres med kommandolinjen.
De mest almindelige måder at åbne et Terminal-vindue i Ubuntu Linux er:
Der er mange kommandoer, der er forbundet med Terminal Shell i Ubuntu Linux. Artiklen nedenfor viser de oftest anvendte under de grupper, de påvirker.
Vi bruger tre hovedkommandoer til at levere alle de oplysninger, der er nødvendige for at bruge de forskellige terminalkommandoer.
Kommandoen man viser manualen for alle kommandoer, der bruges i terminalen.
De fleste Shell-kommandoer accepterer forskellige indstillinger. Hvis du vil have oplysninger om en kommando og en liste over de tilgængelige indstillinger, skal du bruge - forkortelsen man
for manuel kommando. Giv navnet på den kommando, du vil vide mere om, som argument. Det er det, kommandoen man
fungerer på.
Eksempel: Hvis du indtaster kommandoen man who
, vises følgende output.
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
Mange af manualerne fylder flere skærmbilleder. Brug markøren/ARROW
tasterne eller Page Up/Page Down-tasterne til at navigere gennem teksten. Mellemrumstasten viser den næste tekstlinje. Når du trykker på q-tasten, afsluttes manualen, og du vender tilbage til Shell.
Fra man-siden kan vi bruge indstillingen -a
til at få vist flere oplysninger om de aktive brugersessioner.
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]$
Den læser også hjælpefiler til programmer, og man
kommandoen kan også give oplysninger om shells, funktioner og biblioteker.
Hvis du ikke er sikker på, hvordan du bruger en bestemt kommando, skal du køre kommandoen med -h
eller –help
switchene. Du kan se brugsoplysninger og en liste over de indstillinger, du kan bruge sammen med kommandoen.
Eksempel: Hvis du vil vide, hvordan du bruger wget
kommandoen, skal du skrive wget –help
eller wget -h
.
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:
Dette udskriver ofte mange oplysninger til terminalen. Det kan være besværligt at rulle igennem dem alle. For nemmere at læse outputtet, kan pipe
du det med den mindre kommando. Giver dig mulighed for at rulle gennem den med markør-/piletasterne på tastaturet.
Eksempel: 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.
:
Tryk på q for at lukke less-hjælpeprogrammet, når du er færdig.
For at finde en bestemt indstilling kan pipe
du udføre outputtet grep
via kommandoen. (For eksempel: Brug følgende kommando til at søge efter indstillinger, der indeholder ordet 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:~$
Nogle kommandoer er også dokumenteret inde i info
systemet. Oplysningerne her supplerer, hvad man
kommandoen viser.
Eksempel: Indtast kommandoen info ls,
, hvorefter følgende output vises.
[support@support]$" info ls
Du kan nu få vist en manual med vigtige oplysninger om ls
kommandoen.
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.
Du kan rulle gennem siderne ved at trykke på mellemrumstasten eller ved hjælp af markøren/ARROW
tasterne.
help
på Hquit
Du kan udføre næsten alt i en terminal, som du også ville gøre fra en GUI.
Som tidligere nævnt blev mange kommandoer først designet til at fungere i terminalen, og derefter blev en GUI lagt over. Derfor kan nogle GUI'er virke lidt klodsede - i første omgang var de en eftertanke, da de fleste Linux Server-versioner ikke gider at bøvle med dem.
Standardplaceringen for at åbne din terminal fra menuen findes i din hjemmemappe. Kendt som ~
Du kan finde din aktuelle mappe efter operatøren .
. De fleste kommandoer, placeringer og filer kender forskel på store og små bogstaver, når de virker på det aktuelle mappevalg. /home
er ikke den samme som /HOME
eller /Home
.
Brug TAB-tasten til at fuldføre filnavne, hvis du har en lang drivertitel. driver-128947232jaseu.sh
for eksempel skal du skrive dri
, og derefter indtastes resten. Forudsat, at du ikke har to navne, der starter med dri
, og hvis du gør det, skal du tilføje et andet tegn for at gøre det driv
og prøve igen. Sørg for, at funktionen til automatisk udfyldning svarer til det, du vil se.
Næsten alle kommandoer kan læses helt ved hjælp af man
siden eller ved at skrive -h
eller --help
efter skrivning af den oprindelige kommando. Denne syntaks er enten man command_name
command_name -h
eller command_name --help
.
Du kan få endnu flere oplysninger ved at bruge info. Der kan søges efter en kommando ved hjælp info command_name
af . De fleste af disse kommandoer, som er en del af coreutils-pakken. Du kan også finde info
ud af ved hjælp af info coreutils command_name
aktivering, hvor kommandoen søgte efter erstatningercommand_name
.
Næsten alle kommandoer kan vise nøjagtigt, hvad der sker, trin for trin. Det er normalt -v
eller --verbose
.
Du kan angive flere kommandoflag til en kommando på et tidspunkt for at få flere oplysninger. Se eksemplet ls -al
nedenfor.
Kommandonavne er ikke altid indlysende – på grund af begrænsninger i UNIX's gamle dage blev de afkortet, og disse konventioner sidder fast.
cd
– Flytter dig tilbage til start, samme som cd ~
cd..
– Fører dig en mappe tilbage. Starter ind /home/user/Desktop
og cd..
sætter dig ind i /home/user
. Dette kan udvides, cd ../../
som flytter dig to mapper tilbage til /home
.
cd foldername/
– Flytter dig videre til den angivne mappe i den aktuelle mappe.
/
er en vigtig udeladelse. Hvis jeg er i /home/user
, og jeg ønsker at komme til Desktop
. Jeg skal skrive cd Desktop/
uden før /
Desktop
. Hvis du skriver /
før det, placerer det os i roden af filsystemet, hvilket ikke ville fungere.
cd /some/other/path
– Fører dig til den angivne mappesti. Hvis du har den rigtige sti. Glem ikke, at du kan bruge tasten TAB
til automatisk udførelse.
ls
– Viser alle dine filer i den aktuelle mappe.
ls -l
– Giver en længere liste, herunder ejere, tilladelser, størrelse og ændringsdato.
ls -a
– Viser de skjulte filer og mapper og den normale liste.
ls -al
– Kombinerer to indstillinger for at få vist både skjulte filer og mapper i det lange format.
ls -h
– Viser filstørrelser i menneskeligt læsbart format KB, MB, GB,
i stedet for bytes. Den anvendes oftest sammen med flaget -l
.
Du kan se filer i mapper, du ikke engang befinder dig i. Hvis jeg er i /home/user/Desktop
, og jeg vil se en fil i /home/user
, kan jeg gøre ls ../
, hvilket viser filerne én mappe tilbage.
cp file /path/to/folder
– Kopierer den angivne fil til den angivne sti.
cp -r folder /path/to/folder
– Kopier gentagne gange indholdet af mappen til en anden mappe.
cp *.extension /path/to/folder
– Kopierer filerne, så de passer til den angivne udvidelse, til den nye mappe. Hvis du vil kopiere alle .doc-filer, bliver cp *.doc /path/to/folder
den, og mappen skal eksistere.
cp name* /path/to/folder
– Kopierer alle de filer, der begynder med name
, til den angivne mappe. Hvis du vil kopiere alle filer, der starter med example
, bliver cp example* /path/to/folder
den, og mappen skal allerede eksistere.
Syntaksen i mv
ligner eksemplet ovenfor med cp
undtagelse af eksempel nr. 2. mv
tager ikke flaget, da flytning af -r
en mappe også flytter dens indhold. Syntaksen er ikke nøjagtig i alle forekomster, men fungerer med ovenstående eksempler. Se man-siderne for at få flere oplysninger.
Fjernelse af filer er rm
permanent. Kommandoen bruger ikke papirkurven. Brug dette med forsigtighed , og sørg for at slette præcis det, du ønsker, før du trykker på tasten Enter
. Hvis du komplicerer dine slettekommandoer for meget, ender det aldrig godt.
rm file
– Fjerner den pågældende fil fra computeren.
rm -r folder
– Fjern den pågældende mappe fra computeren.
rm -rf folder
– Fjerner denne specifikke mappe tvungent fra computeren. Denne kommando kan ødelægge din konfiguration, hvis den bruges forkert.
Du kan redigere filer i nano
en terminal for at lave hurtige og ru filer helt op til fulde konfigurationer. Det kan være nyttigt, men det håndterer filer med almindelig tekst og programmering af filer, så ting som Microsoft Word-dokumenter ikke åbnes korrekt.
Hvis roden ejer en fil, kan en almindelig bruger ikke redigere den. nano
skal være foranstillet med sudo
; for at gemme ændringerne. Ellers åbnes den i skrivebeskyttet tilstand.
nano newfile.whatever
for det angivne navn og åbner den til redigering.
nano existing_file
– Åbner den eksisterende fil til redigering.
Indefra nano
Gem filen ved at trykke på tasterne CTRL+O
samtidig og enten ændre navnet eller trykke på tasten Enter
for at beholde det samme navn. Dermed gemmes filen.
Afslut nano
ved at bruge tasterne CTRL+X
sammen. Hvis du har ikke-gemte ændringer, bliver du spurgt, om du vil gemme dem.
mkdir folder_name
– Opretter mappen med det angivne navn
mkdir -p /path/to/folder/name
– Opretter alle mapper efter behov. Hvis du vil oprette en mappe /home/user/1stfolder/2ndfolder
, og kun /home/user
findes, skal du bruge mkdir -p
gør både mapper 1stfolder,
og 2ndfolder
.
ps aux
– Viser alle processer i detaljer, der kører på computeren. Dette omfatter bruger, proces-id PID,
og procesnavn. Hvis du bruger denne, kan du få vist proceslisten, og hvis det er nødvendigt, kan du afbryde unødvendige eller fastlåste processer.
kill PID
– PID er et tal, der refererer til en fejlbehandlingsproces. Du bør hente PID'et fra en kommando som f.eks ps aux
. Hvis en proces nægter at afbryde, kan du også angive kill -9 PID
, hvilken der skal afslutte processen på en hvilken som helst måde.
killall program
– Killall
afbryder by name
alle forekomster af .listed program
Hvis der f.eks. er tre Firefox Internet-browsersessioner åbne, killall Firefox
skal du afbryde alle Firefox-sessioner nøjagtigt. kill
vil tage den angivne PID for den firefox-proces, der er årsag til problemet, som du vil afbryde, og afbryde den.
xkill
er en GUI-baseret metode til at klikke på og lukke Windows. Hvis du indtaster, xkill
bør det fremkalde et dødningehovedikon, og det næste vindue, der klikkes på, aflives.
Pipes
vises som en straight bar,
ellers kendt som tasten |
.
Det er en sjældent anvendt tast i Windows, men den findes ofte på tasten med omvendt skråstreg.
Disse bruges til at sammenkæde kommandoer. Pipes
tager output fra en kommando og leder det videre til at blive brugt som input for en anden kommando, når de er kædet sammen.
Se onlineressourcerne for at få flere oplysninger om pipes
og deres brug, da der er skrevet om enheder på dem.
>
bruges til eksisterende filers indhold ved at overwrite
erstatte dem med outputtet fra den nye kommando.
>>
bruges til at append
få oplysninger om de eksisterende filer. Dette er nyttigt i forbindelse med logføring af handlinger.
Example:
ps aux > processes.log
sender outputtet fra filen processes.log
til visning af ps aux
kommandooutput i et tekstredigeringsprogram og overskriver filens aktuelle indhold.
tee
bruges sammen med en |
for at tage kommandooutputtet og sende det til et andet sted. Dette er nyttigt, hvis der er fejl, som du har overset. Det betyder, at alt, hvad der vises på skærmen, også optages til en fil.
Eksempel: dmesg
| tee boot.txt
ville køre kommandoen dmesg
, som viser de indledende startoplysninger. Sender |
outputtet fra dmesg
, tee
som derefter udfører sit job, ved at sende det til terminalen og til logfilen boot.txt
.
Vil du køre en fil i den aktuelle mappe, når den er markeret som eksekverbar? Operatøren ./
kan køre filen som en normal bruger, forudsat at du ikke har brug for root-rettigheder. ./
betyder in the current directory
bogstavelig talt, så det ikke fungerer på filer uden for den nuværende mappe.
Hvis du vil køre en fil, der ikke er i den aktuelle mappe, skal du overføre stien til det korrekte kørende program. Hvis det er et Python-program, er python /path/to/file
det, og hvis det er en shell-fil, er sh /path/to/file
det som et eksempel. Der findes andre programmer, men de er de mest almindelige.
Hvis du vil køre en fil med root-rettigheder, fordi du har modtaget operation not permitted?
. Du skal præfikse kommandoen med sudo
. Som med ovenstående eksempel sudo python /path/to/file
køres scriptet med root-rettigheder.
Hvis du vil køre et GUI-program fra terminalen, skal du indtaste programnavnet - case sensitive!
og det starter. Dette gør den aktuelle terminal ubrugelig. Hvis du lukker terminalen, mens programmet er åbent, afbryder det også programmet. En bedre måde er at køre programmet i baggrunden ved at bruge program_name
og derefter skrive ordet exit
i terminalen for at lukke det og holde processen kørende.
Hvis du vil køre et GUI-program med root-rettigheder fra terminalen, skal du præfikse det med gksudo
eller gksu
ikke sudo
. Det er forkert at bruge sudo
til at starte GUI-programmer og bør undgås.
sudo
Brug not
kun, fordi noget fremkalder Operation not permitted.
Husk, at du kan destroy
computere ved at køre kommandoer det forkerte sted med rodrettigheder. Sørg for, at dine filer kommer fra anerkendte kilder.
Er du blevet væk i en mappe? Skriv pwd
for at udskrive arbejdsmappen.
Vil du beregne diskpladsen? df -h
kan give dig et cirkatal.
Vil du beregne størrelsen på en mappe eller fil? du -cksh target_name
gør præcis dette. Vil du beregne størrelsen på den aktuelle mappe? du -cksh
.
Vil du markere en eksekverbar fil? chmod +x filename
gør dette.
Skal du tilslutte en ISO? Linux har denne funktion indbygget. Opret en mappe et sted, f.eks /home/user/isomount
. og udsted kommandoen mount -o loop /path/to/myisofile.iso /home/user/isomount
, og indholdet er tilsluttet i den pågældende mappe.
Når du har kørt en kommando, skal du køre den igen, men du kan ikke huske nøjagtigt, hvordan den var? Indtast history
terminalen, hvorefter du udskriver din kommandohistorik. Vil du rydde historikken? history -c
fjerner oplysningerne.