ڈائریکٹریز کے بجائے زمرہ جات، یا لینکس کے لیے سیمنٹک فائل سسٹم

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

درجہ بندی کے فائل سسٹم کا مسئلہ

صارفین کو اکثر اس مسئلے کا سامنا کرنا پڑتا ہے کہ اگلی نئی فائل کو کہاں محفوظ کرنا ہے اور ان کی اپنی فائلیں تلاش کرنے کے مسئلے کا سامنا کرنا پڑتا ہے (بعض اوقات فائل کے نام کسی شخص کو یاد رکھنے کا ارادہ نہیں ہوتے ہیں)۔

صورت حال سے نکلنے کا ایک طریقہ سیمنٹک فائل سسٹم ہو سکتا ہے، جو عام طور پر روایتی فائل سسٹم میں اضافہ ہوتا ہے۔ ان میں ڈائریکٹریز کو سیمنٹک انتساب سے بدل دیا جاتا ہے، جنہیں ٹیگ، زمرہ جات اور میٹا ڈیٹا بھی کہا جاتا ہے۔ میں "زمرہ" کی اصطلاح زیادہ کثرت سے استعمال کروں گا، کیونکہ... فائل سسٹم کے تناظر میں، لفظ "ٹیگ" کبھی کبھی تھوڑا سا عجیب ہوتا ہے، خاص طور پر جب "سب ٹیگز" اور "ٹیگ عرفی نام" ظاہر ہوتے ہیں۔

فائلوں کو زمرہ جات تفویض کرنے سے فائل کو ذخیرہ کرنے اور تلاش کرنے کا مسئلہ بڑی حد تک ختم ہوجاتا ہے: اگر آپ کو کسی فائل کو تفویض کردہ زمرہ جات میں سے کم از کم ایک یاد ہے (یا اندازہ ہے) تو فائل کبھی بھی نظر سے غائب نہیں ہوگی۔

اس سے پہلے، یہ موضوع ایک سے زیادہ مرتبہ Habré پر اٹھایا گیا تھا (وقت, два, تین, چار وغیرہ)، یہاں میں اپنا حل بیان کرتا ہوں۔

احساس کا راستہ

مذکورہ خواب کے فوراً بعد، میں نے اپنی نوٹ بک میں کمانڈ انٹرفیس کو بیان کیا جو زمروں کے ساتھ ضروری کام فراہم کرتا ہے۔ پھر میں نے فیصلہ کیا کہ ایک یا دو ہفتوں میں میں Python یا Bash کا استعمال کرتے ہوئے ایک پروٹو ٹائپ لکھ سکتا ہوں، اور پھر مجھے Qt یا GTK میں گرافیکل شیل بنانے پر کام کرنا پڑے گا۔ حقیقت، ہمیشہ کی طرح، زیادہ سخت نکلی، اور ترقی میں تاخیر ہوئی۔

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

بنانے کی پہلی کوشش وٹیس کچھ بھی نہیں ختم ہوا، جب سے کام اور کالج میں بہت زیادہ وقت صرف ہونے لگا۔ دوسری کوشش پہلے سے ہی کچھ تھی: ماسٹر کے تھیسس کے لیے، میں نے منصوبہ بند پروجیکٹ کو مکمل کیا اور یہاں تک کہ GTK شیل کا ایک پروٹو ٹائپ بھی بنایا۔ لیکن وہ ورژن اتنا ناقابل اعتبار اور تکلیف دہ نکلا کہ بہت کچھ دوبارہ سوچنا پڑا۔

میں نے دراصل تیسرا ورژن خود بہت طویل عرصے تک استعمال کیا، اپنی کئی ہزار فائلوں کو زمرے میں منتقل کر دیا۔ اس کو لاگو bash کی تکمیل سے بھی بہت سہولت ملی۔ لیکن کچھ مسائل، جیسے خودکار زمروں کی کمی اور اسی نام کی فائلوں کو ذخیرہ کرنے کی صلاحیت، اب بھی باقی ہے، اور پروگرام پہلے ہی اپنی پیچیدگی کے تحت جھکا ہوا تھا۔ اس طرح مجھے پیچیدہ سافٹ ویئر ڈویلپمنٹ مسائل کو حل کرنے کی ضرورت پیش آئی: تفصیلی تقاضے لکھیں، ایک فعال ٹیسٹنگ سسٹم تیار کریں، پیکیجنگ ہدایات کا مطالعہ کریں، اور بہت کچھ۔ میں اب اپنے منصوبے پر پہنچا ہوں، تاکہ اس عاجز تخلیق کو آزاد برادری کے سامنے پیش کیا جا سکے۔ مخصوص فائل مینجمنٹ جیسے زمرے کے تصور کے ذریعے انتظام غیر متوقع مسائل اور مسائل کو جنم دیتا ہے، اور انہیں حل کرنے میں وٹیس اپنے ارد گرد پانچ اور پروجیکٹس بنائے، جن میں سے کچھ کا ذکر مضمون میں کیا جائے گا۔ اب تک وٹیس میں نے گرافیکل شیل نہیں خریدا ہے، لیکن کمانڈ لائن سے فائل کیٹیگریز استعمال کرنے کی سہولت پہلے سے ہی میرے لیے باقاعدہ گرافیکل فائل مینیجر کے فوائد سے زیادہ ہے۔

استعمال کی مثالیں

آئیے سادہ شروع کریں - ایک زمرہ بنائیں:

vitis create Музыка

آئیے مثال کے طور پر اس میں کچھ ترکیب شامل کرتے ہیں:

vitis assign Музыка -f "The Ink Spots - I Don't Want To Set The World On Fire.mp3"

آپ "شو" ذیلی کمانڈ کا استعمال کرتے ہوئے "موسیقی" کے زمرے کے مواد کو دیکھ سکتے ہیں:

vitis show Музыка

آپ اسے "اوپن" سب کمانڈ کا استعمال کرکے چلا سکتے ہیں۔

vitis open Музыка

کیونکہ اگر ہمارے پاس "موسیقی" کے زمرے میں صرف ایک فائل ہے، تو صرف وہی لانچ ہوگی۔ فائلوں کو ان کے پہلے سے طے شدہ پروگراموں کے ساتھ کھولنے کے مقصد کے لیے، میں نے ایک الگ یوٹیلیٹی بنائی vts-fs-اوپن (معیاری ٹولز جیسے xdg-open یا mimeopen متعدد وجوہات کی بناء پر میرے موافق نہیں تھے؛ لیکن، اگر کچھ ہے تو، ترتیبات میں آپ یونیورسل فائل کھولنے کے لیے ایک اور افادیت کی وضاحت کر سکتے ہیں)۔ یہ افادیت مختلف کام کرنے والے ماحول کے ساتھ مختلف تقسیموں پر اچھی طرح کام کرتی ہے، لہذا میں اسے وائٹس کے ساتھ انسٹال کرنے کی تجویز کرتا ہوں۔

آپ فائلوں کو کھولنے کے لیے براہ راست پروگرام کی بھی وضاحت کر سکتے ہیں:

vitis open Музыка --app qmmp

ڈائریکٹریز کے بجائے زمرہ جات، یا لینکس کے لیے سیمنٹک فائل سسٹم

آئیے مزید زمرے بنائیں اور " تفویض" کا استعمال کرتے ہوئے فائلیں شامل کریں۔ اگر فائلوں کو ان زمروں میں تفویض کیا جاتا ہے جو ابھی تک موجود نہیں ہیں، تو آپ کو انہیں بنانے کے لیے کہا جائے گا۔ -yes جھنڈا استعمال کرکے غیر ضروری درخواست سے بچا جا سکتا ہے۔

vitis assign Программирование R -f "Введение в R.pdf" "Статистический пакет R: теория вероятностей и матстатистика.pdf" --yes

اب ہم "ریاضی" کے زمرے کو "شماریاتی پیکیج R: امکانی نظریہ اور ریاضی کے اعدادوشمار.pdf" فائل میں شامل کرنا چاہتے ہیں۔ ہم جانتے ہیں کہ اس فائل کو پہلے ہی "R" کے طور پر درجہ بندی کیا گیا ہے اور اس لیے ہم Vitis سسٹم سے زمرہ کا راستہ استعمال کر سکتے ہیں:

vitis assign Математика -v "R/Статистический пакет R: теория вероятностей и матстатистика.pdf"

خوش قسمتی سے، bash کی تکمیل اسے آسان بناتی ہے۔

آئیے دیکھتے ہیں کہ کیا ہوا، ہر فائل کے لیے زمرہ جات کی فہرست دیکھنے کے لیے --categories پرچم کا استعمال کرتے ہوئے:

vitis show R --categories

ڈائریکٹریز کے بجائے زمرہ جات، یا لینکس کے لیے سیمنٹک فائل سسٹم

نوٹ کریں کہ فائلوں کو فارمیٹ، ٹائپ (فارمیٹس کو یکجا کرتا ہے) اور فائل ایکسٹینشن کے لحاظ سے بھی خود بخود درجہ بندی کر دی گئی ہے۔ اگر چاہیں تو ان زمروں کو غیر فعال کیا جا سکتا ہے۔ بعد میں میں ان کے ناموں کی لوکلائزیشن ضرور کروں گا۔

آئیے مختلف قسم کے لیے "ریاضی" میں کچھ اور شامل کریں:

vitis assign Математика -f "Математический анализ - 1984.pdf" Перельман_Занимательная_математика_1927.djvu 

اور اب چیزیں دلچسپ ہوجاتی ہیں۔ زمرہ جات کے بجائے، آپ یونین، انٹرسیکشن اور گھٹاؤ کے آپریشنز کے ساتھ اظہار لکھ سکتے ہیں، یعنی سیٹوں پر آپریشنز کا استعمال کریں۔ مثال کے طور پر، "R" کے ساتھ "ریاضی" کے تقطیع کے نتیجے میں ایک فائل ہوگی۔

vitis show R i: Математика

آئیے ہم "ریاضی" سے زبان "R" کے حوالہ جات کو منہا کرتے ہیں:

vitis show Математика  R  #или vitis show Математика c: R

ہم بے مقصد موسیقی اور R زبان کو یکجا کر سکتے ہیں:

vitis show Музыка u: R

-n جھنڈا آپ کو مطلوبہ فائلوں کو نمبروں اور/یا رینجز کے ذریعہ درخواست کے نتیجے سے "نکالنے" کی اجازت دیتا ہے، مثال کے طور پر، -n 3-7، یا کچھ زیادہ پیچیدہ: -n 1,5,8-10,13. یہ اکثر اوپن سب کمانڈ کے ساتھ کارآمد ہوتا ہے، جو آپ کو فہرست سے مطلوبہ فائلوں کو کھولنے کی اجازت دیتا ہے۔

ڈائریکٹریز کے بجائے زمرہ جات، یا لینکس کے لیے سیمنٹک فائل سسٹم

جب کہ ہم ایک روایتی ڈائرکٹری کے درجہ بندی کو استعمال کرنے سے دور ہو رہے ہیں، یہ اکثر نیسٹڈ زمروں کا ہونا مفید ہوتا ہے۔ آئیے "ریاضی" زمرہ کے تحت ذیلی زمرہ "شماریات" بنائیں اور اس زمرے کو مناسب فائل میں شامل کریں:

vitis create Математика/Статистика

vitis assign Математика/Статистика -v "R/Введение в R.pdf"

vitis show Математика --categories

ڈائریکٹریز کے بجائے زمرہ جات، یا لینکس کے لیے سیمنٹک فائل سسٹم

ہم دیکھ سکتے ہیں کہ اس فائل میں اب "ریاضی" کے بجائے "ریاضی/اعداد و شمار" کا زمرہ ہے (اضافی لنکس کو ٹریک کیا گیا ہے)۔

پورے راستے کو ایڈریس کرنا تکلیف دہ ہو سکتا ہے، آئیے ایک "عالمی" عرف بنائیں:

vitis assign Математика/Статистика -a Статистика

vitis show Статистика

ڈائریکٹریز کے بجائے زمرہ جات، یا لینکس کے لیے سیمنٹک فائل سسٹم

نہ صرف باقاعدہ فائلیں۔

انٹرنیٹ لنکس

کسی بھی معلومات کے ذخیرہ کو یکجا کرنے کے لیے، کم از کم، انٹرنیٹ وسائل کے لنکس کی درجہ بندی کرنا مفید ہوگا۔ اور یہ ممکن ہے:

vitis assign Хабр Цветоаномалия -i https://habr.com/ru/company/sfe_ru/blog/437304/ --yes

HTML صفحہ ہیڈر اور ڈیسک ٹاپ ایکسٹینشن والی فائل ایک خاص جگہ پر بنائی جائے گی۔ یہ GNU/Linux میں روایتی شارٹ کٹ فارمیٹ ہے۔ ایسے شارٹ کٹس کو خود بخود نیٹ ورک بک مارکس کے طور پر درجہ بندی کیا جاتا ہے۔

قدرتی طور پر، استعمال کرنے کے لیے شارٹ کٹ بنائے جاتے ہیں:

vitis open Цветоаномалия

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

فائل کے ٹکڑے

فائلوں کے انفرادی ٹکڑوں کے لیے زمرے رکھنا بھی مفید ہے۔ کوئی بری درخواست نہیں ہے، ہاں؟ لیکن موجودہ نفاذ اب تک صرف سادہ ٹیکسٹ فائلوں، آڈیو اور ویڈیو فائلوں کو متاثر کرتا ہے۔ ہم کہتے ہیں کہ آپ کو کنسرٹ کے کسی خاص حصے یا کسی فلم میں ایک مضحکہ خیز لمحے کو نشان زد کرنے کی ضرورت ہے، پھر اسائنٹ کا استعمال کرتے وقت آپ جھنڈے -fragname، -start، -finish استعمال کرسکتے ہیں۔ آئیے اسکرین سیور کو "DuckTales" سے محفوظ کریں:

vitis assign vitis assign -c Заставки -f Duck_Tales/s01s01.avi --finish 00:00:59 --fragname "Duck Tales intro"

vitis open Заставки

حقیقت میں، کوئی فائل کٹنگ نہیں ہوتی؛ اس کے بجائے، ٹکڑے کی ایک پوائنٹر فائل بنائی جاتی ہے، جو فائل کی قسم، فائل کا راستہ، ٹکڑے کا آغاز اور اختتام بیان کرتی ہے۔ ٹکڑوں کی طرف اشارہ کرنے والوں کی تخلیق اور کھولنا ان یوٹیلیٹیز کو سونپا جاتا ہے جو میں نے خاص طور پر ان مقاصد کے لیے بنائی ہیں - یہ میڈیا فریگمینٹر اور فریگ پلیئر ہیں۔ پہلا تخلیق کرتا ہے، دوسرا کھلتا ہے۔ آڈیو اور ویڈیو ریکارڈنگ کے معاملے میں، میڈیا فائل کو VLC پلیئر کا استعمال کرتے ہوئے ایک مخصوص سے ایک خاص پوزیشن پر لانچ کیا جاتا ہے، اس لیے اسے سسٹم میں بھی ہونا چاہیے۔ پہلے میں یہ ایمپلیئر کی بنیاد پر کرنا چاہتا تھا، لیکن کسی وجہ سے یہ صحیح وقت پر پوزیشننگ کے ساتھ بہت ٹیڑھا تھا۔
ہماری مثال میں، فائل "Duck Tales intro.fragpointer" بنائی جاتی ہے (اسے ایک خاص جگہ پر رکھا جاتا ہے)، اور پھر ایک ٹکڑا فائل کے شروع سے چلایا جاتا ہے (چونکہ تخلیق کرتے وقت -start کی وضاحت نہیں کی گئی تھی) 59 تک۔ دوسرا نشان، جس کے بعد VLC بند ہو جاتا ہے۔

ایک اور مثال یہ ہے کہ جب ہم نے ایک مشہور فنکار کے کنسرٹ میں ایک ہی پرفارمنس کی درجہ بندی کرنے کا فیصلہ کیا:

vitis assign Лепс "Спасите наши души" -f Григорий Лепc - Концерт Парус - песни Владимира Высоцкого.mp4 --fragname "Спасите наши души" --start 00:32:18 --finish 00:36:51

vitis open "Спасите наши души"

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

یہ سب کیسے کام کرتا ہے + اضافی خصوصیات

ذخیرہ کرنے والے زمرے

سیمنٹک فائل سسٹم کو ترتیب دینے کے بارے میں سوچنے کے بالکل شروع میں، تین طریقے ذہن میں آئے: علامتی لنکس کے ذخیرہ کے ذریعے، ڈیٹا بیس کے ذریعے، XML میں تفصیل کے ذریعے۔ پہلا طریقہ جیت گیا، کیونکہ... ایک طرف، اسے لاگو کرنا آسان ہے، اور دوسری طرف، صارف کو فائل سسٹم سے براہ راست زمرے دیکھنے کا موقع ملتا ہے (اور یہ آسان اور اہم ہے)۔ استعمال کے آغاز میں وٹیس "Vitis" ڈائرکٹری اور ".config/vitis/vitis.conf" کنفیگریشن فائل صارف کی ہوم ڈائرکٹری میں بنائی جاتی ہے۔ زمرہ جات سے مماثل ڈائریکٹریز ~/Vitis میں بنائی جاتی ہیں، اور ان زمرہ کی ڈائریکٹریز میں اصل فائلوں کے علامتی روابط بنائے جاتے ہیں۔ زمرہ کے عرفی نام بھی صرف ان کے لنکس ہیں۔ بلاشبہ، ہوم ڈائرکٹری میں "Vitis" ڈائرکٹری کی موجودگی کچھ لوگوں کے مطابق نہیں ہو سکتی۔ ہم کسی دوسرے مقام پر جا سکتے ہیں:

vitis service set path /mnt/MyFavoriteDisk/Vitis/

ایک خاص مقام پر، یہ واضح ہو جاتا ہے کہ مختلف جگہوں پر بکھری فائلوں کی درجہ بندی کرنا بہت کم معنی رکھتا ہے، کیونکہ ان کا مقام تبدیل ہو سکتا ہے۔ اس لیے، شروع کرنے کے لیے، میں نے اپنے لیے ایک ڈائرکٹری بنائی، جہاں میں نے بے وقوفی سے سب کچھ پھینک دیا اور اسے تمام زمرے دے دیے۔ پھر میں نے فیصلہ کیا کہ پروگرام کی سطح پر اس لمحے کو رسمی شکل دینا اچھا ہوگا۔ اس طرح "فائل اسپیس" کا تصور سامنے آیا۔ استعمال کے آغاز میں وٹیس اس طرح کے مقام کو فوری طور پر ترتیب دینے سے تکلیف نہیں ہوگی (ہمیں جن فائلوں کی ضرورت ہے وہ وہاں محفوظ کی جائیں گی) اور آٹو سیو کو فعال کریں:

vitis service add filespace /mnt/MyFavoriteDisk/Filespace/

vitis service set autosave yes

آٹو سیو کے بغیر، " تفویض" ذیلی کمان کا استعمال کرتے وقت، --save پرچم کی ضرورت ہوگی اگر آپ اضافی فائل کو فائل کی جگہ پر محفوظ کرنا چاہتے ہیں۔

اس کے علاوہ، آپ فائل کی کئی جگہیں شامل کر سکتے ہیں اور ان کی ترجیحات کو تبدیل کر سکتے ہیں؛ یہ اس وقت مفید ہو سکتا ہے جب بہت ساری فائلیں ہوں اور وہ مختلف میڈیا پر محفوظ ہوں۔ میں یہاں اس امکان پر غور نہیں کروں گا؛ تفصیلات پروگرام ہیلپ میں دیکھی جا سکتی ہیں۔

سیمنٹک فائل سسٹم کی منتقلی

ویسے بھی، Vitis ڈائرکٹری اور فائل کی جگہیں نظریاتی طور پر بعض اوقات ایک جگہ سے دوسری جگہ منتقل ہو سکتی ہیں۔ اسے کام کرنے کے لیے، میں نے ایک علیحدہ افادیت بنائی لنک ایڈیٹر، جو روابط کی بڑی تعداد میں ترمیم کر سکتا ہے، راستے کے حصوں کو دوسروں کے ساتھ تبدیل کر سکتا ہے:

cp -r /mnt/MyFavoriteDisk/Vitis/ ~/Vitis
link-editor -d ~/Vitis/ -f /mnt/MyFavoriteDisk/Vitis/ -r ~/Vitis/ -R
cp -r /mnt/MyFavoriteDisk/Filespace/ ~/MyFiles
link-editor -d ~/Vitis/ -f /mnt/FlashDrive-256/Filespace/ -r ~/MyFiles -R

پہلی صورت میں، جب ہم /mnt/MyFavoriteDisk/Vitis/ سے ہوم ڈائرکٹری میں چلے گئے ہیں، عرفی ناموں سے منسلک علامتی روابط میں ترمیم کی جاتی ہے۔ دوسری صورت میں، فائل کی جگہ کی جگہ کو تبدیل کرنے کے بعد، Vitis کے تمام لنکس کو ان کے راستے کے کچھ حصے کو تبدیل کرنے کی درخواست کے مطابق نئے لنکس میں تبدیل کر دیا جاتا ہے۔

خودکار زمرے

اگر آپ کمانڈ چلاتے ہیں۔ vitis service get autocategorization، آپ دیکھ سکتے ہیں کہ بطور ڈیفالٹ، خودکار زمرے فارمیٹ (فارمیٹ اور ٹائپ) اور فائل ایکسٹینشن (ایکسٹینشن) کے لحاظ سے تفویض کیے گئے ہیں۔

یہ اس وقت مفید ہے جب، مثال کے طور پر، آپ کو پی ڈی ایف میں کچھ تلاش کرنے کی ضرورت ہو یا آپ نے EPUB اور FB2 سے کیا ذخیرہ کیا ہے، آپ آسانی سے درخواست چلا سکتے ہیں۔

vitis show Format/MOBI u: Format/FB2

ایسا ہی ہوا کہ معیاری GNU/Linux ٹولز جیسے کہ فائل یا mimetype مجھے قطعی طور پر مناسب نہیں لگا کیونکہ وہ ہمیشہ فارمیٹ کا درست تعین نہیں کرتے؛ مجھے فائل کے دستخطوں اور ایکسٹینشنز کی بنیاد پر اپنا نفاذ خود کرنا پڑا۔ عام طور پر، فائل فارمیٹس کی وضاحت کا موضوع تحقیق کے لیے ایک دلچسپ موضوع ہے اور ایک الگ مضمون کا مستحق ہے۔ ابھی کے لیے میں یہ کہہ سکتا ہوں کہ شاید میں نے دنیا کے تمام فارمیٹس کے لیے حقیقی شناخت فراہم نہیں کی ہے، لیکن عام طور پر یہ پہلے سے ہی اچھی طرح سے کام کر رہا ہے۔ سچ ہے، EPUB اب فارمیٹ کو ZIP کے طور پر بیان کرتا ہے (عام طور پر، یہ جائز ہے، لیکن عملی طور پر اسے نارمل رویہ نہیں سمجھا جانا چاہیے)۔ فی الحال، اس خصوصیت کو تجرباتی سمجھیں اور کسی بھی کیڑے کی اطلاع دیں۔ عجیب حالات میں، آپ ہمیشہ فائل ایکسٹینشن کے زمرے استعمال کر سکتے ہیں، مثال کے طور پر، ایکسٹینشن/ایپب۔

اگر فارمیٹ کے لحاظ سے خودکار زمرہ جات فعال ہیں، خودکار زمرہ جات جو کچھ فارمیٹس کو قسم کے لحاظ سے گروپ کرتے ہیں وہ بھی فعال ہیں: "آرکائیوز"، "تصاویر"، "ویڈیو"، "آڈیو" اور "دستاویزات"۔ ان ذیلی زمروں کے لیے مقامی نام بھی بنائے جائیں گے۔

جو نہیں کہا جاتا

وٹیس یہ ایک بہت ہی کثیر جہتی ٹول نکلا، اور ایک ہی وقت میں ہر چیز کا احاطہ کرنا مشکل ہے۔ مجھے مختصراً ذکر کرنے دیں کہ آپ اور کیا کر سکتے ہیں:

  • زمرہ جات کو حذف اور فائلوں سے ہٹایا جا سکتا ہے۔
  • اظہار کے سوالات کے نتائج کو مخصوص ڈائریکٹری میں کاپی کیا جا سکتا ہے۔
  • فائلوں کو پروگرام کے طور پر چلایا جا سکتا ہے؛
  • شو کمانڈ کے پاس بہت سے اختیارات ہیں، مثال کے طور پر، نام/تاریخ میں ترمیم یا رسائی/سائز/توسیع کے لحاظ سے چھانٹنا، فائل کی خصوصیات اور اصل تک کے راستے دکھانا، پوشیدہ فائلوں کی نمائش کو فعال کرنا، وغیرہ۔
  • جب آپ انٹرنیٹ کے ذرائع کے لنکس محفوظ کرتے ہیں، تو آپ HTML صفحات کی مقامی کاپیاں بھی محفوظ کر سکتے ہیں۔

مکمل تفصیلات صارف کی مدد میں مل سکتی ہیں۔

امکانات

شک کرنے والے اکثر کہتے ہیں کہ "کوئی بھی خود ان ٹیگز کو سیٹ نہیں کرے گا۔" اپنی مثال استعمال کرتے ہوئے، میں اس کے برعکس ثابت کر سکتا ہوں: میں پہلے ہی چھ ہزار سے زیادہ فائلوں کی درجہ بندی کر چکا ہوں، ایک ہزار سے زیادہ زمرے اور عرفی نام بنا چکا ہوں، اور یہ اس کے قابل تھا۔ جب ایک ٹیم vitis open План اپنی کرنے کی فہرست کھولیں یا جب ایک کمانڈ کے ساتھ vitis open LaTeX جب آپ LaTeX لے آؤٹ سسٹم کے بارے میں Stolyarov کی کتاب کھولتے ہیں، تو فائل سسٹم کو "پرانے زمانے کا طریقہ" استعمال کرنا اخلاقی طور پر پہلے ہی مشکل ہے۔

اس کی بنیاد پر کئی نظریات جنم لیتے ہیں۔ مثال کے طور پر، آپ ایک خودکار ریڈیو بنا سکتے ہیں جو موجودہ موسم، چھٹی، ہفتے کے دن، دن یا سال کے وقت کے مطابق موضوعاتی موسیقی کو آن کرتا ہے۔ موضوع سے بھی قریب ایک میوزک پلیئر ہے جو زمروں کے بارے میں جانتا ہے اور سیٹوں کی طرح زمروں پر آپریشن کے ساتھ اظہار کے ذریعہ موسیقی چلا سکتا ہے۔ ایک ڈیمون بنانا مفید ہے جو "ڈاؤن لوڈز" ڈائرکٹری کی نگرانی کرے گا اور نئی فائلوں کی درجہ بندی کرنے کی پیشکش کرے گا۔ اور، یقینا، ہمیں ایک عام گرافیکل سیمنٹک فائل مینیجر بنانا چاہیے۔ ایک زمانے میں میں نے فائلوں کے اجتماعی استعمال کے لیے انٹرپرائز کے لیے ایک ویب سروس بھی بنائی تھی، لیکن یہ ترجیح نہیں تھی اور غیر متعلق ہو گئی، حالانکہ اس نے اعلیٰ سطح کی کارکردگی حاصل کی۔ (میں بڑی تبدیلیوں کی وجہ سے وٹیس، یہ اب قابل استعمال نہیں ہے۔)

یہاں ایک چھوٹا سا ڈیمو ہے

ڈائریکٹریز کے بجائے زمرہ جات، یا لینکس کے لیے سیمنٹک فائل سسٹم

حاصل يہ ہوا

وٹائٹس اعداد و شمار کے ساتھ کام کرنے کے انداز کو یکسر تبدیل کرنے کی پہلی کوشش نہیں ہے، لیکن میں نے اپنے آئیڈیاز کو لاگو کرنا اور GNU GPL لائسنس کے تحت نفاذ کو عوامی طور پر دستیاب کرنا ضروری سمجھا۔ سہولت کے لیے، x86-64 کے لیے ایک ڈیب پیکج بنایا گیا ہے؛ اسے تمام جدید ڈیبین ڈسٹری بیوشنز پر کام کرنا چاہیے۔ ARM پر معمولی مشکلات تھیں (جبکہ دیگر تمام پروگراموں سے متعلق وٹیس, کام ٹھیک ہے)، لیکن مستقبل میں اس پلیٹ فارم (armhf) کے لیے ایک ورکنگ پیکج مرتب کیا جائے گا۔ میں نے فیڈورا 30 پر مسائل اور بہت سی آر پی ایم تقسیموں میں پھیلنے کی دشواری کی وجہ سے فی الحال RPM پیکجز بنانا بند کر دیا ہے، لیکن بعد میں ان میں سے کم از کم ایک دو کے لیے پیکجز بنائے جائیں گے۔ اس دوران آپ استعمال کر سکتے ہیں۔ make && make install یا checkinstall.

آپ کی توجہ کے لیے آپ سب کا شکریہ! مجھے امید ہے کہ یہ مضمون اور یہ منصوبہ مفید ثابت ہو سکتا ہے۔

پروجیکٹ ریپوزٹری سے لنک کریں۔

ماخذ: www.habr.com

نیا تبصرہ شامل کریں