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 kommandot fg . Om du vill visa alla bakgrundsprocesser, använda jobs 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


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow