লিনাক্সে শেল অ্যাপ্লিকেশনটির আউটপুট কীভাবে আড়াল করবেন?


উত্তর:


68

আপনি যে কোনও প্রোগ্রামের আউটপুট পুনর্নির্দেশ করতে পারেন যাতে এটি দেখা না যায়।

$ program > /dev/null

এটি স্ট্যান্ডার্ড আউটপুটটিকে পুনর্নির্দেশ করবে - আপনি এখনও কোনও ত্রুটি দেখতে পাবেন

$ program &> /dev/null

এটি ত্রুটি সহ সমস্ত আউটপুট পুনর্নির্দেশ করবে।


প্রথমটি
উইজেটের

এজন্য যে কারণে উইজেট তার আউটপুটটির জন্য স্ট্যাডার ব্যবহার করে। দ্বিতীয়টি কাজ করা উচিত।
থিওথের রিসিও 3

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

1
আপনি এটিকে শান্ত করার জন্য বিকল্পগুলি wgetব্যবহার করতে পারেন -q
pkhamre

/ Dev / tty এ সরাসরি লেখা আউটপুট দমন করার কোনও উপায়?
d11wtq

30

কমান্ডলাইনে তিনটি আইও ডিভাইস উপলব্ধ।

 standard in - 0 
 standard out - 1 
 standard error - 2 

স্ট্যান্ডার্ড আউট (ডিফল্ট আউটপুট) কোনও ফাইলে পুনর্নির্দেশ করতে (এবং ফাইলটি ওভাররাইট), ব্যবহার করুন

 command > file.log 

File.log এ যুক্ত করতে 2> গুলি ব্যবহার করুন

 command >> file.log

file.log এ স্ট্যান্ডার্ড ত্রুটি পুনর্নির্দেশ করতে, ব্যবহার করুন

 command 2> file.log

এবং সংযোজন

 command 2>> file.log

আউটপুটগুলিকে একটি স্ট্রিমের সাথে একত্রিত করতে এবং সেগুলি সমস্ত স্থানে প্রেরণ করতে

 command > file.log 2>&1 

এটি 2 (stderr) কে 1 (stdout) এ প্রেরণ করে এবং stdout কে file.log এ প্রেরণ করে

লক্ষ্য করুন যে স্ট্যান্ডিনের প্রত্যাশা কমান্ডের মধ্যে স্ট্যান্ডার্ড পুনর্নির্দেশ করাও সম্ভব

 command << file.txt 

সম্পাদনা সম্পাদনা
আরও তথ্যের জন্য, অ্যাডভান্সড ব্যাশ স্ক্রিপ্টিং গাইডটি দেখুন


কেউ কি ব্যাখ্যা করতে পারে কিভাবে command > file.log 2>&1কাজ করে?
Cory Klein

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

3
@ নোমোরিংক: এটি আসলে ২ টি কমান্ড, একটি হ'ল > fileএবং দ্বিতীয়টি 2>&1। প্রথমটি স্ট্যান্ডার্ডটিকে কোনও ফাইলে পুনঃনির্দেশ করে। দ্বিতীয়টি 2 য় ফাইল বর্ণনাকারী নেয় এবং এটিকে প্রথমটিতে পুনর্নির্দেশ করে। আপনি বিপরীতটি করতে পারেন, ব্যবহার করে স্ট্যান্ডার্ড ত্রুটিতে স্ট্যান্ডার্ড আউটপুট >&2পুনর্নির্দেশ এবং তারপরে কোনও ফাইলের সাথে স্ট্যান্ডার্ড ত্রুটি পুনর্নির্দেশ করতে পারেন 2> file
হুবার্ট কারিও

12

লুকান stdout

./command >/dev/null

লুকান stdoutএবংstderr

./command >/dev/null 2>&1

টার্মিনালটি লুকান stdoutএবং stderrছেড়ে দিন (পটভূমিতে কমান্ডটি চালান)

./command >/dev/null 2>&1 &

3

যদি আপনি কেবল আউটপুটটি আড়াল করতে চান (এবং এটি কোনও ফাইলে সংরক্ষণ না করেন) তবে আপনি ব্যবহার করতে পারেন:

সম্পাদিত:

$ আদেশ &> / dev / নাল


এটি আউটপুটটি নাল নামক কোনও ফাইলে পুনর্নির্দেশ করবে
03

এটি একটি নাল ফাইল তৈরি করেছে
জেডার ডায়াস

1
আপনি কি বোঝাতে চাইতেন না / দেব / নাল, তাই না?
বাবু

1
হ্যাঁ, আমি থাকতাম বাবু। আমার অর্থ হ'ল কমান্ড &> / দেব / নাল। নিজের ভালোর জন্য খুব দ্রুত টাইপ করার জন্য ক্ষমা চাইছি।
লুচো

2

ম্যাক ওএস এক্সের জন্য (10.6 "স্নো চিতা"):

আপনার যদি আউটপুট / ত্রুটি ফাইল বর্ণনাকারী পরীক্ষা করে প্রোগ্রামটিকে এটি না জানিয়ে আউটপুট আড়াল করতে হয় তবে আপনি নীচে একটি শেল ব্যবহার করে চেষ্টা করতে পারেন:

stty flusho; command ;stty -flusho

অথবা আপনি যদি কেবল টার্মিনাল থেকে ইনপুটটি গোপন করতে চান:

stty  -echo; command ;stty  echo

আরও তথ্যের জন্য stty (1) ম্যানুয়াল পৃষ্ঠা দেখুন

লিনাক্সের জন্য আমি যতটুকু জানি তা হ'ল উবুনুতু (10.04 "লুসিড") এবং কিছু "দেবিয়ান / আর্চ" (নীচে মন্তব্য করা হয়েছে - টিএনএক্স হেন্ড্রি) এর flushoসেটিং নেই (এবং আমি ম্যান-পৃষ্ঠাতে অন্য কোনও উপযুক্ত দেখতে পাচ্ছি না) । echoসেটিং যাহাই হউক না কেন উবুন্টু উপর কাজ করে।


ডেবিয়ান / আর্চের অধীনে আমার ডিফল্ট স্টাটির এই বিকল্পগুলি নেই।
হেন্ড্রি

আমার অবশ্যই উল্লেখ করা উচিত ছিল যে আমি এমনকি ওপি'র ওএসেও ছিলাম না। আমার পোস্ট সম্পাদনা।
বিকাল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.