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

How Can I Copy Files Folder Into Another Folder Linux Terminal



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

টার্মিনালে ফাইল কপি করা

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







সমস্ত পদক্ষেপ উবুন্টু 18.04.1 এ প্রদর্শিত হয়। প্রথমে, আসুন কাজ করার জন্য একটি মুষ্টিমেয় ডামি ফাইল তৈরি করি।



$mkdir -ভিdir_A



এখন, আসুন স্পর্শ ব্যবহার করে ডামি ফাইল তৈরি করি।





$স্পর্শডামি{..10}

মুষ্টিমেয় ডামি ফাইল দিয়ে dir_A এর মধ্যে আরেকটি ফোল্ডার তৈরি করা যাক।



$mkdir -ভিdir_B
$স্পর্শডামি{..10}

এখন, ডিরেক্টরি dir_A এর পুরো কাঠামোটি এইরকম দেখাচ্ছে।

$গাছdir_A

সিপি কমান্ড

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

এটি এর মূল কাঠামো cp কমান্ড

$cp <বিকল্প> <সূত্র> <গন্তব্য>

উদাহরণস্বরূপ, আসুন এর একটি অনুলিপি তৈরি করি ডামি 1 নামের সাথে ফাইল ডামি 1_ কপি

$cpডামি 1 ডামি 1_কপি

এখন, একবারে একাধিক ফাইল অনুলিপি করার চেষ্টা করা যাক। এই ধরনের ক্রিয়াকলাপের জন্য, cp এর জন্য গন্তব্য একটি ডিরেক্টরি হতে হবে। এখানে, আমি সব ধরতে ওয়াইল্ডকার্ড এক্সপ্রেশন ব্যবহার করব ডামি ফাইল এবং তাদের মধ্যে রাখা ~/ডাউনলোড ডিরেক্টরি।

$cpডামি*~/ডাউনলোড

কিভাবে একটি ডিরেক্টরি অনুলিপি?

$cp -ভিআরdir_A dir_A_copy

এখানে, আমরা দুটি ভিন্ন পতাকা ব্যবহার করেছি। আসুন তাদের একটি দ্রুত ভাঙ্গন।

  • -আর: a এর জন্য দাঁড়ায় পুনরাবৃত্তি অনুলিপি (কোন লুকানো ফাইল (গুলি সহ))। কপি করা হলে একটি সম্পূর্ণ ডিরেক্টরি বা আরও অনেক কিছু থাকলে অবশ্যই পতাকা থাকতে হবে।
  • -v: এর জন্য দাঁড়ায় শব্দ । সিপি টুলটি তার সম্পাদিত প্রতিটি ক্রিয়াকে আউটপুট করবে।

প্রতীকী লিঙ্ক অনুসরণ করতে চান? -L পতাকা যোগ করুন।

$cp -লভির <সূত্র> <গন্তব্য>

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

$cp -এনভি <সূত্র> <গন্তব্য>

আপনি যদি একটি সংবেদনশীল কপি/পেস্ট অ্যাকশন করছেন, তাহলে কী হয় তার উপর সর্বোত্তম নিয়ন্ত্রণ থাকা ভাল, তাই না? এই ক্ষেত্রে, -i পতাকা ব্যবহার করুন। এটি একটি ইন্টারেক্টিভ মোডের জন্য দাঁড়িয়েছে যেখানে প্রতিবার সংঘাত দেখা দিলে সিপি নিশ্চিতকরণের জন্য জিজ্ঞাসা করবে।

$cp -আই <সূত্র> <গন্তব্য>

আপনি যদি আরও আগ্রহী হন, ম্যান পৃষ্ঠাটি সর্বদা সেরা ডকুমেন্টেশনগুলির মধ্যে একটি। সিপি সম্পর্কে আরও জানুন।

$মানুষ cp

mv কমান্ড

Mv টুল cp টুলের অনুরূপ। যাইহোক, কপি করার পরিবর্তে, mv ফাইল এবং ডিরেক্টরি সরায়। সিপি এর তুলনায়, এটি একটি সহজ।

Mv এর কমান্ড স্ট্রাকচার cp এর মত।

$mv <বিকল্প> <সূত্র> <গন্তব্য>

এর বিষয়বস্তু সরানোর জন্য dir_A প্রতি dir_A_copy , নিম্নলিখিত কমান্ডটি চালান।

$mv -ভিdir_A/dir_A_copy

এখানে, -v পতাকা জন্য শব্দ মোড. আপনি যদি শুধু dir_A এর বিষয়বস্তু সরাতে চান, তাহলে এর পরিবর্তে নিম্নলিখিতটি ব্যবহার করুন। এই ক্ষেত্রে, টার্গেট ডিরেক্টরিটি আগে থেকেই থাকতে হবে।

$mv -ভিdir_A/ *dir_A_copy

এমভি টুলের সাথে খুব বেশি কাজ করার দরকার নেই। সমস্ত উপলব্ধ বিকল্পগুলির জন্য, ম্যান পৃষ্ঠাটি দেখুন।

$মানুষ mv

Rsync কমান্ড

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

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

Rsync সাধারণত কোন লিনাক্স ডিস্ট্রোতে প্রি-ইন্সটল করা হয় না। যাইহোক, এর জনপ্রিয়তার কারণে, এটি এখন সমস্ত প্রধান লিনাক্স ডিস্ট্রোতে উপলব্ধ। ব্যবহার করুন Pkgs.org আপনার ডিস্ট্রোর জন্য rsync প্যাকেজ খুঁজে বের করতে। ধরে নিচ্ছি যে আপনি rsync ইনস্টল করেছেন, আসুন শুরু করা যাক।

প্রথমত, rsync এর বেসিক কমান্ড স্ট্রাকচার। এটি cp এর সাথে বেশ মিল।

$rsync<বিকল্প> <সূত্র> <গন্তব্য>

শুরু করার আগে, এখানে মুষ্টিমেয় জনপ্রিয় rsync আর্গুমেন্ট রয়েছে।

  • -ভি : ভার্বোজ মোড, কনসোল স্ক্রিনে যে কোনও কর্ম সঞ্চালিত হয়।
  • -ভিভি : আরো বিস্তারিত সহ ভার্বোজ মোড
  • -আর : পুনরাবৃত্তিমূলক মোড, ডিরেক্টরিগুলি অনুলিপি করার সময় উপস্থিত থাকতে হবে
  • -সঙ্গে : তথ্য সংকুচিত করুন
  • -প্রতি : তথ্য সংরক্ষণাগার
  • -এন : শুকনো রান, ভার্বোজ মোডের সাথে মিলিয়ে চালানো উচিত। কমান্ডটি যদি বাস্তবের জন্য চালানো হয় তবে কেবল ক্রিয়াগুলি আউটপুট করে
  • -মুছে ফেলা গন্তব্য ডিরেক্টরিতে ফাইল (গুলি) এবং ডিরেক্টরি (গুলি) মুছুন যদি সোর্স ডিরেক্টরিতে সেগুলি আর থাকে না
  • -no-whole-file : Rsync কে তার ডেল্টা ট্রান্সমিশন অ্যালগরিদম ব্যবহার করতে বাধ্য করে, যাই হোক না কেন। এমন পরিস্থিতিতে কাজে লাগবে যেখানে আপনাকে কমপক্ষে ডেটা লেখা নিশ্চিত করতে হবে।
  • M রিমোভ-সোর্স-ফাইল : কপি করার পর সোর্স ফাইল (গুলি) মুছে দিন।

আসুন তাদের ক্রিয়ায় পরীক্ষা করে দেখি। প্রথমে, ডিরেক্টরি কপি। নিম্নলিখিত কমান্ডটি চালান।

$rsync-ভিআরdir_A/dir_A_copy

আরও বিস্তারিত আউটপুটের জন্য, -vv পতাকা ব্যবহার করা যাক।

$rsync-ভিভি -আরdir_A/dir_A_copy

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

$rsync-ভিভি --no-whole-fileডামি*dir_B/

ডেল্টা-ট্রান্সমিশন সক্ষম হওয়া সত্ত্বেও, যখন আপনি স্থানীয় ডেটা ট্রান্সফার করছেন তখন rsync এটি প্রয়োগ করতে পারে না।

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

$rsync-নভারdir_A/dir_A_copy

Rsync দূরবর্তী ডিরেক্টরিগুলির সাথেও কাজ করতে পারে, কোন সমস্যা নেই। এসএসএইচ কীগুলির সাথে কনফিগার করা একটি সঠিক এসএসএইচ সংযোগ প্রয়োজন।

$ rsync<বিকল্প> <স্থানীয়_ডির>
<ব্যবহারকারীর নাম><দূরবর্তী হোস্ট>:<গন্তব্য_দির>

একটি মুভ অপারেশন করতে চান? এটিকে rsync এর দৃষ্টিকোণে রাখার জন্য, rsync সোর্স ডিরেক্টরির বিষয়বস্তু কপি করবে এবং তারপর, উৎসের বিষয়বস্তু মুছে ফেলবে।

$rsync-ভি --remove-source-files <সূত্র> <গন্তব্য>

অপারেশনের ফলাফল দেখুন।

$গাছdir_A

$গাছdir_A_copy

সর্বশেষ ভাবনা

লিনাক্স টার্মিনালে একটি ফোল্ডারে ফাইলগুলি অনুলিপি করার জন্য সিপি এবং আরএসএনসি সবচেয়ে সাধারণ সরঞ্জাম। দুজনেই স্ক্রিপ্টিংয়ের জন্য সত্যিই ভাল। বাস্তবায়নের আগে ফাংশনগুলি পরীক্ষা করা নিশ্চিত করুন।

উপভোগ করুন!