میک OS X کی کمانڈ لائن سے نیسٹڈ ڈائرکٹری & فائل کی درجہ بندی کو ہموار کریں
کیا آپ کو کبھی ڈائرکٹری کے ڈھانچے کو فلیٹ کرنے کی ضرورت ہے، ڈائرکٹری چائلڈ فولڈرز سے فائل کے تمام مواد کو ایک فولڈر میں منتقل کرنا؟ جب کہ آپ Mac OS X یا Linux کے فائل سسٹم سے فائلوں اور فولڈرز کو دستی طور پر گھوم کر یہ کام کر سکتے ہیں، ایک تیز تر آپشن کمانڈ لائن کی طرف رجوع کرنا ہے۔ ہوسکتا ہے کہ ایک موقع پر آپ نے ڈائریکٹریوں کا ایک نیسٹڈ درجہ بندی بنالی ہو جسے اب آپ کو تمام فائلوں کو ان نیسٹڈ فولڈرز سے باہر اور ایک ڈائرکٹری میں منتقل کرکے کالعدم کرنے کی ضرورت ہے، یا ہوسکتا ہے کہ آپ ڈائرکٹری کے ڈھانچے کو آسان بنانے کی کوشش کر رہے ہوں، جو بھی وجہ ہو، یہ چال بہت اچھی طرح سے کام کرتا ہے.
فائلوں اور ڈائرکٹری ڈھانچے کی فلیٹننگ کو پورا کرنے کے لیے کمانڈ لائن کا استعمال واضح طور پر ان ترقی یافتہ صارفین کے لیے بہترین ہے جو عام طور پر ٹرمینل استعمال کرنے میں راحت محسوس کرتے ہیں، اگر یہ آپ کی وضاحت نہیں کرتا ہے تو اسے فائنڈر کے ذریعے دستی طور پر کرنے پر غور کریں۔ ، یا فائل سسٹم کی سرگرمیوں کی اسی طرح کی آٹومیشن کو پورا کرنے کے لیے Mac Automator ایپ کا استعمال کرنا۔ تاہم، ہم یہاں کمانڈ لائن سے ڈائریکٹری کو فلیٹ کرنے پر توجہ مرکوز کر رہے ہیں۔
نیسٹڈ فائل ڈائرکٹری کو فلیٹ کرنے کی مثال
بہتر طور پر یہ سمجھنے کے لیے کہ ہم کیا حاصل کرنے کی کوشش کر رہے ہیں، آئیے مثال کے طور پر ایک خیالی ڈائرکٹری ڈھانچہ لیں جسے TestDirectory کہتے ہیں جو صارف کے ہوم فولڈر میں واقع ہے۔ اس مثال میں، TestDirectory ذیلی فولڈرز پر مشتمل ہے جیسے SubDirectory1، SubDirectory2، SubDirectory3، وغیرہ، ہر ایک ان متعلقہ فولڈرز میں فائلوں کے ساتھ۔ ہم یہاں جو کچھ کرنا چاہتے ہیں وہ ہے ڈائریکٹری کے ڈھانچے کو چپٹا کرنا، سب ڈائرکٹری (X) سے تمام فائلوں کو پیرنٹ ڈائرکٹری "TestDirectory" میں منتقل کرنا۔کے ساتھ بار بار دکھائے جانے والے ابتدائی ڈائرکٹری اور مشمولات کچھ اس طرح نظر آسکتے ہیں:
$ تلاش کریں ~/TestDirectory/ -type f ~/TestDirectory/rooty.jpg ~/TestDirectory/SampleDirectory1/beta-tool-preview.jpg ~/TestDirectory/SampleDirectory1 /alphabeta-tool.jpg ~/TestDirectory/SampleDirectory2/test-tools.jpg ~/TestDirectory/SampleDirectory3/test-png.jpg ~/TestDirectory/SampleDirectory3/test1.jpg/SampleDirectory3/test1.jpg/SampleDirectoryDirectoryTestDirectory
اس ڈائرکٹری اور ذیلی ڈائرکٹری کے مواد کو TestDirectory فولڈر میں واپس فلیٹ کرنے کے لیے، آپ درج ذیل کمانڈ سٹرنگ استعمال کریں گے:
find TargetDirectory/ -mindepth 2 -type f -exec mv -i '{}' TargetDirectory/ ';'
ڈائریکٹری کے مواد کو چپٹا کرنے کے بعد، فہرست میں آنے پر اسے اس طرح نظر آنا چاہیے:
~/TestDirectory/rooty.jpg ~/TestDirectory/beta-tool-preview.jpg ~/TestDirectory/alphabeta-tool.jpg ~/TestDirectory/test-tools .jpg ~/TestDirectory/test-png.jpg ~/TestDirectory/test1.jpg ~/TestDirectory/test2.jpg
نوٹ کریں سب ڈائرکٹریاں اب بھی موجود ہوں گی، وہ صرف خالی ہوں گی۔ سمجھ میں آتا ہے؟ اگر نہیں، یا اگر یہ ظاہر نہیں کرتا ہے کہ آپ کیا کرنا چاہتے ہیں، تو شاید آپ کسی ڈائریکٹری کو بالکل بھی چپٹا نہیں کرنا چاہتے، شاید آپ ضم کرنا چاہتے ہیں یا کسی اور جگہ پیچیدہ کاپی کرنے کے لیے اسی طرح کا استعمال کر رہے ہیں۔
کمانڈ لائن کے ساتھ ڈائرکٹری کی ساخت اور نیسٹڈ فائل کی درجہ بندی کو ہموار کرنا
آگے بڑھنے کے لیے تیار ہیں؟ کمانڈ سٹرنگ جس کو ہم ڈائرکٹری کے ڈھانچے کو فلیٹ کرنے اور سب ڈائرکٹریز سے تمام فائلوں کو ٹارگٹ ڈائرکٹری کی بنیاد پر منتقل کرنے کے لیے استعمال کرنے جا رہے ہیں وہ درج ذیل ہے:
find -mindepth 2 -type f -exec mv -i '{}';'
چپٹا کرنے کے لیے اپنی پسند کی ڈائرکٹری کے ساتھ بدلیں، جیسا کہ اوپر کی مثال میں دکھایا گیا ہے۔
ہاں، کمانڈ سٹرنگ میں ڈائرکٹری دو بار ظاہر ہوتی ہے، پہلی بار ڈائرکٹری کو سب ڈائرکٹریز کو فلیٹ کرنے کے لیے تلاش کیا جا رہا ہے، اور دوسری بار ملنے والی اشیاء کی منزل کے طور پر۔
مخصوص منزل کے ساتھ عین مطابق رہیں، کیونکہ یہ الٹنے والا نہیں ہے (اچھی طرح سے، کم از کم آپ کی طرف سے بہت زیادہ دستی کام کیے بغیر)، لہذا ایسا صرف اس صورت میں کریں جب آپ کو یقین ہو کہ آپ نقل مکانی کرنا چاہتے ہیں۔ ٹارگٹ ڈائرکٹریز چائلڈ ڈائرکٹریز میں موجود تمام فائلوں کو ٹارگٹ روٹ فولڈر میں واپس کر دیں۔
جیسا کہ پہلے ذکر کیا گیا ہے، آپ یہ OS X کے فائنڈر میں بھی کر سکتے ہیں، یا کم از کم فائنڈر میں فائل اور فولڈر کی تبدیلیوں کا مشاہدہ کر سکتے ہیں۔ آپشن + لسٹ ویو میں چھوٹے تیروں پر کلک کرنے سے تمام ذیلی ڈائرکٹریاں کھل جاتی ہیں، فولڈر کا درجہ بندی اس طرح دکھائی دیتی ہے:
متعدد bash اور zsh متبادلات کے ساتھ ہلچل مچانے کے بعد، اس آسان چال کو StackExcange پر ایک تبصرہ نگار نے چھوڑ دیا اور یہ سب سے آسان اور سب سے زیادہ مطابقت پذیر طریقہ بن گیا۔ اگر آپ نیسٹڈ ڈائرکٹری کو فلیٹ کرنے کا کوئی بہتر طریقہ جانتے ہیں تو ہمیں تبصرے میں بتائیں!