5 moderna alternativ till gamla kommandoradsverktyg i Linux

Genom att anvÀnda mer moderna alternativ tillsammans med gamla kommandoradsverktyg kan man fÄ mer nöje och till och med öka produktiviteten.

5 moderna alternativ till gamla kommandoradsverktyg i Linux

I det dagliga arbetet i Linux / Unix anvÀnder vi mÄnga kommandoradsverktyg - till exempel du för att övervaka anvÀndningen av disk och systemresurser. Vissa av dessa verktyg har funnits lÀnge. Till exempel, top kom ut 1984 och den första versionen av du dateras till 1971.

Under Ären har dessa verktyg moderniserats och portats till olika system, men i stort sett har de inte förÀndrats mycket frÄn sina första versioner, varken i utseende eller anvÀndbarhet.

Det Àr utmÀrkta verktyg som mÄnga systemadministratörer behöver. Men samhÀllet har utvecklat alternativa verktyg som erbjuder ytterligare fördelar. Vissa av dem har helt enkelt ett modernt och snyggt grÀnssnitt, medan andra avsevÀrt förbÀttrar anvÀndarupplevelsen. I denna översÀttning kommer vi att diskutera fem alternativ till de standard kommandoradsverktygen i Linux.

1. ncdu vs du

NCurses Disk Usage (ncdu) liknar du, men har ett interaktivt grÀnssnitt baserat pÄ curses-biblioteket. ncdu visar katalogstrukturen som anvÀnder mest av ditt diskutrymme.

ncdu analyserar disken och visar dÀrefter resultaten sorterade efter de mest anvÀnda katalogerna eller filerna, till exempel:

ncdu 1.14.2 ~ AnvÀnd piltangenterna för att navigera, tryck pÄ ? för hjÀlp
--- /home/rgerardi ------------------------------------------------------------
   96.7 GiB [##########] /libvirt
   33.9 GiB [###       ] /.crc
    7.0 GiB [          ] /Projects
.   4.7 GiB [          ] /Downloads
.   3.9 GiB [          ] /.local
    2.5 GiB [          ] /.minishift
    2.4 GiB [          ] /.vagrant.d
.   1.9 GiB [          ] /.config
.   1.8 GiB [          ] /.cache
    1.7 GiB [          ] /Videos
    1.1 GiB [          ] /go
  692.6 MiB [          ] /Documents
. 591.5 MiB [          ] /tmp
  139.2 MiB [          ] /.var
  104.4 MiB [          ] /.oh-my-zsh
   82.0 MiB [          ] /scripts
   55.8 MiB [          ] /.mozilla
   54.6 MiB [          ] /.kube
   41.8 MiB [          ] /.vim
   31.5 MiB [          ] /.ansible
   31.3 MiB [          ] /.gem
   26.5 MiB [          ] /.VIM_UNDO_FILES
   15.3 MiB [          ] /Personal
    2.6 MiB [          ]  .ansible_module_generated
    1.4 MiB [          ] /backgrounds
  944.0 KiB [          ] /Pictures
  644.0 KiB [          ]  .zsh_history
  536.0 KiB [          ] /.ansible_async
 Totalt diskutrymme: 159.4 GiB  Apparent storlek: 280.8 GiB  Antal: 561540

Med hjÀlp av piltangenterna kan du navigera bland posterna. Om du trycker pÄ Enter kommer ncdu att visa innehÄllet i den valda katalogen:

--- /home/rgerardi/libvirt ----------------------------------------------------
                         /..
   91,3 GiB [##########] /images
    5,3 GiB [          ] /media

Du kan anvÀnda det hÀr verktyget för att till exempel avgöra vilka filer som tar mest diskutrymme. För att gÄ tillbaka till föregÄende katalog kan du trycka pÄ vÀnster piltangent. Med ncdu kan du radera filer genom att trycka pÄ tangenten d. Innan raderingen begÀrs bekrÀftelse. Om du vill stÀnga av raderingsfunktionen för att förhindra oavsiktlig förlust av vÀrdefulla filer, anvÀnd alternativet -r för att aktivera skrivskyddat lÀge: ncdu -r.

ncdu Àr tillgÀngligt för mÄnga plattformar och Linux-distributioner. Du kan till exempel anvÀnda dnf för att installera det pÄ Fedora direkt frÄn de officiella arkiven:

$ sudo dnf install ncdu

2. htop vs top

Htop Àr ett interaktivt verktyg för att visa processer, liknande top, men som erbjuder en mer anvÀndarvÀnlig upplevelse direkt ur boxen. Som standard visar htop samma information som top, men pÄ ett mer överskÄdligt och fÀrgstarkt sÀtt.

Som standard ser htop ut som följer:

5 moderna alternativ till gamla kommandoradsverktyg i Linux
Till skillnad frÄn top:

5 moderna alternativ till gamla kommandoradsverktyg i Linux
Dessutom visar htop översiktsinformation om systemet högst upp, och lÀngst ner finns en panel för att köra kommandon med hjÀlp av funktionsknappar. Du kan konfigurera den genom att trycka pÄ F2 för att öppna instÀllningsskÀrmen. I instÀllningarna kan du Àndra fÀrger, lÀgga till eller ta bort metrik och Àndra panelens visningsalternativ.

Även om man kan justera instĂ€llningarna för de senaste versionerna av top för att uppnĂ„ liknande anvĂ€ndbarhet, erbjuder htop bekvĂ€ma standardkonfigurationer som gör det mer praktiskt och enklare att anvĂ€nda.

3. tldr vs man

Verktyget tldr visar förenklad referensinformation om kommandon, frÀmst exempel. Det har utvecklats av gemenskapen tldr pages project.

Det Àr vÀrt att notera att tldr inte Àr en ersÀttning för man. Det Àr fortfarande det kanoniska och mest omfattande verktyget för att visa hjÀlp sidor. Men i vissa fall Àr man överflödig. NÀr du inte behöver uttömmande information om ett kommando, försöker du bara komma ihÄg de grundlÀggande anvÀndningsalternativen. Till exempel har man-sidan för kommandot curl nÀstan 3000 rader. tldr-sidan för curl Àr 40 rader lÄng. Ett utdrag ser ut sÄ hÀr:


$ tldr curl

# curl
  Överför data till eller frĂ„n en server.
  Stöder de flesta protokoll, inklusive HTTP, FTP och POP3.
  Mer information: .

- Ladda ner innehÄllet frÄn en URL till en fil:

  curl http://example.com -o filnamn

- Ladda ner en fil, och spara utdata under filnamnet som anges av URL:en:

  curl -O http://example.com/filnamn

- Ladda ner en fil, följ [L]okationsomdirigeringar och automatiskt [F]ortsÀtta (Äteruppta) en tidigare filöverföring:

  curl -O -L -C - http://example.com/filnamn

- Skicka formulÀrkodad data (POST-förfrÄgan av typen `application/x-www-form-urlencoded`):

  curl -d 'name=bob' http://example.com/form

- Skicka en begÀran med en extra header, med en anpassad HTTP-metod:

  curl -H 'X-My-Header: 123' -X PUT http://example.com

- Skicka data i JSON-format, och ange rÀtt content-type-header:

  curl -d '{"name":"bob"}' -H 'Content-Type: application/json' http://example.com/users/1234

... TRUNCATED OUTPUT

TLDR stÄr för "för lÄngt; lÀste inte": det vill sÀga, viss text har ignorerats pÄ grund av dess överdrivna ordighet. Namnet passar för detta verktyg, eftersom man-sidor, Àven om de Àr anvÀndbara, ibland kan vara för lÄnga.

För Fedora skrivs tldr i Python. Du kan installera det med dnf-paketförvaltaren. Vanligtvis krÀver verktyget Ätkomst till internet. Men Python-klienten i Fedora tillÄter att ladda ner och cacha dessa sidor för offlineÄtkomst.

4. jq kontra sed/grep

jq Àr en JSON-processor för kommandoraden. Det liknar sed eller grep, men Àr speciellt utformat för att arbeta med data i JSON-format. Om du Àr utvecklare eller systemadministratör som anvÀnder JSON i dina dagliga uppgifter, Àr detta verktyget för dig.

Den största fördelen med jq jÀmfört med standardverktyg för textbearbetning, sÄsom grep och sed, Àr att det förstÄr strukturen av JSON-data, vilket gör det möjligt att skapa komplexa frÄgor i ett uttryck.

Till exempel försöker du hitta namnen pÄ containrar i den hÀr JSON-filen:

{
  "apiVersion": "v1",
  "kind": "Pod",
  "metadata": {
    "labels": {
      "app": "myapp"
    },
    "name": "myapp",
    "namespace": "project1"
  },
  "spec": {
    "containers": [
      {
        "command": [
          "sleep",
          "3000"
        ],
        "image": "busybox",
        "imagePullPolicy": "IfNotPresent",
        "name": "busybox"
      },
      {
        "name": "nginx",
        "image": "nginx",
        "resources": {},
        "imagePullPolicy": "IfNotPresent"
      }
    ],
    "restartPolicy": "Never"
  }
}

Kör grep för att söka efter raden name:

$ grep name k8s-pod.json
        "name": "myapp",
        "namespace": "project1"
                "name": "busybox"
                "name": "nginx",

grep returnerade alla rader som innehÄller ordet name. Du kan lÀgga till fler parametrar i grep för att begrÀnsa det, och med hjÀlp av vissa manipulationer av reguljÀra uttryck hitta namn pÄ behÄllare.

För att fÄ samma resultat med jq rÀcker det med att skriva:

$ jq '.spec.containers[].name' k8s-pod.json
"busybox"
"nginx"

Detta kommando kommer att ge dig namnen pÄ bÄda behÄllarna. Om du bara letar efter namnet pÄ den andra behÄllaren, lÀgg till index för arrayen i uttrycket:

$ jq '.spec.containers[1].name' k8s-pod.json
"nginx"

Eftersom jq kÀnner till datans struktur ger det samma resultat, Àven om filformatet Àndras nÄgot. grep och sed kan i det hÀr fallet fungera inkorrekt.

jq har mÄnga funktioner, men för att beskriva dem behövs en till artikel. För mer information hÀnvisar vi till projektets sida jq eller till tldr.

5. fd vs find

fd Àr ett förenklat alternativ till kommandot find. Fd Àr inte avsett att helt ersÀtta det; den har som standard de mest anvÀnda instÀllningarna som bestÀmmer den allmÀnna arbetsmetoden för filer.

Till exempel, nĂ€r du söker efter filer i en Git-repo katalog exkluderar fd automatiskt dolda filer och underkataloger, inklusive .git-katalogen, samt ignorerar mönster frĂ„n .gitignore-filen. Övergripande snabbar den upp sökningen och ger mer relevanta resultat direkt.

Som standard utför fd sökningar utan att ta hÀnsyn till skiftlÀge i den aktuella katalogen med fÀrgad utdata. Samma sökning med kommandot find krÀver att du anger ytterligare parametrar i kommandoraden. Till exempel, för att hitta alla .md-filer (eller .MD) i den aktuella katalogen behöver du skriva följande find-kommando:

$ find . -iname "*.md"

För fd ser det ut sÄ hÀr:

$ fd .md

Men i vissa fall krÀvs Àven ytterligare parametrar för fd; till exempel, om du vill inkludera dolda filer och kataloger mÄste du anvÀnda alternativet -H, Àven om det vanligtvis inte krÀvs vid sökning.

fd Àr tillgÀngligt för mÄnga Linux-distributioner. I Fedora kan du installera det sÄ hÀr:

$ sudo dnf install fd-find

Det Àr inte nödvÀndigt att avstÄ frÄn nÄgot

AnvÀnder du nya kommandoradsverktyg för Linux? Eller hÄller du dig enbart till de gamla? Men troligtvis har du en mix, eller hur? VÀnligen dela med dig av dina erfarenheter i kommentarerna.

I reklamens namn

MÄnga av vÄra kunder har redan insett fördelarna episka servrar!
Detta virtuella servrar med AMD EPYC-processorer, CPU-kĂ€rnfrekvens upp till 3.4 GHz. Maximala konfigurationen tillĂ„ter att du verkligen kör pĂ„ fullt — 128 CPU-kĂ€rnor, 512 GB RAM, 4000 GB NVMe. Skynda dig att bestĂ€lla!

5 moderna alternativ till gamla kommandoradsverktyg i Linux

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster