I den här artikeln förklarar jag hur du använder Terminal-kommandona för att ge information om vissa kommandon och vad de gör.
Jag ger också exempel för att illustrera processen.
Kommandoradsverktyget är kraftfullt. Det finns verktyg som tar ett tråkigt jobb i ett grafiskt användargränssnitt (UI) och gör 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 lång process i ett användargränssnittsprogram. 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. Artikeln nedan listar de vanligaste under de grupper som de påverkar.
Det finns tre huvudkommandon som vi använder för att tillhandahålla all information som krävs för att använda de olika terminalkommandona.
Kommandot man visar manualen för alla kommandon som används i terminalen.
De flesta gränssnittskommandon accepterar olika alternativ. Om du vill ha information om ett kommando och en lista över tillgängliga alternativ använder du man
- Förkortning för manuellt kommando. Ange namnet på det kommando som du vill läsa mer om som argument. Det är det som befaller man
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 eller ARROW
eller tangenterna Page Up och Page Down för att navigera genom texten. Mellanslagstangenten visar nästa textrad. Tryck på tangenten q för att avsluta manualen och återgå till skalet.
Vi kan se på manualsidan att vi kan använda -a
för att visa mer information om aktiva användarsessioner.
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 också hjälpfiler för program, man
kan också ge information om gränssnitt, funktioner och bibliotek.
Om du inte är säker på hur du använder ett visst kommando kör du kommandot med -h
eller –help
Växlar. Du ser användningsinformation och en lista över alternativ som du kan använda med kommandot.
Exempel: Om du vill veta hur du använder 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:
Detta skriver ofta ut mycket information till terminalen, som kan vara besvärligt att bläddra igenom. För att läsa utdata lättare kan du pipe
det genom det mindre kommandot. Vilket gör att du kan bläddra igenom den med markören eller piltangenterna på tangentbordet.
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.
För att hitta ett specifikt alternativ kan du pipe
utgången genom grep
befallning. (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 finns också dokumenterade i info
system. Informationen här kompletterar vad man
kommandot visas.
Exempel: Ange kommandot info ls,
Följande utdata visas.
[support@support]$" info ls
Du kan nu visa en manual med viktig information om ls
befallning.
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å sidan genom att trycka på mellanslagstangenten eller genom att använda markören/ARROW
Nycklar.
help
, tryck på Hquit
, tryck på Q
Du kan göra nästan vad som helst i en terminal, som du också skulle göra från ett användargränssnitt.
Som sagt tidigare utformades många kommandon först för att fungera i terminalen, och sedan lades ett användargränssnitt ovanpå. 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 din aktuella katalog med hjälp av .
operatör. De flesta kommandon är skiftlägeskänsliga när de påverkar det aktuella mappvalet, på kommandon, platser och filer. /home
är inte samma sak som /HOME
eller /Home
.
Använd TABB-tangenten för att fylla i filnamn om du har en lång drivrutinstitel. driver-128947232jaseu.sh
Skriv till exempel dri
och det går in i resten. Förutsatt att du inte har två namn som börjar med dri
Och om du gör det, lägg till ett annat tecken för att göra det driv
och försök igen. Se till att bilen helt matchar det du vill se.
Nästan alla kommandon kan läsas om i sin helhet med hjälp av man
sida eller genom att skriva -h
eller --help
efter att ha skrivit det första kommandot. Den här syntaxen är antingen man command_name
, command_name -h
eller command_name --help
.
Om du vill ha ännu mer information kan du använda info. Du kan söka efter ett kommando med hjälp av info command_name
. De flesta av dessa kommandon ingår i coreutils-paketet. Du kan hitta info
samt med hjälp av info coreutils command_name
anrop där kommandot som söktes efter ersätter command_name
.
Nästan alla kommandon kan visa exakt vad som händer, steg för steg. Detta är vanligtvis -v
eller --verbose
.
Du kan ange flera kommandoflaggor för ett kommando åt gången för att få mer information. Läs mer i ls -al
exempel nedan.
Kommandonamn är inte alltid självklara - på grund av utrymmesbegränsningar i UNIX gamla dagar förkortades de och dessa konventioner fastnade.
cd
– Flyttar dig tillbaka till hem, på samma sätt som cd ~
cd..
– Tar dig en katalog bakåt. Från och med /home/user/Desktop
, cd..
försätter dig i /home/user
. Detta kan utökas till cd ../../
som flyttar dig tillbaka två kataloger till /home
.
cd foldername/
– Flyttar dig framåt till den angivna mappen i den aktuella mappen.
/
är det ett viktigt utelämnande. Om jag är i /home/user
och jag vill komma till Desktop
. Jag måste skriva cd Desktop/
utan att /
före Desktop
. Maskinskrivning /
innan det placerar oss i roten av filsystemet som inte skulle fungera.
cd /some/other/path
– Tar dig till den angivna mappsökvägen Om du har rätt väg. Glöm inte att du kan använda TAB
för att komplettera automatiskt.
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,
filstorlekar i stället för byte. Det används oftast med -l
flagga.
Du kan visa filer i kataloger som du inte ens är i. Om jag är i /home/user/Desktop
och jag 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. För att kopiera alla .doc filer blir det cp *.doc /path/to/folder
och mappen måste finnas.
cp name* /path/to/folder
- Kopierar alla filer som börjar med name
till den angivna mappen. Så här kopierar du alla filer som börjar med example
blir det cp example* /path/to/folder
och mappen måste redan finnas.
Syntaxen för mv
liknar exemplet ovan med cp
Undantagna till exempel #2. mv
tar inte hänsyn till -r
flagga eftersom flytt av en mapp också flyttar dess innehåll. Syntaxen är inte exakt densamma i alla instanser, men fungerar med exemplen ovan. Mer information finns på manualsidorna.
Ta bort filer med rm
är permanent. Papperskorgen används inte. Använd detta med försiktighet och se till att du tar bort exakt vad du vill innan du trycker på Enter
tangenten. Om du överkomplicerar dina borttagningskommandon slutar det aldrig bra.
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 kraft från datorn. Det här kommandot kan trassla till din konfiguration om det används felaktigt.
Du kan redigera filer med nano
i en terminal för att göra snabba och grova filer hela vägen upp till fullständiga konfigurationer. Det kan vara användbart, men det hanterar vanliga textfiler och programmeringsfiler, så saker som Microsoft Word-dokument öppnas inte korrekt.
Om roten äger en fil kan en vanlig användare inte redigera den. nano
måste föregås av sudo
; för att spara ändringarna. Den öppnas i skrivskyddat läge annars.
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å CTRL+O
tangenterna tillsammans och antingen ändra namnet eller tryck på Enter
nyckel för att behålla samma namn. Då sparas filen.
Avsluta nano
Genom att använda CTRL+X
nycklar tillsammans. Om du har ändringar som inte har sparats får du en fråga 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. Så här skapar du en mapp /home/user/1stfolder/2ndfolder
, och endast /home/user
finns, med hjälp av mkdir -p
gör båda katalogerna 1stfolder,
och 2ndfolder
.
ps aux
- Listar alla processer i detalj som körs på datorn. Detta inkluderar användare, process-ID PID,
och processens namn. Med denna kan du visa processlistan och vid behov avsluta onödiga eller avstannade 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 vägrar att dö kan du också ange kill -9 PID
som bör avsluta processen på något sätt.
killall program
- Killall
Dödar by name
Alla instanser av listed program
. Om det till exempel finns 3 Firefox-webbläsarsessioner öppna, killall Firefox
gör exakt det, döda alla Firefox-sessioner. kill
skulle ta den angivna PID för den kränkande Firefox-processen som du vill döda och bara döda den.
xkill
är ett användargränssnitt sätt att klicka och döda fönster. Skriva in xkill
bör ta upp en dödskalle-och-benknotor-ikon och nästa klickade fönster dödas.
Pipes
visas som en straight bar,
även känd som |
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.
Läs onlineresurser för mer information om pipes
och deras användning eftersom det finns volymer som är skrivna på dem.
>
används för att 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 de befintliga filerna. Detta är användbart för loggningsåtgärder.
Example:
ps aux > processes.log
skickar utdata från ps aux
till filen processes.log
för att visa kommandoutdata i en textredigerare och skriva över det aktuella innehållet i filen.
tee
används tillsammans med en |
för att ta kommandot output 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
skulle köra kommandot dmesg
som visar den första startinformationen. Informationen |
skickar utdata från dmesg
till tee
, som sedan gör sitt jobb genom att skicka den 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? Informationen ./
kan köra filen som en vanlig användare förutsatt att du inte behöver root-rättigheter. ./
betyder bokstavligen in the current directory
så det fungerar inte på filer utanför den nuvarande 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 det python /path/to/file
och om det är en skalfil är det sh /path/to/file
som ett exempel. Det finns andra program, men dessa är de vanligaste.
Om du vill köra en fil med root-rättigheter eftersom du fick operation not permitted?
. Du måste lägga till kommandot som prefix med sudo
. Som i exemplet ovan, sudo python /path/to/file
Kör skriptet med root-rättigheter.
Om du vill köra ett användargränssnittsprogram från terminalen skriver du programnamnet - case sensitive!
och den lanseras. Detta gör den aktuella terminalen oanvändbar. Om du stänger terminalen medan programmet är öppet dödar du också programmet. Ett bättre sätt är att bakgrunds programmet, med hjälp av program_name
och sedan skriva ordet exit
på terminalen för att stänga den och hålla processen igång.
Om du vill köra ett användargränssnittsprogram med root-rättigheter från terminalen, prefixa det med gksudo
eller gksu
och inte sudo
. Användande sudo
Att starta användargränssnittsapplikationer är en dålig vana och bör undvikas.
Göra not
använd sudo
bara för att något väcker Operation not permitted.
Tänk på att du kan destroy
datorer genom att köra kommandon på fel plats med root-rättigheter. Se till att dina filer kommer från välrenommerade källor.
Har du tappat bort dig i en katalog? Typ pwd
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 precis 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.
Du måste montera en iso? Linux har den här funktionen inbyggd. Skapa en katalog någonstans, till exempel /home/user/isomount
och utfärda kommandot mount -o loop /path/to/myisofile.iso /home/user/isomount
och innehållet monteras i den mappen.
När du har kört ett kommando måste du köra det igen, men du kommer inte ihåg exakt hur det gick? Typ history
i terminalen och den skriver ut din kommandohistorik. Vill du rensa historiken? history -c
Raderar informationen.