5 moderna alternativ till gamla Linux kommandoradsverktyg

Genom att använda modernare alternativ tillsammans med äldre kommandoradsverktyg kan du ha roligare och till och med förbättra din produktivitet.

5 moderna alternativ till gamla Linux kommandoradsverktyg

I vårt dagliga arbete med Linux/Unix använder vi många kommandoradsverktyg - till exempel för att övervaka diskanvändning och systemresurser. Vissa av dessa verktyg har funnits länge. Till exempel dök top upp 1984, och den första utgåvan av du går tillbaka till 1971.

Genom åren har dessa verktyg moderniserats och porterats till olika system, men generellt sett har de inte flyttat sig långt från sina första versioner, deras utseende och användbarhet har inte heller förändrats mycket.

Det här är fantastiska verktyg som många systemadministratörer behöver. Gemenskapen har dock utvecklat alternativa verktyg som erbjuder ytterligare fördelar. Vissa av dem har helt enkelt ett modernt, vackert gränssnitt, medan andra förbättrar användbarheten avsevärt. I den här översättningen kommer vi att prata om fem alternativ till vanliga Linux-kommandoradsverktyg.

1. ncdu vs du

NCurses diskanvändning (ncdu) liknar du, men med ett interaktivt gränssnitt baserat på curses-biblioteket. ncdu visar katalogstrukturen som tar upp det mesta av ditt diskutrymme.

ncdu analyserar disken och visar sedan resultaten sorterade efter de mest använda katalogerna eller filerna, till exempel:

ncdu 1.14.2 ~ Use the arrow keys to navigate, press ? for help
--- /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
 Total disk usage: 159.4 GiB  Apparent size: 280.8 GiB  Items: 561540

Du kan navigera genom posterna med hjälp av piltangenterna. 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 upp mest diskutrymme. Du kan gå till föregående katalog genom att trycka på vänsterpilen. Med ncdu kan du radera filer genom att trycka på d-tangenten. Den ber om bekräftelse innan den raderas. Om du vill inaktivera 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 Linux-plattformar och distributioner. Till exempel kan du använda dnf för att installera det på Fedora direkt från de officiella förråden:

$ sudo dnf install ncdu

2. htop vs topp

htop är en interaktiv processvisare som liknar top, men ur lådan ger den en trevlig användarupplevelse. Som standard visar htop samma information som top, men på ett mer visuellt och färgstarkt sätt.

Som standard ser htop ut så här:

5 moderna alternativ till gamla Linux kommandoradsverktyg
Till skillnad från toppen:

5 moderna alternativ till gamla Linux kommandoradsverktyg
Dessutom visar htop översiktsinformation om systemet längst upp och en panel för att köra kommandon med funktionstangenter längst ner. Du kan konfigurera den genom att trycka på F2 för att öppna konfigurationsskärmen. I Inställningar kan du ändra färger, lägga till eller ta bort mätvärden eller ändra visningsalternativen för översiktspanelen.

Även om du kan uppnå liknande användbarhet genom att justera inställningarna för de senaste versionerna av top, ger htop bekväma standardkonfigurationer, vilket gör det mer praktiskt och enklare att använda.

3. tldr vs man

Kommandoradsverktyget tldr visar förenklad hjälpinformation om kommandon, mest exempel. Det utvecklades av samhället tldr sidor projekt.

Det är värt att notera att tldr inte är en ersättning för människan. Det är fortfarande det kanoniska och mest omfattande utmatningsverktyget för mansidan. Men i vissa fall är människan överflödig. När du inte behöver heltäckande information om ett kommando, försöker du bara komma ihåg dess grundläggande användningsområden. Till exempel innehåller man-sidan för curl-kommandot nästan 3000 rader. Tldr-sidan för curl är 40 rader lång. Dess fragment ser ut så här:


$ tldr curl

# curl
  Transfers data from or to a server.
  Supports most protocols, including HTTP, FTP, and POP3.
  More information: <https://curl.haxx.se>.

- Download the contents of an URL to a file:

  curl http://example.com -o filename

- Download a file, saving the output under the filename indicated by the URL:

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

- Download a file, following [L]ocation redirects, and automatically [C]ontinuing (resuming) a previous file transfer:

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

- Send form-encoded data (POST request of type `application/x-www-form-urlencoded`):

  curl -d 'name=bob' http://example.com/form                                                                                            
- Send a request with an extra header, using a custom HTTP method:

  curl -H 'X-My-Header: 123' -X PUT http://example.com                                                                                  
- Send data in JSON format, specifying the appropriate content-type header:

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

... TRUNCATED OUTPUT

TLDR betyder "för lång; läste inte": det vill säga en del text ignorerades på grund av dess överdrivna utförlighet. Namnet är lämpligt för det här verktyget eftersom man-sidorna, även om de är användbara, ibland kan vara för långa.

För Fedora skrevs tldr i Python. Du kan installera det med dnf manager. Vanligtvis kräver verktyget internetåtkomst för att fungera. Men Fedoras Python-klient tillåter att dessa sidor laddas ner och cachelagras för offlineåtkomst.

4.jq vs sed/grep

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

Den största fördelen med jq jämfört med vanliga textbearbetningsverktyg som grep och sed är att den förstår JSON-datastrukturen, vilket gör att du kan skapa komplexa frågor i ett enda uttryck.

Du försöker till exempel hitta behållarnamn 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 hitta strängens namn:

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

grep returnerade alla rader som innehåller ordet namn. Du kan lägga till några fler alternativ till grep för att begränsa det och använda en del reguljära uttrycksmanipulationer för att hitta behållarnamnen.

För att få samma resultat med jq, skriv bara:

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

Detta kommando ger dig namnen på båda behållarna. Om du bara letar efter namnet på den andra behållaren, lägg till indexet för arrayelementet till uttrycket:

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

Eftersom jq känner till datastrukturen ger den samma resultat även om filformatet ändras något. grep och sed kanske inte fungerar korrekt i det här fallet.

jq har många funktioner, men det behövs en annan artikel för att beskriva dem. För mer information vänligen kontakta projektsida jq eller till tldr.

5. fd vs hitta

fd är ett förenklat alternativ till sökverktyget. Fd är inte avsedd att ersätta det helt: det har de vanligaste inställningarna installerade som standard, vilket definierar det allmänna tillvägagångssättet för att arbeta med filer.

Till exempel, när du söker efter filer i en Git-repository-katalog, exkluderar fd automatiskt dolda filer och underkataloger, inklusive .git-katalogen, och ignorerar även jokertecken från .gitignore-filen. Sammantaget snabbar det upp sökningar genom att returnera mer relevanta resultat vid första försöket.

Som standard utför fd en skiftlägesokänslig sökning i den aktuella katalogen, med färgutdata. Samma sökning med kommandot find kräver att ytterligare parametrar anges på kommandoraden. Till exempel, för att hitta alla .md (eller .MD)-filer i den aktuella katalogen, skulle du skriva ett find-kommando så här:

$ find . -iname "*.md"

För fd ser det ut så här:

$ fd .md

Men i vissa fall kräver fd också ytterligare alternativ: om du till exempel vill inkludera dolda filer och kataloger måste du använda alternativet -H, även om detta vanligtvis inte krävs vid sökning.

fd är tillgängligt för många Linux-distributioner. I Fedora kan det installeras så här:

$ sudo dnf install fd-find

Du behöver inte ge upp någonting

Använder du de nya kommandoradsverktygen för Linux? Eller sitter du uteslutande på de gamla? Men mest troligt har du en kombo, eller hur? Vänligen dela din upplevelse i kommentarerna.

Om reklamens rättigheter

Många av våra kunder har redan uppskattat fördelarna episka servrar!
Den virtuella servrar med AMD EPYC-processorer, CPU-kärnfrekvens upp till 3.4 GHz. Den maximala konfigurationen gör att du kan ha en blast - 128 CPU-kärnor, 512 GB RAM, 4000 GB NVMe. Skynda dig att beställa!

5 moderna alternativ till gamla Linux kommandoradsverktyg

Källa: will.com

Lägg en kommentar