పాత Linux కమాండ్ లైన్ సాధనాలకు 5 ఆధునిక ప్రత్యామ్నాయాలు

పాత కమాండ్ లైన్ సాధనాలతో పాటు మరింత ఆధునిక ప్రత్యామ్నాయాలను ఉపయోగించడం ద్వారా, మీరు మరింత ఆనందించవచ్చు మరియు మీ ఉత్పాదకతను కూడా మెరుగుపరచుకోవచ్చు.

పాత Linux కమాండ్ లైన్ సాధనాలకు 5 ఆధునిక ప్రత్యామ్నాయాలు

Linux/Unixలో మా రోజువారీ పనిలో, మేము అనేక కమాండ్ లైన్ సాధనాలను ఉపయోగిస్తాము - ఉదాహరణకు, డిస్క్ వినియోగం మరియు సిస్టమ్ వనరులను పర్యవేక్షించడానికి du. ఈ సాధనాల్లో కొన్ని చాలా కాలంగా ఉన్నాయి. ఉదాహరణకు, టాప్ 1984లో కనిపించింది మరియు డు యొక్క మొదటి విడుదల 1971 నాటిది.

సంవత్సరాలుగా, ఈ సాధనాలు ఆధునికీకరించబడ్డాయి మరియు వివిధ వ్యవస్థలకు పోర్ట్ చేయబడ్డాయి, అయితే సాధారణంగా అవి వాటి మొదటి సంస్కరణల నుండి చాలా దూరం మారలేదు, వాటి రూపాన్ని మరియు వినియోగం కూడా పెద్దగా మారలేదు.

ఇవి చాలా మంది సిస్టమ్ అడ్మినిస్ట్రేటర్‌లకు అవసరమైన గొప్ప సాధనాలు. అయితే, సంఘం అదనపు ప్రయోజనాలను అందించే ప్రత్యామ్నాయ సాధనాలను అభివృద్ధి చేసింది. వాటిలో కొన్ని ఆధునికమైన, అందమైన ఇంటర్‌ఫేస్‌ను కలిగి ఉంటాయి, మరికొన్ని వినియోగాన్ని బాగా మెరుగుపరుస్తాయి. ఈ అనువాదంలో, మేము ప్రామాణిక Linux కమాండ్ లైన్ సాధనాలకు ఐదు ప్రత్యామ్నాయాల గురించి మాట్లాడుతాము.

1. ncdu vs du

NCurses డిస్క్ వినియోగం (ncdu) du మాదిరిగానే ఉంటుంది, కానీ కర్సెస్ లైబ్రరీ ఆధారంగా ఇంటరాక్టివ్ ఇంటర్‌ఫేస్‌తో ఉంటుంది. ncdu మీ డిస్క్ స్థలాన్ని ఎక్కువగా తీసుకునే డైరెక్టరీ నిర్మాణాన్ని ప్రదర్శిస్తుంది.

ncdu డిస్క్‌ను విశ్లేషిస్తుంది మరియు తరచుగా ఉపయోగించే డైరెక్టరీలు లేదా ఫైల్‌ల ద్వారా క్రమబద్ధీకరించబడిన ఫలితాలను ప్రదర్శిస్తుంది, ఉదాహరణకు:

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

మీరు బాణం కీలను ఉపయోగించి ఎంట్రీల ద్వారా నావిగేట్ చేయవచ్చు. మీరు Enter నొక్కితే, ncdu ఎంచుకున్న డైరెక్టరీలోని కంటెంట్‌లను ప్రదర్శిస్తుంది:

--- /home/rgerardi/libvirt ----------------------------------------------------
                         /..
   91.3 GiB [##########] /images
    5.3 GiB [          ] /media

మీరు ఈ సాధనాన్ని ఉపయోగించి, ఉదాహరణకు, ఏ ఫైల్‌లు ఎక్కువ డిస్క్ స్థలాన్ని ఆక్రమిస్తున్నాయో గుర్తించవచ్చు. మీరు ఎడమ బాణం కీని నొక్కడం ద్వారా మునుపటి డైరెక్టరీకి వెళ్లవచ్చు. ncduతో మీరు d కీని నొక్కడం ద్వారా ఫైల్‌లను తొలగించవచ్చు. ఇది తొలగించే ముందు నిర్ధారణ కోసం అడుగుతుంది. మీరు విలువైన ఫైల్‌లను ప్రమాదవశాత్తు కోల్పోకుండా నిరోధించడానికి తొలగింపు లక్షణాన్ని నిలిపివేయాలనుకుంటే, చదవడానికి మాత్రమే యాక్సెస్ మోడ్‌ను ప్రారంభించడానికి -r ఎంపికను ఉపయోగించండి: ncdu -r.

ncdu అనేక Linux ప్లాట్‌ఫారమ్‌లు మరియు పంపిణీలకు అందుబాటులో ఉంది. ఉదాహరణకు, మీరు అధికారిక రిపోజిటరీల నుండి నేరుగా Fedoraలో దీన్ని ఇన్‌స్టాల్ చేయడానికి dnfని ఉపయోగించవచ్చు:

$ sudo dnf install ncdu

2. htop vs టాప్

htop ఎగువకు సమానమైన ఇంటరాక్టివ్ ప్రాసెస్ వ్యూయర్, కానీ బాక్స్ వెలుపల ఇది మంచి వినియోగదారు అనుభవాన్ని అందిస్తుంది. డిఫాల్ట్‌గా, htop ఎగువన ఉన్న అదే సమాచారాన్ని ప్రదర్శిస్తుంది, కానీ మరింత దృశ్యమానంగా మరియు రంగురంగుల విధంగా.

డిఫాల్ట్‌గా htop ఇలా కనిపిస్తుంది:

పాత Linux కమాండ్ లైన్ సాధనాలకు 5 ఆధునిక ప్రత్యామ్నాయాలు
ఎగువన కాకుండా:

పాత Linux కమాండ్ లైన్ సాధనాలకు 5 ఆధునిక ప్రత్యామ్నాయాలు
అదనంగా, htop ఎగువన సిస్టమ్ గురించి స్థూలదృష్టి సమాచారాన్ని ప్రదర్శిస్తుంది మరియు దిగువన ఫంక్షన్ కీలను ఉపయోగించి ఆదేశాలను అమలు చేయడానికి ప్యానెల్. మీరు కాన్ఫిగరేషన్ స్క్రీన్‌ను తెరవడానికి F2 నొక్కడం ద్వారా దీన్ని కాన్ఫిగర్ చేయవచ్చు. సెట్టింగ్‌లలో, మీరు రంగులను మార్చవచ్చు, కొలమానాలను జోడించవచ్చు లేదా తీసివేయవచ్చు లేదా ఓవర్‌వ్యూ ప్యానెల్ డిస్‌ప్లే ఎంపికలను మార్చవచ్చు.

టాప్ యొక్క తాజా వెర్షన్‌ల సెట్టింగ్‌లను సర్దుబాటు చేయడం ద్వారా మీరు సారూప్య వినియోగాన్ని సాధించగలిగినప్పటికీ, htop అనుకూలమైన డిఫాల్ట్ కాన్ఫిగరేషన్‌లను అందిస్తుంది, ఇది మరింత ఆచరణాత్మకంగా మరియు ఉపయోగించడానికి సులభమైనదిగా చేస్తుంది.

3. tldr vs మనిషి

tldr కమాండ్ లైన్ సాధనం ఆదేశాల గురించి సరళీకృత సహాయ సమాచారాన్ని ప్రదర్శిస్తుంది, ఎక్కువగా ఉదాహరణలు. ఇది సంఘం ద్వారా అభివృద్ధి చేయబడింది tldr పేజీల ప్రాజెక్ట్.

Tldr మనిషికి ప్రత్యామ్నాయం కాదని గమనించాలి. ఇది ఇప్పటికీ కానానికల్ మరియు అత్యంత సమగ్రమైన మ్యాన్ పేజీ అవుట్‌పుట్ సాధనం. అయితే, కొన్ని సందర్భాల్లో మనిషి అనవసరంగా ఉంటాడు. మీకు కమాండ్ గురించి సమగ్ర సమాచారం అవసరం లేనప్పుడు, మీరు దాని ప్రాథమిక ఉపయోగాలను గుర్తుంచుకోవడానికి ప్రయత్నిస్తున్నారు. ఉదాహరణకు, కర్ల్ కమాండ్ కోసం మ్యాన్ పేజీ దాదాపు 3000 లైన్లను కలిగి ఉంటుంది. కర్ల్ కోసం tldr పేజీ 40 లైన్ల పొడవు ఉంది. దాని భాగం ఇలా కనిపిస్తుంది:


$ 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 అంటే “చాలా పొడవు; చదవలేదు": అంటే, కొన్ని టెక్స్ట్ దాని మితిమీరిన వెర్బోసిటీ కారణంగా విస్మరించబడింది. మ్యాన్ పేజీలు ఉపయోగకరంగా ఉన్నప్పటికీ, కొన్నిసార్లు చాలా పొడవుగా ఉండవచ్చు కాబట్టి ఈ సాధనానికి పేరు సముచితమైనది.

Fedora కోసం, tldr పైథాన్‌లో వ్రాయబడింది. మీరు దీన్ని dnf మేనేజర్‌ని ఉపయోగించి ఇన్‌స్టాల్ చేయవచ్చు. సాధారణంగా, సాధనం ఆపరేట్ చేయడానికి ఇంటర్నెట్ యాక్సెస్ అవసరం. కానీ ఫెడోరా యొక్క పైథాన్ క్లయింట్ ఈ పేజీలను డౌన్‌లోడ్ చేసుకోవడానికి మరియు ఆఫ్‌లైన్ యాక్సెస్ కోసం కాష్ చేయడానికి అనుమతిస్తుంది.

4.jq vs sed/grep

jq అనేది కమాండ్ లైన్ కోసం JSON ప్రాసెసర్. ఇది sed లేదా grep లాగా ఉంటుంది, కానీ JSON డేటాతో పని చేయడానికి ప్రత్యేకంగా రూపొందించబడింది. మీరు రోజువారీ పనులలో JSONని ఉపయోగించే డెవలపర్ లేదా సిస్టమ్ అడ్మినిస్ట్రేటర్ అయితే, ఇది మీ కోసం సాధనం.

grep మరియు sed వంటి ప్రామాణిక టెక్స్ట్ ప్రాసెసింగ్ సాధనాల కంటే jq యొక్క ప్రధాన ప్రయోజనం ఏమిటంటే ఇది JSON డేటా నిర్మాణాన్ని అర్థం చేసుకుంటుంది, ఇది ఒకే వ్యక్తీకరణలో సంక్లిష్ట ప్రశ్నలను సృష్టించడానికి మిమ్మల్ని అనుమతిస్తుంది.

ఉదాహరణకు, మీరు ఈ JSON ఫైల్‌లో కంటైనర్ పేర్లను కనుగొనడానికి ప్రయత్నిస్తున్నారు:

{
  "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"
  }
}

స్ట్రింగ్ పేరును కనుగొనడానికి grepని అమలు చేయండి:

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

grep పదం పేరు ఉన్న అన్ని పంక్తులను తిరిగి ఇచ్చింది. మీరు దానిని పరిమితం చేయడానికి grepకి మరికొన్ని ఎంపికలను జోడించవచ్చు మరియు కంటైనర్ పేర్లను కనుగొనడానికి కొన్ని సాధారణ వ్యక్తీకరణ మానిప్యులేషన్‌ని ఉపయోగించవచ్చు.

jqని ఉపయోగించి అదే ఫలితాన్ని పొందడానికి, కేవలం వ్రాయండి:

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

ఈ ఆదేశం మీకు రెండు కంటైనర్ల పేర్లను ఇస్తుంది. మీరు రెండవ కంటైనర్ పేరు కోసం మాత్రమే చూస్తున్నట్లయితే, వ్యక్తీకరణకు శ్రేణి మూలకం యొక్క సూచికను జోడించండి:

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

jqకి డేటా స్ట్రక్చర్ గురించి తెలుసు కాబట్టి, ఫైల్ ఫార్మాట్ కొద్దిగా మారినప్పటికీ అది అదే ఫలితాలను ఇస్తుంది. grep మరియు sed ఈ సందర్భంలో సరిగ్గా పని చేయకపోవచ్చు.

jq అనేక విధులను కలిగి ఉంది, కానీ వాటిని వివరించడానికి మరొక కథనం అవసరం. మరింత సమాచారం కోసం దయచేసి సంప్రదించండి ప్రాజెక్ట్ పేజీ jq లేదా tldr.

5. fd vs కనుగొను

fd ఫైండ్ యుటిలిటీకి సరళీకృత ప్రత్యామ్నాయం. Fd దీన్ని పూర్తిగా భర్తీ చేయడానికి ఉద్దేశించబడలేదు: ఇది డిఫాల్ట్‌గా ఇన్‌స్టాల్ చేయబడిన అత్యంత సాధారణ సెట్టింగ్‌లను కలిగి ఉంది, ఫైల్‌లతో పని చేయడానికి సాధారణ విధానాన్ని నిర్వచిస్తుంది.

ఉదాహరణకు, Git రిపోజిటరీ డైరెక్టరీలో ఫైల్‌ల కోసం శోధిస్తున్నప్పుడు, fd .git డైరెక్టరీతో సహా దాచిన ఫైల్‌లు మరియు సబ్ డైరెక్టరీలను స్వయంచాలకంగా మినహాయిస్తుంది మరియు .gitignore ఫైల్ నుండి వైల్డ్‌కార్డ్‌లను కూడా విస్మరిస్తుంది. మొత్తంమీద, ఇది మొదటి ప్రయత్నంలోనే మరింత సంబంధిత ఫలితాలను అందించడం ద్వారా శోధనలను వేగవంతం చేస్తుంది.

డిఫాల్ట్‌గా, fd ప్రస్తుత డైరెక్టరీలో కలర్ అవుట్‌పుట్‌తో కేస్-ఇన్సెన్సిటివ్ శోధనను నిర్వహిస్తుంది. ఫైండ్ కమాండ్‌ని ఉపయోగించి అదే శోధనకు కమాండ్ లైన్‌లో అదనపు పారామితులను నమోదు చేయడం అవసరం. ఉదాహరణకు, ప్రస్తుత డైరెక్టరీలో అన్ని .md (లేదా .MD) ఫైల్‌లను కనుగొనడానికి, మీరు ఇలాంటి ఫైండ్ కమాండ్‌ను వ్రాస్తారు:

$ find . -iname "*.md"

Fd కోసం ఇది ఇలా కనిపిస్తుంది:

$ fd .md

కానీ కొన్ని సందర్భాల్లో, fdకి అదనపు ఎంపికలు కూడా అవసరం: ఉదాహరణకు, మీరు దాచిన ఫైల్‌లు మరియు డైరెక్టరీలను చేర్చాలనుకుంటే, మీరు తప్పనిసరిగా -H ఎంపికను ఉపయోగించాలి, అయితే శోధిస్తున్నప్పుడు ఇది సాధారణంగా అవసరం లేదు.

అనేక Linux పంపిణీలకు fd అందుబాటులో ఉంది. ఫెడోరాలో దీన్ని ఇలా ఇన్‌స్టాల్ చేయవచ్చు:

$ sudo dnf install fd-find

మీరు దేనినీ వదులుకోవాల్సిన అవసరం లేదు

మీరు కొత్త Linux కమాండ్ లైన్ సాధనాలను ఉపయోగిస్తున్నారా? లేక పాత వాటిపై ప్రత్యేకంగా కూర్చుంటారా? కానీ చాలా మటుకు మీకు కాంబో ఉంది, సరియైనదా? దయచేసి మీ అనుభవాన్ని వ్యాఖ్యలలో పంచుకోండి.

ప్రకటనల హక్కులపై

మా ఖాతాదారులలో చాలా మంది ఇప్పటికే ప్రయోజనాలను ప్రశంసించారు పురాణ సర్వర్లు!
AMD EPYC ప్రాసెసర్‌లతో వర్చువల్ సర్వర్లు, CPU కోర్ ఫ్రీక్వెన్సీ 3.4 GHz వరకు. గరిష్ట కాన్ఫిగరేషన్ మిమ్మల్ని బ్లాస్ట్ చేయడానికి అనుమతిస్తుంది - 128 CPU కోర్లు, 512 GB RAM, 4000 GB NVMe. ఆర్డర్ చేయడానికి త్వరపడండి!

పాత Linux కమాండ్ లైన్ సాధనాలకు 5 ఆధునిక ప్రత్యామ్నాయాలు

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి