আমি কি কেবল কিবোর্ড ব্যবহার করে পূর্ববর্তী টার্মিনাল কমান্ড থেকে আউটপুট সংরক্ষণ করতে পারি?


12

আমি সবেমাত্র শেষ দুটি ঘন্টা একটি জিইউআই ছাড়াই লাইভ সিডি থেকে একটি ddকমান্ড চালানোর জন্য (বা অনুরূপ "পুনরায় করণে অনুরূপ" দৃশ্যের চিত্র) চালিয়েছি; আমার কাছে থাকা সমস্তই আমার বিশ্বস্ত "মাল্টি-উইন্ডো" ( CTRL+ALT+F#) বাশ টার্মিনাল।

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

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

কমান্ডটি পুনরায় না চালিয়ে আমি কীভাবে আমার পূর্ববর্তী কমান্ড থেকে কোনও ফাইলে পাঠ্য আউটপুট সংরক্ষণ করব? এটা কি সম্ভব?


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

আপনি কি আউটপুট পুনঃনির্দেশ ব্যবহার করার চেষ্টা করেছেন ??
eyoung100

2
@ eyoung100 "পাইপিং" এর জন্য এটি কি আর একটি শব্দ? হিসাবে হিসাবে dd if=/dev/sda of=/backups/sda.img > result.txt। যদি তা হয় তবে সমস্যাটি হ'ল আমি ইতিমধ্যে ddকমান্ডটি চালিয়েছি । যাইহোক, আমি কমান্ডটি আবার চালানো এড়াতে চাই, যা কিছু পরিস্থিতিতে অসম্ভব।
আইকিউআন্দ্রেয়াস

2
এটি লিনাক্স হিসাবে ধরে নিচ্ছেন : জিপিএম ইনস্টল করুন । (প্রয়োজনে এটি শুরু করুন, যেমন service start gpm)। বাম মাউস বোতামটি চেপে ধরে একটি অঞ্চল স্যুইপ করুন। cat > outputfileআপনি সুনির্বাচিত অঞ্চলটি পেস্ট করতে ডান মাউস বোতামে টাইপ করুন এবং ক্লিক করুন।
মার্ক প্লটনিক

1
যদি উদ্দেশ্যটি কেবল "রাখা ... [তথ্য]" থাকে তবে একটি সর্বশেষ অবলম্বন হ'ল একটি ক্যামেরা দখল করা এবং পর্দার একটি ছবি তোলা। (এবং, তাত্ত্বিকভাবে, তারপরে আপনি ওসিআর চালাতে পারেন))
স্কট

উত্তর:


15

একটি লিনাক্স কার্নেলটি সংশ্লিষ্ট /dev/vcsa*[ttynum]ডিভাইসে আপনার ভিটিএসের জন্য একটি অন-স্ক্রিন লগ সংরক্ষণ করতে হবে।

এই কারণেই নিম্নলিখিতগুলি কাজ করে:

echo hey >/dev/tty2
dd bs=10 count=1 </dev/vcs2

... যা ছাপায় ...

hey       

সম্পর্কিত /dev/vcsa[ttynum]ডিভাইসটি অন-স্ক্রিনযুক্ত পাঠ্যের একটি এনকোড সংস্করণ সংরক্ষণ করবে, যেখানে এটি /dev/vcs[ttynum]একটি সরল ডাম্প হবে। vcsa[ttynum]ডিভাইসের বাইট যা প্রতিটি অন-স্ক্রীন গৃহস্থালির কাজ এবং তার বৈশিষ্ট্যাবলী, সেইসাথে প্রতিটি যৌক্তিক যে পৃষ্ঠাটি রেফারেন্সড TTY এর ইঙ্গিত প্রধান একটি স্ট্রিং বর্ণনা একজোড়া এনকোড হবে লাইন, কলাম গণনা।

@ ক্যাস্পার্ড যেমন উল্লেখ করেছেন, বিএলটি \aপ্রতিটি চরিত্রের মধ্যে এনকোডড ছিল ধরে নিয়ে আমি ভুল করেছিলাম , যখন প্রকৃতপক্ষে: ডিফল্ট রঙের সংমিশ্রণটি বেল চরিত্রের সাথে মিলে যায়।

আপনার উদ্দেশ্যগুলির /dev/vcs[ttynum]জন্য সম্ভবত এটি সবচেয়ে সহজ। এখানে lপার্থক্যগুলি দেখতে পেলাম:

echo hey >/dev/tty2
dd bs=10 count=1 </dev/vcs2 |
sed -n l

... কপি করে প্রিন্ট ...

hey       $

...এবং...

echo hey >/dev/tty2
dd bs=10 count=1 </dev/vcsa2 |
sed -n l

... কপি করে প্রিন্ট ...

0\200\000\004h\ae\ay\a$

1
vcsaসমস্ত অক্ষরের মধ্যে একই অক্ষর রাখে না। এটি আপনাকে স্ক্রিনে কোন অক্ষরটি রয়েছে এবং কোনটির রঙ রয়েছে তা বলার জন্য আপনাকে জোড়া জোড়া বাইট দেয়। বেল চরিত্রের সাথে মিলে যাওয়ার জন্য ডিফল্ট রঙের সংমিশ্রণ ঘটে।
ক্যাস্পারড

@ ক্যাস্পার্ড - ধন্যবাদ ইহা কি ভালো?
মাইকজার্ভ

এটা তুলনামূলক ভাল. 👍
ক্যাস্পারড

2

অন্য টার্মিনালে (/ লগ ইন করুন) যান এবং চালান sudo screendump N > screenoutput.txt, যেখানে Nআপনি চান টার্মিনালটির সংখ্যা।

কোনও ব্যাকলগ নেই, আমি ভয় করি। যদি এই ভার্চুয়াল কনসোলগুলি একটি রাখে তবে আমি এটি কখনও দেখিনি। তবে এটি আপনাকে এই টার্মিনালে দেখতে পাবে।


যদি এটি কাজ করে তবে সম্ভবত এটি এটিকে আঁকড়ে ধরেছে /dev/vcsa*[1-9]*- (যা আমি অনুমান করবো যে সুপারিশারের অনুমতিগুলি রয়েছে) । লিনাক্স কনসোলগুলি বেশিরভাগ ৩. * সিরিজের জন্য একটি ব্যাকলগকে সমর্থন করেছে I আমি নিশ্চিত না যে কেউ কীভাবে এটি দখল করতে পারে ( /dev/vcsa*[1-9]*ডিভাইসগুলি ব্যবহারের বিপরীতে ) তবে সম্ভবত উপায় আছে।
মাইকসার্ভ

কোনও ভিন্ন কনসোলে স্যুইচ না করা ভাল, কারণ স্যুইচিং ব্যাকলগটি মুছে ফেলে, কেবল পর্দায় যা দৃশ্যমান তা কেবল ধরে রেখে।
গিলস 23:44-

পছন্দ করেছেন ওয়েল, man পৃষ্ঠা এটি ব্যবহার করে বলে মনে হয় উভয় /dev/vcs$i এবং /dev/vcsa$i। যদিও এটি একটি পঠনযোগ্য ফলাফল দেয়। ;-)
সিদ্ধেকিন

@ গিলস আহ, তাই কি ব্যাকলগ আছে? তবে screendumpএটি পাই না, এমনকি যদি আমি একই কনসোলে থাকি।
সিদ্ধেকিন

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