আপনি যখন প্রথম এই টুকরোটির শিরোনামটি পড়েন তখন প্রযুক্তিগতভাবে কিছু ভুল বলে মনে করার জন্য আপনাকে ক্ষমা করা যেতে পারে। সর্বোপরি, লিনাক্স কি উইন্ডোজ অপারেটিং সিস্টেমের অংশ নয়? তারা দুটি সম্পূর্ণ ভিন্ন অপারেটিং সিস্টেম। পূর্বে, অতীতে উইন্ডোজের সাথে লিনাক্স স্ক্রিপ্টিং ব্যবহার করার একমাত্র উপায় ছিল সাইগউইনের মতো কিছু ইনস্টল করা। অথবা একটি ডুয়াল বুট লিনাক্স সিস্টেম ব্যবহার করুন বা সাম্বার মত কিছু ইনস্টল করুন।
উইন্ডোজ 10 এ সব বদলে গেছে! মাইক্রোসফট উইন্ডোজ স্টোরে লিনাক্সের বিভিন্ন ডিস্ট্রিবিউশন পাওয়া যায়। কালি লিনাক্সের এই পূর্ববর্তী অ্যাপুলস নিবন্ধটি আপনার উইন্ডোজ 10 পরিবেশে একটি নির্দিষ্ট লিনাক্স বিতরণ প্রাপ্ত করার এমন একটি পদ্ধতি বর্ণনা করে।
আপনার উইন্ডোজ মেশিনে লিনাক্স স্ক্রিপ্টগুলি ব্যবহার করার সুবিধাগুলির মধ্যে একটি হল যে আপনি কাজগুলি স্বয়ংক্রিয় করতে শক্তিশালী লিনাক্স স্ক্রিপ্টিং ভাষা ব্যবহার করতে পারেন, বিশেষ করে যদি আপনি পাওয়ারশেল বা ডস ব্যাচ ফাইলগুলির চেয়ে লিনাক্স স্ক্রিপ্টিংয়ের সাথে বেশি পরিচিত হন। এই নিবন্ধটি ব্যাখ্যা করে যে কীভাবে একটি সাধারণ উইন্ডোজ ডেস্কটপ পরিষ্কার করতে একটি লিনাক্স "ব্যাশ" স্ক্রিপ্ট লিখতে হয়। আপনি যদি লিনাক্সে নতুন হন তবে আপনি এই নিবন্ধটি থেকে মূল বিষয়গুলি শিখবেন এবং প্রক্রিয়াটিতে একটি দরকারী উপযোগ তৈরি করতে পারবেন৷
আমরা একটি মৌলিক উবুন্টু লিনাক্স টার্মিনাল ব্যবহার করব, (উইন্ডোজ 10 মেশিনে উইন্ডোজ স্টোরে উপলব্ধ) যা আপনাকে bash,k ssh, git, apt এবং অন্যান্য অনেক লিনাক্স কমান্ড ব্যবহার করতে দেয়। আপনি যদি ইতিমধ্যে এটি না করে থাকেন তবে এটি ইনস্টল করা দরকার। পদ্ধতিটি এখানে ব্যাখ্যা করা হয়েছে।
লিনাক্স কমান্ড লাইন
একবার আপনি উবুন্টু ইন্সটল করে রান করলে নিচের মত একটি কমান্ড লাইন উইন্ডো পাবেন। এটি আপনাকে একটি ব্যাশ লিনাক্স, কমান্ড লাইন দেবে:
আমরা এখন আমাদের স্ক্রিপ্ট লিখব. আপনি যেকোন সম্পাদকের সাহায্যে ফাইলটি সম্পাদনা করতে পারেন, যার মধ্যে একটি উইন্ডোজ সম্পাদক যেমন নোটপ্যাড, বা লিনাক্স সম্পাদক যেমন vi ব্যবহার করার বিষয়ে আপনি আত্মবিশ্বাসী হন।
আপনি যখন উবুন্টু টার্মিনাল খুলবেন, তখন আপনার অবস্থান হবে আপনার হোম ডিরেক্টরি, উবুন্টু ওয়ার্কস্পেসে। কমান্ড প্রম্পটে কমান্ড প্রবেশ করে এটি নিশ্চিত করা যেতে পারে:
echo $HOME
এবং এটি নিম্নলিখিত স্ক্রিনশটে দেখানো হিসাবে আপনার হোম ডিরেক্টরিকে আউটপুট করবে। লিনাক্স ফরম্যাট, "/" এর মতো ডিরেক্টরিগুলিকে উপস্থাপন করে ফরোয়ার্ড স্ল্যাশ ব্যবহার করে।
সুবিধার জন্য, আমরা হোম ডিরেক্টরিতে স্ক্রিপ্টটি রাখব।
পরবর্তী পদক্ষেপটি হল আপনার ডেস্কটপের অবস্থান খুঁজে বের করা, কারণ এটি একটি লিনাক্স পাথ হিসাবে পরিচিত। সঠিক ডিরেক্টরিতে থাকা ফাইলগুলিতে ক্রিয়া সম্পাদন করার জন্য আমাদের এটির প্রয়োজন হবে৷
টার্মিনালে "cd /" টাইপ করুন। এটি আপনাকে আপনার উবুন্টু পরিবেশের মূল এলাকায় নিয়ে যাবে।
তারপর "ls"
টাইপ করুনএটি লিনাক্সে সমস্ত ডিরেক্টরি তালিকাভুক্ত করে। আপনি লিনাক্স টার্মিনালে এরকম কিছু দেখতে পাবেন:
আমাদের আপনার ব্যবহারকারীর ডেস্কটপ খুঁজে বের করতে হবে। ধরে নিই যে এটি সি ড্রাইভে আছে, "mnt" ডিরেক্টরিতে পরিবর্তন করুন। এখানে উইন্ডোজ ড্রাইভগুলি এভাবে চিহ্নিত করা হবে:
তারপরে আপনার ডেস্কটপে কোন ডিরেক্টরিটি রয়েছে তা আপনাকে জানতে হবে। আপনি সাধারণত ফাইল এক্সপ্লোরারের "দ্রুত অ্যাক্সেস" তালিকা থেকে ডেস্কটপ আইকনে "রাইট ক্লিক" করে উইন্ডোতে এটি খুঁজে পেতে পারেন। আপনার ডেস্কটপ ডিরেক্টরি অবস্থান দেখানো হবে:
এটি থেকে, আপনি টার্মিনালে লিনাক্স ব্যবহার করে আপনার ডিরেক্টরিতে পরিবর্তন করতে পারেন:
অতএব, এই উদাহরণে, আপনি টার্মিনালে টাইপ করুন, মনে রাখবেন যে উইন্ডোজের ব্যাকস্ল্যাশগুলি লিনাক্সে ফরওয়ার্ড স্ল্যাশের সমতুল্য। আমার ক্ষেত্রে, “পরিবর্তন ডিরেক্টরি" কমান্ডে যে পথটি প্রয়োজন তা হল:
cd /mnt/c/Users/gofor/OneDrive/Desktop
তারপর আপনি "ls":
ব্যবহার করে আপনার ডেস্কটপে সমস্ত ফাইল তালিকাভুক্ত করতে পারেনযদি এটি আমার ডেস্কটপের মতো কিছু হয় তবে আপনি এই ধরনের ফাইলগুলির একটি দীর্ঘ তালিকা পাবেন:
উইন্ডোজে আমার ডেস্কটপ কতটা অগোছালো দেখাচ্ছে আপনি এখানে দেখতে পারেন:
আমার অন্যান্য 2 মনিটরে আরও আইকন ছিল, তাই আমাদের এই ফাইলগুলিকে শ্রেণিবদ্ধ এবং সংগঠিত করতে হবে! প্রদত্ত স্ক্রিপ্ট প্রতিটি ফাইলের ধরন গ্রহণ করবে, এবং সেগুলিকে ডেস্কটপে একটি প্রাসঙ্গিক নামযুক্ত ফোল্ডারে রাখবে৷
সুতরাং, উদাহরণস্বরূপ, শর্টকাট ফাইলগুলি, এগুলি হবে *.lnk ফাইল, তাই আমরা সেগুলিকে "শর্টকাটস" নামে একটি ফোল্ডারে নিয়ে যাব৷
অনুরূপভাবে, ইমেজ ফাইলগুলি, যেমন .jpg, .png, .bmp, . svg-কে "IMAGES" নামে একটি ফোল্ডারে সরানো হবে৷
নথিপত্র এবং অফিস নথি, যেমন ওয়ার্ড ফাইল যেমন .docx, .pdf, .xls, "OFFICEDOCS" নামক ফোল্ডারে রাখা হবে৷
সুতরাং, যখন স্ক্রিপ্টটি চালানো হয়, সমস্ত নথি একটি সংগঠিত পদ্ধতিতে উপলব্ধ হবে, প্রাসঙ্গিক ডিরেক্টরিতে, সেই ফাইল বিভাগের জন্য তৈরি করা হয়েছে৷ এটি ডেস্কটপকে অগোছালো করবে এবং আপনার ডেস্কটপ ফাইলগুলিকে আরও সংগঠিত করবে। আপনি অনেক ধরনের ফোল্ডার তৈরি করতে পারেন এবং আপনার ইচ্ছামত ফাইলের মানদণ্ড নির্ধারণ করতে পারেন। ফাইলগুলিকে শুধুমাত্র ফাইলের ধরন দ্বারা সংগঠিত করার দরকার নেই, আপনি আপনার ইচ্ছামতো বিভাগ ফোল্ডার তৈরি করতে পারেন, যেমন "HRFILES" এবং "PROJECTFILES"। এই উদাহরণে, আমরা ফাইলগুলিকে তাদের ফাইলের ধরন অনুসারে সংগঠিত করব।
একটি বিভাগ এবং ফাইল তালিকা তৈরি করা
এই অ্যাপ্লিকেশনটি ব্যবহার করার জন্য, আমাদের 2টি ফাইলের প্রয়োজন হবে:
ক) একটি কমা-ডিলিমিটেড CSV ফাইলে রাখা সেই বিভাগগুলিতে যাওয়ার জন্য বিভাগ এবং ফাইলের প্রকারের একটি তালিকা৷ প্রতিটি বিভাগের নাম হবে সেই ডিরেক্টরির নাম যে ফাইলগুলি ডেস্কটপে রাখা হবে। আপনি যেকোনো পছন্দের এডিটর দিয়ে CSV ফাইল তৈরি করতে পারেন। এই উদাহরণে, আমরা নোটপ্যাড ব্যবহার করব।
B) একটি লিনাক্স স্ক্রিপ্ট যা বিভাগ ফাইলটি পড়বে এবং প্রয়োজনীয় পরিপাটি ফাংশন প্রক্রিয়া করবে।
বর্তমান ডিরেক্টরিতে একটি ফাইল তৈরি করতে টার্মিনাল প্রকার:
notepad cleanup.csv
যেহেতু এই পর্যায়ে ফাইলটি বিদ্যমান থাকবে না, এটি আপনাকে একটি নতুন ফাইল তৈরি করার অনুরোধ করবে, তাই শুধু "হ্যাঁ" টিপুন৷
আমরা এখন নিম্নোক্ত বিশদ বিবরণ লিখব, ফরম্যাটে “বিভাগ,ফাইলটাইপ1,ফাইলটাইপ2,ফাইলটাইপ3,…,ইত্যাদি” প্রতিটি বিভাগের জন্য 1 লাইন এভাবে:
SHORTCUTS,lnk
IMAGES,jpg,png,svg
DOCUMENTS,txt,docx,doc,pdf
The first field will be the name of the directory on the desktop, where the remaining file types will be placed. The remaining fields are the file types you wish to move to the folder.
অতএব, শর্টকাট ফোল্ডারের জন্য, সমস্ত *.lnk ফাইল সেই ফোল্ডারে সরানো হবে। IMAGES ফোল্ডারের জন্য, *.jpg,*.png এবং *.svg সহ সমস্ত ফাইল IMAGES ফোল্ডারে সরানো হবে। অবশেষে, আমরা সমস্ত *.txt,*.docx,*.doc এবং *.pdf ফাইলগুলি DOCUMENTS ফোল্ডারে নিয়ে যাই। এইভাবে, আমরা সঠিক ডিরেক্টরিতে ফাইলগুলিকে সংগঠিত করছি।
একবার আমরা CSV ফাইল তৈরি করলে, আমরা স্ক্রিপ্ট লিখতে প্রস্তুত। আমরা স্ক্রিপ্ট কল করব, cleanup.sh. যাইহোক, এই স্ক্রিপ্টটির সর্বনিম্ন বৈধতা থাকবে, তাই আপনাকে অবশ্যই নিশ্চিত করতে হবে যে CSV ফাইলটি সঠিক বিন্যাসে আছে, নতুবা এটি কাজ করবে না! এই স্ক্রিপ্টে আমরা যা করব তা হল ন্যূনতম চেক হিসাবে ফাইল এবং ফোল্ডারগুলি বিদ্যমান কিনা তা পরীক্ষা করা৷
আপনি টার্মিনালে স্ক্রিপ্ট সম্পাদনা করতে পারেন যদি আপনি ইউনিক্স টাইপ এডিটর জানেন, যেমন vi, অথবা আপনি কেবল নোটপ্যাড ব্যবহার করতে পারেন:
notepad cleanup.sh
স্ক্রিপ্টের কাজ হল আমরা স্ক্রিপ্টে যে CSV ফাইলটি পড়ছি তার নাম এবং আমরা যে ডেস্কটপটি পরিষ্কার করতে চাই তার অবস্থান সেট করা। আমরা ক্লিনআপ CSV ফাইল এবং ডেস্কটপ অবস্থানে ভেরিয়েবল সেট করব। আমার ক্ষেত্রে, এটি নিম্নরূপ। আপনার নিজের জন্য ডেস্কটপ অবস্থান প্রতিস্থাপন করতে হবে। অনুগ্রহ করে মনে রাখবেন, “<” এবং “>”-এর মধ্যে যেকোনও একটি স্থানধারক যেখানে আপনাকে আপনার নির্দিষ্ট তথ্য ইনপুট করতে হবে।
তাই। স্ক্রিপ্টের প্রথম 2 লাইন হল:
DESKTOP=/mnt/c/Users/<your windows location>/Desktop
CSV=cleanup.csv
সম্পূর্ণ স্ক্রিপ্ট নীচে দেখা যাবে. আপনি যদি কমান্ডগুলি বুঝতে চান তাহলে অনুগ্রহ করে মন্তব্যগুলি পড়ুন, এবং আপনি যদি একটি কমান্ড সম্পর্কে নিশ্চিত না হন, তাহলে কমান্ড কীভাবে কাজ করে তার আরও একটি অন্তর্দৃষ্টি পেতে Linux কমান্ড লাইনে “man
হোম কমান্ড লাইন থেকে স্ক্রিপ্ট চালানোর জন্য, আপনাকে নিম্নলিখিত কমান্ডের সাহায্যে এটিকে এক্সিকিউটেবল করতে হবে:
স্ক্রিপ্টটি চালানোর জন্য, আপনাকে নিম্নলিখিতটি টাইপ করতে হবে, যেমন এটি বর্তমান ডিরেক্টরিতে রয়েছে।
স্ক্রিপ্ট চালানোর আগে এবং পরে আমার ডেস্কটপটি কেমন দেখায় তা এখানে। আপনি দেখতে পাচ্ছেন যে সরানো ফাইল ধারণকারী ফোল্ডারগুলি এখন তৈরি করা হয়েছে, এবং ডেস্কটপ অনেক কম বিশৃঙ্খল:
আগে: পরে:
এবং শর্টকাটস ডিরেক্টরি, সমস্ত শর্টকাট ডেস্কটপ থেকে সরানো হয়েছে।
অনুগ্রহ করে স্ক্রিপ্টে "#" দ্বারা উপসর্গযুক্ত মন্তব্যগুলি নোট করুন, কারণ তারা স্ক্রিপ্টটি কীভাবে কাজ করে তা ব্যাখ্যা করে৷ # স্থানীয় ডেস্কটপের অবস্থানের জন্য ভেরিয়েবল সেট করুন বা যে কোনো ডিরেক্টরি আপনি পরিষ্কার করতে চান এবং CSV ফাইলের নাম।
# ফাইলের অস্তিত্বের জন্য linux “test” কমান্ড এবং ফ্ল্যাগ “-f” ব্যবহার করে ক্লিনআপ csv ফাইলটি বিদ্যমান কিনা তা পরীক্ষা করুন।
# এখন CSV রূপান্তর করুন যদি এটি ডস ফরম্যাটে ক্যারেজ রিটার্ন অক্ষরগুলি সরিয়ে ইউনিক্স ফর্ম্যাটে সংরক্ষিত থাকে।
# এখন, CSV ফাইল লাইনে লাইন দিয়ে যান, এবং প্রথম আর্গুমেন্টের নামটি সংরক্ষণ করুন, যা হল
ক্লিনআপ স্ক্রিপ্টটিকে এক্সিকিউটেবল করুন এবং এটি চালান
chmod +x cleanup.sh
./cleanup.sh
উইন্ডোজের জন্য সম্পূর্ণ ডেস্কটপ পরিপাটি লিনাক্স স্ক্রিপ্ট
DESKTOP=/mnt/c/Users/gofor/OneDrive/Desktop
CSV=cleanup.csv
# ফাইলটি বিদ্যমান না থাকলে, একটি ত্রুটি বার্তা আউটপুট করুন এবং তারপর স্ক্রিপ্টটি ছেড়ে দিন।if [ ! -f ${CSV} ]then
echo The cleanup.csv file does not exist.
exit -1
fi
# আউটপুটটিকে একটি অস্থায়ী ফাইলে সংরক্ষণ করুন, তারপরে অস্থায়ী ফাইলটিকে মূল নামে পুনরায় নাম দিন।tr -d '\r' < $CSV > temp.csv
mv temp.csv $CSV
# বিভাগ/ডিরেক্টরি নাম, যার উপর, বাকি সমস্ত আর্গুমেন্ট হল ফাইলের প্রকার যা হবে
# এই ডিরেক্টরিতে রাখা হয়েছে।while read csvline
do
count=1
for filetype in `echo "$csvline" | tr , '\n'`
do
if [ $count -eq 1 ] then
# As this is the first argument, check to see if the folder already exists, and if not, create it.
if [ ! -d ${DESKTOP}/$filetype ] then
# The directory does not exist, so we will create it.
mkdir ${DESKTOP}/$filetype
fi
CATEGORY=${filetype}
else
# Output a friendly message indicating what the script is doing.
echo "moving *.${filetype} to ${CATEGORY}"
# Don't display any error messages ( i.e. >2 /dev/null) when moving the files in case the files do not exist,
# so the "mv" command is "silent".
mv ${DESKTOP}/*.${filetype} ${DESKTOP}/${CATEGORY} 2> /dev/null
fi
count=`expr $count + 1`
done
done < cleanup.csv