I den här artikeln förklarar jag hur du använder de inbyggda terminalkommandona för att ge information om vissa kommandon och vad de gör.
Jag tillhandahåller även exempel för att illustrera processen.
Kommandoradsverktyget är kraftfullt. Det finns verktyg som tar ett omständligt jobb i ett grafiskt användargränssnitt (GUI) och gör om det till en uppgift som tar några sekunder. Att ta bort de fyra sista raderna i varje rad i en stor fil skulle vara en tidskrävande process i ett GUI-program. Det kan dock automatiseras på kommandoraden.
De vanligaste sätten att öppna ett terminalfönster i Ubuntu Linux är:
Det finns många kommandon som är kopplade till terminalskalet i Ubuntu Linux. I artikeln nedan anges de vanligaste, under de grupper de påverkar.
Det finns tre huvudkommandon som vi använder för att ge all information som behövs för att använda de olika terminalkommandona.
Kommandot man visar manualen för alla kommandon som används i terminalen.
De flesta skalkommandon har olika alternativ. Om du vill ha information om ett kommando och en lista över tillgängliga alternativ använder du man
kortkommandot för manuella kommandon. Ange namnet på det kommando som du vill hitta mer information om som argument för det. Det är det kommando man
som kommandot fungerar på.
Exempel: Om du anger kommandot man who
visas följande 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
Många manualer är flera skärmar långa. Använd markören/ARROW
tangenterna eller page up/page down-tangenterna för att navigera genom texten. På blankstegstangenten visas nästa textrad. Tryck på tangenten q för att avsluta manualen och återgå till skalet.
På sidan Man kan vi se att vi kan använda -a
alternativet för att visa mer information om sessionerna för aktiva användare.
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]$
Det läser även hjälpfiler för program. man
Kommandot kan även ge information om skal, funktioner och bibliotek.
Om du är osäker på hur du använder ett visst kommando kör du kommandot med switcharna -h
–help
. Du ser användningsinformation och en lista med alternativ som du kan använda med kommandot.
Exempel: Om du vill veta hur du använder wget
kommandot skriver wget –help
du 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:
Detta skriver ofta ut mycket information till terminalen, som kan vara besvärligt att bläddra igenom. Om du vill läsa utdata enklare kan pipe
du använda kommandot less . Då kan du använda markören/PIL-tangenterna på tangentbordet för att bläddra.
Exempel: 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.
:
Tryck på q för att stänga verktyget less när du är klar.
Om du vill hitta ett specifikt alternativ kan pipe
du använda utdata via grep
kommandot. (Till exempel: Använd följande kommando för att söka efter alternativ som innehåller 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:~$
Vissa kommandon dokumenteras också i info
systemet. Informationen här kompletterar vad man
kommandot visar.
Exempel: Ange kommandot info ls,
som följande utdata visas.
[support@support]$" info ls
Du kan nu visa en handbok med viktig information om ls
kommandot.
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 bläddra nedåt på sidorna genom att trycka på tangenten på blanksteg eller genom att använda markören/ARROW
tangenterna.
help
på Hquit
Du kan göra nästan vad som helst i en terminal, som du även gör från ett GUI.
Som vi sa tidigare har många kommandon först utformats för att fungera i terminalen och sedan har ett grafiskt användargränssnitt lagts på. Därför kan vissa grafiska användargränssnitt kännas klumpiga – de kom till i efterhand eftersom de flesta Linux-serverversioner inte bryr sig om dem.
Standardplatsen för terminalen som öppnas genom menyn är hemmappen. Visas som ~
Du hittar den aktuella katalogen av operatören .
. De flesta kommandon som används för det aktuella mappvalet, används på kommandon, platser och filer, är skiftlägeskänsliga. /home
är inte samma som /HOME
eller /Home
.
Använd TAB-tangenten för att fylla i filnamn om du har en lång drivrutinstitel. driver-128947232jaseu.sh
skriver du dri
t.ex. in resten. Förutsatt att du inte har två namn som börjar med dri
och om du gör det lägger du till ytterligare ett tecken för att göra det driv
och försöker igen. Se till att den automatiska kompletteringen matchar det du vill använda.
Nästan alla kommandon kan läsas om i sin helhet på man
sidan eller genom att -h
skriva eller --help
efter att det första kommandot har skrivits. Den här syntaxen är antingen man command_name
command_name -h
ellercommand_name --help
.
Om du vill ha ännu mer information kan du använda info. Du kan söka efter ett kommando med hjälp info command_name
av . De flesta av dessa kommandon ingår i coreutils-paketet. Du kan också hitta info
och använda info coreutils command_name
aktivering där kommandot sökte efter ersättningarcommand_name
.
Nästan alla kommandon kan visa exakt vad som händer, steg för steg. Det här är vanligtvis det eller -v
--verbose
.
Du kan ange flera kommandoflaggor för ett kommando åt gången för att få mer information. Se exemplet ls -al
nedan.
Kommandonamn är inte alltid uppenbara – på grund av utrymmesbegränsningar i tidigare UNIX som de förkortades och dessa konventioner fastnar.
cd
– Flyttar dig tillbaka till hem, på samma sätt som cd ~
cd..
– Tar dig en katalog bakåt. Du kommer in i /home/user/Desktop
cd..
det./home/user
Detta kan utökas till cd ../../
vilket flyttar dig tillbaka två kataloger till /home
.
cd foldername/
– Flyttar dig framåt till den angivna mappen i den aktuella mappen.
/
som saknas är ett viktigt utelämnande. Om jag är i /home/user
och vill komma till Desktop
. Jag måste skriva cd Desktop/
utan /
föregående Desktop
. När du /
skriver tidigare placeras vi i roten på filsystemet, vilket inte fungerar.
cd /some/other/path
– Tar dig till den angivna mappsökvägen Om du har rätt sökväg. Glöm inte att du kan använda tangenten TAB
för automatisk komplettering.
ls
– Listar alla dina filer i den aktuella mappen.
ls -l
– Tillhandahåller en längre lista med bland annat ägare, behörigheter, storlek och ändringsdatum.
ls -a
– Visar de dolda filerna och mapparna och den vanliga listan.
ls -al
– Kombinerar två alternativ för att visa både dolda filer och mappar och visa det långa formatet.
ls -h
– Visar filstorlekar i läsbart format KB, MB, GB,
istället för byte. Den används oftast med -l
flaggan.
Du kan visa filer i kataloger som du inte ens befinner dig i. Om jag är i /home/user/Desktop
och vill visa en fil i /home/user
, kan jag göra ls ../
som listar filerna en katalog tillbaka.
cp file /path/to/folder
– Kopierar den angivna filen till den angivna sökvägen.
cp -r folder /path/to/folder
– Kopierar innehållet i mappen upprepade gånger till en annan mapp.
cp *.extension /path/to/folder
– Kopierar de filer som matchar det angivna filnamnstillägget till den nya mappen. Om du vill kopiera alla .doc-filer blir cp *.doc /path/to/folder
det och mappen måste finnas.
cp name* /path/to/folder
– Kopierar alla filer från name
den angivna mappen. Om du vill kopiera alla filer som börjar med example
blir cp example* /path/to/folder
det och mappen måste redan finnas.
Syntaxen mv
liknar exemplet ovan med cp
undantag för exempel 2. mv
flaggan eftersom -r
innehållet också flyttas när du flyttar en mapp. Syntaxen är inte exakt densamma i alla instanser, men fungerar med exemplen ovan. Mer information finns på manualsidorna.
Borttagning av filer är rm
permanent. Papperskorgen används inte. Var försiktig och se till att du tar bort exakt det du vill ha innan du trycker på tangenten Enter
. Om du överför borttagningskommandona slutar det aldrig på ett bra sätt.
rm file
– Ta bort den specifika filen från datorn.
rm -r folder
– Ta bort den specifika mappen från datorn.
rm -rf folder
– Tar bort den specifika mappen med två olika åtgärder från datorn. Det här kommandot kan trassla till din konfiguration om det används felaktigt.
Du kan redigera filer i nano
en terminal för att göra snabba och ojämna filer hela vägen upp till fullständiga konfigurationer. Det kan vara användbart, men det hanterar oformaterade textfiler och programmeringsfiler, så saker som Microsoft Word-dokument öppnas inte på rätt sätt.
Om roten äger en fil kan en vanlig användare inte redigera den. nano
måste prefixet anges för att ändringarna ska sparas sudo
. Annars öppnas den i skrivskyddat läge.
nano newfile.whatever
för det angivna namnet och öppnar den för redigering.
nano existing_file
– öppnar den befintliga filen för redigering.
Inifrån nano
Spara filen genom att trycka på tangenterna CTRL+O
samtidigt och ändra antingen namnet eller tryck på tangenten Enter
för att behålla samma namn. Då sparas filen.
Avsluta nano
genom att använda tangenterna CTRL+X
tillsammans. Om du har ändringar som inte har sparats blir du tillfrågad om du vill spara dem.
mkdir folder_name
– Skapar mappen med det angivna namnet
mkdir -p /path/to/folder/name
– Skapar varje mapp efter behov. Om du vill skapa mappen /home/user/1stfolder/2ndfolder
och endast /home/user
finns använder du mkdir -p
både kataloger 1stfolder,
och 2ndfolder
.
ps aux
– Listar alla processer som körs i datorn i detalj. Detta inkluderar användare, process-ID PID,
och processnamn. Med det kan du visa processlistan och vid behov avsluta onödiga eller fördröjda processer.
kill PID
– PID är ett nummer som refererar till den felaktiga processen. Du bör hämta PID från ett kommando som ps aux
. Om en process inte avslutas kan du också ange kill -9 PID
på något sätt vilken som ska avsluta processen.
killall program
– Killall
alla förekomster by name
av den listed program
. Om det till exempel finns tre Firefox-webbläsarsessioner öppna avslutas killall Firefox
alla Firefox-sessioner. kill
tar det angivna PID för den felaktiga Firefox-processen som du vill avsluta och avsluta den enda.
xkill
är ett GUI-sätt att klicka och avsluta fönster. Om du xkill
skriver in bör en ikon för skalle och korslagda benben visas, och nästa fönster som du klickar på stängs.
Pipes
visas som en straight bar,
tangent som annars kallas för tangenten |
.
Det är en tangent som sällan används i Windows. Den finns ofta på tangenten med omvänt snedstreck.
De används för att länka samman kommandon. Pipes
tar utdata från ett kommando och dirigerar dessa så att de används som indata för ett andra kommando när de är sammankopplade.
Konsultera onlineresurser för mer information om pipes
och deras användning eftersom det finns volymer som skrivs om dem.
>
används till overwrite
innehållet i befintliga filer genom att ersätta dem med utdata från det nya kommandot.
>>
används för att append
information till befintliga filer. Detta är användbart för loggningsåtgärder.
Example:
ps aux > processes.log
skickar utdata ps aux
från filen processes.log
för att visa kommandoutdata i en textredigerare och skriver över det aktuella innehållet i filen.
tee
används tillsammans med ett |
för att ta kommandoutdata och skicka det någon annanstans. Detta är användbart om det finns fel som du missat. På det här sättet fångas allt som händer på skärmen även till en fil.
Exempel: dmesg
| tee boot.txt
kör kommandot dmesg
som visar den första startinformationen. The |
skickar utdata dmesg
för till tee
, som sedan gör sitt jobb genom att skicka det till terminalen och till loggfilen boot.txt
.
Vill du köra en fil i den aktuella katalogen när den har markerats som körbar? Operatorn ./
kan köra filen som en normal användare förutsatt att du inte behöver rotbehörighet. ./
betyder in the current directory
bokstavligt talat så att det inte fungerar med filer utanför den aktuella katalogen.
Om du vill köra en fil som inte finns i den aktuella katalogen måste du skicka sökvägen till rätt program som körs. Om det är ett Python-program är python /path/to/file
det det, och om det är en skalfil är sh /path/to/file
det ett exempel. Det finns andra program, men dessa är de vanligaste.
Om du vill köra en fil med rotbehörighet för att du har fått den operation not permitted?
. Du måste prefixet kommandot med sudo
. Som i exemplet ovan sudo python /path/to/file
kör du skriptet med rotbehörighet.
Om du vill köra ett GUI-program från terminalen skriver du in programmets namn – case sensitive!
så startas det. Det gör den aktuella terminalen oanvändbar. Om du stänger terminalen medan programmet är öppet avslutas programmet också. Ett bättre sätt är att lägga programmet i bakgrunden genom att använda program_name
och sedan skriva ordet exit
i terminalen för att stänga det och hålla processen igång.
Om du vill köra ett GUI-program med rotbehörighet från terminalen prefixet med gksudo
eller gksu
inte sudo
. Att använda sudo
för att starta GUI-program är en dålig vana och bör undvikas.
Använd not
sudo
bara för att något tar Operation not permitted.
hänsyn till att du kan destroy
ha datorer i åtanke genom att köra kommandon på fel plats med rotbehörighet. Se till att filerna kommer från tillförlitliga källor.
Har du tappat bort dig i en katalog? Skriv pwd
in för att skriva ut arbetskatalogen.
Vill du beräkna diskutrymmet? df -h
kan snabbt ge dig en siffra.
Vill du beräkna storleken på en mapp eller fil? du -cksh target_name
gör exakt det. Vill du beräkna storleken på den aktuella mappen? du -cksh
.
Vill du markera en fil som körbar? chmod +x filename
gör det.
Måste du montera en iso? Linux har den här funktionen inbyggd. Skapa en katalog någonstans, säg /home/user/isomount
och utfärda, kommandot mount -o loop /path/to/myisofile.iso /home/user/isomount
och innehållet är monterat i den mappen.
När du har kört ett kommando måste du köra det igen, men kommer inte ihåg exakt hur det gick? Skriv history
in i terminalen så skrivs din kommandohistorik ut. Vill du rensa historiken? history -c
raderar informationen.