Busybox - 25- commands whoami, xargs, xz, xzcay , yes, zcat
جدول المحتويات:
- كيفية استخدام لينكس
xargsالقيادة - كيفية عرض القيادة والمطالبة المستخدم
- كيفية الحد من عدد الحجج
- كيفية تشغيل أوامر متعددة
- كيفية تحديد محدد
- كيفية قراءة العناصر من الملف
- باستخدام
xargsمعfind - باستخدام xargs لتقليص أحرف بيضاء
- استنتاج
تتيح لك الأداة المساعدة
xargs
إنشاء أوامر من الإدخال القياسي وتنفيذها. وعادة ما تستخدم في تركيبة مع الأوامر الأخرى من خلال الأنابيب.
مع
xargs
، يمكنك توفير إدخال قياسي كوسيطة إلى أدوات سطر الأوامر مثل
mkdir
و
rm
.
في هذا البرنامج التعليمي ، سنغطي أساسيات استخدام أمر
xargs
.
كيفية استخدام لينكس
xargs
القيادة
يقرأ
xargs
الوسائط من الإدخال القياسي ، مفصولة بمسافات فارغة أو خطوط جديدة ، وينفذ الأمر المحدد باستخدام المدخلات كوسائط الأمر. إذا لم يتم توفير أي أمر ، يكون الإعداد الافتراضي هو
/bin/echo
.
بناء جملة الأمر
xargs
كما يلي:
xargs]
سيكون المثال الأساسي لاستخدام
xargs
هو تمرير عدة سلاسل مفصولة بمسافة بيضاء باستخدام توجيه إلى
xargs
وتشغيل أمر يستخدم هذه السلاسل كوسائط.
echo "file1 file2 file3" | xargs touch
في المثال أعلاه ، نقوم بتوصيل المدخلات القياسية بـ
xargs
، ويتم تشغيل الأمر
touch
لكل وسيطة ، مما يؤدي إلى إنشاء ثلاثة ملفات. هذا هو نفسه كما لو كنت تعمل:
كيفية عرض القيادة والمطالبة المستخدم
لطباعة الأمر على الجهاز قبل تنفيذه ، استخدم الخيار
-t
(
--verbose
):
echo "file1 file2 file3" | xargs -t touch
touch file1 file2 file3
echo "file1 file2 file3" | xargs -p touch
اكتب
y
أو
Y
لتأكيد الأمر وتشغيله:
touch file1 file2 file3 ?…y
هذا الخيار مفيد عند تنفيذ الأوامر التدميرية.
كيفية الحد من عدد الحجج
بشكل افتراضي ، يتم تحديد عدد الوسائط التي تم تمريرها إلى الأمر بواسطة حد النظام.
يحدد الخيار
-n
(
-n
--max-args
) عدد الوسائط التي سيتم تمريرها إلى الأمر المحدد.
xargs
بتشغيل الأمر المحدد عدة مرات حسب الضرورة حتى يتم استنفاد جميع الوسائط.
في المثال التالي ، يقتصر عدد الوسائط التي يتم قراءتها من الإدخال القياسي على 1.
echo "file1 file2 file3" | xargs -n 1 -t touch
كما ترون من الناتج المطوّل أدناه ، يتم تنفيذ الأمر touch بشكل منفصل لكل وسيطة:
touch file1 touch file2 touch file3
كيفية تشغيل أوامر متعددة
لتشغيل أوامر متعددة باستخدام
xargs
، استخدم الخيار
-I
. يعمل عن طريق تحديد
replace-str
بعد الخيار
-I
ويتم
replace-str
كافة تكرارات
replace-str
استبدال مع وسيطة تمريرها إلى xargs.
سيقوم المثال
xargs
التالي بتشغيل أمرين ، أولاً سينشئ الملفات باستخدام
touch
، ثم يقوم
ls
الملفات باستخدام الأمر
ls
:
echo "file1 file2 file3" | xargs -t -I % sh -c '{ touch %; ls -l %; }'
-rw-r--r-- 1 linuxize users 0 May 6 11:54 file1 -rw-r--r-- 1 linuxize users 0 May 6 11:54 file2 -rw-r--r-- 1 linuxize users 0 May 6 11:54 file3
خيار شائع
replace-str
هو
%
. ومع ذلك ، يمكنك استخدام عنصر نائب آخر ، على سبيل المثال ،
ARGS
:
echo "file1 file2 file3" | xargs -t -I ARGS sh -c '{ touch ARGS; ls -l ARGS; }'
كيفية تحديد محدد
استخدم الخيار
-d
(
-d
--delimiter
) لتعيين محدد مخصص ، والذي يمكن أن يكون إما حرفًا
--delimiter
أو تسلسل هروب يبدأ بـ
\
.
المثال التالي الذي نستخدمه كمحدد:
echo "file1;file2;file3" | xargs -d ; -t touch
كيفية قراءة العناصر من الملف
يمكن للأمر xargs أيضًا قراءة العناصر من ملف بدلاً من الإدخال القياسي. للقيام بذلك ، استخدم الخيار
-a
(
--arg-file
) متبوعًا باسم الملف.
في المثال التالي ، سيقرأ الأمر
xargs
ملف
ips.txt
اتصال كل عنوان IP.
8.8.8.8 1.1.1.1
نحن نستخدم أيضًا الخيار
-L 1
، الذي يرشد
xargs
لقراءة سطر واحد في ذلك الوقت. إذا تم حذف هذا الخيار ، فإن
xargs
سوف تمرر جميع عناوين IP إلى أمر
ping
واحد.
xargs -t -L 1 -a ips.txt ping -c 1
ping -c 1 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=50 time=68.1 ms… ping -c 1 1.1.1.1 PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data. 64 bytes from 1.1.1.1: icmp_seq=1 ttl=59 time=21.4 ms
باستخدام
xargs
مع
find
غالبًا ما يتم استخدام
xargs
بالاقتران مع الأمر
find
. يمكنك استخدام البحث للبحث عن ملفات محددة ثم استخدام
xargs
لتنفيذ عمليات على تلك الملفات.
لتجنب المشكلات المتعلقة بأسماء الملفات التي تحتوي على أسطر جديدة أو أحرف خاصة أخرى ، استخدم دائمًا خيار find
-print0
، الذي يتسبب في
find
على طباعة اسم الملف الكامل متبوعًا بحرف فارغ. يمكن تفسير هذا الإخراج بشكل صحيح بواسطة
xargs
باستخدام الخيار
-0
، (-
--null
).
في المثال التالي ، سوف يقوم
find
بطباعة الأسماء الكاملة لجميع الملفات داخل دليل
xargs
وسوف تمر
xargs
في مسارات الملفات إلى الأمر
rm
:
find /var/www/.cache -type f -print0 | xargs -0 rm -f
باستخدام xargs لتقليص أحرف بيضاء
يمكن أيضًا استخدام
xargs
كأداة لإزالة مسافة بيضاء من جانبي سلسلة معينة. ما عليك سوى توجيه السلسلة إلى أمر
xargs
، وستنفذ عملية القطع:
echo " Long line " | xargs
Long line
يمكن أن يكون هذا مفيدًا عند مقارنة السلاسل في البرامج النصية shell.
#!/bin/bash VAR1=" Linuxize " VAR2="Linuxize" if]; then echo "Strings are equal." else echo "Strings are not equal." fi ## Using xargs to trim VAR1 if]; then echo "Strings are equal." else echo "Strings are not equal." fi
Strings are not equal. Strings are equal.
استنتاج
xargs
هي أداة مساعدة لسطر الأوامر على نظام Linux تتيح لك إنشاء وتنفيذ الأوامر.
لمزيد من المعلومات التفصيلية حول كل خيار
xargs
، اقرأ صفحة xargs man.
الأمر Chgrp في لينكس (مجموعة التغيير)
في نظام Linux ، يرتبط كل ملف بمالك ومجموعة ولديه أذونات تحدد المستخدمين الذين يمكنهم قراءة الملف أو كتابته أو تنفيذه. يغير الأمر chgrpc ملكية مجموعة الملفات المحددة.
Dmesg الأمر في لينكس
طباعة الأداة المساعدة لسطر الأوامر dmesg والتحكم في المخزن المؤقت حلقة kernel. من المفيد فحص رسائل تمهيد kernel وتصحيح المشكلات المتعلقة بالأجهزة.
الأمر Gzip في لينكس
Gzip هي واحدة من خوارزميات الضغط الأكثر شيوعًا التي تسمح لك بتقليل حجم الملف. يشير Gzip أيضًا إلى تنسيق الملف .gz والأداة المساعدة gzip التي تستخدم لضغط وفك ضغط الملفات.







