কমান্ড লাইন ছাত্র উপাদান

কমান্ড লাইন হল একটি GUI ছাড়া কম্পিউটার নিয়ন্ত্রণ করার একটি উপায়। এই ইউনিটে, আমরা আমাদের কম্পিউটারের সাথে ইন্টারঅ্যাক্ট করার জন্য প্রাথমিক কমান্ডগুলি শিখব।

কী Takeaways

  • শিক্ষার্থীরা তাদের কম্পিউটারের চারপাশে কমান্ড নিয়ে ঘুরবে।
  • শিক্ষার্থীরা ফাইল এবং ফোল্ডারগুলি তৈরি করবে, সরবে, অনুলিপি করবে এবং মুছে ফেলবে।

কমান্ড লাইন কি?

বেশিরভাগ ব্যবহারকারী কম্পিউটারের সাথে ইন্টারঅ্যাক্ট করার জন্য বেশিরভাগ সময় একটি গ্রাফিক্যাল ইউজার ইন্টারফেস (GUI) ব্যবহার করে। জিইউআই সাধারণত আইকন, বোতাম, স্ক্রলবার ইত্যাদির সাহায্যে উইন্ডোতে ম্যানিপুলেট করার জন্য মাউস বা স্পর্শের উপর নির্ভর করে।

কমান্ড লাইন কম্পিউটারে একটি বিকল্প দৃশ্য। কখনও কখনও "একটি শেল", "টার্মিনাল", "ব্যাশ" বা "টেক্সট ইন্টারফেস" হিসাবে উল্লেখ করা হয়, কমান্ড লাইন হল:

  • একটি কম্পিউটার প্রোগ্রামের সাথে ইন্টারঅ্যাক্ট করার একটি মাধ্যম যেখানে ব্যবহারকারী কমান্ড টাইপ করে। যেমন:
open README.txt
  • একটি মাউস ছাড়া আপনার কম্পিউটার নেভিগেট এবং পরিচালনা করার একটি উপায়।
  • আপনার ফাইল এবং ডিরেক্টরিগুলি তৈরি, পড়া, আপডেট, পরিচালনা এবং মুছে ফেলার একটি নন-গ্রাফিক উপায়৷ যেমন:
mv README.txt readme.txt

জিইউআই এবং কমান্ড লাইন একই জিনিস দেখছে! তারা কম্পিউটারের সাথে যোগাযোগের বিভিন্ন উপায়।

আমরা কখন কমান্ড লাইন ব্যবহার করব?

কমান্ড-লাইন ইন্টারফেসগুলি প্রায়শই বিকাশকারীরা পছন্দ করেন:

  • তারা একটি প্রোগ্রাম বা অপারেটিং সিস্টেম নিয়ন্ত্রণ করার জন্য আরও সংক্ষিপ্ত উপায় প্রদান করে। কেন? কারণ সবকিছু একই উইন্ডোতে ঘটে, এবং অনুশীলনের সাথে এটি একটি মাউস দিয়ে জিনিসগুলি খুঁজে বের করা এবং ম্যানিপুলেট করার চেয়ে কম প্রচেষ্টা।
  • তারা সহজেই একটি কমান্ড নিয়ন্ত্রণ করার বিকল্পগুলি প্রকাশ করে। কেন? GUI-তে মেনুগুলি খুব কম সংখ্যক বিকল্প প্রদান করে। কমান্ড লাইনে, শত শত কমান্ড রয়েছে এবং একটি কমান্ডে যোগ করা কয়েকটি অক্ষর এটিকে বিভিন্ন জিনিস করতে বাধ্য করতে পারে। যেমন
  • ls মৌলিক তালিকা ফাইল
  • ls -a সাধারণত লুকানো ফাইল সহ সমস্ত ফাইলের তালিকা করুন
  • ls -l দীর্ঘ তালিকা, প্রতিটি ফাইল সম্পর্কে তথ্য দেখাচ্ছে
  • ls -R পুনরাবৃত্তিমূলক, ডিরেক্টরির বিষয়বস্তু তালিকাভুক্ত করুন
  • ls -la লং লিস্ট সব ফাইল
  • তারা জটিল উপায়ে একসাথে অনেক ফাইলে কাজ করা সহজ করে তোলে।
for i in *.png; do pngtogif $i `echo $i | sed s/png/gif/`; done
  • তারা অপারেটিং সিস্টেম (শেল প্রোগ্রাম) প্রোগ্রাম করার একটি উপায় প্রদান করে যেমন উপরের উদাহরণটি একটি খুব সাধারণ শেল প্রোগ্রাম যা .png এ শেষ হওয়া ফাইলের নামগুলির সাথে ছবিগুলি পরিবর্তন করার জন্য ডিজাইন করা হয়েছে।

কমান্ড লাইন ইন অ্যাকশন

একটি কমান্ড লাইন কমান্ডের অংশ

সমস্ত কমান্ডের তিনটি অংশ রয়েছে:

  • কমান্ড (বা ইউটিলিটি) সর্বদা প্রথমে আসে।
  • আপনি যে ইউটিলিটি ব্যবহার করছেন তার উপর নির্ভর করে পতাকাগুলি ঐচ্ছিক। পতাকা সবসময় একটি - (মাইনাস) দিয়ে শুরু হয়।
  • আর্গুমেন্ট হল আদেশের উপর কাজ করার জিনিস বা প্রয়োজনীয় তথ্য। প্রায়শই ফাইলের নাম।

ফ্রেমিং

প্রসঙ্গ এবং উদ্দেশ্য

কমান্ড লাইন হল মাউস বা GUI (গ্রাফিকাল ইউজার ইন্টারফেস) ছাড়াই কম্পিউটার নিয়ন্ত্রণ করার একটি উপায়। অ্যাপল কম্পিউটার আইকন এবং ফোল্ডারগুলি দিয়ে মেশিন তৈরি করা শুরু করার আগে আপনি ক্লিক করতে পারেন, আপনার কম্পিউটারের সাথে যোগাযোগ করার একমাত্র উপায় ছিল কমান্ড লাইনের মাধ্যমে।

বিকাশকারী হিসাবে, আমরা কমান্ড লাইন ব্যবহার করি কারণ এটি GUI-এর তুলনায় অনেক দ্রুত এবং আরও শক্তিশালী - চারপাশে ক্লিক করার সময় নষ্ট করার দরকার নেই। কমান্ড লাইন আপনাকে আপনার কম্পিউটারের সাথে আপনার যে কোনও মিথস্ক্রিয়া সম্পাদন করতে দেয়।

যেহেতু টার্মিনালটি একটি অনেক সহজ ইন্টারফেস, এটি GUI এর উপর একটি বড় সুবিধা রয়েছে যখন আপনাকে একটি নেটওয়ার্ক লিঙ্কের মাধ্যমে একটি কম্পিউটারের সাথে দূরবর্তীভাবে সংযোগ করতে হবে। এটি এমন কিছু যা বিকাশকারীরা প্রায়শই করে - উদাহরণস্বরূপ ভ্রমণ করার সময়।

এই পাঠে আমরা আমাদের কম্পিউটারের সাথে ইন্টারঅ্যাক্ট করার প্রাথমিক কমান্ডগুলি শিখতে যাচ্ছি: ফাইল এবং ডিরেক্টরি তৈরি করা, ফোল্ডারগুলি সরানো, ডিরেক্টরি পরিবর্তন করা এবং ফোল্ডারের বিষয়বস্তু তালিকাভুক্ত করা।

শিক্ষার উদ্দেশ্য

শিক্ষার্থীরা পারবে

  • ফাইল এবং ফোল্ডার নেভিগেট করতে টার্মিনাল ব্যবহার করুন
  • একটি ফোল্ডারের বিষয়বস্তু তালিকা আউট
  • কমান্ড লাইনে ফাইল এবং ফোল্ডার তৈরি করুন
  • ফাইল এবং ফোল্ডার সরান
  • ফাইল এবং ফোল্ডার কপি করুন
  • ফাইল এবং ফোল্ডার মুছুন

শুরু হচ্ছে

টার্মিনাল অ্যাক্সেস করা

বিভাগ প্রণয়ন এবং উদ্দেশ্য

টার্মিনাল অপারেটিং সিস্টেমে একটি কমান্ড লাইন ইন্টারফেস (CLI) প্রদান করে। এটি দিয়ে আপনি আপনার কম্পিউটারকে সরাসরি, পাঠ্য-ভিত্তিক নির্দেশনা দিতে পারেন।

এটি করার জন্য, আপনি যে সিস্টেমটি ব্যবহার করছেন তার উপর ভিত্তি করে আমাদের আপনার টার্মিনাল চালু করতে হবে।

টার্মিনাল চালু হলে, এটি আপনার কম্পিউটারের হোম ডিরেক্টরিতে শুরু হবে (আপনি আপনার কম্পিউটারের নাম যাই হোক না কেন)। আপনার হোম ডিরেক্টরি টিল্ড দ্বারা চিহ্নিত করা হয় ~

টার্মিনালের অভ্যন্তরে আমাদের বিশ্ব নিয়ে আলোচনা করার সময়, ডিরেক্টরিগুলি ফোল্ডারগুলির মতোই হয় (আমরা তাদের মাঝে মাঝে ডিরেক্টরি বলতে পারি)।

পরিবর্তিত ডিরেক্টরি

বিভাগ প্রণয়ন এবং উদ্দেশ্য

টার্মিনালে আমাদের কম্পিউটারের সাথে কথা বলার জন্য এবং আমরা কী করতে চাই তা বলতে, আমাদের একটি সাধারণ ভাষায় কথা বলতে হবে। কমান্ড লাইন ব্যাশ স্ক্রিপ্টিং ভাষায় লিখিত কমান্ড বোঝে। কমান্ডগুলি ইংরেজি শব্দের সংক্ষিপ্ত রূপ বা সংক্ষিপ্ত রূপ।

আপনি যখন আপনার টার্মিনালে নেভিগেট করছেন, তখন আপনি কোথায় আছেন তা জানা গুরুত্বপূর্ণ (এটি সরাসরি বাস্তব জীবনেও অনুবাদ করে - আপনি যদি কোথাও যেতে চান তবে আপনাকে প্রথমে আপনার বর্তমান অবস্থান জানতে হবে)।

# See your current location - abbreviation for 'print working directory'
pwd

উপলব্ধ ফাইল এবং ডিরেক্টরি তালিকা

আপনার কাজের ডিরেক্টরির ভিতরে, সম্ভবত আপনি অ্যাক্সেস করতে পারেন এমন বেশ কয়েকটি ফাইল রয়েছে। সাধারণত, আমরা কী উপলব্ধ আছে তা জানাতে আইকনের মতো ভিজ্যুয়াল ইঙ্গিতের উপর নির্ভর করি, কিন্তু ফাইল এবং ফোল্ডারগুলি কোথায় অবস্থিত তা অনুমান করলে আমাদের কম্পিউটারে নেভিগেট করা কঠিন হবে। কমান্ড লাইনে, আমরা একটি নির্দিষ্ট কমান্ড ব্যবহার করব যে কোনো প্রদত্ত কার্যকারী ডিরেক্টরি/যে কোনো স্থান থেকে আমরা কী অ্যাক্সেস করতে পারি তা তালিকাভুক্ত করতে।

আমাদের বর্তমান ডিরেক্টরিতে কোন ফাইল বা ফোল্ডার রয়েছে তা দেখার জন্য, বিষয়বস্তুগুলির একটি তালিকা দৃশ্য দেখতে ls কমান্ড (তালিকার জন্য একটি সংক্ষিপ্ত রূপ) ব্যবহার করুন।

# See files and folders in current location - abbreviation for 'list'
ls

কাজের ডিরেক্টরি পরিবর্তন করুন

তালিকায় উপস্থিত না থাকা কোনো ফাইল বা ডিরেক্টরিতে আপনার অ্যাক্সেসের প্রয়োজন হলে, আপনি এটিকে আরও সহজে অ্যাক্সেস করার জন্য আপনার কাজের ডিরেক্টরি পরিবর্তন করতে চাইতে পারেন।

একটি নতুন ডিরেক্টরিতে (একটি ফোল্ডার হিসাবেও পরিচিত) আপনাকে স্থানান্তর করতে কমান্ড লাইনকে বলার জন্য cd নতুন ফোল্ডারে যাওয়ার পাথ দ্বারা (একই লাইনে) অনুসরণ করা হয়।

আপনি বর্তমানে যে ডিরেক্টরিতে আছেন (যেমন আপনার ওয়ার্কিং ডিরেক্টরির একটি সাবফোল্ডার ), ফোল্ডারের নাম অনুসরণ করে cd কমান্ডটি ব্যবহার করুন।

# Change your current working directory (current location)
# Abbreviation for 'change directory'
cd Documents

এছাড়াও আপনি হোম ~ ডিরেক্টরি থেকে শুরু করে নেভিগেট করতে পারেন।

# Add a `~/` to begin from the home directory.
cd ~/Downloads

আপনি যদি ডিরেক্টরিগুলি পরিবর্তন করে থাকেন কিন্তু হোম ডিরেক্টরিতে ফিরে যেতে চান, তাহলে ~ ব্যবহার করে সরাসরি বাড়িতে নেভিগেট করে বা .. ব্যবহার করে একটি স্তরে নেভিগেট করুন৷

# Option 1: navigate directly to the home directory
cd ~

# Option 2: navigate back one level
cd ..

মনে রাখবেন যে cd .. শুধুমাত্র একটি স্তরের উপরে (পিছনে) যায়, তাই আপনি যদি এখনও পর্যন্ত তিনবার (তিন স্তরের নিচে) ডিরেক্টরি পরিবর্তন করে থাকেন, তাহলে আপনাকে cd .. তিনবার বাড়ি যাওয়ার জন্য, কিন্তু শুধুমাত্র একবার cd ~ ব্যবহার করতে হবে।

মিনি-চ্যালেঞ্জ

  • আপনার বর্তমান ডিরেক্টরির ভিতরে কি আছে তা দেখতে ls ব্যবহার করুন।
  • আপনার হোম ডিরেক্টরিতে ফিরে যান এবং আপনার হোম ফোল্ডারের বিষয়বস্তু দেখতে ls ব্যবহার করুন।
  • হোম ডিরেক্টরির ভিতরে থাকা ফোল্ডারগুলির একটির নাম চয়ন করুন এবং এই নতুন ফোল্ডারে নেভিগেট করুন।
  • ভিতরে কি আছে তা দেখতে তালিকা কমান্ডটি ব্যবহার করুন।

প্রোটিপ: tab সাথে স্বয়ংসম্পূর্ণতা

cd কমান্ডের সাথে ডিরেক্টরি পরিবর্তন করার সময়, একটি একক টাইপো কমান্ডটিকে সঠিকভাবে কার্যকর হতে বাধা দেবে। যাইহোক, tab কী ব্যবহার করলে আপনার বর্তমান ডিরেক্টরির মধ্যে থাকা যেকোনো উপলব্ধ ডিরেক্টরির নামের সাথে স্বয়ংসম্পূর্ণ হবে। তাই cd Documents টাইপ করার পরিবর্তে, just cd Do টাইপ করুন এবং তারপর tab কী টিপুন এবং টার্মিনাল আপনার জন্য cd Documents/ কমান্ডটি স্বয়ংসম্পূর্ণ করবে (শেষে / ঐচ্ছিক তবে আপনাকে জানাবে যে গন্তব্যটি একটি ডিরেক্টরি)।

এই স্বয়ংসম্পূর্ণ শুধুমাত্র সময় বাঁচায় না যখন এটি কাজ করে, এটি যখন কাজ করে না তখন এটি মূল্যবান তথ্যও প্রদান করে৷ ট্যাব বোতামটি স্বয়ংসম্পূর্ণ না হলে, আপনি সম্ভবত তিনটি সাধারণ সমস্যার মধ্যে একটি তৈরি করেছেন:

  1. আপনি যে ডিরেক্টরিতে নেভিগেট করতে চান সেটি আপনার বর্তমান কাজের ডিরেক্টরি থেকে অ্যাক্সেসযোগ্য নয়।
  2. দুটি ডিরেক্টরি আছে যেগুলির একই রকম প্রারম্ভিক নাম রয়েছে (যেমন Documents এবং Downloads ) এবং আপনি কোনটি চান তা জানার জন্য স্বয়ংসম্পূর্ণের জন্য যথেষ্ট তথ্য প্রদান করেননি৷ আপনি যা টাইপ করেছেন তার সাথে মেলে এমন ডিরেক্টরিগুলির একটি তালিকা দেখতে আবার tab টিপুন৷ তারপরে একটু বেশি টাইপ করুন (যথেষ্ট যাতে শুধুমাত্র একটি মিল থাকে) এবং আবার tab টিপুন।
  3. আপনি ইতিমধ্যেই শব্দের প্রথমার্ধে একটি টাইপো অন্তর্ভুক্ত করেছেন।

যত তাড়াতাড়ি আপনি আপনার কমান্ডগুলি স্বয়ংসম্পূর্ণ করতে ট্যাব ব্যবহার করার অভ্যাস পেতে পারেন, আপনার কমান্ডগুলি কাজ করছে না বলে মনে হয় এমন হতাশাজনক পরিস্থিতিগুলি পরিচালনা করার সম্ভাবনা তত বেশি হবে।

পিতামাতা এবং শিশু ডিরেক্টরি

ডিরেক্টরি এবং ফাইল একে অপরের সাথে শিশু এবং পিতামাতার সম্পর্ক থাকতে পারে। directory_b b directory_a a-এর ভিতরে থাকলে, directory_a কে directory_b a-এর সন্তান হিসাবে উল্লেখ করা হয়। directory_a তখন directory_b b-এর প্যারেন্ট হিসাবে পরিচিত। যদি একটি তৃতীয় আইটেম, my_file , একটি directory_b b এর ভিতরে থাকে, তাহলে এটি directory_a b-এর একটি সন্তান এবং directory_b a-এর একটি নাতি হিসেবে বিবেচিত হয়।

এই সম্পর্কগুলি প্রায়শই ফোরামে একটি পাঠ্য চিত্র সহ চিত্রিত করা হয়, যেমন:

directory_a/
  directory_b/
    my_file

লক্ষ্য করুন যে ডিরেক্টরির নামগুলি a / এ শেষ হয় যখন ফাইলের নাম হয় না। এই শ্রেণিবিন্যাস সংস্থাটিকে সাধারণত একটি ফাইল সিস্টেমের গাছের কাঠামো হিসাবে উল্লেখ করা হয়।

ভাইবোন

একই স্তরে একাধিক ফাইল বা ফোল্ডার থাকলে, তারা ভাইবোন হিসাবে পরিচিত। যেমন: যদি file_b এবং file_c directory_a a-এর ভিতরে থাকে তারা ভাইবোন

সেই টেক্সট ডায়াগ্রামটি দেখতে এরকম হবে:

directory_a/
  file_b
  file_c

মনে রাখবেন যেহেতু file_b এবং file_c ভাইবোন, সেগুলি একই পরিমাণে ইন্ডেন্ট করা হয়েছে।

ফাইল পাথ

এখানে একটি আরও জটিল পাঠ্য চিত্র যা পিতামাতা-সন্তান এবং ভাইবোন উভয়ের সম্পর্ককে বৈশিষ্ট্যযুক্ত করে।

north_america/
  united_states/
    new_york/
      new_york_city/
        manhattan
        queens
        staten_island
        bronx
        brooklyn
    california/
      mountain_view
      los_angeles
    illinois/
      chicago
  mexico/
    mexico_city

এই উদাহরণে, new_york_city/ একটি ডিরেক্টরির নাম, তবে এটির একটি পথও রয়েছে, যেখানে সেখানে কীভাবে যেতে হবে তার বিবরণ রয়েছে: ~/north_america/united_states/new_york/new_york_city/

ডিরেক্টরিকে new_york_city/, আপনি নাম ব্যবহার করে ধাপে নেভিগেট করতে পারেন, অথবা আপনি পাথ ব্যবহার করে একটি কমান্ডে সেখানে সমস্ত পথ নেভিগেট করতে পারেন।

# Option 1: in four steps, using directory names.
cd ~ # navigate home, where these folders are located
cd north_america/
cd united_states/
cd new_york/
cd new_york_city/

# Option 2: in one step, using the path.
cd ~/north_america/united_states/new_york/new_york_city/

নেভিগেশন কমান্ডের সারাংশ

# See your current location - abbreviation for 'print working directory'
pwd

# Change to a new location - abbreviation for 'change directory'
cd ~/Downloads

# Navigates into a child directory called `some_directory`
# Only works if `some_directory` is a child of the current directory
cd some_directory

# Navigates into the parent of the current directory
# `..` is shorthand for parent.
cd ..

# Will take you back home
cd

মিনি-চ্যালেঞ্জ

  • আপনি যে বর্তমান ফোল্ডারে আছেন তা খুঁজে বের করতে pwd ব্যবহার করুন।
  • একটি ভিন্ন ডিরেক্টরিতে পরিবর্তন করুন এবং আপনার নতুন অবস্থান নিশ্চিত করুন৷
  • এটি আবার চেষ্টা করুন এবং একটি ভিন্ন ফোল্ডারে নেভিগেট করুন৷ আপনার অবস্থান দেখতে এবং এই ডিরেক্টরির ভিতরে থাকা ফাইলগুলি দেখতে আপনার নতুন কমান্ডগুলি ব্যবহার করুন৷

ফাইল এবং ডিরেক্টরি তৈরি করা

বিভাগ প্রণয়ন এবং উদ্দেশ্য

বিকাশকারী হিসাবে, আমাদের কোড দিয়ে ফাইল তৈরি করতে হবে। সেই ফাইলগুলিকে সংগঠিত রাখতে, আমাদের ফোল্ডার / ডিরেক্টরি তৈরি করতে হবে যেখানে আমরা আমাদের ফাইলগুলি সংরক্ষণ করতে পারি।

আপনার ফাইল এবং ফোল্ডার তৈরি করার আগে টার্মিনালে আপনার অবস্থান সম্পর্কে সচেতন হন।

# See your current location.
pwd

একটি ফাইল তৈরি করতে, কমান্ড touch ব্যবহার করুন ফাইলের নাম অনুসরণ করে।

# `touch` creates a new file.
touch style.css

ফাইল তৈরি করার সময়, টাইপ নির্দিষ্ট করতে একটি ফাইল এক্সটেনশন যোগ করুন। উদাহরণ ফাইল প্রকার:

  • .js একটি জাভাস্ক্রিপ্ট ফাইল হিসাবে তৈরি
  • .html একটি HTML ফাইল তৈরি করুন
  • .css একটি CSS ফাইল তৈরি করে
  • .md একটি মার্কডাউন ফাইল তৈরি করে

ফাইলের নাম স্পেস অন্তর্ভুক্ত করা উচিত নয়.

# make a file - this will create a file in the current folder
touch my_text_file.txt

# make a file - this will create a file on the desktop
touch ~/Desktop/my_new_style_sheet.css

একাধিক ফাইল তৈরি করা

আপনি প্রতিটি নামের মধ্যে স্পেস অন্তর্ভুক্ত করে একসাথে একাধিক ফাইল তৈরি করতে পারেন।

# make multiple files - this will create multiple files in the current folder
touch my_new_js_file.js my_new_html_file.html my_second_html_file.html

ডিরেক্টরি তৈরি করা

একটি ডিরেক্টরি/ফোল্ডার তৈরি করতে, mkdir কমান্ডটি ব্যবহার করুন - 'মেক ডিরেক্টরি'-এর একটি সংক্ষিপ্ত রূপ - ফোল্ডারের নাম অনুসরণ করে।

# make a folder - this will create a directory in the current folder
mkdir my_new_folder

# make a folder - this will create a directory on your desktop
mkdir ~/Desktop/my_new_desktop_folder

একাধিক ডিরেক্টরি তৈরি করা

আপনি প্রতিটি নামের মধ্যে স্পেস অন্তর্ভুক্ত করে একসাথে একাধিক ফোল্ডার তৈরি করতে পারেন।

# make multiple folders - this will create multiple folders in the current
# directory
mkdir folder_one folder_two folder_three

মিনি-চ্যালেঞ্জ

  • একটি নতুন ফাইল তৈরি করুন।
  • একটি কমান্ডে কয়েকটি ফাইল তৈরি করুন।
  • একটি নতুন ডিরেক্টরি তৈরি করুন।
  • আরও কয়েকটি নতুন ডিরেক্টরি তৈরি করুন। এটি করার জন্য শুধুমাত্র একটি কমান্ড ব্যবহার করার চেষ্টা করুন।
  • ডিরেক্টরি নেভিগেট করা এবং ফাইল এবং ফোল্ডার তৈরি করার বিষয়ে আপনি যা জানেন তা ব্যবহার করে, ফাইল এবং ফোল্ডারগুলি ব্যবহার করে আপনার ডেস্কটপে একটি 'family_tree' তৈরি করুন।

সরানো এবং অনুলিপি করা

ফাইল এবং ডিরেক্টরি সরানো

বিভাগ প্রণয়ন এবং উদ্দেশ্য

আমরা কমান্ড লাইনে একটি ফাইল বা ফোল্ডার সরাতে পারি, তবে আমাদের সর্বদা তিনটি জিনিস নির্দিষ্ট করতে হবে:

  1. আমরা mv কমান্ড ব্যবহার করি - সরানোর জন্য সংক্ষেপণ।
  2. আপনি যে ফাইল বা ফোল্ডারটি সরাতে চান তার নামের সাথে মুভ কমান্ডটি অনুসরণ করুন।
  3. গন্তব্যের সাথে ফাইলটির নাম অনুসরণ করুন যেখানে আপনি এটি সরাতে চান।

উদাহরণস্বরূপ, যদি আপনার এই মত একটি ফাইল গঠন থাকে:

my_child_folder/
my_parent_folder/

আপনি দেখতে পাচ্ছেন যে এটি যেমন হওয়া উচিত তেমন সংগঠিত নয় - তারা ভাইবোন যখন তাদের পিতামাতা এবং সন্তান হওয়া উচিত। এই কমান্ডটি ব্যবহার করুন:

# move a directory - this will move the folder `my_child_folder` into the
# folder named `my_parent_folder` that is in the current folder
mv my_child_folder/ my_parent_folder/

ফলে গঠন এই মত হবে.

my_parent_folder/
  my_child_folder/

এখানে mv কমান্ডের কিছু অন্যান্য বৈচিত্র রয়েছে:

# move a directory - this will move the folder `my_folder` into the file named
# `my_desktop_folder` that is located on the Desktop
mv my_folder ~/Desktop/my_desktop_folder

# move a file - this will move the file `my_file.txt` into the file named
# `my_folder` that is in the current folder
mv my_file.txt my_folder

# move a file - this will move the file `my_file.txt` into the file named
# `my_desktop_folder` that is located on the Desktop
mv my_file.txt ~/Desktop/my_desktop_folder

সতর্কতা: mv সিনট্যাক্স mv old_name new_name ব্যবহার করে একটি ফাইলের নাম পরিবর্তন করার কমান্ড হতে পারে। এর মানে হল যে আপনি যদি একটি ফাইলকে এমন একটি ডিরেক্টরিতে সরান যা বিদ্যমান নেই, বা আপনি যদি গন্তব্যের বানান ভুল করেন, তাহলে ফাইলটি সরানোর পরিবর্তে পুনরায় নামকরণ করা হবে।

মিনি-চ্যালেঞ্জ

  1. 5টি টেক্সট (.txt) ফাইল তৈরি করুন।
  2. একটি নতুন ডিরেক্টরি তৈরি করুন।
  3. ফোল্ডারে আপনার তৈরি করা 5টি ফাইল সরান।
  4. একটি ফোল্ডার তৈরি করুন এবং এই নতুন ফোল্ডারটিকে অন্য ফোল্ডারের ভিতরে সরান।

ফাইল এবং ডিরেক্টরি অনুলিপি করা হচ্ছে

বিভাগ প্রণয়ন এবং উদ্দেশ্য

যখন আমরা আমাদের ওয়েবঅ্যাপ তৈরি করি, আমরা একটি ফাইলের নকল করতে চাই (যদি আমরা দুটি অনুরূপ ওয়েবপেজ তৈরি করি, তাহলে আমরা স্ক্র্যাচ থেকে শুরু করতে চাই না), এবং cp (কপি) কমান্ডের সিনট্যাক্স সত্যিই mv এর মতো। বাক্য গঠন.

একটি ফাইল কপি করা হচ্ছে

কপি কমান্ডের তিনটি অংশ রয়েছে:

  1. কমান্ড cp - অনুলিপি জন্য সংক্ষেপণ
  2. ফাইলের নাম কপি করতে হবে
  3. অনুলিপির নাম (যদি একই ফোল্ডারে থাকে) বা অবস্থান এবং নাম (যদি অন্য ফোল্ডারে সরানো হয়)।
# Copy a file named `my_file.txt` to a file called `my_file_copy.txt`
# The copy will be located in your Documents folder.
cp my_file.txt ~/Documents/my_file_copy.txt

# Copy a file named `my_file.txt` to a file called `my_file_copy.txt`.
# Since no directory was specified, this will occur within the same folder.
cp my_file.txt my_file_copy.txt

আপনি যদি অনুলিপিটি আসল নামে একই নাম রাখতে চান তবে আপনি ফাইলের নাম ছাড়াই অনুলিপি অবস্থান নির্দিষ্ট করতে পারেন।

# Copy a file named `my_file.txt` to your Documents folder.
# The destination ends with a directory, so the copy will have the same name.
cp my_file.txt ~/Documents/

একই নামের প্রচুর ফাইল থাকা বিভ্রান্তিকর হতে পারে, তাই শুধুমাত্র এই পদ্ধতিটি ব্যবহার করুন যদি আপনি নিশ্চিত হন যে এটি আপনার প্রয়োজন।

একটি ডিরেক্টরি অনুলিপি করা হচ্ছে

একটি ফোল্ডার বা ডিরেক্টরি অনুলিপি করা একটু বেশি জটিল, কারণ আপনি সম্ভবত কেবল ফোল্ডারটিই নয়, এর ভিতরের সবকিছুও অনুলিপি করতে চান।

  1. কমান্ড cp -R - কপি রিকারসিভের সংক্ষিপ্ত রূপ - এটি খালি এবং অ-খালি উভয় ফোল্ডারের জন্য ব্যবহার করুন
  2. উৎসের নাম (ফোল্ডার বা ফাইল যা আমরা সরাতে চাই)
  3. অনুলিপির নাম (যদি একই ফোল্ডারে থাকে) বা অবস্থান এবং নাম (যদি অন্য ফোল্ডারে সরানো হয়)।

সতর্কীকরণ : অনুলিপির নাম উল্লেখ করার সময়, যদি ফাইল বা ফোল্ডারটি আগে তৈরি করা না হয়, আপনি যখন অনুলিপি করবেন তখন এটি তৈরি হবে। আপনি কপি কমান্ড চালানোর আগে যদি ফাইলটি তৈরি করা হয়, তবে এটি ফাইলটিতে আগে থাকা সমস্ত কিছু ওভাররাইট করবে, তাই সাবধান!

# copy a directory named `my_folder` from your Desktop folder to a folder
# called `my_folder_copy` in your Documents folder
cp -R ~/Desktop/my_folder ~/Documents/my_folder_copy

# copy a file named `my_file.txt` from your Desktop folder to your Documents
# folder
cp -R my_folder my_folder_copy

দ্রষ্টব্য: cp -R এর -R উপাদানটিকে পতাকা বলা হয়। পতাকাগুলি সর্বদা একটি ড্যাশ দিয়ে শুরু হয় এবং কমান্ডের সাথে সংমিশ্রণে ব্যবহার করা হয় যাতে সেই কমান্ডটি কীভাবে কার্যকর করা হবে তার জন্য আরও নির্দিষ্ট নির্দেশনা দিতে।

মিনি-চ্যালেঞ্জ

  1. my_original.txt নামে একটি ফাইল তৈরি করুন
  2. একই ফোল্ডারে নতুন কিছু নামে my_original.txt এর একটি অনুলিপি তৈরি করুন।
  3. একটি নতুন ডিরেক্টরি তৈরি করুন।
  4. সেই ডিরেক্টরিটির একটি অনুলিপি তৈরি করুন, তবে এটির নাম অন্য কিছু।
  5. আপনার অনুলিপি করা ফাইলটি একটি অনুলিপি করুন (ধাপ 2 থেকে) তবে এটি অনুলিপি করা ডিরেক্টরিতে রাখুন (ধাপ 4 থেকে)।

ফাইল এবং ফোল্ডার অপসারণ

বিভাগ প্রণয়ন এবং উদ্দেশ্য

আমরা কমান্ড লাইনে ফাইল এবং ফোল্ডার মুছে ফেলতে পারি, কিন্তু তা করা স্থায়ী।

একটি ফাইল সরানো হচ্ছে

একটি ফাইল মুছে ফেলার জন্য, আমরা ফাইলের নাম অনুসরণ করে rm (রিমুভের সংক্ষিপ্ত রূপ) ব্যবহার করতে পারি।

# delete a file in the working directory
rm unwanted_file.txt

# delete a file not in the working directory
rm ~/Desktop/unwanted_file.txt

খালি একটি ডিরেক্টরি সরানো হচ্ছে

একটি খালি ডিরেক্টরি মুছে ফেলার জন্য, আমরা rmdir কমান্ডটি ব্যবহার করতে পারি - ফোল্ডারের নাম অনুসরণ করে রিমুভ ডিরেক্টরির সংক্ষিপ্ত রূপ।

# delete an empty folder
rmdir empty_directory

# delete an empty folder
rmdir ~/Documents/my_files/empty_directory

খালি নয় এমন একটি ডিরেক্টরি সরানো হচ্ছে

যে ফোল্ডারটি খালি নেই তা অপসারণ করতে, আমাদেরকে rm কমান্ডের পরে একটি পতাকা -R - সংক্ষেপণ - পুনরাবৃত্তের জন্য রাখতে হবে যা কম্পিউটারকে ফোল্ডারের ভিতরের বিষয়বস্তু মুছে ফেলতে বলে৷ শর্টকাট হিসাবে, কিছু বিকাশকারী পতাকা -Rf ব্যবহার করে যা জোর করে সবকিছু সরিয়ে দেয় (অন্যথায়, আপনি কিছু চাইল্ড ফাইল বা ফোল্ডার মুছে ফেলার বিষয়ে অনুরোধ পেতে পারেন)।

# delete a folder which contains other files or folders
rm -R directory_which_isnt_empty

# delete a folder which contains other files or folders
rm -R ~/Downloads/directory_which_isnt_empty

সতর্কতা : rm কমান্ড ব্যবহার করা রিসাইকেল বিন বা আপনার ইমেলের মুছে ফেলা অংশের মতো নয় - এই ফাইলগুলি সহজে পুনরুদ্ধার করা যাবে না। এইভাবে ফাইল মুছে ফেলার সময় অত্যন্ত সতর্ক থাকুন।

মিনি-চ্যালেঞ্জ

  1. 4টি ফাইল তৈরি করুন।
  2. 2টি ফাইল মুছুন।
  3. একটি ফোল্ডার তৈরি করুন।
  4. আরেকটি ফোল্ডার তৈরি করুন এবং এই ফোল্ডারের ভিতরে একটি ফাইল তৈরি করুন।
  5. উভয় ডিরেক্টরি মুছুন।

আপনি গিটহাব থেকে ডাউনলোড করেছেন এমন ছাত্র সংগ্রহস্থলের ভিতরে নিম্নলিখিত ফোল্ডারে এই ল্যাবের কোডটি খুঁজে পেতে পারেন: command-line/labs/around-the-world

পটভূমি

বিদেশে আপনার সেমিস্টার ঠিক কোণার কাছাকাছি এবং এটি আপনার ইউরোপীয় ভ্রমণের পরিকল্পনা শুরু করার সময়...

অদূর ভবিষ্যতে তিন মাসের কিছু গুরুতর জীবনযাপনের সাথে, আপনি নিশ্চিত করতে চান যে আপনি প্রতি সপ্তাহান্তে ভ্রমণের সম্পূর্ণ সুবিধা গ্রহণ করেন।

সৌভাগ্যবশত আপনি স্ক্র্যাচ থেকে শুরু করছেন না এবং আপনার বন্ধুরা বিদেশে তাদের সেমিস্টার থেকে আপনাকে তাদের প্রিয় কিছু কার্যকলাপ সরবরাহ করেছে। দুর্ভাগ্যবশত, কিছু ফাইল মিশ্রিত হয়ে গেছে...

ঘাবড়াবেন না, কমান্ড লাইনের জাদুতে আপনি সেগুলিকে কিছুক্ষণের মধ্যেই ঠিক করতে পারবেন!

টাস্ক

নিশ্চিত করুন যে প্রতিটি শহর সঠিক দেশে রয়েছে এবং প্রতিটি শহরের ফোল্ডারের ভিতরে সঠিক স্মৃতিস্তম্ভ রয়েছে৷ সতর্ক থাকুন বা আপনি আইফেল টাওয়ার খুঁজছেন আমস্টারডামে শেষ হতে পারে!

আপনি যদি এটির সাথে সত্যিকারের আত্মবিশ্বাসী বোধ করেন তবে আপনার GUI লুকান এবং সরাসরি কমান্ড লাইন থেকে এই চ্যালেঞ্জের মুখোমুখি হন। এই সব করার সময় আপনার সারা বিশ্বের সাধারণ ফোল্ডারে থাকা উচিত, এর মানে ফোল্ডার এবং ফাইলগুলি উল্লেখ করার সময় পরম পাথ ব্যবহার করা!

একবার আপনি নিশ্চিত হন যে সবকিছু সঠিক জায়গায় আছে, এটি আপনার পরবর্তী কয়েক মাসের কমান্ড নেওয়ার পালা। নতুন শহর, দেশ এবং স্মৃতিস্তম্ভ যা আপনার দেখতে হবে এবং সেগুলিকে আপনার ফাইল ট্রিতে যুক্ত করুন!

অভিনন্দন! আপনি আনুষ্ঠানিকভাবে কম্পিউটারে কথা বলতে শিখেছেন। এটি একটি ধাপ এগিয়ে নিতে প্রস্তুত? আসুন এক্সটেনশনের কথা বলি...

এক্সটেনশন

  1. আপনার সমস্ত ফাইল আবার মিশ্রিত করুন, তারপর আপনার পছন্দের শহরে আপনার পথ তৈরি করুন। সেই শহরে থাকতেই ফাইলগুলো আবার সাজান।
  2. নীচে লিঙ্ক করা মজাদার কমান্ড লাইন গেমগুলির মধ্যে একটি চেষ্টা করুন
    টার্মিনাস খেলা
    উন্নত গেম (গুগলের জন্য প্রস্তুত থাকুন)
  3. স্টার ওয়ার্স এর বিশাল ভক্ত? আপনার কমান্ড লাইনে telnet towel.blinkenlights.nl চালানোর চেষ্টা করুন এবং এন্টার টিপুন... (উল্লেখ্য যে MacOS-এর সাম্প্রতিক সংস্করণে telnet কমান্ড আর ডিফল্টরূপে ইনস্টল করা হয় না; এই ক্ষেত্রে nc towel.blinkenlights.nl 23 কমান্ডটি করতে পারে পরিবর্তে ব্যবহার করা হবে।)

আপনি গিটহাব থেকে ডাউনলোড করেছেন এমন ছাত্র সংগ্রহস্থলের ভিতরে নিম্নলিখিত ফোল্ডারে এই ল্যাবের কোডটি খুঁজে পেতে পারেন: command-line/labs/bashing-away-repetition

আপনার প্রতিদিনের কমান্ড লাইন ব্যবহারের পুনরাবৃত্তি বন্ধ করতে প্রস্তুত? দারুণ, আমিও তাই!

পটভূমি

প্রোগ্রামাররা যদি একটি জিনিস ঘৃণা করে তবে তা পুনরাবৃত্তি। কম্পিউটার বিজ্ঞানী হিসাবে, কম্পিউটারকে যতটা সম্ভব আমাদের কাজ করানো আমাদের কাজ। ব্যাশ স্ক্রিপ্ট লেখা আমাদের কমান্ড লাইন ব্যবহার আরও দক্ষ করতে সাহায্য করবে।

প্রথম জিনিস প্রথম, একটি bash স্ক্রিপ্ট কি ?

মহান প্রশ্ন. সৌভাগ্যবশত আমাদের বন্ধু রায়ান চ্যাডউইক, কমান্ড লাইন টিউটোরিয়ালগুলি খোঁজার এই দুর্দান্ত জায়গায় , আমাদের জন্য একটি উত্তর আছে।

একটি ব্যাশ স্ক্রিপ্ট আমাদেরকে বিভিন্ন ক্রিয়াকলাপ সংজ্ঞায়িত করার অনুমতি দেয় যা কম্পিউটার তখন আমাদের নিজেদের কমান্ড প্রবেশ না করেই সম্পাদন করবে। যদি একটি নির্দিষ্ট কাজ প্রায়ই করা হয়, বা এটি পুনরাবৃত্তি হয় , তাহলে একটি স্ক্রিপ্ট একটি দরকারী টুল হতে পারে।

কোন পুনরাবৃত্তি? সেটাই বলছি।

টিউটোরিয়াল

প্রথম জিনিস, আপনার স্ক্রিপ্ট চালানোর জন্য সক্ষম হওয়ার জন্য, আপনাকে আপনার কম্পিউটারের অনুমতি দিতে হবে। নীচের কমান্ডটি চালিয়ে এটি করুন।

chmod 755 myScript.sh

ঠিক আছে, আপনার প্রথম প্রোগ্রাম লেখার সময়। আপনার myScript.sh (আপনি কমান্ড লাইন থেকে ফাইলটি খুলতে পারেন কিনা দেখুন)। ফাইলের শেষে, যোগ করুন:

echo "Hello World"

এখন চালান:

./myScript.sh

আপনার টার্মিনালে। ** TA DA ** আপনি আপনার টার্মিনালে "হ্যালো ওয়ার্ল্ড" মুদ্রিত দেখতে পাবেন।

উদযাপন

আপনি আপনার ব্যাশ স্ক্রিপ্টে যা লিখবেন তা এমনভাবে চলবে যেন আপনি এটি আপনার টার্মিনালে টাইপ করেছেন। এক্সটেনশনে ঝাঁপিয়ে পড়ার আগে আসুন আরও একটি উদাহরণের মাধ্যমে চলুন। প্রথমে আপনার স্ক্রিপ্টের জন্য একটি ফাইল তৈরি করুন, এটিকে আপনি যা চান তা বলা যেতে পারে তবে এতে .sh এক্সটেনশন থাকা উচিত। পরবর্তীতে chmod 755 টাইপ করে আপনার স্ক্রিপ্ট চালানোর অনুমতি দিতে ভুলবেন না এবং তারপর আপনার টার্মিনালে আপনার স্ক্রিপ্টের নাম এবং এন্টার টিপুন। প্রতিবার আপনি একটি নতুন ব্যাশ স্ক্রিপ্ট শুরু করার সময় আপনাকে অবশ্যই এই দুটি ধাপ সম্পূর্ণ করতে হবে।

ইন্ট্রো চ্যালেঞ্জ

এখন, একটি স্ক্রিপ্ট লেখার চেষ্টা করা যাক যা একটি নতুন ফোল্ডার তৈরি করে। আমরা জানি কোন কমান্ড একটি নতুন ফোল্ডার তৈরি করে? আপনি যদি একটি শব্দের কথা ভাবছেন যা একটি m দিয়ে শুরু হয় এবং kdir দিয়ে শেষ হয়, আপনি সঠিক পথে আছেন। কমান্ডটি লিখুন যা আপনার নতুন ফোল্ডার তৈরি করবে এবং আপনার নতুন .sh ফাইলে এটির নাম দিন, তারপর এটি আপনার টার্মিনালে চালান।

যদি এটি কাজ করে তবে নীচে তালিকাভুক্ত অন্যান্য চ্যালেঞ্জগুলিতে যান৷ আপনি যদি এখনও একটু বিভ্রান্ত হয়ে থাকেন তবে আপনার বিশ্বব্যাপী ল্যাবের দিকে ফিরে তাকানোর চেষ্টা করুন এবং আপনি কীভাবে নতুন দেশ এবং শহর ফোল্ডার তৈরি করেছেন সে সম্পর্কে চিন্তা করুন।

উপরে লিঙ্ক করা টিউটোরিয়ালটি ব্যবহার করতে ভয় পাবেন না এবং আপনার সেরা গুগলিং দক্ষতা বের করতে প্রস্তুত থাকুন। নিম্নলিখিতগুলি করে এমন স্ক্রিপ্টগুলি লিখুন এবং চালান:

প্রধান কাজগুলো

  1. আপনার তৈরি করা ফাইলটিতে একটি কমান্ড যোগ করুন যা আপনি যে ফোল্ডারটি তৈরি করছেন সেখানে নেভিগেট করে। (আমরা ডিরেক্টরি পরিবর্তন করতে কোন কমান্ড ব্যবহার করি?)
  • তারিখ স্ট্যাম্প আপনার নতুন ফোল্ডার নাম. উদাহরণস্বরূপ, আপনার প্রোগ্রামটি " 2017-12-07my_super_cool_folder " নামে একটি ফোল্ডার তৈরি করা উচিত
  1. প্রিন্ট আউট "আমার বর্তমান ডিরেক্টরি হল: " আপনার কার্যকারী ডিরেক্টরি অনুসরণ করে, এবং "এই ডিরেক্টরির সবকিছুর একটি তালিকা এখানে রয়েছে!" আপনার বর্তমান ডিরেক্টরির বিষয়বস্তু অনুসরণ করে।
  2. কিভাবে আপনার ব্যাশ স্ক্রিপ্ট একটি ইনপুট দিতে হয় তা খুঁজে বের করুন এবং সেই ইনপুট স্ট্রিং এর উপর ভিত্তি করে একটি ফাইল তৈরি করুন। ল্যাবে আগে লিঙ্ক করা টিউটোরিয়ালটি পরীক্ষা করার জন্য ভেরিয়েবল বিভাগে কিছু দুর্দান্ত উদাহরণ রয়েছে।
  3. ব্যবহারকারীকে তাদের নাম জিজ্ঞাসা করুন, তারপর প্রিন্ট আউট করুন "হাই আপনার সাথে দেখা করে তাদের নাম এখানে সন্নিবেশ করান "
  • আপনার ব্যবহারকারীকে আরও তথ্যের জন্য জিজ্ঞাসা করার চেষ্টা করুন এবং তাদের জন্য একটি কাস্টমাইজড বার্তা তৈরি করুন৷

কনটেক্সট

কমান্ড লাইন (বা টার্মিনাল) কম্পিউটার অপারেটিং সিস্টেম (OS)-এর সাথে সরাসরি মিথস্ক্রিয়া প্রদান করে - গ্রাফিক্যাল ইউজার ইন্টারফেস (GUI) যা করে, কিন্তু টেক্সট কমান্ডের মাধ্যমে - নেভিগেশন থেকে শুরু করে নতুন ফাইল তৈরি করা, স্ক্রিপ্ট চালানো পর্যন্ত। কমান্ড লাইনটি ফাইলগুলি খুলতে এবং Google অ্যাপ ইঞ্জিন ব্যবহার করার সময় বিকাশের পরিবেশ শুরু করতে ব্যবহার করা হবে।

কমান্ড লাইন ইন অ্যাকশন

টার্মিনাল অ্যাক্সেস করা

ম্যাক শর্টকাট:

  • কমান্ড + স্পেস দিয়ে স্পটলাইট খুলুন।
  • স্পটলাইট অনুসন্ধানে টার্মিনাল টাইপ করুন।
# See your current location - abbreviation for 'print working directory'.
pwd

# Change to a new location - abbreviation for 'change directory'.
cd /Users/jsmith/Downloads

# Navigate into a child directory called `some_directory`. This only works if
# `some_directory` is a child of the current directory.
cd some_directory

# Navigate into the parent of the current directory. `..` is shorthand for parent.
cd ..

# Return home.
cd

# Change directories to a folder called `my_folder` that is within the current
# directory.
cd my_folder ```

#### File Path Shorthand `~`

The `~` is generally short for "home". Home can be configured to mean different
things for different users and across different operating systems, but in the
example above, for a Mac user named "jsmith", the `~` is short for that user's
home directory: `/Users/jsmith`.

This means that `~/Downloads` and `/Users/jsmith/Downloads` are the same for
this user. But starting with a `~` allows us to specify absolute file paths
(agnostic of your current working directory, and starting at the root `/`)
without having to write out a full path each time.

### <a id="view"></a>Viewing the Contents of Folders

```bash
# See files and folders in current location - this is an abbreviation for 'list'.
ls

ফাইল এবং ফোল্ডার তৈরি করা

ফাইল তৈরি করা হচ্ছে

# Make a file - this will create a file in the current folder.
touch my_text_file.txt

# Make a file - this will create a file on the Desktop.
touch ~/Desktop/my_new_style_sheet.css

# Make multiple files - this will create multiple files in the current folder.
touch my_new_js_file.js my_new_html_file.html my_second_html_file.html

ফোল্ডার তৈরি করা হচ্ছে

# Make a folder - this will create a directory in the current folder.
mkdir my_new_folder

# Make a folder - this will create a directory on your Desktop.
mkdir ~/Desktop/my_new_desktop_folder

# Make multiple folders - this will create multiple folders in the current
# directory.
mkdir folder_one folder_two folder_three

ফাইল এবং ফোল্ডার সরানো

মুভিং ফাইল

# Move a file - this will move the file `my_file.txt` into the folder named
# `my_folder` that is in the current folder.
mv my_file.txt my_folder
# Note that this will rename the file instead of moving it if the destination
# folder does not yet exist.  Read below for more details on renaming.

# Move a file - this will move the file `my_file.txt` into the folder named
# `my_desktop_folder` that is located on the Desktop.
mv my_file.txt ~/Desktop/my_desktop_folder

চলন্ত ফোল্ডার

# Move a directory - this will move the folder `my_child_folder` into the
# folder named `my_parent_folder` that is in the current folder.
mv my_child_folder my_parent_folder

# Move a directory - this will move the folder `my_folder` into the folder
# named `my_desktop_folder` that is located on the Desktop.
mv my_folder ~/Desktop/my_desktop_folder

সরানো হচ্ছে পুনঃনামকরণ

মনে রাখবেন যে mv ফাইল বা ফোল্ডারের নাম পরিবর্তন করতে ব্যবহৃত একই কমান্ড।

# Rename a file from `old_name.txt` to `new_name.txt`.
mv old_name.txt new_name.txt

ফাইল ও ফোল্ডার কপি করা হচ্ছে

ফাইল কপি করা হচ্ছে

# Copy a file named `my_file.txt` from your Desktop folder to your Documents
# folder.
cp ~/Desktop/my_file.txt ~/Documents

# Copy a file named `my_file.txt` to a file called `my_file_copy.txt` within
# the same folder.
cp my_file.txt my_file_copy.txt

ফোল্ডার কপি করা হচ্ছে

# Copy a directory named `my_folder` (and its contents) from your Desktop
# folder to a folder called `my_folder_copy` in your Documents folder.
cp -r ~/Desktop/my_folder ~/Documents/my_folder_copy

# Copy a directory named `my_folder` (and its contents) from the current
# working directory to a folder called `my_folder_copy` in the current working
# directory.
cp -r my_folder my_folder_copy

ফাইল এবং ফোল্ডার মুছে ফেলা হচ্ছে

ফাইল মুছে ফেলা হচ্ছে

# Delete a file in the current working directory.
rm unwanted_file.txt

# Delete a file using its exact location and name.
rm ~/Desktop/unwanted_file.txt

ফোল্ডার মুছে ফেলা হচ্ছে

# Delete an empty folder.
rmdir empty_directory

# Delete a folder which contains other files or folders.
rm -r directory_which_isnt_empty

টিপস ও ট্রিকস

  • কমান্ড লাইন ব্যবহার করে অনুশীলন করুন, এমনকি যখন আপনি মনে করেন না আপনার প্রয়োজন। আপনি সময়ের সাথে সাথে এটি আরও ভাল করবেন।
  • tab কী আপনার ফাইল বা ফোল্ডারের নাম স্বয়ংসম্পূর্ণ করবে (এটি কেস-সংবেদনশীল হতে পারে)।
  • যদি শুধুমাত্র একটি মেলে ফাইল বা ফোল্ডার অবশিষ্ট থাকে, তাহলে এটি স্বয়ংসম্পূর্ণ হবে।
  • যদি একাধিক মিলে যাওয়া ফাইল বা ফোল্ডার থাকে, বাকি মিলগুলির একটি তালিকা দেখতে ট্যাবটি দুবার টিপুন।
  • আপ/ডাউন তীরটি আপনার কমান্ডের ইতিহাসকে চক্রাকারে চালাবে যাতে আপনাকে কমান্ড পুনরায় টাইপ করতে না হয়।
  • টার্মিনাল উইন্ডোটি clear করতে clear কমান্ডটি ব্যবহার করুন। এটি আপনার আগের সমস্ত কাজ রাখে - এটি দেখতে উপরে স্ক্রোল করুন।
  • টার্মিনাল পুনরায় চালু করতে reset ব্যবহার করুন। এটি আপনার আগের কাজকে স্ক্রিনে রাখবে না, তবে টার্মিনালটি অপ্রত্যাশিত উপায়ে আচরণ করা শুরু করলে বেশ কয়েকটি সমস্যা সমাধান করতে পারে।
  • একটি শব্দ দ্বারা কার্সার সরাতে option + arrow টিপুন

সর্বোত্তম অনুশীলনের সারাংশ

  • cd , cd .. , অথবা cd <folder name> ব্যবহার করে টার্মিনাল নেভিগেট করুন।
  • ls ব্যবহার করে ফোল্ডারের বিষয়বস্তু দেখুন।
  • touch ব্যবহার করে ফাইল তৈরি করুন; mkdir ব্যবহার করে ফোল্ডার তৈরি করুন।
  • mv <item to move> <destination> ব্যবহার করে ফাইল এবং ফোল্ডার সরান।
  • cp <item to copy> <destination> ব্যবহার করে ফাইল এবং ফোল্ডার কপি করুন।
  • rm <item to remove> ব্যবহার করে ফাইল এবং ফোল্ডার মুছুন।

প্রশ্ন 1

আপনি আপনার বর্তমান কাজের ডিরেক্টরি সনাক্ত করতে কি ব্যবহার করবেন?

  1. pwd
  2. ls
  3. cd
  4. mkdir
  5. touch

প্রশ্ন 2

আপনি কিভাবে আপনার বর্তমান কাজের ডিরেক্টরি থেকে দুটি স্তরের উপরে যাবেন?

  1. mv ~
  2. cd ../..
  3. mv up/up
  4. cd ^(2)

প্রশ্ন 3

একটি ফাইলের নাম পরিবর্তন করতে আপনি কোন কমান্ড ব্যবহার করবেন?

  1. mv
  2. cd
  3. ls
  4. python
  5. rename

প্রশ্ন 4

কেন mv script.py কমান্ড একটি ত্রুটি নিক্ষেপ করবে?

  1. কারণ ' script.py ' একটি অবৈধ ফাইলের নাম।
  2. কারণ mv কমান্ড অন্য কোনো তথ্য দ্বারা অনুসরণ করা যাবে না।
  3. এটি একটি কৌশল প্রশ্ন; এটি একটি ত্রুটি নিক্ষেপ করবে না.
  4. কারণ একটি ফাইল সরানোর জন্য কমপক্ষে দুটি আর্গুমেন্ট প্রয়োজন - একটি লক্ষ্য এবং একটি গন্তব্য

প্রশ্ন 5

কমান্ড cd ~ কি করবে?

  1. আপনার কাজের ডিরেক্টরিকে আপনার হোম ডিরেক্টরিতে পরিবর্তন করুন।
  2. আগের কমান্ডটি পুনরাবৃত্তি করুন।
  3. এই সময়ে সবচেয়ে দরকারী কমান্ড নির্ধারণ করতে একটি অ্যালগরিদম ব্যবহার করুন।
  4. একটি ত্রুটি নিক্ষেপ.

প্রশ্ন 6

নিচের কোনটি ফাইলের নাম স্বয়ংসম্পূর্ণ করতে ট্যাব ব্যবহার করার কারণ নয়?

  1. কারণ এটি সময় বাঁচায়।
  2. কারণ এটি বানান ভুল দূর করতে সাহায্য করে।
  3. কারণ এতে প্রক্রিয়াকরণ শক্তি কম লাগে।

প্রশ্ন 7

যদি একজন নতুন ডেভেলপার " my script.py " নামে একটি ফাইল তৈরি করার চেষ্টা করে, তাহলে কেন কমান্ডটি touch my script.py কাজ করবে না?

  1. কারণ touch নতুন ফাইল তৈরি করতে পারে না।
  2. কারণ .py একটি বৈধ ফাইল এক্সটেনশন নয়।
  3. কারণ এটি দুটি ফাইল তৈরি করবে, একটিকে " my " বলা হয় এবং একটিকে " script.py " বলা হয়।
  4. কারণ কমান্ড লাইন থেকে নতুন ফাইল তৈরি করা অসম্ভব।

প্রশ্ন 1

আপনি আপনার বর্তমান কাজের ডিরেক্টরি সনাক্ত করতে কি ব্যবহার করবেন?

pwd

প্রশ্ন 2

আপনি কিভাবে আপনার বর্তমান কাজের ডিরেক্টরি থেকে দুটি স্তরের উপরে যাবেন?

cd ../.. দিয়ে আপনি দুটি স্তরে উঠবেন (প্রতিটি .. উপরে একটি স্তরের প্রতিনিধিত্ব করে)।

প্রশ্ন 3

একটি ফাইলের নাম পরিবর্তন করতে আপনি কোন কমান্ড ব্যবহার করবেন?

mv একটি ফাইলকে এক অবস্থান থেকে অন্য স্থানে সরাতে ব্যবহার করা হয় এবং ফাইলের নাম পরিবর্তন করতেও ব্যবহার করা যেতে পারে।

প্রশ্ন 4

কেন mv script.py কমান্ড একটি ত্রুটি নিক্ষেপ করবে?

mv কমান্ডের জন্য দুটি আর্গুমেন্ট প্রয়োজন, একটি উৎস ফাইল এবং একটি গন্তব্য ফাইল।

প্রশ্ন 5

কমান্ড cd ~ কি করবে?

এটি আপনার কাজের ডিরেক্টরিকে আপনার হোম ডিরেক্টরিতে পরিবর্তন করবে। বিশেষ অক্ষর ~ বর্তমান ব্যবহারকারীর হোম ডিরেক্টরি সনাক্ত করতে ব্যবহৃত হয়। এটি একটি ভিন্ন ব্যবহারকারীর নামের সাথেও ব্যবহার করা যেতে পারে: ~user2 তাদের হোম ফোল্ডারে নির্দেশ করতে।

প্রশ্ন 6

নিচের কোনটি ফাইলের নাম স্বয়ংসম্পূর্ণ করতে ট্যাব ব্যবহার করার কারণ নয়?

কারণ এর জন্য কম প্রসেসিং পাওয়ার প্রয়োজন সঠিক নয় । স্বয়ংসম্পূর্ণ হওয়ার জন্য ফাইলের নাম খুঁজতে থাকা ফোল্ডারগুলিকে স্ক্যান করার জন্য tab (প্রায়ই নগণ্য) পরিমাণ প্রক্রিয়াকরণ শক্তি প্রয়োজন, তবে এটি সময় বাঁচায় এবং প্রক্রিয়ায় বানান ত্রুটি এড়ায়।

প্রশ্ন 7

যদি একজন নতুন ডেভেলপার " my script.py " নামে একটি ফাইল তৈরি করার চেষ্টা করে, তাহলে কেন কমান্ডটি touch my script.py কাজ করবে না?

এটি একটির পরিবর্তে দুটি ফাইল তৈরি করবে। touch কমান্ড নতুন ফাইল তৈরি করবে। টার্মিনাল স্পেস বিভাজক, অক্ষর না ফাইল নামের অন্তর্ভুক্ত করা হবে. এগুলিকে সম্পূর্ণরূপে এড়িয়ে যাওয়াই উত্তম, কিন্তু যদি আপনাকে অবশ্যই সেগুলি ব্যবহার করতে হয়, তাহলে ফাইলের নামটি ডবল কোটে মোড়ানো উচিত:

touch "my script.py"

প্রশ্ন 1

ডিরেক্টরি পরিবর্তন করার জন্য টার্মিনাল কমান্ড হল:

  1. move
  2. mkdir
  3. pwd
  4. cd

প্রশ্ন 2

আপনি যদি আপনার বর্তমান কার্যকারী ডিরেক্টরির মূল ফোল্ডারে নেভিগেট করতে চান তবে আপনি কোন কমান্ডটি চালাবেন?

  1. cd up
  2. cd .
  3. cd ..
  4. cd ~

প্রশ্ন 3

ফাইল তৈরি করতে কোন কমান্ড ব্যবহার করা হয়?

  1. touch
  2. mkdir
  3. create
  4. pwd

প্রশ্ন 4

নিচের কোন কমান্ডগুলি index.html এবং style.css নামে দুটি ফাইল তৈরি করবে?

  1. touch index.html, touch style.css
  2. touch index.html, style.css
  3. touch index.html style.css
  4. touch index.html + style.css

প্রশ্ন 5

একটি ফাইল বা ফোল্ডারের নাম পরিবর্তন করতে আপনি কোন কমান্ড ব্যবহার করেন?

  1. rename
  2. move
  3. mv
  4. rm

প্রশ্ন 6

কি পতাকা rm এবং cp কমান্ড ফোল্ডারে কাজ করতে হবে?

  1. -f
  2. -r
  3. -x
  4. -d

প্রশ্ন 7

projects সরানোর জন্য ~/Documents এবং এটিকে Projects পুনঃনামকরণ করুন, কোন কমান্ডটি খালিতে যেতে হবে?

cd ~
mv projects ~/Documents
# fill in the blank here
mv projects Projects
  1. pwd
  2. cd projects
  3. mv ~ projects
  4. cd ~/Documents
  5. ls

প্রশ্ন 8

নিম্নলিখিত কমান্ড কি করবে?

rm -r projects

  1. projects নামক একটি ফাইল মুছুন
  2. projects নামক একটি ফোল্ডার মুছুন
  3. projects নামক একটি ফাইলের নাম পরিবর্তন করুন
  4. projects জন্য বর্তমান ডিরেক্টরির বিষয়বস্তু অনুসন্ধান করুন

প্রশ্ন 1

ডিরেক্টরি পরিবর্তন করার জন্য টার্মিনাল কমান্ড হল:

ডিরেক্টরি পরিবর্তনের জন্য টার্মিনাল কমান্ড হল cd . কমান্ড নিজেই "পরিবর্তন ডিরেক্টরি" এর একটি সংক্ষিপ্ত রূপ।

প্রশ্ন 2

আপনি যদি আপনার বর্তমান কার্যকারী ডিরেক্টরির মূল ফোল্ডারে নেভিগেট করতে চান তবে আপনি কোন কমান্ডটি চালাবেন?

মূল ফোল্ডারে নেভিগেট করার জন্য কমান্ড হল cd ..

প্রশ্ন 3

ফাইল তৈরি করতে কোন কমান্ড ব্যবহার করা হয়?

ফাইল তৈরি করার কমান্ড হল touch

প্রশ্ন 4

নিচের কোন কমান্ডগুলি index.html এবং style.css নামে দুটি ফাইল তৈরি করবে?

কমান্ড touch index.html style.css দুটি ফাইল তৈরি করবে । কোন কমা প্রয়োজন নেই এবং যেকোন সংখ্যক ফাইল এইভাবে স্পেস দিয়ে আলাদা করে তৈরি করা যেতে পারে।

প্রশ্ন 5

একটি ফাইল বা ফোল্ডারের নাম পরিবর্তন করতে আপনি কোন কমান্ড ব্যবহার করেন?

যদিও এটি "মুভ" এর জন্য দাঁড়ায় এবং ফাইল বা ফোল্ডারগুলি সরাতে ব্যবহার করা যেতে পারে, mv ফাইল এবং ফোল্ডারগুলির নাম পরিবর্তন করতেও ব্যবহার করা যেতে পারে

প্রশ্ন 6

কি পতাকা rm এবং cp কমান্ড ফোল্ডারে কাজ করতে হবে?

rm এবং cp কমান্ডের জন্য ফোল্ডারগুলিতে কাজ করার জন্য -r পতাকা প্রয়োজন, যেহেতু -r পতাকাটি "পুনরাবৃত্ত" বোঝায় এবং এর মধ্যে থাকা যেকোনো ফাইল এবং ফোল্ডারের জন্য কমান্ডটি পুনরায় চালায়।

প্রশ্ন 7

projects সরানোর জন্য ~/Documents এবং এটিকে Projects পুনঃনামকরণ করুন, কোন কমান্ডটি খালিতে যেতে হবে?

cd ~
mv projects ~/Documents
# fill in the blank here
mv projects Projects

যেহেতু আমরা হোম ডিরেক্টরিতে শুরু করি, তাই আমাদের cd ~/Documents চালাতে হবে সঠিক ডিরেক্টরিতে চালানোর জন্য চূড়ান্ত কমান্ড পেতে।

প্রশ্ন 8

নিম্নলিখিত কমান্ড কি করবে?

rm -r projects

কমান্ডটি একটি ফাইল বা projects নামক ফোল্ডার মুছে ফেলবে কারণ এটিকে -r বা পুনরাবৃত্ত পতাকা দিয়ে ডাকা হয়। সেই পতাকা ছাড়া, এই কমান্ডটি শুধুমাত্র সেই নামের একটি ফাইল মুছে ফেলতে কাজ করবে।