GNU/Linux Handledning
Komma igång med GNU / Linux
Sök…
Hej världen
Skriv in följande kod i din terminal och tryck sedan på Enter :
echo "Hello World"
Detta ger följande utgång:
Hello World
Filmanipulering
Filer och kataloger (ett annat namn för mappar) är kärnan i Linux, så att det är mycket viktigt och ganska kraftfullt att skapa, visa, flytta och ta bort dem från kommandoraden. Dessa filmanipulationskommandon gör att du kan utföra samma uppgifter som en grafisk filutforskare skulle utföra.
Skapa en tom textfil som heter myFile
:
touch myFile
Byt namn på myFile
till myFirstFile
:
mv myFile myFirstFile
Visa innehållet i en fil:
cat myFirstFile
Visa innehållet i en fil med personsökare (en skärmbar i taget):
less myFirstFile
Visa de första flera raderna i en fil:
head myFirstFile
Visa de sista flera raderna i en fil:
tail myFirstFile
Redigera en fil:
vi myFirstFile
Se vilka filer som finns i din nuvarande arbetskatalog:
ls
Skapa en tom katalog som heter myFirstDirectory
:
mkdir myFirstDirectory
Skapa katalog med flera sökvägar: (skapar två kataloger, src och myFirstDirectory)
mkdir -p src/myFirstDirectory
Flytta filen till katalogen:
mv myFirstFile myFirstDirectory/
Du kan också byta namn på filen:
user@linux-computer:~$ mv myFirstFile secondFileName
Ändra den aktuella arbetskatalogen till myFirstDirectory
:
cd myFirstDirectory
Radera en fil:
rm myFirstFile
Flytta till moderkatalogen (som representeras som ..
):
cd ..
Radera en tom katalog:
rmdir myFirstDirectory
Ta bort en icke-tom katalog (dvs. innehåller filer och / eller andra kataloger):
rm -rf myFirstDirectory
Observera att när du tar bort kataloger, att du tar bort ./
inte /
som kommer att torka hela filsystemet.
Information om fil / katalog
Kommandot ls
har flera alternativ som kan användas tillsammans för att visa mer information.
Detaljer / Rights
Alternativet l
visar filtillstånd, storlek och senast ändrat datum. Så om rotkatalogen innehöll ett dir-kallat test
och en fil, someFile
i kommandot:
user@linux-computer:~$ ls -l
Skulle producera något liknande
-rw-r--r-- 1 user users 70 Jul 22 13:36 someFile.txt
drwxrwxrwx 2 user users 4096 Jul 21 07:18 test
Behörigheterna är i formatet drwxrwxrwx
. Det första tecknet representerar filtypen d
om det är en katalog -
annars. De nästa tre rwx
är behörigheterna som användaren har för filen, de nästa tre är behörigheterna som gruppen har för filen, och de tre sista är de behörigheter som alla andra har för filen.
r
för rwx
står för om en fil kan läsas, w
representerar om filen kan modifieras och x
står för om filen kan köras. Om något tillstånd inte beviljas kommer a -
att vara i stället för r
, w
eller x
.
Så ovanifrån kan user
läsa och ändra someFile.txt
men gruppen har bara skrivskyddade rättigheter.
För att ändra rättigheter kan du använda chmod ### fileName
om du har sudo-rättigheter. r
representeras av ett värde på 4, w
representeras av 2, och x
representeras av en 1. Så om du bara vill kunna ändra innehållet i test
Owner rwx = 4+2+1 = 7
Group r-x = 4+0+1 = 5
Other r-x = 4+0+1 = 5
Så hela kommandot är det
chmod 755 test
Att göra en ls -l
skulle visa något liknande
drwxr-xr-x 2 user users 4096 Jul 21 07:20 test
Läsbar storlek
Används i kombination med l
alternativet, visar alternativet h
filstorlekar som är läsbara för människor. Löpning
user@linux-computer:~$ ls -lh
Skulle producera:
total 4166
-rw-r--r-- 1 user users 70 Jul 22 13:36 someFile.txt
drwxrwxrwx 2 user users 4.0K Jul 21 07:18 test
Dold
För att visa dolda filer använder du a
alternativ. Till exempel
user@linux-computer:~$ ls -a
Kan lista
.profile
someFile.txt
test
Total katalogstorlek
För att se storleken på den aktuella katalogen, använd alternativet s
alternativet h
kan också användas för att göra storleken mer läsbar).
user@linux-computer:~$ ls -s
utgångar
total 4166
someFile.txt test
Rekursiv utsikt
Låt oss säga att test
katalog hade en fil anotherFile
och du ville se det från rotkatalogen, kan du använda R
alternativ som skulle lista den rekursiva trädet.
user@linux-computer:~$ ls -R
utgångar
.:
someFile.txt test
./test:
anotherFile
Grundläggande Linuxverktyg
Linux har ett kommando för nästan alla uppgifter och de flesta av dem är intuitiva och lätt tolkade.
Få hjälp i Linux
Kommando | användbarhet |
---|---|
man <name> | Läs den manuella sidan för <namn>. |
man <section> <name> | Läs den manuella sidan för <namn>, relaterad till det givna avsnittet. |
man -k <editor> | Mata ut all programvara vars mansidor innehåller <redigerare> nyckelord. |
man -K <keyword> | Matar ut alla mansidor som innehåller <nyckelord> i dem. |
apropos <editor> | Skriv ut alla applikationer vars beskrivning av en rad matchar ordredigeraren . Använd det här kommandot om du inte kan hämta programmets namn. |
help | I Bash-skal visar detta listan över alla tillgängliga bash-kommandon. |
help <name> | I Bash-skal visar detta informationen om kommandot <name> bash. |
info <name> | Visa all information om <namn>. |
dpkg -l | Skriv ut en lista över alla installerade paket i ett Debian-baserat system. |
dpkg -L packageName | Visar de installerade filerna och sökvägsdetaljer för ett givet paket på Debian. |
dpkg -l | grep -i <edit> | Returnera alla .deb-installerade paket med <edit> oavsett fall. |
less /var/lib/dpkg/available | Returnera beskrivningar av alla tillgängliga paket. |
whatis vim | Lista en en-radsbeskrivning av vim. |
<command-name> --help | Visa användningsinformation om <toolname>. Ibland fungerar command -h också, men inte för alla kommandon. |
Användaridentifiering och vem är vem i Linuxvärlden
Kommando | användbarhet |
---|---|
hostname | Visa värdnamn för systemet. |
hostname -f | Visar helt kvalificerat domännamn (FQDN) för systemet. |
passwd | Ändra lösenord för aktuell användare. |
whoami | Användarnamn för de användare som är inloggade på terminalen. |
who | Lista över alla användare som för närvarande är inloggade som användare. |
w | Visa aktuell systemstatus, tid, varaktighet, lista över användare som för närvarande är inloggade på systemet och annan användarinformation. |
last | Som nyligen använde systemet. |
last root | När loggades in senast root som användare. |
lastb | Visar alla dåliga inloggningsförsök i systemet. |
chmod | Ändra behörigheter - läsa, skriva, köra en fil eller katalog. |
Processrelaterad information
Kommando | användbarhet |
---|---|
top | Lista alla processer sorterade efter deras nuvarande systemresursanvändning. Visar en kontinuerligt uppdaterad visning av processer (som standard 3 sekunder). Använd q tangenten för att avsluta toppen. |
ps | Lista processer som för närvarande körs på den aktuella skal-sessionen |
ps -u root | Lista alla processer och kommandoroten som körs |
ps aux | Lista alla processer från alla användare på det nuvarande systemet |
Filhanteringskommandon
Linux använder vissa konventioner för nuvarande och överordnade kataloger. Detta kan vara lite förvirrande för nybörjare.
När du befinner dig i en terminal i Linux kommer du att vara i det som kallas den aktuella arbetskatalogen . Ofta kommer kommandotolken antingen att visa den fullständiga arbetskatalogen eller bara den sista delen av katalogen. Din prompt kan se ut som något av följande:
user@host ~/somedir $
user@host somedir $
user@host /home/user/somedir $
som säger att din nuvarande arbetskatalog är /home/user/somedir
.
I Linux ..
representerar den överordnade katalogen och .
representerar den aktuella katalogen.
Därför, om den aktuella katalogen är /home/user/somedir
, kommer cd ../somedir
inte att ändra arbetskatalogen.
Tabellen nedan visar några av de mest använda filhanteringskommandona
Katalognavigering
Kommando | Verktyg |
---|---|
pwd | Skaffa hela sökvägen för den aktuella arbetskatalogen. |
cd - | Navigera till den sista katalogen du arbetade i. |
cd ~ eller bara cd | Navigera till den aktuella användarens hemkatalog. |
cd .. | Gå till moderkatalogen för den aktuella katalogen (tänk på utrymmet mellan cd och .. ) |
Lista filer i en katalog
Kommando | Verktyg |
---|---|
ls -l | Lista filerna och katalogerna i den aktuella katalogen i långt (tabell) format (Det rekommenderas att använda -l med ls för bättre läsbarhet). |
ls -ld dir-name | Lista information om katalogets dir-name istället för dess innehåll. |
ls -a | Lista alla filer inklusive de dolda filerna (Filnamn som börjar med a . Är dolda filer i Linux). |
ls -F | Lägger till en symbol i slutet av ett filnamn för att ange dess typ ( * betyder körbar, / betyder katalog, @ betyder symbollänk, = betyder socket, | betyder namnet pipe, > betyder dörr). |
ls -lt | Lista filerna sorterade efter senast modifierad tid med senast modifierade filer som visas längst upp (kom ihåg -l ger det långa formatet som har bättre läsbarhet). |
ls -lh | Lista filstorlekarna i mänskligt läsbart format. |
ls -lR | Visar alla underkataloger rekursivt. |
tree | Genererar en trädrepresentation av filsystemet med början från den aktuella katalogen. |
Fil / katalog skapa, kopiera och ta bort
Kommando | Verktyg |
---|---|
cp -p source destination | Kopierar filen från source till destination . -p står för bevarande. Det bevarar de ursprungliga attributen för fil medan man kopierar som filägare, tidsstämpel, grupp, behörigheter etc. |
cp -R source_dir destination_dir | Kopierar källkatalogen till den angivna destinationen rekursivt. |
mv file1 file2 | I Linux finns det inget namn på namn. Därför mv flyttar / döper den fil1 till fil2. |
rm -i filename | Ber dig innan varje fil tas bort för bekräftelse. OM DU ÄR EN NY ANVÄNDARE FÖR LINUX COMMAND LINE, BÖR DU ALLTID ANVÄNDA rm -i . Du kan ange flera filer. |
rm -R dir-name | Tar bort katalogets dir-name rekursivt. |
rm -rf dir-name | Tar bort katalogen dir rekursivt, ignorerar filer som inte finns och kommer aldrig att be om något. Var försiktig med detta kommando! Du kan ange flera kataloger. |
rmdir dir-name | Tar bort katalogets dir-name , om det är tomt. Det här kommandot kan bara ta bort tomma kataloger. |
mkdir dir-name | Skapa ett katalog- dir-name . |
mkdir -p dir-name/dir-name | Skapa en kataloghierarki. Skapa moderkataloger efter behov om de inte finns. Du kan ange flera kataloger. |
touch filename | Skapa ett filename , om det inte finns, kan du ändra filens tidsstämpel till aktuell tid. |
Fil / katalogbehörigheter och grupper
Kommando | Verktyg |
---|---|
chmod <specification> filename | Ändra filbehörigheterna. Specifikationer = u användare, g grupp, o andra, + lägg tillåtelse, - ta bort, r läsa, w skriva, x köra. |
chmod -R <specification> dir-name | Ändra behörigheterna för en katalog rekursivt. Om du vill ändra behörighet för en katalog och allt inom den katalogen använder du det här kommandot. |
chmod go=+r myfile | Lägg till läsbehörighet för ägaren och gruppen. |
chmod a +rwx myfile | Låt alla användare läsa, skriva eller köra myfile . |
chmod go -r myfile | Ta bort läsbehörighet från gruppen och andra. |
chown owner1 filename | Ändra ägare till en fil till användare owner1 . |
chgrp grp_owner filename | Ändra primär gruppägande av filename till grupp grp_owner . |
chgrp -R grp_owner dir-name | Ändra primärt gruppägande av katalogdir dir-name till grupp grp_owner rekursivt. Om du vill ändra gruppägande av en katalog och allt inom den katalogen använder du det här kommandot. |
Användbara genvägar
Använda terminalen
Exemplen i detta dokument antar att du använder ett POSIX-kompatibelt (som bash , sh , zsh , ksh ) skal.
Stora delar av GNU / Linux-funktionaliteten uppnås med terminalen. De flesta distributioner av Linux inkluderar terminalemulatorer som tillåter användare att interagera med ett skal från sin skrivbordsmiljö. Ett skal är en kommandoradstolkare som kör kommandon som är inmatade av användare. Bash (Bourne Again SHell) är ett vanligt standardskal bland många Linux-distributioner och är standardskalet för macOS.
Dessa genvägar fungerar om du använder Bash med emacs nyckelbindningar (inställt som standard):
Öppen terminal
- Ctrl + Alt + T eller Super + T
Markörens rörelse
- Ctrl + A Gå till början av den rad du för närvarande skriver på.
- Ctrl + E Gå till slutet av den rad du för närvarande skriver på.
- Ctrl + XX Gå mellan radens början och markörens nuvarande position.
- Alt + F Flytta markören framåt ett ord på den aktuella raden.
- Alt + B Flytta markören bakåt ett ord på den aktuella raden.
- Ctrl + F Flytta markören framåt ett tecken på den aktuella raden.
- Ctrl + B Flytta markören bakåt ett tecken på den aktuella raden.
Textmanipulation
- Ctrl + U Klipp linjen från den aktuella positionen till början av raden och lägg till den till urklipp. Om du är i slutet av linjen, klipp hela linjen.
- Ctrl + K Skär linjen från den aktuella positionen till slutet av linjen och lägg till den till urklippet. Om du är i början av linjen klipper du hela linjen.
- Ctrl + W Ta bort ordet före markören och lägg till det till urklippet.
- Ctrl + Y Klistra in det sista från klippbordet som du klippte nyligen (ångra den sista radering vid aktuell markörposition).
- Alt + T Byt de två sista orden före markören.
- Alt + L Gör små bokstäver från markör till ordets slut.
- Alt + U Gör stora versaler från markören till ordets slut.
- Alt + C Skriv till slutet av ordet som börjar med markören (hela ordet om markören är i början av ordet).
- Alt + D Radera till slutet av ordet som börjar vid markören (hela ordet om markören är i början av ordet).
- Alt +. Skriver ut det sista ordet skrivet i föregående kommando.
- Ctrl + T Byt de två sista tecknen före markören.
Historikåtkomst
- Ctrl + R Låter dig söka igenom tidigare använda kommandon.
- Ctrl + G Lämna historiens sökningsläge utan att köra ett kommando.
- Ctrl + J Låter dig kopiera det nuvarande matchade kommandot till kommandoraden utan att köra det, så att du kan göra ändringar innan du kör kommandot.
- Alt + R Återställ alla ändringar i ett kommando som du har dragit från historiken om du har redigerat det.
- Ctrl + P Visar det senast genomförda kommandot, dvs. gå tillbaka genom kommandohistoriken (liknar pil upp).
- Ctrl + N Visar nästa exekverade kommando, dvs. gå framåt genom kommandohistoriken (Liknar pil ned).
Terminalstyrning
- Ctrl + L Rensar skärmen, liknande det klara kommandot.
- Ctrl + S Stoppa all utgång till skärmen. Detta är användbart när du kör kommandon med mycket lång utmatning. Men detta stoppar inte det körande kommandot.
- Ctrl + Q Återuppta utgången till skärmen efter att ha stoppat den med Ctrl + S.
- Ctrl + C Avsluta pågående process och returnera prompten.
- Ctrl + D Logga ut från den aktuella skal-sessionen, liknande kommandot exit eller logout. I vissa kommandon fungerar som slutet av filsignalen för att indikera att en filänd har nåtts.
- Ctrl + Z Avbryter (paus) som för närvarande kör förgrundsprocessen, vilket returnerar skalprompt. Du kan sedan använda kommandot
bg
så att processen kan köras i bakgrunden. För att återföra processen i förgrunden använder du kommandotfg
. Om du vill visa alla bakgrundsprocesser, användajobs
kommandot. - Fliken Fyll automatiskt in filer och katalognamn.
- Tab Tab Tab Visar alla möjligheter när tecknade tecken inte unikt matchar en fil- eller katalognamn.
Speciella karaktärer
- Ctrl + H Samma som Backspace.
- Ctrl + J Samma som Return (historiskt Line Feed).
- Ctrl + M Samma som Retur (historiskt Carriage Return).
- Ctrl + I Samma som Tab.
- Ctrl + G Bell-karaktär.
- Ctrl + @ nolltecken.
- Esc Deadkey motsvarande Alt- modifieraren.
Stäng terminal
- Ctrl + Shift + W För att stänga terminalfliken.
- Ctrl + Shift + Q För att stänga hela terminalen.
Alternativt kan du växla till vi- nyckelbindningar i bash med set -o vi
. Använd set -o emacs
att växla tillbaka till emacs nyckelbindningar.
Söker efter filer efter mönster i namn / innehåll
En vanlig och uppgift för någon som använder Linux Command Line (shell) är att söka efter filer / kataloger med ett visst namn eller som innehåller viss text. Det finns två kommandon som du bör bekanta dig med för att göra detta:
Hitta filer efter namn
find /var/www -name '*.css'
Detta kommer att skriva ut hela sökvägen / filnamnet till alla filer under /var/www
som slutar i .css
. Exempel på utgång:
/var/www/html/text-cursor.css
/var/www/html/style.css
För mer information:
man find
Hitta filer som innehåller text
grep font /var/www/html/style.css
Detta skriver ut alla rader som innehåller mönstret font
i den angivna filen. Exempel på utgång:
font-weight: bold;
font-family: monospace;
Ett annat exempel:
grep font /var/www/html/
Det här fungerar inte som du hoppats. Du får:
grep: /var/www/html/: Is a directory
Du måste grep
rekursivt för att få det att fungera med alternativet -R
:
grep -R font /var/www/html/
Hej trevligt! Kolla in utgången från den här:
/var/www/html/admin/index.php: echo '<font color=red><b>Error: no dice</b></font><br/>';
/var/www/html/admin/index.php: echo '<font color=red><b>Error: try again</b></font><br/>';
/var/www/html/style.css: font-weight: bold;
/var/www/html/style.css: font-family: monospace;
Lägg märke till att när grep
matchar flera filer prefixerar de matchade rader med filnamn. Du kan använda alternativet -h
för att bli av med det om du vill.
För mer information:
man grep