At huske disse 7 Linux kommandolinjeindstillinger vil gøre dig til en pro

Lær de essentielle Linux-kommandoer og deres flags for effektiv navigation og kontrol, herunder hjælp, version, skjulte filer, rekursion og output-håndtering.
Linux-kommandoer kommer ofte med lange lister af muligheder, mange af dem er enkeltbogstavsmnemonik. Udfordringen ligger i at lære og huske dem. Men de genanvendelige egenskaber er praktiske; almindelige muligheder går på tværs af forskellige kommandoer.
Her er nogle af de mest udbredte indstillinger. Bliv fortrolig med dem for at navigere effektivt gennem forskellige programmer og opnå ensartede resultater.
--help og --version for Vigtig Information
Et flag, der næsten altid er til stede, er --help (-h eller -?), som viser en kort, ikke-interaktiv hjælp. Dette kaldes ofte “brug” og inkluderer en opsummering af kommandoen og dens muligheder: hvad de gør, og hvordan de fungerer.
Nogle gange kan hjælpeoutput fra ls næsten være lige så omfattende som en man-side!
--help fungerer godt på Ubuntu og moderne Linux-systemer. Værktøjer som bat, rg (ripgrep) og ncdu understøtter både den lange form og -h. De fleste GNU-værktøjer følger også denne konvention, men kommandoerne ls og cd understøtter ikke -h.
ls bruger ikke -h til hjælp, men som forkortelse for --human-readable, hvilket gør, at filstørrelser vises som "1K" i stedet for "1024".
--version (-V) hører tæt sammen med --help, da det giver information om programmet. Traditionelt viser --version versionen af det kørende program. For eksempel:
Dette bekræfter, at du har den ønskede version, nyttigt til fejlfinding. Output kan dog variere betydeligt fra program til program. Nogle, som ncdu, top og jq, viser en simpel linje; andre, som GNU-programmerne find, mkdir og sed, præsenterer detaljerede licensoplysninger og krediteringer over flere linjer. Rekorden går sandsynligvis til Vim, som specificerer funktioner og angiver, om de er inkluderet i den aktuelle version.
Vær opmærksom på, at ikke alle kommandoer understøtter --help og --version, især ældre versioner eller dem, der er bygget i shell. Nogle har --help, men ikke -h. Under macOS understøtter mange kernekommandoer dem slet ikke; der er man henvist til man-sider.
--all for at Vise Alle Resultater
Hvis en kommando arbejder med filer og normalt ignorerer nogle af dem, er --all (-a) en nyttig indstilling. Det mest almindelige eksempel er ls --all, som viser skjulte filer. Denne kommando rapporterer typisk om mapper, men --all inkluderer også almindelige filer.
Kommandoen which har også -a, men med en anden betydning. Som standard viser det den første sti til en kommando i din PATH-variabel:
Med -a rapporteres dog alle matchende programmer:
Nogle kommandoer yder yderligere funktionalitet med komplementære indstillinger. For eksempel understøtter ls en --almost-all (-A), som viser skjulte filer undtaget de specielle . og .. indtastninger.
--force til at Bevilge Destruktiv Adfærd
Mange kommandoer, der kan udsætte dig for destruktive handlinger, beder om bekræftelse under visse omstændigheder. Hvis du for eksempel bruger rm til at slette en skrivebeskyttet fil, kræver det en bekræftelse:
Men med --force (-f) kan du tvinge sletningen:
Nu ignorerer kommandoen bekræftelsen og sletter stille og roligt filen. Ligeledes understøtter andre filrelaterede kommandoer som cp og mv en --force (-f) indstilling med samme effekt.
Men at tvinge betyder ikke nødvendigvis “gør hvad som helst for at udføre handlingen;” det er snarere “vær en smule mindre forsigtig, end du normalt ville være.” For eksempel...
cp -f omgår eksisterende filkontroller, men kopierer ikke ikke-læselige filer.
--recursive til Dykning i Undermapper
Rekursion kan være kompleks, men i Linux-kontekst handler det om at navigere dybere ind i mapper. Eksempelvis vil ls kun vise filer i en mappe, uden at dykke ned i undermapper:
Med --recursive (-R) viser ls også indholdet af undermapper.
Programmer, der arbejder med mange filer, tilbyder ofte --recursive. rm-kommandoen, kendt som rm -rf, er særligt farlig, da den fjerner alt rekursivt. Greps --recursive er nyttig til tekstsøgning på tværs af filer. Den accepterer både -r og -R som forkortelser.
Denne indstilling er alt eller intet. -R får ls til at fortsætte ned gennem undermapper, indtil der ikke er flere at finde. Det kan resultere i en meget længere liste end uden rekursion. Nogle kommandoer tilbyder måder at begrænse dybden, men rm, grep og ls gør normalt ikke dette.
For at begrænse dybden af rekursion er find-kommandoen optimal. Find er rekursiv som standard og har en --maxdepth mulighed, der begrænser nedstigningen til et bestemt antal mapper.
Nogle kommandoer genererer filer i stedet for at skrive til standard output. Mange af dem har en --output (-o) mulighed for at ændre filnavnet. Et klassisk eksempel er gcc (C-kompilator):
gcc -o myprog program.c Denne kommando kompilerer program.c og skaber en eksekverbar fil kaldt myprog. Som standard navngiver gcc output-filen a.out, hvilket er passende til hurtige tests, men ofte ønskes et mere beskrivende navn.
--quiet for Mindre Output og --verbose for Mere
Mange programmer tilbyder forskellige output-formater, og mængden af output kan justeres. --quiet (-q) og --verbose (-v) er nyttige i scripting eller debugging.
grep bruger --quiet (og --silent) til at undertrykke output og fungerer som en ja/nej kontrol for regex matches ifølge exit-status. Andre værktøjer, der understøtter --quiet, inkluderer sed, diff og brew.
--verbose bruges ofte af compilere; gcc giver omfattende diagnostik ved brug af --verbose:
curl returnerer normalt data fra en URL, men --verbose tilføjer forbindelsesdetaljer og headers, hvilket giver dybere indsigt i transaktionen.
-v bruges ofte for --version, så vær opmærksom på, hvad din kommando støtter.
--ignore-case til Behandling af Bogstaver
Programmer som grep eller diff har en standard politik for håndtering af bogstaver. Normalt skelnes der mellem små og store: "exit_status" og "EXIT_STATUS" betragtes som forskellige.
For at ignorere denne forskel kan du bruge --ignore-case:
Andre kommandoer med --ignore-case inkluderer sort, uniq og locate. Find-programmet har case-insensitive versioner som -iname og -ipath.

Skriv et svar