বাংলায় শেল ও শেলস্ক্রিপ্টিং শেখার কোর্স
  • শুরুর কথা
  • প্রথম খন্ড - শেল বেসিক
    • প্রথম অধ্যায় - শেল বেসিক
      • শেল ও প্রম্পট
      • কমান্ড
      • নেভিগেশন
      • আরো একটু ls
      • ফাইল
      • লিঙ্ক
      • লিনাক্স ফাইলসিস্টেম
    • দ্বিতীয় অধ্যায় - ম্যানিপুলেশন
      • ওয়াইল্ডকার্ড
      • ফাইল ও ডিরেক্টরি তৈরি করা
      • ফাইল ও ডিরেক্টরি কপি করা
      • ফাইল ও ডিরেক্টরি মুভ করা
      • ফাইল ও ডিরেক্টরি রিমুভ করা:
      • হার্ডলিঙ্ক ও সফ্টলিঙ্ক তৈরি করা
      • অনুশীলন
    • তৃতীয় অধ্যায় - রিডিরেকশন
      • স্ট্যান্ডার্ড ইনপুট, আউটপুট এবং এরর
      • স্ট্যান্ডার্ড আউটপুট রিডিরেকশন
      • স্ট্যান্ডার্ড এরর রিডিরেকশন
      • স্ট্যান্ডার্ড আউটপুট ও এরর একত্রে রিডিরেকশন
      • ফাইল সংযুক্তিকরণ
      • পাইপলাইন
    • চতুর্থ অধ্যায় - শেলের চোখে দেখা
      • এক্সপ্যানসন
      • পাথনেম এক্সপ্যানসন
      • গানিতিক এক্সপ্যানসন
      • ব্রেস এক্সপ্যানসন
      • প্যারামিটার এক্সপ্যানসন
      • কমান্ড সাবস্টিটিউশন
      • ক্যোটিং
      • স্কেইপিং ক্যারেক্টার
    • পঞ্চম অধ্যায় - কীবোর্ড ট্রিক্স
      • কমান্ডলাইন এডিটিং
      • কমপ্লিশন
      • কমান্ড হিস্ট্রি
    • ষষ্ঠ অধ্যায় - পারমিশন
      • ওনার, গ্রুপ এবং অন্যান্য
      • এক্সেস রাইট
      • ফাইল পারমিশন পরিবর্তন
      • ফাইল পারমিশন মাস্কিং
      • বিশেষ পারমিশন
      • ওনার ইউজার ও গ্রুপ পরিবর্তন
      • পরিচয় পরিবর্তন
      • পাসওয়ার্ড পরিবর্তন
    • সপ্তম অধ্যায় - প্রসেস
      • প্রসেস এর প্রাথমিক ধারণা
      • প্রসেস দেখা
      • প্রসেস নিয়ন্ত্রণ
      • সিগন্যাল
  • দ্বিতীয় খন্ড - কনফিগারেশন ও এনভায়রনমেন্ট
    • প্রথম অধ্যায় - এনভায়রনমেন্ট
      • এনভায়রনমেন্টের ভিতরে দেখা
      • যেভাবে এনভায়রনমেন্ট তৈরী হয়
      • এনভায়রনমেন্ট পরিবর্তন
    • দ্বিতীয় অধ্যায় - প্রম্পট সম্পাদনা
      • প্রম্পট কাস্টমাইজেশন
      • প্রম্পট রঙ করা
      • কার্সরের অবস্থান পরিবর্তন
  • তৃতীয় খন্ড - আটপৌরে কমান্ডলাইন
    • প্রথম অধ্যায় - প্যাকেজ ম্যানেজমেন্ট
    • দ্বিতীয় অধ্যায় - টেক্সট এডিটর
      • ন্যানো
        • ন্যানোর প্রাথমিক ব্যবহার
        • ন্যানো - এডিটিং এবং নেভিগেশন
        • ন্যানো কনফিগারেশন
      • ভিম
        • ভিম-এর এডিটিং মোড
        • ভিম-এর বেসিক এডিটিং
        • ভিম: সার্চ এ্যান্ড রিপ্লেস
        • ভিম: একাধিক ফাইল নিয়ে কাজ করা
      • ইম্যাকস্
        • ইম্যাকস্: প্রথম ধাপ
        • ইম্যাকস্: ক্যারেক্টার, কী এবং কমান্ড
        • ইম্যাকস্: বেসিক এডিটিং
        • ইম্যাকস্: সার্চ এ্যান্ড রিপ্লেস
        • ইম্যাকস্: একাধিক ফাইল এডিট করা
    • তৃতীয় অধ্যায় - স্টোরেজ মিডিয়া
      • লিনাক্সের চোখে স্টোরেজ ডিভাইস
      • মাউন্ট এবং আনমাউন্ট
      • পার্টিশন এবং ফরম্যাট করা
      • ফাইলসিস্টেম টেস্ট এবং রিপেয়ার করা
      • ডিভাইস ক্লোনিং
      • ইমেজ তৈরী
      • অপটিক্যাল মিডিয়ায় রাইট করা
    • চতুর্থ অধ্যায় - নেটওয়ার্কিং
      • নেটওয়ার্ক পরীক্ষণ এবং পর্যবেক্ষন
      • ফাইল ট্রান্সফার
      • নিরাপদ যোগাযোগ
    • পঞ্চম অধ্যায় - ফাইল সার্চ
      • Locate: নাম দিয়ে ফাইল সার্চ
      • find: শক্তিশালী সার্চ
        • find: টেস্ট
        • find: অপারেটর
        • find: একশন
        • find: অপশন
        • অনুশীলন
    • ষষ্ঠ অধ্যায় - আর্কাইভ ও ব্যাকআপ
      • ডাটা কম্প্রেশন
      • ডাটা আর্কাইভিং
      • dtrx
      • সিনক্রোনাইজেশন
    • সপ্তম অধ্যায় - আটপৌরে টুলস
      • রেঞ্জার(Ranger): ফাইল ম্যানেজার
      • মাট (Mutt): ইমেইল ক্লায়েন্ট
      • সিমিউজ(cmus): মিউজিক প্লেয়ার
      • ইলিঙ্কস (elinks): ওয়েব ব্রাউজার
      • উইচ্যাট (weechat) : আইআরসি ক্লায়েন্ট
      • ফিঞ্চ (finch) : চ্যাট ক্লায়েন্ট
    • অষ্টম অধ্যায় - প্রোগ্রাম কম্পাইলেশন
  • চতুর্থ খন্ড - টেক্সট ম্যানিপুলেশন
    • প্রথম অধ্যায় - রেগুলার এক্সপ্রেশন
      • গ্রেপ (grep)
Powered by GitBook
On this page
  1. প্রথম খন্ড - শেল বেসিক
  2. তৃতীয় অধ্যায় - রিডিরেকশন

ফাইল সংযুক্তিকরণ

এবার আমরা স্ট্যান্ডার্ড ইনপুট নিয়ে কাজ করে এমন একটি কমান্ড নিয়ে কাজ করবো। কমান্ডটি হল cat। এই কমান্ডটি যেকোনো ফাইল এর কন্টেন্ট স্ট্যান্ডার্ড ইনপুট হিসেবে ব্যবহার করে এবং স্ট্যান্ডার্ড আউটপুটে সেটাকে রিডিরেক্ট করে। এর কমান্ড কাঠামোটি এরকম:

cat [file...]

আমরা একাধিক ফাইলকে cat এর আর্গুমেন্ট হিসেবে ব্যবহার করতে পারি। সেক্ষেত্রে cat তাদের পরপর জুড়ে দিয়ে একসাথে আউটপুট দেবে। প্রকৃতপক্ষে এই কমান্ডটির কাজই হল ফাইল জুড়ে দেয়া। আসুন দেখে নেয়া যাক:

me@howtocode-pc:~$ ls e-books/ > ~/ls-e-books.txt
me@howtocode-pc:~$ ls Music/ > ls-music.txt
me@howtocode-pc:~$ cat ls-e-books.txt 
a_game_as_old_as_empire_hxforum_org_sophie.pdf
BLFS-BOOK-7.5-nochunks.pdf
Craft and Skills
debian-handbook.pdf
Full_Circle
Harry Potter Series
JohnPerkins-ConfessionsOfAnEconomicHitman.pdf
LFS-BOOK-7.5.pdf
Religious
Sherlock Holmes
sherlock.pdf
tarashankar_bandyopadhyay_kobi.pdf
Unsorted
আফরোজা পারভিন
কবীর সুমন
গল্পসমগ্র-কমলকুমার মজুমদার.pdf
প্রণব ভট্ট
বুদ্ধদেব গুহ
বুদ্ধদেব বসু
মাইকেল মধুসূদন দত্ত
মীর মোশাররফ হোসেন
মুহম্মদ জাফর ইকবাল
রবীন্দ্রনাথ ঠাকুর
রবীন্দ্রনাথ ঠাকুর_
রুশ সাহিত্য
সুকুমার রায়
সুনীল গঙ্গোপাধ্যায়
হুমায়ুন আহমেদ
হুমায়ূন আজাদ
me@howtocode-pc:~$ cat ls-music.txt 
Bob Dylan
Music
Pete Seeger - The Essential Pete Seeger (2005)
Ringtones
Soulful-Voice-Arjit-Singh-128Kbps-2014(Songs.PK)
Sufi
Veer
জল এর গান
জাতিস্মর
রতন দা
রবীন্দ্রসঙ্গীত
me@howtocode-pc:~$ cat ls-e-books.txt ls-music.txt
a_game_as_old_as_empire_hxforum_org_sophie.pdf
BLFS-BOOK-7.5-nochunks.pdf
Craft and Skills
debian-handbook.pdf
Full_Circle
Harry Potter Series
JohnPerkins-ConfessionsOfAnEconomicHitman.pdf
LFS-BOOK-7.5.pdf
Religious
Sherlock Holmes
sherlock.pdf
tarashankar_bandyopadhyay_kobi.pdf
Unsorted
আফরোজা পারভিন
কবীর সুমন
গল্পসমগ্র-কমলকুমার মজুমদার.pdf
প্রণব ভট্ট
বুদ্ধদেব গুহ
বুদ্ধদেব বসু
মাইকেল মধুসূদন দত্ত
মীর মোশাররফ হোসেন
মুহম্মদ জাফর ইকবাল
রবীন্দ্রনাথ ঠাকুর
রবীন্দ্রনাথ ঠাকুর_
রুশ সাহিত্য
সুকুমার রায়
সুনীল গঙ্গোপাধ্যায়
হুমায়ুন আহমেদ
হুমায়ূন আজাদ
Bob Dylan
Music
Pete Seeger - The Essential Pete Seeger (2005)
Ringtones
Soulful-Voice-Arjit-Singh-128Kbps-2014(Songs.PK)
Sufi
Veer
জল এর গান
জাতিস্মর
রতন দা
রবীন্দ্রসঙ্গীত

প্রথমে আমরা ls e-books/ > ls-e-books.txt কমান্ড দিয়ে e-books ফোল্ডারের কন্টেন্ট এর লিস্ট ls-e-books.txt ফাইলে রিডিরেক্ট করে সংরক্ষণ করলাম। একইভাবে ls Music/ > ls-music.txt কমান্ড দিয়ে Music ফোল্ডারের কন্টেন্টের লিস্ট সংরক্ষণ করলাম ls-music.txt ফাইলে।

এর পরেরন কমান্ডদুটি অর্থাৎ cat ls-e-books.txt এবং cat ls-music.txt কমান্ড দিয়ে ওই ফাইলগুলোর কন্টেন্ট আলাদাভাবে দেখিয়েছি।

সবশেষে cat ls-e-books.txt ls-music.txt কমান্ড দিয়েছি। ফলে দুটি ফাইলের কন্টেন্ট জুড়ে দিয়ে স্ক্রীনে দেখিয়েছে। আমরা চাইলে এই আউটপুট '>' দিয়ে এই আউটপুট অন্য কোনো ফাইলে রিডিরেক্ট করে দিতে পারতাম।

মজার বিষয় হচ্ছে cat শুধু টেক্সট না যেকোনো কিছু জুড়ে দিতে পারে। মনে করুন আপনি ইন্টারনেট থেকে একটি মুভি নামিয়েছেন। যে আপলোড করেছে সে এটিকে ছোট ছোট ভাগ করে আপলোড করেছে। আপনাকে সবগুলো নামিয়ে করে নিতে হবে। মনে করি এরকম ছোট ছোট ১৫টা ফাইল আছে। movie.mpeg.001, movie.mpeg.002.... এরকম করে movie.mpeg.015 পর্যন্ত। আমরা এগুলো পরপর জুড়ে দিয়ে movie.mpeg ফাইল বানাতে পারি এভাবে:

me@howtocode-pc:~$ cat movie.mpeg.0* > movie.mpeg

এখানে আমরা সবফাইলগুলো '' ওয়াইল্ডকার্ডের মাধ্যমে সিলেক্ট করেছি আর ওয়াইল্ডকার্ড সবসময়ই ক্রম বজায় রাখে অর্থাৎ এটা 001, 002.... 015 এভাবেই সিলেক্ট করবে। *cat দিয়ে এদের জুড়ে দিয়েছি এবং এর আউটপুট '>' চিহ্ন দিয়ে movie.mpeg ফাইলে রিডিরেক্ট করে দিয়েছি।

আমরা যদি কোনো আর্গুমেন্ট ছাড়া cat কমান্ডটি ব্যবহার করি এভাবে:

me@howtocode-pc:~$ cat

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

me@howtocode-pc:~$ cat
আমি সব দেখে শুনে ক্ষেপে গিয়ে করি বাঙলায় চিৎকার!
আমি সব দেখে শুনে ক্ষেপে গিয়ে করি বাঙলায় চিৎকার!

সবশেষে আপনি ctrl-d চেপে এখান থেকে বেরতে পারবেন।

আমরা চাইলে এই আউটপুট কোনো ফাইলে রিডিরেক্ট করতে পারি। তখন নীচে আউটপুট না দেখিয়ে সেই ফাইলে পাঠিয়ে দেবে:

me@howtocode-pc:~$ cat > চিৎকার.txt
আমি সব দেখে শুনে ক্ষেপে গিয়ে করি বাঙলায় চিৎকার!

আবার আমরা সেই ফাইলটার কন্টেন্ট ইনপুট হিসেবে cat এ দিতে পারি '<' চিহ্ন দিয়ে:

me@howtocode-pc:~$ cat < চিৎকার.txt
আমি সব দেখে শুনে ক্ষেপে গিয়ে করি বাঙলায় চিৎকার!
Previousস্ট্যান্ডার্ড আউটপুট ও এরর একত্রে রিডিরেকশনNextপাইপলাইন

Last updated 6 years ago