انڈروئد

لینکس میں زارگس کمانڈ

سكس نار Video

سكس نار Video

فہرست کا خانہ:

Anonim

xargs افادیت آپ کو معیاری ان پٹ سے کمانڈ بنانے اور اس پر عمل درآمد کرنے کی سہولت دیتی ہے۔ یہ عام طور پر پائپنگ کے ذریعے دیگر کمانڈوں کے ساتھ مل کر استعمال ہوتا ہے۔

xargs ، آپ mkdir اور rm جیسے کمانڈ لائن افادیت پر استدلال کے طور پر معیاری ان پٹ فراہم کرسکتے ہیں۔

اس ٹیوٹوریل میں ، ہم xargs کمانڈ استعمال کرنے کی بنیادی باتوں کا احاطہ کریں گے۔

لینکس xargs کمانڈ استعمال کرنے کا طریقہ

xargs خالی جگہوں یا نئی لائنوں کے ذریعہ الگ الگ معیاری ان پٹ سے دلائل پڑھتا ہے ، اور کمانڈ کے دلائل کے بطور ان پٹ استعمال کرکے مخصوص کمانڈ پر عمل درآمد ہوتا ہے۔ اگر کوئی کمانڈ فراہم نہیں کیا جاتا ہے تو ، ڈیفالٹ /bin/echo ۔

xargs کمانڈ کا نحو ذیل میں ہے:

xargs]

xargs کو استعمال کرنے کی سب سے بنیادی مثال یہ ہے کہ وہائٹس اسپیس کے ساتھ جدا ہونے والے کئی تار کو xargs پر پائپ کا استعمال کرتے ہوئے گزرنا ہے اور کمانڈ xargs جو ان ڈوروں کو دلائل کے طور پر استعمال کرے گی۔

echo "file1 file2 file3" | xargs touch

مندرجہ بالا مثال میں ، ہم معیاری ان پٹ کو xargs پائپ کررہے ہیں ، اور ہر دلیل کے لئے touch کمانڈ چلایا جاتا ہے ، جس میں تین فائلیں بنائی جاتی ہیں۔ یہ اسی طرح ہے جیسے آپ دوڑیں گے:

touch file1 file2 file3

کمانڈ کو دیکھیں اور صارف کو فوری طور پر دیکھیں

عمل کرنے سے پہلے ٹرمینل پر کمانڈ پرنٹ کرنے کے لئے -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 ( --max-args ) آپشن دیئے گئے کمانڈ کو پاس کرنے کے لئے دلائل کی تعداد بتاتا ہے۔ xargs متعدد مرتبہ مخصوص کمانڈ چلاتا ہے جب تک کہ تمام دلائل ختم نہ ہوجائیں۔

مندرجہ ذیل مثال میں ، معیاری ان پٹ سے پڑھے جانے والے دلائل کی تعداد 1 تک محدود ہے۔

echo "file1 file2 file3" | xargs -n 1 -t touch

جیسا کہ آپ ذیل میں لفظی آؤٹ پٹ سے دیکھ سکتے ہیں ، ہر دلیل کے لئے ٹچ کمانڈ کو الگ سے پھانسی دی جاتی ہے:

touch file1 touch file2 touch file3

ایک سے زیادہ احکامات کیسے چلائیں

xargs ساتھ ایک سے زیادہ کمانڈ چلانے کے لئے ، -I آپشن کا استعمال کریں۔ یہ -I replace-str -I آپشن کے بعد ایک replace-str کی وضاحت کرکے کام کرتا ہے replace-str کے تمام واقعات کو xargs میں دلیل کے ساتھ تبدیل کردیا جاتا ہے۔

مندرجہ ذیل xargs مثال دو کمانڈز چلائے گی ، پہلے یہ touch کا استعمال کرتے ہوئے فائلیں بنائے گی ، اور پھر وہ 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

تبدیلی کے لئے ایک عام انتخاب % ۔ تاہم ، آپ دوسرا پلیس ہولڈر استعمال کرسکتے ہیں ، مثال کے طور پر ، اے ARGS :

echo "file1 file2 file3" | xargs -t -I ARGS sh -c '{ touch ARGS; ls -l ARGS; }'

ایک ڈیلی میٹر کی وضاحت کیسے کریں

--delimiter کرنے کے لئے -d ( --delimiter ) آپشن کا استعمال کریں ، جو یا تو ایک ہی حرف ہوسکتا ہے یا escape سے شروع ہونے والی فرار کی ترتیب ہوسکتی ہے۔

مندرجہ ذیل مثال ہم استعمال کر رہے ہیں ; حد بندی کے طور پر:

echo "file1;file2;file3" | xargs -d ; -t touch

touch file1 file2 file3

فائل سے آئٹمز کیسے پڑھیں

xargs کمانڈ معیاری ان پٹ کے بجائے فائل سے آئٹمز بھی پڑھ سکتی ہے۔ ایسا کرنے کے لئے ، فائل کا نام کے بعد -a ( --arg-file ) آپشن کا استعمال کریں۔

مندرجہ ذیل مثال میں ، xargs کمانڈ ips.txt فائل کو پڑھے گی اور ہر IP پتے کو پنگ دے گی۔

ips.txt

8.8.8.8 1.1.1.1

ہم -L 1 آپشن کا استعمال بھی کر رہے ہیں ، جو اس وقت ایک لائن کو پڑھنے کی ہدایت کرتا ہے۔ اگر اس آپشن کو چھوڑ دیا گیا ہے تو xargs تمام آئی پیز کو ایک ہی 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 کا استعمال کرتے ہوئے

xargs زیادہ تر xargs کمانڈ کے ساتھ find استعمال ہوتا ہے۔ آپ مخصوص فائلوں کو تلاش کرنے کے xargs کا استعمال کرسکتے ہیں اور پھر ان فائلوں پر کارروائی کرنے کے لئے xargs استعمال کرسکتے ہیں۔

فائل لائن کے ناموں سے متعلق مسائل سے بچنے کے -print0 ، جن میں -print0 یا دوسرے خاص حرف شامل ہوں ، ہمیشہ -print0 آپشن کا استعمال کریں ، جس کی وجہ سے پورے فائل کے نام پرنٹ ہوجاتا ہے جس کے بعد کوئی -print0 ہے۔ اس آؤٹ پٹ کو xargs ذریعے -0 ، ( --null ) آپشن کا استعمال کرکے صحیح طور پر تشریح کی --null ہے۔

مندرجہ ذیل مثال میں ، find گی /var/www/.cache ڈائریکٹری کے اندر موجود تمام فائلوں کے مکمل نام چھاپیں گے اور xargs فائل پاتھوں کو rm کمانڈ تک پہنچا دے گی۔

find /var/www/.cache -type f -print0 | xargs -0 rm -f

وائٹ اسپیس کریکٹر کو ٹرم کرنے کے لئے xargs کا استعمال

xargs کسی ٹول کے دونوں اطراف سے سفید جگہ کو ہٹانے کے ل to ایک ٹول کے طور پر بھی استعمال کیا جاسکتا ہے۔ صرف تار کو xargs کمانڈ پر پائپ کریں ، اور یہ ٹرمنگ کرے گا:

echo " Long line " | xargs

Long line

شیل اسکرپٹ میں تاروں کا موازنہ کرتے وقت یہ کارآمد ثابت ہوسکتا ہے۔

#!/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 لینکس پر ایک کمانڈ لائن افادیت ہے جو آپ کو کمانڈ بنانے اور اس پر عمل درآمد کرنے کے قابل بناتی ہے۔

ہر xargs آپشن کے بارے میں مزید تفصیلی معلومات کے ل the ، xargs مین صفحہ پڑھیں۔

xargs ٹرمینل