লিনাক্সে stdin, stdout এবং stderr কি?

একটি লিনাক্স কম্পিউটারে টার্মিনাল উইন্ডো

ফাতমাওয়াতি আছমাদ জায়েনুরি/শাটারস্টক ডটকম



|_+_|, |_+_|, এবং |_+_| আপনি যখন একটি লিনাক্স কমান্ড চালু করেন তখন তিনটি ডেটা স্ট্রিম তৈরি হয়। আপনার স্ক্রিপ্টগুলি পাইপ বা পুনঃনির্দেশিত হচ্ছে কিনা তা জানাতে আপনি সেগুলি ব্যবহার করতে পারেন। আমরা আপনাকে দেখাতে কিভাবে.

স্ট্রিম দুটি পয়েন্ট যোগদান

যত তাড়াতাড়ি আপনি লিনাক্স এবং ইউনিক্স-এর মতো অপারেটিং সিস্টেম সম্পর্কে শিখতে শুরু করবেন, আপনি |_+_|, |_+_|, এবং |_+_| পদগুলি দেখতে পাবেন৷ এইগুলো তিনটি আদর্শ প্রবাহ যেগুলো প্রতিষ্ঠিত হয় যখন একটি লিনাক্স কমান্ড কার্যকর করা হয়। কম্পিউটিংয়ে, একটি স্ট্রিম এমন কিছু যা ডেটা স্থানান্তর করতে পারে। এই স্ট্রিমগুলির ক্ষেত্রে, সেই ডেটাটি পাঠ্য।





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

লিনাক্স স্ট্যান্ডার্ড স্ট্রীম

লিনাক্সে, |_+_| মানক ইনপুট স্ট্রীম। এটি তার ইনপুট হিসাবে পাঠ্য গ্রহণ করে। কমান্ড থেকে শেলে পাঠ্য আউটপুট |_+_| এর মাধ্যমে বিতরণ করা হয় (স্ট্যান্ডার্ড আউট) প্রবাহ। কমান্ড থেকে ত্রুটি বার্তা পাঠানো হয় |_+_| এর মাধ্যমে (মান ত্রুটি) স্ট্রীম।



সুতরাং আপনি দেখতে পাচ্ছেন যে দুটি আউটপুট স্ট্রীম আছে, |_+_| এবং |_+_|, এবং একটি ইনপুট স্ট্রীম, |_+_|। কারণ ত্রুটি বার্তা এবং স্বাভাবিক আউটপুট প্রতিটিরই তাদের টার্মিনাল উইন্ডোতে নিয়ে যাওয়ার জন্য তাদের নিজস্ব নালী থাকে, সেগুলি একে অপরের থেকে স্বাধীনভাবে পরিচালনা করা যেতে পারে।

স্ট্রীম ফাইলের মত পরিচালনা করা হয়

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

বিজ্ঞাপন

একটি প্রক্রিয়ার সাথে যুক্ত প্রতিটি ফাইলকে এটি সনাক্ত করার জন্য একটি অনন্য নম্বর বরাদ্দ করা হয়। এটি ফাইল বর্ণনাকারী হিসাবে পরিচিত। যখনই একটি ফাইলে একটি ক্রিয়া সম্পাদনের প্রয়োজন হয়, ফাইল বর্ণনাকারী ফাইল সনাক্ত করতে ব্যবহৃত হয়।



এই মানগুলি সর্বদা |_+_|, |_+_| এর জন্য ব্যবহৃত হয় এবং |_+_|:

  • 0 : stdin
  • এক : stdout
  • দুই : stderr

পাইপ এবং পুনঃনির্দেশে প্রতিক্রিয়া

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

অনুরূপ শিরায়, যখন |_+_|, |_+_|, এবং |_+_| সম্পর্কে কথা বলা হয় স্বীকৃত স্বতঃসিদ্ধকে ট্রট আউট করা সুবিধাজনক যে একটি প্রক্রিয়া তার তিনটি মানক স্ট্রীম কোথায় শেষ হয়েছে তা জানে না বা চিন্তাও করে না। একটি প্রক্রিয়ার আউটপুট টার্মিনালে যাচ্ছে নাকি একটি ফাইলে পুনঃনির্দেশিত হচ্ছে তা কি খেয়াল রাখা উচিত? এমনকি এটি কি বলতে পারে যে এর ইনপুট কীবোর্ড থেকে আসছে বা অন্য প্রক্রিয়া থেকে এতে পাইপ করা হচ্ছে?

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

বিজ্ঞাপন

আচরণের এই পরিবর্তন আমরা খুব সহজেই দেখতে পাই। এই দুটি কমান্ড চেষ্টা করুন:

|_ + _ |

|_ + _ |

|_+_| কমান্ড ভিন্নভাবে আচরণ করে যদি এর আউটপুট (|_+_|) অন্য কমান্ডে পাইপ করা হয়। এটা |_+_| যেটি একটি একক কলাম আউটপুটে স্যুইচ করে, এটি |_+_| দ্বারা সঞ্চালিত একটি রূপান্তর নয়৷ এবং |_+_| এটির আউটপুট পুনঃনির্দেশিত হলে একই জিনিস করে:

|_ + _ |

|_ + _ |

stdout এবং stderr পুনর্নির্দেশ করা হচ্ছে

একটি ডেডিকেটেড স্ট্রিম দ্বারা বিতরিত ত্রুটি বার্তা থাকার একটি সুবিধা আছে। এর অর্থ হল আমরা একটি কমান্ডের আউটপুট (|_+_|) একটি ফাইলে পুনঃনির্দেশ করতে পারি এবং এখনও টার্মিনাল উইন্ডোতে কোনো ত্রুটি বার্তা (|_+_|) দেখতে পারি। আপনার প্রয়োজন হলে আপনি ত্রুটিগুলির প্রতিক্রিয়া জানাতে পারেন, যেমনটি ঘটে। এটি ফাইলকে দূষিত করা থেকে ত্রুটি বার্তাগুলিকেও থামায় যে |_+_| মধ্যে পুনঃনির্দেশিত করা হয়েছে.

একটি সম্পাদকে নিম্নলিখিত পাঠ্যটি টাইপ করুন এবং এটিকে error.sh নামে একটি ফাইলে সংরক্ষণ করুন।

|_ + _ |

এই কমান্ডের সাহায্যে স্ক্রিপ্টটিকে এক্সিকিউটেবল করুন:

|_ + _ |

স্ক্রিপ্টের প্রথম লাইনটি |_+_| এর মাধ্যমে টার্মিনাল উইন্ডোতে পাঠ্য প্রতিধ্বনিত করে প্রবাহ দ্বিতীয় লাইনটি এমন একটি ফাইল অ্যাক্সেস করার চেষ্টা করে যা বিদ্যমান নেই। এটি একটি ত্রুটি বার্তা তৈরি করবে যা |_+_| এর মাধ্যমে বিতরণ করা হয়।

এই কমান্ড দিয়ে স্ক্রিপ্ট চালান:

|_ + _ |

আমরা দেখতে পাচ্ছি যে আউটপুটের উভয় স্ট্রিম, |_+_| এবং |_+_|, টার্মিনাল উইন্ডোতে প্রদর্শিত হয়েছে।

আসুন একটি ফাইলে আউটপুট পুনর্নির্দেশ করার চেষ্টা করি:

|_ + _ |

বিজ্ঞাপন

ত্রুটি বার্তা যা |_+_| এর মাধ্যমে বিতরণ করা হয় এখনও টার্মিনাল উইন্ডোতে পাঠানো হয়। আমরা ফাইলের বিষয়বস্তু পরীক্ষা করে দেখতে পারি যে |_+_| কিনা আউটপুট ফাইলে গিয়েছিল।

|_ + _ |

|_+_| থেকে আউটপুট প্রত্যাশিত হিসাবে ফাইলে পুনঃনির্দেশিত হয়েছে।

|_+_| পুনর্নির্দেশ প্রতীক |_+_| এর সাথে কাজ করে গতানুগতিক. আপনি কোন স্ট্যান্ডার্ড আউটপুট স্ট্রীমটি পুনঃনির্দেশ করতে চান তা নির্দেশ করতে আপনি সংখ্যাসূচক ফাইল বর্ণনাকারীর একটি ব্যবহার করতে পারেন।

স্পষ্টভাবে পুনঃনির্দেশ করতে |_+_|, এই পুনঃনির্দেশ নির্দেশ ব্যবহার করুন:

|_ + _ |

স্পষ্টভাবে পুনঃনির্দেশ করতে |_+_|, এই পুনঃনির্দেশ নির্দেশ ব্যবহার করুন:

|_ + _ |

আসুন আবার আমাদের পরীক্ষা করার চেষ্টা করি, এবং এবার আমরা ব্যবহার করব |_+_|:

|_ + _ |

ত্রুটি বার্তাটি পুনঃনির্দেশিত হয় এবং |_+_| |_+_| বার্তা টার্মিনাল উইন্ডোতে পাঠানো হয়:

দেখা যাক capture.txt ফাইলে কি আছে।

|_ + _ |

|_+_| প্রত্যাশিত হিসাবে বার্তা capture.txt-এ আছে।

stdout এবং stderr উভয়ই পুনঃনির্দেশ করা হচ্ছে

অবশ্যই, যদি আমরা হয় পুনঃনির্দেশ করতে পারি |_+_| অথবা |_+_| একে অপরের থেকে স্বাধীনভাবে একটি ফাইলে, আমাদের উভয়কে একই সময়ে, দুটি ভিন্ন ফাইলে পুনঃনির্দেশিত করতে সক্ষম হওয়া উচিত?

বিজ্ঞাপন

হ্যাঁ আমরা পারি. এই কমান্ড নির্দেশ করবে |_+_| capture.txt এবং |_+_| নামে একটি ফাইলে error.txt নামক একটি ফাইলে।

|_ + _ |

যেহেতু আউটপুটের উভয় স্ট্রীম-স্ট্যান্ডার্ড আউটপুট এবং স্ট্যান্ডার্ড ত্রুটি- ফাইলগুলিতে পুনঃনির্দেশিত হয়, টার্মিনাল উইন্ডোতে কোনও দৃশ্যমান আউটপুট নেই। আমরা কমান্ড লাইন প্রম্পটে ফিরে আসি যেন কিছুই ঘটেনি।

আসুন প্রতিটি ফাইলের বিষয়বস্তু পরীক্ষা করা যাক:

|_ + _ | |_ + _ |

একই ফাইলে stdout এবং stderr রিডাইরেক্ট করা হচ্ছে

এটি ঝরঝরে, আমরা প্রতিটি স্ট্যান্ডার্ড আউটপুট স্ট্রীম পেয়েছি যার নিজস্ব ডেডিকেটেড ফাইলে যাচ্ছে। শুধুমাত্র অন্য একটি সংমিশ্রণ যা আমরা করতে পারি তা হল উভয়ই পাঠাতে হবে |_+_| এবং |_+_| একই ফাইলে।

আমরা নিম্নলিখিত কমান্ড দিয়ে এটি অর্জন করতে পারি:

|_ + _ |

আসুন এটি ভেঙে ফেলি।

  • ./error.sh : error.sh স্ক্রিপ্ট ফাইল চালু করে।
  • > capture.txt : |_+_|কে পুনঃনির্দেশ করে capture.txt ফাইলে স্ট্রিম করুন। |_+_| সংক্ষেপে |_+_|।
  • 2> এবং 1 : এটি &> পুনঃনির্দেশ নির্দেশ ব্যবহার করে। এই নির্দেশটি আপনাকে শেলকে একটি স্ট্রীমকে অন্য স্ট্রিমের মতো একই গন্তব্যে পৌঁছে দেওয়ার জন্য বলতে দেয়। এই ক্ষেত্রে, আমরা বলছি রিডাইরেক্ট স্ট্রীম 2, |_+_|, একই গন্তব্যে যে স্ট্রীম 1, |_+_|, রিডাইরেক্ট করা হচ্ছে।

কোন দৃশ্যমান আউটপুট নেই. এটা উৎসাহব্যঞ্জক।

আসুন capture.txt ফাইলটি দেখুন এবং দেখুন এতে কি আছে।

|_ + _ |

উভয়ই |_+_| এবং |_+_| স্ট্রিমগুলিকে একটি একক গন্তব্য ফাইলে পুনঃনির্দেশিত করা হয়েছে।

একটি স্ট্রিমের আউটপুট পুনঃনির্দেশিত করতে এবং নীরবে দূরে ফেলে দিতে, আউটপুটটিকে |_+_| এ নির্দেশ করুন৷

একটি স্ক্রিপ্টের মধ্যে পুনঃনির্দেশ সনাক্তকরণ

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

বিজ্ঞাপন

একটি সম্পাদকে নিম্নলিখিত পাঠ্যটি টাইপ করুন এবং এটিকে input.sh হিসাবে সংরক্ষণ করুন।

|_ + _ |

এটি কার্যকর করতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

|_ + _ |

চতুর অংশ হল বর্গাকার বন্ধনী মধ্যে পরীক্ষা . |_+_| (টার্মিনাল) বিকল্পটি সত্য (0) প্রদান করে যদি ফাইলটি ফাইল বর্ণনাকারীর সাথে যুক্ত থাকে টার্মিনাল উইন্ডোতে শেষ হয় . আমরা পরীক্ষায় যুক্তি হিসাবে ফাইল বর্ণনাকারী 0 ব্যবহার করেছি, যা |_+_| প্রতিনিধিত্ব করে।

যদি |_+_| একটি টার্মিনাল উইন্ডোর সাথে সংযুক্ত আছে পরীক্ষাটি সত্য প্রমাণিত হবে। যদি |_+_| একটি ফাইল বা একটি পাইপের সাথে সংযুক্ত, পরীক্ষা ব্যর্থ হবে.

স্ক্রিপ্টে ইনপুট জেনারেট করতে আমরা যেকোনো সুবিধাজনক টেক্সট ফাইল ব্যবহার করতে পারি। এখানে আমরা dummy.txt নামে একটি ব্যবহার করছি।

|_ + _ |

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

বিজ্ঞাপন

এটি একটি ফাইল পুনঃনির্দেশের সাথে ছিল, আসুন এটি একটি পাইপ দিয়ে চেষ্টা করি।

|_ + _ |

স্ক্রিপ্ট স্বীকার করে যে এর ইনপুট এতে পাইপ করা হচ্ছে। অথবা আরো সঠিকভাবে, এটি আরও একবার স্বীকৃতি দেয় যে |_+_| স্ট্রিম একটি টার্মিনাল উইন্ডোর সাথে সংযুক্ত নয়।

আসুন পাইপ বা পুনঃনির্দেশ না দিয়ে স্ক্রিপ্টটি চালাই।

|_ + _ |

|_+_| স্ট্রিম টার্মিনাল উইন্ডোর সাথে সংযুক্ত, এবং স্ক্রিপ্ট সেই অনুযায়ী রিপোর্ট করে।

আউটপুট স্ট্রিমের সাথে একই জিনিস পরীক্ষা করতে, আমাদের একটি নতুন স্ক্রিপ্ট দরকার। একটি এডিটরে নিম্নলিখিতটি টাইপ করুন এবং এটিকে output.sh হিসাবে সংরক্ষণ করুন।

|_ + _ |

এটি কার্যকর করতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

|_ + _ |

এই স্ক্রিপ্টের একমাত্র উল্লেখযোগ্য পরিবর্তন হল বর্গাকার বন্ধনীর পরীক্ষায়। আমরা |_+_| এর জন্য ফাইল বর্ণনাকারীকে উপস্থাপন করতে সংখ্যা 1 ব্যবহার করছি।

এর চেষ্টা করা যাক. আমরা |_+_| এর মাধ্যমে আউটপুট পাইপ করব।

|_ + _ |

বিজ্ঞাপন

স্ক্রিপ্ট স্বীকার করে যে এর আউটপুট সরাসরি টার্মিনাল উইন্ডোতে যাচ্ছে না।

আমরা একটি ফাইলে আউটপুট পুনঃনির্দেশিত করে স্ক্রিপ্টটি পরীক্ষা করতে পারি।

|_ + _ |

টার্মিনাল উইন্ডোতে কোন আউটপুট নেই, আমরা নীরবে কমান্ড প্রম্পটে ফিরে আসি। আমরা যেমন আশা করব।

আমরা capture.txt ফাইলের ভিতরে দেখতে পারি যে কি ক্যাপচার করা হয়েছে। এটি করতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন।

|_ + _ |

আবার, আমাদের স্ক্রিপ্টের সাধারণ পরীক্ষাটি সনাক্ত করে যে |_+_| স্ট্রিম সরাসরি টার্মিনাল উইন্ডোতে পাঠানো হচ্ছে না।

বিজ্ঞাপন

যদি আমরা কোনো পাইপ বা পুনঃনির্দেশ ছাড়াই স্ক্রিপ্ট চালাই, তাহলে এটি সনাক্ত করা উচিত যে |_+_| টার্মিনাল উইন্ডোতে সরাসরি বিতরণ করা হচ্ছে।

|_ + _ |

এবং এটা ঠিক কি আমরা দেখতে.

চেতনার স্রোত

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

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

সাধারণত যেমন হয়, আরও জ্ঞান আরও বিকল্প নিয়ে আসে।

লিনাক্স কমান্ড
নথি পত্র tar · pv · বিড়াল · tac · chmod · আঁকড়ে ধরে · পার্থক্য · sed · সঙ্গে · মানুষ · pushd · popd · fsck · টেস্টডিস্ক · seq · fd · প্যান্ডোক · সিডি · $PATH · awk · যোগদান · jq · ভাঁজ · ইউনিক · journalctl · লেজ · অবস্থা · ls · fstab · বের করে দিল · কম · chgrp · chown · rev · তাকান · স্ট্রিং · প্রকার · নাম পরিবর্তন করুন · জিপ · আনজিপ · মাউন্ট · উমাউন্ট · ইনস্টল · fdisk · mkfs · rm · rmdir · rsync · df · জিপিজি · আমরা · ন্যানো · mkdir · থেকে · ln · প্যাচ · রূপান্তর · rclone · টুকরা · এসআরএম
প্রসেস উপনাম · পর্দা · শীর্ষ · চমৎকার · renice · অগ্রগতি · স্ট্রেস · পদ্ধতি · tmux · chsh · ইতিহাস · · ব্যাচ · বিনামূল্যে · যা · dmesg · usermod · পুনশ্চ · chroot · xargs · tty · গোলাপী · lsof · vmstat · সময় শেষ · প্রাচীর · হ্যাঁ · হত্যা · ঘুম · sudo · তার · সময় · groupadd · usermod · গ্রুপ · lshw · শাটডাউন · রিবুট · থামা · যন্ত্র বন্ধ · পাসওয়াড · lscpu · ক্রন্টাব · তারিখ · বিজি · fg
নেটওয়ার্কিং netstat · পিং · ট্রেসরুট · আইপি · ss · কে · fail2ban · bmon · আপনি · আঙুল · nmap · এফটিপি · কার্ল · wget · WHO · আমি কে · ভিতরে · iptables · ssh-keygen · ufw

সম্পর্কিত: বিকাশকারী এবং উত্সাহীদের জন্য সেরা লিনাক্স ল্যাপটপ

পরবর্তী পড়ুন ডেভ ম্যাকেয়ের প্রোফাইল ফটো ডেভ ম্যাককে
ডেভ ম্যাককে প্রথম কম্পিউটার ব্যবহার করেছিলেন যখন পাঞ্চড পেপার টেপ প্রচলিত ছিল এবং তখন থেকেই তিনি প্রোগ্রামিং করছেন। আইটি শিল্পে 30 বছরেরও বেশি সময় পরে, তিনি এখন একজন পূর্ণকালীন প্রযুক্তি সাংবাদিক। তার কর্মজীবনে, তিনি একজন ফ্রিল্যান্স প্রোগ্রামার, একটি আন্তর্জাতিক সফ্টওয়্যার ডেভেলপমেন্ট টিমের ম্যানেজার, একটি আইটি পরিষেবা প্রকল্প ব্যবস্থাপক এবং সম্প্রতি, একজন ডেটা সুরক্ষা অফিসার হিসাবে কাজ করেছেন। তার লেখা Howtogeek.com, cloudsavvyit.com, itenterpriser.com এবং opensource.com দ্বারা প্রকাশিত হয়েছে। ডেভ একজন লিনাক্স ধর্মপ্রচারক এবং ওপেন সোর্স অ্যাডভোকেট।
সম্পূর্ণ বায়ো পড়ুন

আকর্ষণীয় নিবন্ধ

জনপ্রিয় পোস্ট

আপনার আইএসপি নেটফ্লিক্সকে থ্রোটলিং করছে কিনা তা কীভাবে দেখবেন

আপনার আইএসপি নেটফ্লিক্সকে থ্রোটলিং করছে কিনা তা কীভাবে দেখবেন

গুগল প্লে থেকে অসঙ্গতিপূর্ণ অ্যান্ড্রয়েড অ্যাপস কীভাবে ইনস্টল করবেন

গুগল প্লে থেকে অসঙ্গতিপূর্ণ অ্যান্ড্রয়েড অ্যাপস কীভাবে ইনস্টল করবেন

গুগল ক্যালেন্ডারে অনুস্মারক বৈশিষ্ট্যটি কীভাবে ব্যবহার করবেন

গুগল ক্যালেন্ডারে অনুস্মারক বৈশিষ্ট্যটি কীভাবে ব্যবহার করবেন

কিভাবে আপনার LastPass অ্যাকাউন্ট মুছে ফেলবেন

কিভাবে আপনার LastPass অ্যাকাউন্ট মুছে ফেলবেন

কিভাবে উইন্ডোজ 10 এ ডেস্কটপ শর্টকাট তৈরি করবেন সহজ উপায়

কিভাবে উইন্ডোজ 10 এ ডেস্কটপ শর্টকাট তৈরি করবেন সহজ উপায়

আপনি হারমনি হাবের সাথে বাড়িতে গেলে কীভাবে আপনার টিভি স্বয়ংক্রিয়ভাবে চালু করবেন

আপনি হারমনি হাবের সাথে বাড়িতে গেলে কীভাবে আপনার টিভি স্বয়ংক্রিয়ভাবে চালু করবেন

গুগল ম্যাপের সাহায্যে আপনার কাছাকাছি সর্বজনীন বিশ্রামাগারগুলি কীভাবে সন্ধান করবেন

গুগল ম্যাপের সাহায্যে আপনার কাছাকাছি সর্বজনীন বিশ্রামাগারগুলি কীভাবে সন্ধান করবেন

19 আগস্টের জন্য গিক কমিক - এটি কি সত্যিকারের টুইটার পাখি?

19 আগস্টের জন্য গিক কমিক - এটি কি সত্যিকারের টুইটার পাখি?

আপনার iOS হোম স্ক্রীন থেকে অ্যাপলের অন্তর্নির্মিত অ্যাপগুলি কীভাবে সরান

আপনার iOS হোম স্ক্রীন থেকে অ্যাপলের অন্তর্নির্মিত অ্যাপগুলি কীভাবে সরান

Google Meet Now 25 পর্যন্ত সহ-হোস্টকে সমর্থন করে (কিছু কারণে)

Google Meet Now 25 পর্যন্ত সহ-হোস্টকে সমর্থন করে (কিছু কারণে)