I denne artikkelen forklarer jeg hvordan du bruker de innebygde terminalkommandoene til å gi informasjon om enkelte kommandoer og hva de gjør.
Jeg gir eksempler som illustrerer prosessen også.
Kommandolinjeverktøyet er kraftig. Det finnes verktøy som tar den langtekkelige jobben i et grafisk grensesnitt (GUI) og gjør den om til en oppgave som tar noen få sekunder. Det å fjerne de fire siste linjene i hver rad i en stor fil vil ta lang tid i en GUI-applikasjon. Prosessen kan imidlertid automatiseres på kommandolinjen.
De vanligste måtene å åpne et terminalvindu på i Ubuntu Linux er:
Det finnes mange kommandoer som er knyttet til terminalskallet i Ubuntu Linux. Artikkelen nedenfor viser de mest brukte artiklene under gruppene de påvirker.
Det finnes tre hovedkommandoer som vi bruker til å gi all nødvendig informasjon for å bruke de ulike terminalkommandoene.
man-kommandoen viser håndboken for enhver kommando som brukes i terminalen.
De fleste skallkommandoer godtar ulike alternativer. Hvis du vil ha litt informasjon om en kommando og en liste over de tilgjengelige alternativene, kan du bruke man
en forkortelse for manuell kommando. Oppgi navnet på kommandoen du vil finne mer om som argument. Det er den kommandoen man
som fungerer på.
Eksempel: Hvis du angir kommandoen man who
, vises følgende utdata.
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 av håndbøkene dekker flere skjermbilder. Bruk markøren/ARROW
tastene eller page up/page down-tastene til å navigere gjennom teksten. Mellomromstasten viser neste tekstlinje. Hvis du trykker på q-tasten, avslutter du håndboken og går tilbake til skallet.
Vi kan se fra man-siden at vi kan bruke -a
alternativet til å vise mer informasjon om de aktive brukerøktene.
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 leser også hjelpefiler for programmer. man
Kommandoen kan også gi informasjon om skall, funksjoner og biblioteker.
Hvis du ikke er sikker på hvordan du bruker en bestemt kommando, kjører du kommandoen med -h
eller –help
svitsjene. Du ser bruksinformasjon og en liste over alternativer som du kan bruke med kommandoen.
Eksempel: Hvis du vil vite hvordan du bruker wget
kommandoen, skriver du inn 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 skriver ofte mye informasjon til terminalen. Den kan være tung å bla gjennom. Hvis du vil lese utdataene på en enklere måte, kan pipe
du bruke den med mindre kommando. Dette gjør det mulig å bla gjennom utdataene med markøren/piltastene 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.
:
Trykk på q for å lukke less-verktøyet når du er ferdig.
Hvis du vil finne et bestemt alternativ, kan pipe
du bruke kommandoen grep
. (Eksempel: Bruk følgende kommando til å søke etter alternativer som inneholder 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:~$
Noen kommandoer er også dokumentert inne i info
systemet. Informasjonen her utfyller hva man
kommandoen viser.
Eksempel: Skriv inn kommandoen info ls,
følgende utdata vises.
[support@support]$" info ls
Du kan nå vise en håndbok med viktig informasjon 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 bla nedover på sidene ved å trykke på mellomromstasten eller ved hjelp av markøren/ARROW
tastene.
help
trykker du på Hquit
Du kan gjøre nesten hva som helst i en terminal som du også ville gjort fra et GUI.
Som tidligere nevnt ble mange kommandoer utformet først for å fungere i terminalen, og deretter ble et GUI lagt på toppen. Dette er grunnen til at mange GUI-er virker upraktiske – i starten ble de lagt til i etterkant, siden de fleste versjoner av Linux-servere ikke bryr seg med dem.
Terminalen åpnes fra menyen i hjemmemappen din som standard. Kjent som ~
Du kan finne gjeldende katalog av .
operatøren. De fleste kommandoer som bruker gjeldende mappevalg, opererer med kommandoer, plasseringer og filer som skiller mellom store og små bokstaver. /home
er ikke det samme som /HOME
eller /Home
.
Bruk TAB-tasten til å fullføre filnavn hvis du har en lang drivertittel. driver-128947232jaseu.sh
Skriv for eksempel inn dri
og angi resten. Forutsatt at du ikke har to navn som begynner med dri
, og hvis du gjør det, legger du til et annet tegn for å gjøre det driv
og prøver på nytt. Kontroller at autofullfør samsvarer med det du vil se.
Nesten alle kommandoer kan leses om i sin helhet ved hjelp man
av siden eller ved å skrive -h
eller --help
etter at du har skrevet den første kommandoen. Denne syntaksen er enten man command_name
ellercommand_name --help
command_name -h
.
Hvis du vil ha mer informasjon, kan du bruke info. En kommando kan søkes etter ved hjelp info command_name
av . For de fleste av disse kommandoene som er en del av coreutils-pakken, Du kan også finne info
ut hvordan du bruker info coreutils command_name
invocation der kommandoen søkte etter erstattercommand_name
.
Nesten alle kommandoer kan vise nøyaktig hva som skjer, trinn for trinn. Dette er vanligvis -v
eller --verbose
.
Du kan få mer informasjon ved å angi flere kommandoflagg for en kommando samtidig. Se eksemplet ls -al
nedenfor.
Kommandonavn er ikke alltid åpenbare – på grunn av plassbegrensninger i gamle dager i UNIX at de ble forkortet, og at disse konvensjonene ble sittende fast.
cd
– Tar deg tilbake til home (hjem), i liket med cd ~
cd..
– Tar deg én katalog tilbake. Start i /home/user/Desktop
, cd..
setter deg inn i /home/user
. Dette kan utvides slik at du går tilbake til cd ../../
to kataloger./home
cd foldername/
– Tar deg videre til den angitte mappen i gjeldende mappe.
/
er en viktig utelatelse. Hvis jeg er med /home/user
og jeg ønsker å komme til Desktop
. Jeg må skrive uten cd Desktop/
/
før Desktop
. Skrive /
før det plasserer oss i roten av filsystemet som ikke ville fungere.
cd /some/other/path
– Tar deg til den angitte mappebanen. Hvis du har riktig bane, Ikke glem at du kan bruke TAB
nøkkelen til å autofullfør.
ls
– Oppgir alle filene i gjeldende mappe.
ls -l
– Gir en lengre liste som inkluderer eiere, tillatelser, størrelse og dato for endring.
ls -a
– Viser de skjulte filene og mappene i tillegg til den vanlige listen.
ls -al
– Kombinerer to alternativer for å vise både skjulte filer og mapper i det lange formatet.
ls -h
– Viser filstørrelser i filstørrelser i lesbart format KB, MB, GB,
i stedet for byte. Den brukes vanligvis med -l
flagget.
Du kan vise filer i kataloger du ikke engang er i. Hvis jeg er med /home/user/Desktop
og jeg vil vise en fil i /home/user
, kan jeg gjøre ls ../
det som viser filene én katalog tilbake.
cp file /path/to/folder
– Kopierer den angitte filen til en angitt bane.
cp -r folder /path/to/folder
– Kopierer innholdet i mappen til en annen mappe gjentatte ganger.
cp *.extension /path/to/folder
– Kopierer filene som samsvarer med den angitte utvidelsen, til en ny mappe. Hvis du vil kopiere alle .doc-filer, blir cp *.doc /path/to/folder
det, og mappen må finnes.
cp name* /path/to/folder
– Kopierer alle filene som begynner med name
, til den angitte mappen. Hvis du vil kopiere alle filene som begynner med example
, blir cp example* /path/to/folder
det, og mappen må allerede eksistere.
Syntaksen mv
ligner på eksemplet ovenfor med cp
unntak for eksempel #2. mv
tar ikke flagget siden flytting av -r
en mappe også flytter innholdet. Syntaksen er ikke nøyaktig i alle tilfeller, men fungerer med eksemplene ovenfor. Se håndboksidene for mer informasjon.
Fjerning av filer som bruker rm
, er permanent. Den bruker ikke papirkurven. Vær forsiktig når du bruker dette, og kontroller at du sletter nøyaktig det du ønsker, før du trykker på tasten Enter
. Hvis du overkompliserer slettekommandoene dine, slutter det aldri som det skal.
rm file
– Fjern den spesifikke filen fra datamaskinen.
rm -r folder
– Fjern den spesifikke mappen fra datamaskinen.
rm -rf folder
– Fjerner den spesifikke mappen kraftig fra datamaskinen. Denne kommandoen kan ødelegge konfigurasjonen din hvis den brukes på feil måte.
Du kan redigere filer ved hjelp av nano
en terminal for å gjøre raske og grove filer helt opp til fulle konfigurasjoner. Det kan være nyttig, men det håndterer filer med ren tekst og programmeringsfiler, slik at ting som Microsoft Word-dokumenter ikke åpnes på riktig måte.
Hvis roten eier en fil, kan ikke en vanlig bruker redigere den. nano
må være prefiks med sudo
; for å kunne lagre endringene. Den åpnes i skrivebeskyttet modus ellers.
nano newfile.whatever
av det angitte navnet og åpner det for redigering.
nano existing_file
– åpner den eksisterende filen for redigering.
Fra innsiden av nano
Lagre filen ved å trykke tastene CTRL+O
sammen, og enten endre navnet eller trykke på tasten Enter
for å beholde samme navn. Dette lagrer filen.
Avslutt nano
ved å bruke tastene CTRL+X
sammen. Hvis du har ulagrede endringer, blir du spurt om du vil lagre dem.
mkdir folder_name
– Oppretter mappen med det angitte navnet
mkdir -p /path/to/folder/name
– Oppretter hver mappe etter behov. Hvis du vil opprette en mappe /home/user/1stfolder/2ndfolder
, og den bare /home/user
finnes, mkdir -p
brukes begge katalogene 1stfolder,
og 2ndfolder
.
ps aux
– Oppgir alle prosessene som kjører på datamaskinen i detalj. Dette inkluderer bruker, prosess-ID PID,
og prosessnavn. Ved hjelp av dette kan du vise prosesslisten, og om nødvendig kan du avslutte unødvendige eller fastlåste prosesser.
kill PID
– PID er et nummer som refererer til den avvikende prosessen. Du bør hente PID-en fra en kommando som ps aux
. Hvis en prosess nekter å dø, kan du også angi kill -9 PID
hvilken som skal avslutte prosessen på en hvilken som helst måte.
killall program
– Killall
lukker by name
alle forekomster av listed program
. Hvis det for eksempel er tre åpne Firefox-nettleserøkter, killall Firefox
må du avslutte alle Firefox-økter. kill
vil ta den angitte PID-en for den avvikende Firefox-prosessen som du vil avslutte og avslutte den ene.
xkill
er en GUI-metode for å klikke på og lukke vinduer. Når du skriver inn, xkill
skal det åpne et skalleikon og kryssbein, og det neste vinduet du klikker på, blir slått av.
Pipes
vises som en straight bar,
annen, kjent som |
nøkkelen.
Denne tasten brukes sjelden i Windows, men er ofte plassert på tasten for omvendt skråstrek.
Disse brukes til å koble kommandoer sammen. Pipes
tar utdataene fra én kommando og ruter dem, slik at de brukes som inndata for en annen kommando når de er koblet sammen.
Se ressurser på Internett for å få mer informasjon om pipes
og bruken deres ettersom det finnes volumer som er skrevet på dem.
>
brukes til innholdet i de eksisterende filene ved å overwrite
erstatte dem med utdataene fra den nye kommandoen.
>>
brukes til informasjon append
om de eksisterende filene. Dette er nyttig for logging.
Example:
ps aux > processes.log
sender utdataene ps aux
fra til filen processes.log
for å vise kommandoutdataene i et tekstredigeringsprogram og overskriver det gjeldende innholdet i filen.
tee
brukes sammen med en |
for å ta kommandoen ut og sende den et annet sted. Dette er nyttig hvis det oppstår feil som du overser. Dermed blir alt på skjermen også samlet i en fil.
Eksempel: dmesg
| tee boot.txt
kjører kommandoen dmesg
som viser den første oppstartsinformasjonen. Sender |
utdataene dmesg
til tee
, som deretter gjør jobben sin ved å sende den til terminalen og til loggfilen boot.txt
.
Vil du kjøre en fil i gjeldende katalog etter at den er merket som kjørbar? Operatøren ./
kan kjøre filen som en vanlig bruker, forutsatt at du ikke trenger rotrettigheter. ./
betyr det at in the current directory
det ikke fungerer på filer utenfor den nåværende katalogen.
Hvis du vil kjøre en fil som ikke er i den gjeldende katalogen, må du sende banen til riktig kjøreprogram. Hvis det er et Python-program, er python /path/to/file
det, og hvis det er en skallfil, er sh /path/to/file
det som et eksempel. Det finnes andre programmer, men disse er de vanligste.
Hvis du vil kjøre en fil med rotrettigheter fordi du har mottatt operation not permitted?
. Du må prefikse kommandoen med sudo
. Som med eksemplet ovenfor kjører sudo python /path/to/file
skriptet med rotrettigheter.
Hvis du vil kjøre et GUI-program fra terminalen, skriver du inn programnavnet og case sensitive!
starter. Dette gjør gjeldende terminal ubrukelig. Hvis du lukker terminalen mens programmet er åpent, avsluttes programmet også. En bedre måte er å sette programmet i bakgrunnen ved å bruke program_name
og skrive ordet exit
i terminalen for å lukke det og holde prosessen i gang.
Hvis du vil kjøre et GUI-program med rotrettigheter fra terminalen, prefikser du det med gksudo
eller gksu
ikke sudo
. Det er en dårlig vane å bruke sudo
til å starte GUI-applikasjoner og bør unngås.
sudo
Bruk not
bare fordi noe dukker oppOperation not permitted.
. Husk at du kan destroy
bruke datamaskiner ved å kjøre kommandoer på feil sted med rotrettigheter. Sørg for at filene kommer fra pålitelige kilder.
Har du gått deg vill i en mappe? Skriv inn pwd
for å skrive ut arbeidskatalogen.
Vil du beregne diskplassen din? df -h
kan gi deg en rask beregning.
Vil du beregne størrelsen på en mappe eller fil? du -cksh target_name
gjør akkurat det. Vil du beregne størrelsen på gjeldende mappe? du -cksh
.
Vil du merke en fil som kjørbar? chmod +x filename
gjør dette.
Må du montere en iso? Linux har denne funksjonaliteten innebygd. Opprett en katalog et sted, for eksempel /home/user/isomount
og utstede kommandoen mount -o loop /path/to/myisofile.iso /home/user/isomount
, og innholdet er montert i denne mappen.
Når du har kjørt en kommando, må du kjøre den på nytt, men du kan ikke huske nøyaktig hvordan den gikk? Skriv inn history
i terminalen, og skriv ut kommandohistorikken din. Vil du slette historikken din? history -c
sletter informasjonen.