د زاړه لینکس کمانډ لاین وسیلو لپاره 5 عصري بدیلونه

د زړو کمانډ لاین وسیلو تر څنګ د نورو عصري بدیلونو کارولو سره ، تاسو کولی شئ ډیر ساتیري ولرئ او حتی خپل تولید ته وده ورکړئ.

د زاړه لینکس کمانډ لاین وسیلو لپاره 5 عصري بدیلونه

زموږ په ورځني کار کې په لینکس / یونیکس کې، موږ د کمانډ لاین ډیری وسیلې کاروو - د بیلګې په توګه، du د ډیسک کارولو او سیسټم سرچینو څارنه. د دې وسیلو څخه ځینې د اوږدې مودې لپاره شاوخوا دي. د مثال په توګه، ټاپ په 1984 کې راڅرګند شو، او د ډو لومړۍ خپرونه بیرته 1971 ته رسیږي.

د کلونو په اوږدو کې، دا وسایل عصري شوي او مختلف سیسټمونو ته لیږدول شوي، مګر په عمومي توګه دوی د دوی د لومړي نسخو څخه لرې نه دي تللي، د دوی بڼه او کارونې کې هم ډیر بدلون نه دی راغلی.

دا عالي وسیلې دي چې ډیری سیسټم مدیران ورته اړتیا لري. په هرصورت، ټولنې بدیل وسایل رامینځته کړي چې اضافي ګټې وړاندې کوي. ځینې ​​یې په ساده ډول یو عصري، ښکلی انٹرفیس لري، پداسې حال کې چې نور یې د کارولو وړتیا ته وده ورکوي. پدې ژباړه کې به موږ د معیاري لینکس کمانډ لاین وسیلو لپاره د پنځو بدیلونو په اړه وغږیږو.

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 د ډیری لینکس پلیټ فارمونو او توزیعونو لپاره شتون لري. د مثال په توګه، تاسو کولی شئ dnf وکاروئ دا په فیډورا کې مستقیم له رسمي زیرمو څخه نصب کړئ:

$ sudo dnf install ncdu

2. htop vs top

هټپ یو متقابل عمل لیدونکی دی چې سر ته ورته دی ، مګر د بکس څخه بهر دا د کارونکي ښه تجربه چمتو کوي. په ډیفالټ ډول، htop ورته معلومات د سر په څیر ښکاره کوي، مګر په ډیر بصری او رنګین ډول.

په ډیفالټ htop داسې ښکاري:

د زاړه لینکس کمانډ لاین وسیلو لپاره 5 عصري بدیلونه
د پورته نه برعکس:

د زاړه لینکس کمانډ لاین وسیلو لپاره 5 عصري بدیلونه
سربیره پردې ، htop په پورتنۍ برخه کې د سیسټم په اړه عمومي معلومات ښیې ، او په لاندې کې د فنکشن کیلي په کارولو سره د کمانډونو چلولو لپاره پینل. تاسو کولی شئ دا د F2 په فشارولو سره تنظیم کړئ ترڅو د ترتیب سکرین خلاص کړئ. په ترتیباتو کې، تاسو کولی شئ رنګونه بدل کړئ، میټریکونه اضافه یا لرې کړئ، یا د عمومي لید پینل ښودلو اختیارونه بدل کړئ.

که څه هم تاسو کولی شئ د پورته وروستي نسخو ترتیبات ټیک کولو سره ورته کارونې ترلاسه کړئ، htop د مناسب ډیفالټ ترتیب چمتو کوي، کوم چې دا خورا عملي او کارول اسانه کوي.

3. tldr vs انسان

د tldr کمانډ لاین وسیله د کمانډونو په اړه د مرستې ساده معلومات ښیې ، ډیری مثالونه. دا د ټولنې لخوا رامینځته شوی د tldr مخونو پروژه.

دا د یادونې وړ ده چې tldr د انسان لپاره بدیل ندی. دا لا تر اوسه د مینی پاڼی د تولید وسیله کینونیکی او خورا پراخه ده. په هرصورت، په ځینو مواردو کې، انسان بې ځایه کیږي. کله چې تاسو د قوماندې په اړه هراړخیز معلوماتو ته اړتیا نلرئ، تاسو یوازې هڅه کوئ چې د هغې اساسي کارونې په یاد ولرئ. د مثال په توګه، د curl کمانډ لپاره مین پاڼه نږدې 3000 لینونه لري. د curl لپاره 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 معنی لري "ډیر اوږد؛ نه لوستل شوي": یعني ځینې متن د ډیر لفظي والي له امله له پامه غورځول شوی. نوم د دې وسیلې لپاره مناسب دی ځکه چې د مین پا pagesې ، پداسې حال کې چې ګټورې وي ، ځینې وختونه خورا اوږد کیدی شي.

د فیډورا لپاره، tldr په Python کې لیکل شوی و. تاسو کولی شئ دا د 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 ټولې لینونه چې د کلمې نوم لري بیرته راستانه کړل. تاسو کولی شئ د دې محدودولو لپاره د ګریپ لپاره یو څو نور اختیارونه اضافه کړئ ، او د کانټینر نومونو موندلو لپاره ځینې منظم بیان لاسوهنه وکاروئ.

د jq په کارولو سره ورته پایلې ترلاسه کولو لپاره، یوازې ولیکئ:

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

دا کمانډ به تاسو ته د دواړو کانتینرونو نومونه درکړي. که تاسو یوازې د دویم کانټینر نوم په لټه کې یاست، په بیان کې د سري عنصر شاخص اضافه کړئ:

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

څرنګه چې jq د معلوماتو جوړښت په اړه پوهیږي، دا ورته پایلې تولیدوي حتی که د فایل بڼه یو څه بدلون ومومي. grep او sed ممکن پدې حالت کې سم کار ونکړي.

jq ډیری دندې لري، مګر د دوی تشریح کولو لپاره بلې مقالې ته اړتیا ده. د نورو معلوماتو لپاره مهرباني وکړئ اړیکه ونیسئ د پروژې پاڼه jq یا to tldr.

5. fd vs موندنه

fd د موندلو کارونې لپاره یو ساده بدیل دی. Fd د دې په بشپړ ډول بدلولو لپاره ندي: دا د ډیفالټ لخوا نصب شوي خورا عام تنظیمات لري ، د فایلونو سره کار کولو عمومي چلند تعریفوي.

د مثال په توګه ، کله چې د Git ذخیره کولو لارښود کې د فایلونو لټون کول ، fd په اوتومات ډول پټ فایلونه او فرعي لارښودونه لرې کوي ، پشمول د .git ډایرکټرۍ ، او د .gitignore فایل څخه وائلډ کارډونه هم له پامه غورځوي. په ټولیز ډول، دا په لومړي هڅه کې د نورو اړوندو پایلو بیرته راستنیدو سره لټونونه ګړندي کوي.

په ډیفالټ ، fd په اوسني لارښود کې د قضیې غیر حساس لټون ترسره کوي ، د رنګ محصول سره. د موندلو کمانډ په کارولو سره ورته لټون د کمانډ لاین کې اضافي پیرامیټرو ته اړتیا لري. د مثال په توګه، په اوسني ډایرکټر کې د ټولو .md (یا .MD) فایلونو موندلو لپاره، تاسو به د دې په څیر د موندلو کمانډ ولیکئ:

$ find . -iname "*.md"

د fd لپاره دا داسې ښکاري:

$ fd .md

مګر په ځینو مواردو کې ، fd اضافي اختیارونو ته هم اړتیا لري: د مثال په توګه ، که تاسو غواړئ پټ فایلونه او لارښودونه پکې شامل کړئ ، تاسو باید د -H اختیار وکاروئ ، که څه هم دا معمولا د لټون کولو پرمهال اړتیا نلري.

fd د ډیری لینکس توزیع لپاره شتون لري. په فیډورا کې دا په لاندې ډول نصب کیدی شي:

$ sudo dnf install fd-find

تاسو باید هیڅ شی پریږدئ

ایا تاسو د نوي لینکس کمانډ لاین وسیلې کاروئ؟ یا تاسو په ځانګړي ډول په پخوانیو کې ناست یاست؟ مګر ډیری احتمال تاسو کومبو لرئ، سمه ده؟ مهرباني وکړئ خپل تجربه په نظرونو کې شریک کړئ.

د اعلاناتو حقونه

زموږ ډیری پیرودونکو لا دمخه د ګټو ستاینه کړې عصري سرورونه!
د دې د AMD EPYC پروسیسرونو سره مجازی سرورونه، د CPU اصلي فریکونسۍ تر 3.4 GHz پورې. اعظمي ترتیب به تاسو ته اجازه درکړي چې چاودنه ولرئ - 128 CPU کورونه ، 512 GB رام ، 4000 GB NVMe. امر کولو ته بیړه وکړئ!

د زاړه لینکس کمانډ لاین وسیلو لپاره 5 عصري بدیلونه

سرچینه: www.habr.com

Add a comment