5 بدائل حديثة لأدوات سطر أوامر Linux القديمة

يمكن أن يكون استخدام بدائل أكثر حداثة إلى جانب أدوات سطر الأوامر القديمة أكثر متعة وأكثر إنتاجية.







في عملنا اليومي على Linux / Unix ، نستخدم العديد من أدوات سطر الأوامر مثل du لمراقبة استخدام القرص وموارد النظام. بعض هذه الأدوات موجودة منذ فترة طويلة. على سبيل المثال ، ظهر توب في عام 1984 ، ويعود تاريخ إصدار du الأول إلى عام 1971.



على مر السنين ، تم ترقية هذه الأدوات ونقلها إلى أنظمة مختلفة ، ولكن بشكل عام لم تذهب بعيدًا عن إصداراتها الأولى ، ولم يتغير مظهرها وسهولة استخدامها كثيرًا أيضًا.



هذه أدوات رائعة يحتاجها العديد من مسؤولي النظام. ومع ذلك ، فقد طور المجتمع أدوات بديلة تقدم فوائد إضافية. يحتوي بعضها على واجهة حديثة وجميلة ، بينما يحسن البعض الآخر سهولة الاستخدام. في هذه الترجمة ، سنتحدث عن خمسة بدائل لأدوات سطر أوامر لينكس القياسية.



1. ncdu مقابل du



NCurses Disk Usage ( 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 والتوزيعات. على سبيل المثال ، يمكنك استخدام dnf لتثبيته على Fedora مباشرة من المستودعات الرسمية:



$ sudo dnf install ncdu


2. قمة مقابل القمة



Htop عبارة عن أداة تفاعلية لعرض العمليات ، تشبه العمليات العليا ، ولكنها توفر تجربة مستخدم ممتعة. بشكل افتراضي ، يعرض htop نفس المعلومات التي يعرضها الجزء العلوي ، ولكن بطريقة أكثر وضوحًا وملونة.



بشكل افتراضي ، يبدو htop كما يلي:





على عكس القمة:





بالإضافة إلى ذلك ، في الأعلى ، يعرض htop معلومات النظرة العامة حول النظام ، وفي الأسفل ، لوحة لإطلاق الأوامر باستخدام مفاتيح الوظائف. يمكنك تكوينه بالضغط على F2 لفتح شاشة الإعداد. في الإعدادات ، يمكنك تغيير الألوان أو إضافة أو إزالة المقاييس أو تغيير خيارات العرض للوحة النظرة العامة.



على الرغم من أن تعديل إعدادات أحدث إصدارات القمة يمكن أن يحقق أيضًا قابلية استخدام مماثلة ، إلا أن htop يوفر تكوينات افتراضية ملائمة ، مما يجعله أكثر عملية وأسهل في الاستخدام.



3. tldr مقابل الرجل



تعرض أداة سطر الأوامر tldr معلومات مساعدة الأمر المبسطة ، ومعظمها أمثلة. تم تطويره من قبل مجتمع مشروع صفحات tldr .



الجدير بالذكر أن tldr ليس بديلاً للإنسان. لا يزال الأداة الأساسية والأكثر اكتمالا لعرض الصفحات اليدوية. ومع ذلك ، في بعض الحالات ، الرجل زائدة عن الحاجة. عندما لا تحتاج إلى معلومات شاملة حول أي فريق ، فأنت تحاول فقط تذكر الخيارات الرئيسية لاستخدامه. على سبيل المثال ، تبلغ صفحة الدليل للكرة حوالي 3000 سطر. يبلغ طول صفحة tldr لـ curl 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 vs sed / grep



jq هو معالج JSON لسطر الأوامر. إنه مشابه لـ sed أو grep ، ولكنه مصمم خصيصًا للعمل مع البيانات بتنسيق JSON. إذا كنت مطورًا أو مسؤول نظام يستخدم JSON في المهام اليومية ، فهذه الأداة مناسبة لك.



الميزة الرئيسية لـ jq على أدوات معالجة الكلمات القياسية مثل grep و sed هي أنه يفهم بنية بيانات 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 مقابل البحث



fd هو بديل مبسط للبحث عنه. لا يقصد Fd استبداله بالكامل: فهو يتم تعيينه افتراضيًا على الإعدادات الأكثر شيوعًا التي تحدد النهج العام للعمل مع الملفات.



على سبيل المثال ، عند البحث عن ملفات في دليل مستودع Git ، يستبعد fd تلقائيًا الملفات المخفية والأدلة الفرعية ، بما في ذلك دليل .git ويتجاهل القوالب من ملف .gitignore. بشكل عام ، فإنه يسرع عمليات البحث من خلال تقديم نتائج أكثر صلة في المحاولة الأولى.



بشكل افتراضي ، يُجري fd بحثًا غير حساس لحالة الأحرف في دليل إخراج الألوان الحالي. تتطلب عملية البحث نفسها باستخدام الأمر find إدخال معلمات إضافية في سطر الأوامر. على سبيل المثال ، للعثور على جميع ملفات .md (أو .MD) في الدليل الحالي ، يمكنك كتابة الأمر find:



$ find . -iname "*.md"


بالنسبة إلى fd ، يبدو هذا كما يلي:



$ fd .md


ولكن في بعض الحالات ، يتطلب fd أيضًا معلمات إضافية: على سبيل المثال ، إذا كنت تريد تضمين الملفات والأدلة المخفية ، يجب عليك استخدام الخيار -H ، على الرغم من أن هذا غير مطلوب عادةً عند البحث.



fd متاح للعديد من توزيعات لينكس. على Fedora ، يمكنك تثبيته على النحو التالي:



$ sudo dnf install fd-find


ليس عليك التخلي عن شيء ما



هل تستخدم أدوات سطر الأوامر الجديدة في Linux؟ أو هل تجلس حصريًا على القديم؟ لكن على الأرجح أن لديك مجموعة كومبو ، أليس كذلك؟ يرجى مشاركة تجربتك في التعليقات.






إعلان



لقد قدر العديد من عملائنا بالفعل فوائد الخوادم الملحمية !

هذه خوادم افتراضية مع معالجات AMD EPYC ، وتردد وحدة المعالجة المركزية الأساسية حتى 3.4 جيجا هرتز. سيسمح لك التكوين الأقصى بالوصول إلى 128 نواة كاملة لوحدة المعالجة المركزية ، و 512 جيجا بايت من ذاكرة الوصول العشوائي ، و 4000 جيجا بايت من NVMe. اسرع بالطلب!






All Articles