انڈروئد

کمانڈ لائن کا استعمال کرتے ہوئے لینکس میں فائلیں کیسے ڈھونڈیں

Joy's latest vid Ù-Ú

Joy's latest vid Ù-Ú

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

Anonim

لینکس سسٹم کے منتظمین اسلحہ خانے میں فائن کمانڈ ایک سب سے طاقتور ٹول ہے۔ یہ ایک صارف کی عطا کردہ اظہار پر مبنی ڈائرکٹری درجہ بندی میں فائلوں اور ڈائرکٹریوں کی تلاش کرتا ہے اور ہر مماثل فائل پر صارف کے ذریعہ مخصوص کارروائی انجام دے سکتا ہے۔

آپ فائلوں اور ڈائریکٹریوں کو ان کی اجازت ، قسم ، تاریخ ، ملکیت ، سائز اور بہت کچھ کی بنیاد پر تلاش کرنے کے لئے کمانڈ کا استعمال کرسکتے ہیں۔ یہ دوسرے ٹولز جیسے grep یا sed ساتھ بھی استعمال ہوسکتی ہے۔

لینکس کمانڈ نحو تلاش کرتا ہے

فائنڈ کمانڈ کے لئے عمومی ترکیب کچھ اس طرح ہے۔

find

  • options کی وابستگی علامتی روابط ، ڈیبگنگ اختیارات ، اور اصلاح کے طریقہ کار کے علاج کو کنٹرول کرتی ہے۔ path… وصف شروعاتی ڈائرکٹری یا ڈائریکٹریوں کی وضاحت کرتا ہے جہاں فائلیں تلاش کریں گی۔ expression وصف اختیارات ، تلاش کے نمونوں ، اور پر مشتمل ہے۔ آپریٹرز کے ذریعہ الگ الگ اقدامات

کسی ڈائرکٹری میں فائلوں کی تلاش کے ل find ، صارف کو فائنڈ کمانڈ کی طلب کرتے ہوئے اس ڈائرکٹری میں اجازت پڑھنے کی ضرورت ہوتی ہے۔

آئیے مندرجہ ذیل مثال پر ایک نظر ڈالیں:

find -L /var/www -name "*.js"

  • آپل - -L (آپشنز) علامتی روابط کی پیروی کرنے کے لئے کمانڈ کو بتاتا ہے۔ /var/www (راستہ) ڈائریکٹری کی وضاحت کرتا ہے جو تلاش کی جائے گی۔ (اظہار) - -name "*.js فائلوں کو تلاش کرنے کے لئے ختم ہونے والی فائلوں کو تلاش کرتا ہے۔ .js (جاوا اسکرپٹ فائلیں)

نام کے ذریعہ فائلیں تلاش کریں

نام سے فائلیں ڈھونڈنا شاید فائنڈ کمانڈ کا سب سے عام استعمال ہے۔ اس کے نام کے استعمال سے کسی فائل کو ڈھونڈنے کے -name the ، -name آپشن فائل کے نام کے بعد آپ تلاش کر رہے ہیں۔

مثال کے طور پر ، /home/linuxize ڈائرکٹری میں document.pdf نامی فائل کی تلاش کے /home/linuxize آپ مندرجہ ذیل کمانڈ استعمال کریں گے۔

find /home/linuxize -type f -name document.pdf

کیس غیر حساس تلاش کرنے کے -iname the ، -name ساتھ -iname آپشن تبدیل کریں:

find /home/linuxize -type f -iname document.pdf

مذکورہ کمانڈ "دستاویز.پی ڈی ایف" ، "دستاویز.پی ڈی ایف"..etc سے مماثل ہوگی۔

توسیع کے ذریعہ فائلیں تلاش کریں

توسیع کے ذریعہ فائلوں کی تلاش ویسے ہی ہے جیسے نام کے ذریعہ فائلوں کو تلاش کرنا۔ مثال کے طور پر ، /var/log/nginx ڈائریکٹری کے اندر اندر .log.gz ساتھ ختم ہونے والی تمام فائلوں کو .log.gz کے لئے:

find /var/log/nginx -type f -name '*.log.gz'

یہ بتانا ضروری ہے کہ جب آپ وائلڈ کارڈ کیریکٹر استعمال کرتے ہیں تو آپ کو نمونہ کی قیمت پیش کرنا چاہئے یا بیک سلائش کے ساتھ نجمہ * علامت سے بچنا چاہئے تاکہ شیل سے اس کی ترجمانی نہ ہو۔

وہ تمام فائلیں ڈھونڈنے کے لئے جو *.log.gz نہیں ہیں آپ *.log.gz آپشن استعمال کرسکتے ہیں۔ مثال کے طور پر ، تمام فائلوں کو تلاش کرنے کے لئے جو *.log.gz میں ختم نہیں ہوتے ہیں آپ استعمال کریں گے:

find /var/log/nginx -type f -not -name '*.log.gz'

قسم کے لحاظ سے فائلیں تلاش کریں

کبھی کبھی آپ کو مخصوص فائلوں جیسے عام فائلوں ، ڈائریکٹریوں یا سیملنکس کی تلاش کرنے کی ضرورت پڑسکتی ہے۔ لینکس میں ، ہر چیز ایک فائل ہوتی ہے۔

فائلوں کو ان کی قسم پر مبنی تلاش کرنے کے لئے ، فائل ٹائپ کی وضاحت کے ل to ٹائپ ٹائپ آپشن اور درج ذیل -type استعمال کریں۔

  • f : ایک باقاعدہ فائل d : ڈائریکٹری l : علامتی لنک c : حرفی آلات b : block آلات p : نامزد پائپ (FIFO) s : ساکٹ

مثال کے طور پر ، موجودہ ورکنگ ڈائرکٹری میں تمام ڈائریکٹریوں کو تلاش کرنے کے ل you ، آپ استعمال کریں گے:

find. -type d

عام مثال یہ ہوگی کہ chmod کمانڈ کا استعمال کرتے ہوئے ویب سائٹ فائل کی اجازت کو 644 and to اور ڈائریکٹری اجازت کو to 755 to میں تبدیل کریں۔

find /var/www/my_website -type d -exec chmod 0755 {} ; find /var/www/my_website -type f -exec chmod 0644 {} ;

سائز کے لحاظ سے فائلیں تلاش کریں

فائل کے سائز پر مبنی فائلیں ڈھونڈنے کے لئے ، -size پیرامیٹر کو سائز کے معیار کے ساتھ پاس کریں۔ فائل کے سائز کی وضاحت کے لئے آپ مندرجہ ذیل لاحقہ استعمال کرسکتے ہیں۔

  • b : 512 بائٹ بلاکس (پہلے سے طے شدہ) c : بائٹس w : دو بائٹ الفاظ k : k بائٹس M : میگا بائٹس G : گیگا بائٹس

درج ذیل کمانڈ میں /tmp ڈائرکٹری کے اندر 1024 بائٹس کی بالکل فائلیں ملیں گی۔

find /tmp -type f -size 1024c

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

مندرجہ ذیل مثال میں ، ہم موجودہ ورکنگ ڈائرکٹری میں 1MB سے بھی کم تمام فائلوں کی تلاش کر رہے ہیں۔ مائنس نوٹس کریں - سائز کی قیمت سے پہلے علامت:

find. -type f -size -1M

find. -type f -size +1M

حتی کہ آپ کسی سائز کی حد میں فائلوں کو بھی تلاش کرسکتے ہیں۔ مندرجہ ذیل کمانڈ میں 1 اور 2MB درمیان تمام فائلیں ملیں گی۔

find. -type f -size +1M -size 21M

ترمیم کی تاریخ کے ذریعہ فائلیں تلاش کریں

کمانڈ فائلوں کو ان کی آخری ترمیم ، رسائی ، یا وقت کی تبدیلی کی بنیاد پر بھی تلاش کر سکتی ہے۔

اسی طرح جب سائز سے تلاش کرتے ہو تو ، "سے زیادہ" یا "اس سے کم" کے لئے پلس اور مائنس علامات استعمال کریں۔

آئیے یہ کہتے ہیں کہ کچھ دن پہلے ، آپ نے ڈوکوٹ کی کنفیگریشن فائلوں میں سے ایک میں ترمیم کی ، لیکن آپ بھول گئے کہ کون سا فائل ہے۔ آپ تمام فائلوں کو /etc/dovecot/conf.d ڈائریکٹری کے تحت آسانی سے فلٹر کرسکتے ہیں جو .conf ساتھ ختم ہوتی ہیں اور آخری پانچ دنوں میں اس میں ترمیم کی گئی ہیں:

find /etc/dovecot/conf.d -name "*.conf" -mtime 5

-daystart آپشن کا استعمال کرتے ہوئے ترمیم کی تاریخ کی بنیاد پر فائلوں کو فلٹر کرنے کی ایک اور مثال یہ ہے۔ نیچے دی گئی کمانڈ میں /home ڈائرکٹری میں موجود تمام فائلوں کی فہرست دی جائے گی جو 30 یا اس سے زیادہ دن پہلے ترمیم کی گئی تھیں:

find /home -mtime +30 -daystart

اجازت کے ذریعہ فائلیں تلاش کریں

-perm آپشن آپ کو فائل کی اجازت کی بنیاد پر فائلوں کو تلاش کرنے کی سہولت دیتا ہے۔

مثال کے طور پر ، /var/www/html ڈائریکٹری کے اندر بالکل 775 اجازت کے ساتھ تمام فائلوں کو تلاش کرنے کے 775 you ، آپ استعمال کریں گے:

find /var/www/html -perm 644

آپ عددی موڈ کو منفی - یا سلیش / ساتھ ماقبل شکل دے سکتے ہیں۔

جب سلیش / سابقہ ​​استعمال ہوتا ہے ، تب کم از کم ایک زمرہ (صارف ، گروپ یا دیگر) میں فائل کے میچ کے ل. کم از کم متعلقہ بٹس سیٹ ہونے چاہئیں۔

مندرجہ ذیل مثال کے حکم پر غور کریں:

find. -perm /444

مذکورہ کمانڈ تمام فائلوں کو صارف ، گروپ یا دیگر افراد میں سے کسی کے لئے پڑھنے کی اجازت کے ساتھ ملاپ کرے گی۔

اگر مائنس thef کو بطور سابقہ ​​استعمال کیا جاتا ہے تو فائل کے ملاپ کے لئے کم از کم مخصوص بٹس سیٹ کرنا ضروری ہیں۔ مندرجہ ذیل کمانڈ ان فائلوں کی تلاش کرے گی جنہوں نے مالک اور گروپ کے لئے اجازت کو پڑھنے اور لکھنے کی اجازت دی ہو اور دوسرے صارفین کے ذریعہ پڑھنے کے قابل ہو۔

find. -perm -664

مالک کے ذریعہ فائلیں تلاش کریں

کسی خاص صارف یا گروپ کی ملکیت والی فائلوں کو تلاش کرنے کے لئے ، صارف اور گروپ کے اختیارات استعمال کریں۔

مثال کے طور پر ، صارف linuxize پاس موجود تمام فائلوں اور ڈائریکٹریوں کی تلاش کے linuxize ، آپ چلائیں گے:

find / -user linuxize

یہاں ایک حقیقی دنیا کی مثال ہے۔ ہم کہتے ہیں کہ آپ صارف www-data ملکیت والی تمام فائلوں کو ڈھونڈنا چاہتے ہیں اور مماثل فائلوں کی ملکیت کو www-data سے nginx تبدیل کرنا چاہتے ہیں۔

find / -user www-data -type f -exec chown nginx {} ;

فائلیں تلاش اور حذف کریں

تمام مماثل فائلوں کو حذف کرنے کے لئے ، میچ کے تاثرات کے اختتام پر ڈیلیٹ آپشن کو شامل کریں۔

اس بات کو یقینی بنائیں کہ آپ اس اختیار کا استعمال اسی وقت کر رہے ہیں جب آپ کو یقین ہو کہ نتیجہ ان فائلوں سے میل کھاتا ہے جن کو آپ حذف کرنا چاہتے ہیں۔ -delete آپشن کو استعمال کرنے سے پہلے مماثل فائلوں کو پرنٹ کرنا ہمیشہ ایک اچھا خیال ہے۔

مثال کے طور پر /var/log/ استعمال ہونے والی تمام فائلوں کو حذف کرنا جو آپ استعمال کریں گے:

find /var/log/ -name `*.temp` -delete انتہائی احتیاط کے ساتھ -delete آپشن کا استعمال کریں۔ -delete کمانڈ لائن کا اندازہ ایک اظہار کے طور پر کیا جاتا ہے اور اگر آپ پہلے ڈیلیٹ آپشن شامل کرتے ہیں تو ، کمانڈ آپ کے بیان کردہ ابتدائی نکات کے نیچے ہر چیز کو حذف کردے گی۔

جب بات ڈائریکٹریوں کی ہو تو ، find کریں صرف خالی ڈائریکٹریوں کو ہی rmdir طرح حذف کرسکتی ہیں۔

نتیجہ اخذ کرنا

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

اس مضمون میں آپ کو بنیادی لینکس دینا چاہئے کہ آپ اپنے لینکس سسٹم پر فائلوں کو کیسے تلاش کریں۔ آپ فائنڈ مین پیج پر بھی جاسکتے ہیں اور فائنڈ کمانڈ کے دیگر تمام طاقتور آپشنز کے بارے میں بھی پڑھ سکتے ہیں۔

ٹرمینل تلاش کریں