Bli mer effektiv genom att köra flera kommandon i Linux samtidigt
Vill du optimera din arbetsprocess i Linux? Lär dig köra flera kommandon samtidigt för att spara tid och förbättra effektiviteten i terminalen.
Vill du spara massor av tid? Prova att köra flera kommandon samtidigt i din Linux-terminal. Detta gör att du kan köra enkla sekventiella kommandon, köra kommandon i bakgrunden och till och med hantera villkorskommandon tillsammans.
I det här inlägget kommer vi att utforska olika metoder för att köra flera kommandon sekventiellt och parallellt i en Linux-terminal.
Varför köra flera kommandon samtidigt?
Oavsett om du kör enkla underhållsuppgifter, hanterar stora datamängder eller bara vill automatisera delar av din dagliga arbetsflöde, kan körning av flera kommandon samtidigt optimera dina processer och förbättra effektiviteten.
Till exempel, om du säkerhetskopierar flera mappar med kommandon kan du kedja dem tillsammans istället för att köra varje kommando separat och vänta på att ett ska avslutas innan du skriver nästa.
Personligen kedjar jag kommandon när jag installerar något Linux-paket som kräver flera moduler. Genom att kedja kommandon installerar jag det specifika verktyget och dess beroenden i ett svep utan att behöva skriva varje kommando separat.
Kör flera kommandon i följd
Jag använder denna teknik mestadels när jag arbetar i terminalen. I denna metod kedjar vi kommandon så att de körs ett efter ett, oavsett om det föregående kommandot lyckas.
För att köra kommandon i följd separerar du dem helt enkelt med ett semikolon ;
. När du trycker på enter kör din terminal det första kommandot, väntar på att det ska avslutas och går sedan vidare till det andra, och så vidare.
Om du till exempel vill uppgradera ditt system och rensa onödiga filer samtidigt, kör detta:
sudo apt update; sudo apt upgrade -y; sudo apt autoremove
Genom att kedja dessa kommandon säkerställer du att de körs i följd. Varje steg är slutfört innan nästa börjar, vilket gör din process effektiv och smidig.
Kör flera kommandon baserat på villkor
Vad händer om du vill att det andra kommandot ska utföras endast om det första lyckas? Eller kanske du vill att ett andra kommando ska köras endast om det första misslyckas? Det är här villkorskommandon kommer in. Du kan använda operatorerna &&
och ||
för att uppnå detta.
Kör om första kommandot lyckades
För att köra ett kommando endast om det föregående lyckas, använd operatorn &&
mellan dina kommandon.
Om du till exempel vill skapa en ny mapp och sedan byta katalog till den, endast om mappskapandet är framgångsrikt, kör:
mkdir new_folder && cd new_folder
Men om det första kommandot misslyckas, vidtas inga ytterligare åtgärder.
Kör om första misslyckades
Å andra sidan, om du vill att ett andra kommando ska köras endast om det första misslyckas, använd operatorn ||
. Detta är användbart för att logga eller återfallskommando när något går fel.
Jag tycker att detta är särskilt hjälpsamt vid filoperationer, som att kopiera en fil till en säkerhetskopia. Om kopieringen misslyckas vill du veta det utan att störa ditt arbete. Du kan uppnå detta genom att använda operatorn ||
mellan två kommandon som detta:
cp file_name /backup || echo "Misslyckades!" >> error_log.txt
Här försöker cp
-kommandot kopiera filen till säkerhetskopiamappen. Men om kopieringen misslyckas, instruerar ||
(eller) symbolen systemet att köra nästa kommando, som loggar felet med hjälp av echo-kommandot. På så sätt kan du fortsätta arbeta även om kopieringen misslyckas, och du får en record av felet att granska senare.
Kör kommando i bakgrunden
Ibland vill du inte vänta på att en uppgift ska avslutas. Kanske är det en långvarig process, och du skulle hellre fortsätta arbeta medan det händer i bakgrunden. Du kan enkelt göra detta genom att lägga till ett ampersand &
i slutet av ditt kommando.
Om du till exempel vill ladda ner en stor fil från en specifik URL och låta nedladdningsprocessen ske i bakgrunden, kör:
sudo wget https://example.com/large-file.zip &
Detta låter dig fortsätta använda terminalen för andra uppgifter medan nedladdningen fortfarande pågår.
Rör med rör och bakgrunds-kör det andra kommandot
Vad händer om du vill kedja två kommandon men ha det andra körs i bakgrunden medan det första avslutas? För att göra detta, använd både pipe |
operatorn och ampersand &
symbolen.
Pipe |
skickar utdata från det första.
Kommandot som indata till det andra kommandot, medan ampersand &
tillåter att det andra kommandot körs i bakgrunden.
Låt oss läsa en stor fil och söka efter specifika ord inom den. Spara sedan resultaten i en separat fil med hjälp av omdirigeringsoperatorn >
:
cat samplefile.txt | grep "Project" > output.txt &
Här kommer både sök- och spara-processen att ske i bakgrunden. Dessutom, medan sökningen pågår, kan du fortsätta arbeta med andra kommandon samtidigt.
Kör flera kommandon parallellt med Xargs
Vill du ta multitasking till en ny nivå? Prova att köra kommandon parallellt med xargs
kommandot. Detta gör att du kan köra flera kommandon parallellt istället för ett efter ett.
xargs
kommandot bryter också en lista med argument i mindre bitar och kör ett kommando på varje bit parallellt.
Till exempel, om du har en lista med URL:er i textfilen som du vill ladda ner allt på en gång. Istället för att ladda ner dem sekventiellt, kan du ladda ner dem parallellt med detta kommando:
cat urls_file.txt | xargs -n 1 -P 4 wget
Här säger -n 1
till xargs
att använda ett argument per kommando, och -P 4
talar om att köra fyra kommandon parallellt. wget kommandot laddar ner varje URL samtidigt, vilket avsevärt snabbar upp processen jämfört med sekventiell nedladdning.
Observera: Att köra för många kommandon samtidigt kan överbelasta ditt system. Övervaka alltid systemets belastning, eftersom försök att köra för många processer kan orsaka krasch.
Sammanfattning
För att sammanfatta, kan du kedja ihop kommandon med semikolon ;
, köra kommandon betingad med &&
eller ||
, utföra uppgifter i bakgrunden med &
, och förbättra din multitasking med parallell körning genom xargs
.
Usein kysytyt kysymykset
Hur kör man två kommandon samtidigt i Linux?
I Linux kan du köra två kommandon samtidigt med hjälp av följande metoder:
- Använda logiska operatorer:
- -
&&
- : Kommandot efter
&&
- körs endast om det föregående kommandot lyckas.
- Exempel:
kommando1 && kommando2
||
: Kommandot efter||
körs endast om det föregående kommandot misslyckas.- Exempel:
kommando1 || kommando2
- Bakgrundsprocesser:
- Använd
&
för att köra ett kommando i bakgrunden. - Exempel:
kommando1 & kommando2
Dessa tekniker gör det möjligt att effektivt hantera flera kommandon i terminalen.
Hur kör man kommandot med flera rader i Linux?
Kommandon suorittaminen usealla rivillä Linuxissa onnistuu käyttämällä käänteistä vinoviivaa (). Tämä merkki toimii escape-merkkinä, joka kertoo kuorille (shell) ettei seuraavaa merkkiä tulisi tulkita. Mikäli seuraava merkki on rivinvaihto, kuori ymmärtää, että komento jatkuu vielä seuraavalla rivillä. Näin voit tehdä sen:
- Kirjoita komennon ensimmäinen osa.
- Lisää käänteinen vinoviiva () rivin loppuun.
- Paina Enteriä siirtyäksesi seuraavalle riville.
- Jatka komennon kirjoittamista. Esimerkki: bash echo 'Tämä on \ monirivinen \ komento' Tämä tulostaa: Tämä on monirivinen komento Näin voit tehokkaasti jakaa pitkiä komentoja useammalle riville selkeyden vuoksi.
Hur gör man flera kommandon på en rad i Linux?
På Linux kan du köra flera kommandon tillsammans genom att använda följande metoder:
- &&: Kommandona körs sekventiellt, ja nästa kommando körs endast om det föregående lyckas.
- - Exempel:
kommand1 && kommando2
- ;: Kommandona körs sekventiellt oavsett om det föregående lyckas eller misslyckas.
- Exempel:
kommand1; kommando2
- &: Kommandona körs parallellt i bakgrunden.
- Exempel:
kommand1 & kommando2 &
Dessa metoder hjälper till att effektivisera arbetsflödet i terminalen.
Vad heter kommandotolken i Linux?
Kommandotolken i Linux heter bash (Bourne Again Shell), vaikka on myös muita vaihtoehtoja kuten sh, zsh ja fish.
- -
Bash
- on eniten käytetty kommandotulkki.
- Voit saada lisätietoja käytettävistä komennoista kirjoittamalla
komento -h
taikomento --help
. - Esimerkiksi, käytä
wget --help
saadaksesi lisätietoa wget-komennosta. Tällä tavoin voit helposti tarkastella vaihtoehtoja ja komentoja.
Nyt kun olet lukenut Bli mer effektiv genom att köra flera kommandon i Linux samtidigt loppuun, kutsumme sinut tutustumaan lisää Linux-kategoriaan. Löydät sieltä muita mielenkiintoisia artikkeleita, jotka laajentavat tietojasi ja pitävät sinut ajan tasalla. Älä lopeta lukemista ja löytämistä!
Vastaa