پراڻي لينڪس ڪمانڊ لائن ٽولز جا 5 جديد متبادل

پراڻن ڪمانڊ لائن ٽولز سان گڏ وڌيڪ جديد متبادل استعمال ڪندي، توهان کي وڌيڪ مزو اچي سگهي ٿو ۽ توهان جي پيداوار کي به بهتر بڻائي سگهو ٿا.

پراڻي لينڪس ڪمانڊ لائن ٽولز جا 5 جديد متبادل

لينڪس / يونڪس تي اسان جي روزاني ڪم ۾، اسان ڪيترائي ڪمانڊ لائين اوزار استعمال ڪندا آهيون - مثال طور، du ڊسڪ جي استعمال ۽ سسٽم وسيلن جي نگراني ڪرڻ لاء. انهن اوزارن مان ڪجهه ڪافي عرصي کان موجود آهن. مثال طور، مٿي 1984 ۾ ظاهر ٿيو، ۽ du جي پهرين رليز 1971 ۾ واپس اچي ٿي.

ڪيترن سالن کان، انهن اوزارن کي جديد ڪيو ويو آهي ۽ مختلف سسٽم ڏانهن پورٽ ڪيو ويو آهي، پر عام طور تي اهي انهن جي پهرين نسخن کان گهڻو پري نه ويا آهن، انهن جي ظاهر ۽ استعمال ۾ پڻ گهڻو تبديلي نه آئي آهي.

اهي بهترين اوزار آهن جن کي ڪيترن ئي سسٽم منتظمين جي ضرورت آهي. بهرحال، ڪميونٽي ترقي ڪئي آهي متبادل اوزار جيڪي اضافي فائدا پيش ڪن ٿا. انهن مان ڪجهه صرف هڪ جديد، خوبصورت انٽرفيس آهي، جڏهن ته ٻيا تمام گهڻو استعمال جي صلاحيت کي بهتر بڻائي ٿو. هن ترجمي ۾، اسين معياري لينڪس ڪمانڊ لائن ٽولز جي پنجن متبادلن بابت ڳالهائينداسين.

1. ncdu vs du

NCurses ڊسڪ استعمال (اين ڊي ڊي) 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 سان توهان ڊي کي دٻائڻ سان فائلن کي حذف ڪري سگهو ٿا. اهو حذف ڪرڻ کان پهريان تصديق لاءِ پڇي ٿو. جيڪڏهن توهان قيمتي فائلن جي حادثاتي نقصان کي روڪڻ لاءِ حذف ڪرڻ واري خصوصيت کي بند ڪرڻ چاهيو ٿا، صرف پڙهڻ لاءِ رسائي واري موڊ کي فعال ڪرڻ لاءِ -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 لائينون شامل آهن. ڪرل لاءِ 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 Python ۾ لکيل هو. توھان ان کي انسٽال ڪري سگھو ٿا dnf مئنيجر استعمال ڪندي. عام طور تي، اوزار کي هلائڻ لاء انٽرنيٽ جي رسائي جي ضرورت آهي. پر Fedora جو Python ڪلائنٽ انهن صفحن کي آف لائن رسائي لاءِ ڊائون لوڊ ۽ ڪيش ڪرڻ جي اجازت ڏئي ٿو.

4.jq بمقابله 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 يا tldr ڏانهن.

5. ايف ڊي بمقابله ڳولھيو

fd ڳولهڻ جي افاديت لاءِ هڪ آسان متبادل آهي. Fd ان کي مڪمل طور تي تبديل ڪرڻ جو ارادو نه ڪيو ويو آهي: ان ۾ سڀ کان وڌيڪ عام سيٽنگون ڊفالٽ طور تي نصب ٿيل آهن، فائلن سان ڪم ڪرڻ لاء عام طريقي جي وضاحت ڪندي.

مثال طور، جڏهن Git repository ڊاريڪٽري ۾ فائلن کي ڳولهي رهيا آهيو، fd خودڪار طريقي سان لڪيل فائلون ۽ ذيلي ڊائريڪٽريون خارج ڪري ٿي، بشمول .git ڊاريڪٽري، ۽ پڻ .gitignore فائل مان وائلڊ ڪارڊ کي نظر انداز ڪري ٿو. مجموعي طور تي، اها پهرين ڪوشش تي وڌيڪ لاڳاپيل نتيجا واپس ڪندي ڳولا کي تيز ڪري ٿي.

ڊفالٽ طور، fd موجوده ڊاريڪٽري ۾ ڪيس-غير حساس ڳولا انجام ڏئي ٿو، رنگ جي پيداوار سان. ساڳئي ڳولا ڳولها ڪمانڊ استعمال ڪندي ڪمانڊ لائن تي اضافي پيٽرولر داخل ڪرڻ جي ضرورت آهي. مثال طور، موجوده ڊاريڪٽري ۾ سڀني .md (يا .MD) فائلن کي ڳولڻ لاء، توهان لکندا هڪ ڳولڻ جو حڪم هن طرح:

$ find . -iname "*.md"

fd لاء اهو هن طرح نظر اچي ٿو:

$ fd .md

پر ڪجهه حالتن ۾، fd کي اضافي اختيارن جي ضرورت آهي: مثال طور، جيڪڏهن توهان پوشیدہ فائلون ۽ ڊائريڪٽريون شامل ڪرڻ چاهيو ٿا، توهان کي استعمال ڪرڻ گهرجي -H اختيار، جيتوڻيڪ اهو عام طور تي گهربل ناهي جڏهن ڳولا ڪريو.

fd ڪيترن ئي لينڪس جي تقسيم لاء دستياب آهي. Fedora ۾ ان کي هن طرح انسٽال ڪري سگهجي ٿو:

$ sudo dnf install fd-find

توهان کي ڪجهه به نه ڇڏڻو پوندو

ڇا توهان نئين لينڪس ڪمانڊ لائين اوزار استعمال ڪري رهيا آهيو؟ يا ڇا توهان خاص طور تي پراڻين تي ويٺا آهيو؟ پر گهڻو ڪري توهان وٽ هڪ ڪمبو آهي، صحيح؟ مهرباني ڪري تبصرن ۾ پنهنجو تجربو حصيداري ڪريو.

اشتهارن جي حقن تي

اسان جا ڪيترائي گراهڪ اڳ ۾ ئي فائدن جي ساراهه ڪري چڪا آهن ايپيڪ سرورز!
هن AMD EPYC پروسيسرز سان مجازي سرور, CPU ڪور فريکوئنسي 3.4 GHz تائين. وڌ ۾ وڌ ٺاھ جوڙ توهان کي ڌماڪي جي اجازت ڏيندو - 128 سي پي يو ڪور، 512 GB ريم، 4000 GB NVMe. آرڊر ڪرڻ لاء جلدي ڪريو!

پراڻي لينڪس ڪمانڊ لائن ٽولز جا 5 جديد متبادل

جو ذريعو: www.habr.com

تبصرو شامل ڪريو