I denne artikel forklarer jeg, hvordan du bruger terminalkommandoerne til at give oplysninger om nogle kommandoer, og hvad de gør.
Jeg giver også eksempler for at illustrere processen.
Kommandolinjeværktøjet er kraftfuldt. Der findes værktøjer, der tager et kedeligt job i en grafisk brugergrænseflade (UI) og gør det til en opgave, der tager et par sekunder. Fjernelse af de sidste fire linjer i hver række i en stor fil ville være en langvarig proces i et brugergrænsefladeprogram. En sådan opgave kan dog automatiseres med kommandolinjen.
De mest almindelige måder at åbne et terminalvindue i Ubuntu Linux er:
Der er mange kommandoer, der er forbundet med Terminal Shell i Ubuntu Linux. Artiklen nedenfor viser de mest almindeligt anvendte under de grupper, de påvirker.
Der er tre hovedkommandoer, som vi bruger til at give alle de oplysninger, der kræves for at bruge de forskellige terminalkommandoer.
Kommandoen man viser manualen for alle kommandoer, der bruges i terminalen.
De fleste shell-kommandoer accepterer forskellige muligheder. Hvis du vil have oplysninger om en kommando og en liste over de tilgængelige indstillinger, skal du bruge ikonet man
- forkortelse for manuel kommando. Angiv navnet på den kommando, du vil finde mere om som argument. Det er det, der befaler man
Kommandoen virker 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 eller ARROW
eller tasterne Page Up og Page Down for 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.
Vi kan se fra man-siden, at vi kan bruge -a
Mulighed for at få vist flere oplysninger om 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, man
Kommandoen kan også give oplysninger om skaller, funktioner og biblioteker.
Hvis du ikke er sikker på, hvordan du bruger en bestemt kommando, skal du køre kommandoen med -h
eller –help
Skifter. Du kan se brugsoplysninger og en liste over indstillinger, som du kan bruge med kommandoen.
Eksempel: Hvis du vil vide, hvordan du bruger wget
kommando, skriv 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 lettere at læse outputtet kan du pipe
det gennem mindre kommando. Hvilket giver dig mulighed for at rulle gennem det med markøren eller PILETASTERNE på dit tastatur.
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 mulighed kan du pipe
outputtet gennem grep
kommando. (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
system. Oplysningerne her supplerer, hvad man
kommando vises.
Eksempel: Indtast kommandoen info ls,
Følgende output vises.
[support@support]$" info ls
Du kan nu se en manual med vigtige oplysninger om ls
kommando.
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 ned ad siden ved at trykke på mellemrumstasten eller ved hjælp af markøren/ARROW
Nøgler.
help
, tryk på Hquit
, tryk på Q
Du kan gøre næsten alt i en terminal, som du også ville gøre fra en brugergrænseflade.
Som sagt før blev mange kommandoer designet først til at arbejde i terminalen, og derefter blev en brugergrænseflade sat på toppen. 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 nuværende mappe ved hjælp af .
operatør. De fleste kommandoer skelner mellem store og små bogstaver, når de reagerer på det aktuelle mappevalg, fungerer på kommandoer, placeringer og filer. /home
er ikke det samme som /HOME
eller /Home
.
Brug tabulatortasten til at udfylde filnavne, hvis du har en lang drivertitel. driver-128947232jaseu.sh
Skriv f.eks. dri
og det kommer ind i 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øv igen. Sørg for, at auto helt matcher det, du vil se.
Næsten enhver kommando kan læses fuldt ud ved hjælp af man
side eller ved at skrive -h
eller --help
efter at have skrevet 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 af info command_name
. De fleste af disse kommandoer, som er en del af coreutils-pakken. Du kan finde info
samt ved hjælp af info coreutils command_name
Aktivering, hvor den kommando, der søges efter, erstatter command_name
.
Næsten alle kommandoer kan vise nøjagtigt, hvad der sker, trin for trin. Dette er normalt -v
eller --verbose
.
Du kan angive flere kommandoflag til en kommando på et tidspunkt for at få flere oplysninger. Se ls -al
Eksempel nedenfor.
Kommandonavne er ikke altid indlysende - på grund af pladsbegrænsninger i UNIX's gamle dage, at de blev forkortet, og disse konventioner sad fast.
cd
– Flytter dig tilbage til start, samme som cd ~
cd..
– Fører dig en mappe tilbage. Starter i /home/user/Desktop
, cd..
sætter dig ind i /home/user
. Dette kan udvides til cd ../../
hvilket flytter dig to mapper tilbage til /home
.
cd foldername/
– Flytter dig videre til den angivne mappe i den aktuelle mappe.
/
, er det 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
. Maskinskrivning /
før det placerer os i roden af filsystemet, som ikke ville fungere.
cd /some/other/path
– Fører dig til den angivne mappesti. Hvis du fik stien rigtigt. Glem ikke, at du kan bruge TAB
nøgle til autofuldfø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,
filstørrelser i stedet for bytes. Det bruges oftest sammen med -l
flag.
Du kan se filer i mapper, du ikke engang er i. Hvis jeg er i /home/user/Desktop
og jeg vil se en fil i /home/user
, kan jeg gøre ls ../
som viser filerne en 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 det cp *.doc /path/to/folder
Og mappen skal findes.
cp name* /path/to/folder
- Kopierer alle filer, der starter med name
til den givne mappe. Sådan kopierer du alle filer, der starter med example
, bliver det cp example* /path/to/folder
Og mappen skal allerede eksistere.
Syntaksen for mv
ligner eksemplet ovenfor med cp
undtaget, for eksempel # 2. mv
tager ikke -r
Flag, da flytning af 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.
Fjerner filer ved hjælp af rm
er permanent. Kommandoen bruger ikke papirkurven. Vær forsigtig , og sørg for, at du sletter præcis det, du ønsker, før du trykker på knappen Enter
-tasten. Hvis du overkomplicerer dine slettekommandoer, ender det aldrig godt.
rm file
- Fjern den specifikke fil fra computeren.
rm -r folder
- Fjern den specifikke mappe fra computeren.
rm -rf folder
- Fjerner den specifikke mappe kraftigt fra computeren. Denne kommando kan ødelægge din konfiguration, hvis den bruges forkert.
Du kan redigere filer ved hjælp af nano
i en terminal for at lave hurtige og grove filer helt op til fulde konfigurationer. Det kan være nyttigt, men det håndterer almindelige tekstfiler og programmeringsfiler, så ting som Microsoft Word-dokumenter åbnes ikke korrekt.
Hvis roden ejer en fil, kan en almindelig bruger ikke redigere den. nano
skal have præfikset med sudo
; for at gemme ændringer. 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å knappen CTRL+O
tasterne sammen, og enten ændre navnet eller trykke på Enter
nøgle for at beholde det samme navn. Dette gemmer filen.
Afslut. nano
ved at bruge CTRL+X
nøgler sammen. Hvis du har ændringer, der ikke er gemt, 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. Sådan opretter du en mappe /home/user/1stfolder/2ndfolder
, og kun /home/user
findes, ved hjælp af mkdir -p
Gør begge mapper 1stfolder,
og 2ndfolder
.
ps aux
- Viser alle processer i detaljer, der kører på computeren. Dette omfatter bruger, proces-id PID,
og navnet på processen. Du kan bruge denne kommando til at få vist proceslisten, og hvis det er nødvendigt, kan du afbryde unødvendige eller fastfrosne processer.
kill PID
– PID er et tal, der refererer til en fejlbehandlingsproces. Du skal hente PID fra en kommando som ps aux
. Hvis en proces nægter at dø, kan du også angive kill -9 PID
som skal afslutte processen på nogen måde.
killall program
– Killall
Dræber by name
Alle forekomster af listed program
. Hvis der f.eks. er 3 Firefox-internetbrowsersessioner åbne, killall Firefox
gør præcis det, dræber alle Firefox-sessioner. kill
ville tage den angivne PID af den krænkende Firefox-proces, som du kun vil dræbe og dræbe den.
xkill
er en brugergrænseflade måde at klikke og dræbe vinduer på. Indtastning xkill
skal frembringe et kranie-og-krydsben-ikon, og det næste vindue, der klikkes på, dræbes.
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 onlineressourcer for at få flere oplysninger om pipes
og deres brug, da der er mængder, der er skrevet på dem.
>
bruges til overwrite
De eksisterende filers indhold ved at erstatte dem med outputtet fra den nye kommando.
>>
bruges til append
oplysninger til de eksisterende filer. Dette er nyttigt i forbindelse med logføring af handlinger.
Example:
ps aux > processes.log
sender outputtet af ps aux
til filen processes.log
til visning af kommandooutputtet i en teksteditor og overskriver det aktuelle indhold af filen.
tee
bruges sammen med en |
for at tage kommandoudgangen og sende den 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 første opstartsoplysninger. Ikonet |
sender outputtet af dmesg
til tee
, som derefter gør sit arbejde 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? Ikonet ./
operatør kan køre filen som en normal bruger, forudsat at du ikke har brug for root-rettigheder. ./
bogstaveligt betyder in the current directory
Så det virker ikke på filer uden for den nuværende mappe.
Hvis du vil køre en fil, der ikke er i den aktuelle mappe, skal du passere stien til det korrekte kørende program. Hvis det er et python-program, er det python /path/to/file
Og hvis det er en shell-fil, er det sh /path/to/file
som et eksempel. Der er andre programmer, men disse 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ører scriptet med root-rettigheder.
Hvis du vil køre et brugergrænsefladeprogram fra terminalen, skal du skrive programnavnet - case sensitive!
Og det lanceres. Dette gør den aktuelle terminal ubrugelig. Lukning af terminalen, mens programmet er åbent, dræber også programmet. En bedre måde er at baggrunden programmet ved hjælp af program_name
og derefter skrive ordet exit
på terminalen for at lukke den og holde processen kørende.
Hvis du vil køre et brugergrænsefladeprogram med root-rettigheder fra terminalen, skal du præfikse det med gksudo
eller gksu
og ikke sudo
. Bruge sudo
At starte brugergrænsefladeapplikationer er en dårlig vane og bør undgås.
Gøre not
brug sudo
Kun fordi noget bringer op Operation not permitted.
Husk, at du kan destroy
computere ved at køre kommandoer på det forkerte sted med root-rettigheder. Sørg for, at dine filer kommer fra velrenommerede kilder.
Er du blevet væk i en mappe? Skriv pwd
for at udskrive arbejdsmappe.
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 netop det. Vil du beregne størrelsen på den aktuelle mappe? du -cksh
.
Vil du markere en eksekverbar fil? chmod +x filename
gør det.
Du skal montere en iso? Linux har denne funktionalitet indbygget. Opret en mappe et eller andet sted, siger /home/user/isomount
og udstede kommandoen mount -o loop /path/to/myisofile.iso /home/user/isomount
og indholdet er monteret inde i den mappe.
Når du har kørt en kommando, skal du køre den igen, men du kan ikke huske præcis, hvordan det gik? Skriv history
ind i terminalen, og den udskriver din kommandohistorik. Vil du rydde historikken? history -c
Sletter oplysningerne.