আমি কীভাবে একটি ইনোড নম্বর চেয়ে ফাইলের নাম কম করব?


11

আমার কাছে এমন একটি সফ্টওয়্যার রয়েছে যা এর লগ ফাইলগুলি পুনরায় চালু হওয়ার সাথে সাথে ঘোরান। যাইহোক, উন্নয়নের সময়, আমি এটি অনেকটা পুনরায় চালু করছি, তাই আমি যে কোনও সময় সর্বশেষতম লগ ফাইলটি পর্যবেক্ষণ করতে চাই।

যদি আমি lessস্বাভাবিকভাবে শুরু করি less program.logএবং লেজ থেকে Shift+ টিপুন f, যখন লগ ফাইলটি ঘোরানো হয়, আমি পুরানো লগ ফাইলটি পর্যবেক্ষণ করি। আমি ধরে নিলাম এটি কারণ ইনোড নম্বর একই থাকে এবং সেই ইনোডটিতে lessএকটি খোলা ফাইল হ্যান্ডেল থাকে।

বর্তমানে লগ ফাইল যাহা বলা হয় তাতে সর্বশেষ ক্রিয়াকলাপ পর্যবেক্ষণ করা কি সম্ভব program.log?

বিশেষত, আমি সান ওএসে কাজ করছি, সুতরাং একটি সমাধান যা সেখানে কাজ করে তা আদর্শ হতে পারে।


সম্ভবত tail -F program.log | lessকাজ করবে
সেন্ডমোরেইনফোর

tail -f program.log তুমি কি এটা চেষ্টা করেছ?
রাহুল পাতিল

উত্তর:


17

less --follow-nameযদি আপনার সংস্করণটি lessসমর্থন করে তবে এটি ব্যবহার করুন । এই বিকল্পটি 416 সংস্করণে প্রবর্তিত হয়েছিল।


দুর্দান্ত উত্তর। সোলারিস 10 এবং সোলারিস 11 উভয়ই কম সংস্করণ 436 ব্যবহার করে তাই এই বিকল্পটি সত্যই উপলভ্য।
unixhacker2010

5

lessবিকল্পটি কেবল --follow-nameসমাধানের অংশ;
প্রতিস্থাপনের জন্য tail -F, আরও একটি যুক্তি প্রয়োজন:

less --follow-name +F file.log

একা পছন্দ করা বিকল্পটি less --follow-name file.logআসলে ফাইল আপডেটগুলি অনুসরণ করা শুরু করে না। টিপতে আপনাকে অনুসরণ করা মোডটি প্রবেশ করতে হবে ShiftF
(নেভিগেট করতে মোড থেকে প্রস্থান করুন by ControlC)

ফাইলটি অনুসরণ করার পরিবর্তে, কম --follow-name আচরণের পরিবর্তন করে
সেই নির্দেশও কি করে তোলে ShiftFভেতরে lessফলো ফাইলের নাম, না ফাইল বর্ণনাকারী উপর ভিত্তি করে।

এছাড়াও, lessঅনুসরণ মোডে শুরু করার কোনও সাধারণ বিকল্প নেই ।
তবে আপনি কমান্ড লাইনটি প্রারম্ভিক করে প্রারম্ভকালের পরে কার্যকর করার জন্য কীস্ট্রোকগুলি দিতে পারেন+
সঙ্গে পরিবর্তক বিকল্প মিশ্রন +F, lessআসলে (সংশোধিত) ফলো মোডে শুরু হবে।

ব্যবহার করুন +Fপ্লেইন সমতুল্য একা tail -f:

less +F file.log

1

আমি কেবল এই উত্তর ও উত্তর প্রশ্নোত্তর শিরোনামে উত্তরটি পেয়েছি: লগ ঘোরানো ফাইলগুলি কীভাবে করবেন tail -f?

ব্যবহার tail:

(যদি আপনার সিস্টেমে জিএনইউ লেজ ইনস্টল করা বিকল্প হয়)

tail -F program.log

থেকে লেজ man পৃষ্ঠা :

   -f,      --follow[={name|descriptor}]
            output appended data as the file grows; -f, 
            --follow, and --follow=descriptor are equivalent

   -F       same as --follow=name --retry

   --retry  keep  trying  to  open  a  file even when it is or becomes
            inaccessible; useful when following by name, i.e., with
            --follow=name

কীটি হ'ল --retryসুইচ। tailনাম দ্বারা কোনও ফাইল অনুসরণ করার জন্য পুনরায় চেষ্টা করা কমান্ডটি এটি নির্দেশ করে। -Fসুইচ উভয় একটি করে -fএবং একটি --retry

ব্যবহার less

@ স্টাফেনচাজেলা মন্তব্যে উল্লেখ করেছেন যে নিম্নলিখিতটি কাজ করবে না।

tail -F program.log | less

শুধুমাত্র অন্যান্য বিকল্প আপনি অভিমানী এটি সমর্থন কম সরাসরি ব্যবহার করা --follow-nameসুইচ এবং lessসরাসরি ফাইল ব্যবহার করে পরিত্যাগ tailসম্পূর্ণভাবে।

less --follow-name program.log

আমি কখনও কখনও সান ওএসকে তীব্রভাবে অপছন্দ করি ...
অ্যালেক্স চেম্বারলাইন

আমি সম্মত হই, আমি কয়েক বছর ধরে কাজ করেছি, এটি আপনাকে বাদামকে চালিত করে যে কিছু অ্যাপ্লিকেশনের জন্য সরঞ্জামটি 10 ​​বছরের পুরানো। কোন অর্থ প্রকাশ করে না. : এই সাইটটি সোলারিস আপনার মানসিক সুস্থতা রাখার জন্য অমূল্য ছিল sunfreeware.com/introduction.html
SLM

যদি আপনি আরো মানসিক সুস্থতা চাই, pkgsrc.org :) খুঁজে বার করো
sendmoreinfo

এটি সুন্দরভাবে কাজ করবে না। কারণ lessআপনি যদি "জি" জন "এফ" করেন তবে স্তব্ধ হয়ে যাবে। যা আপনি "Ctrl-C" করে বাধা দিতে পারেন, তবে তারপরে এটি লেজকে মেরে ফেলে। এরপরে আপনি Ctrl-C এ লেজ প্রতিরোধ ক্ষমতা রাখতে পারেন তবে এটি এখনও খুব ব্যবহারযোগ্য নয়।
স্টাফেন চেজেলাস

পরীক্ষা করে দেখুন: গনুহ লেজ বিষয়ে এই কোন সরঞ্জামগুলি কোনো সোলারিস হোস্ট পাওয়া উচিত সম্পর্কে তথ্যের জন্য। (আসলে জিএনইউ লেজটি সোলারিস 11 এ ডিফল্টরূপে রয়েছে)। সোলারিস সিসাদমিনগুলি প্রায়শই তাদের ব্যবহারকারীদের পক্ষে আরও শক্ত করে তোলে কারণ সোলারিসের জন্য জিএনইউ সরঞ্জামগুলি কেবল এই দিনগুলিতে সরাসরি ওরাকল থেকে পাওয়া যায় বা কিছু ক্ষেত্রে ডিফল্ট ইনস্টলের অংশ হিসাবে পাওয়া যায় তবে তারা খুব খালি-হাড়ের ইনস্টল করে ইনস্টলটি ছেড়ে দেয়। এটিকে আপনার ইনস্টলের অংশ না করার কোনও কারণ নেই। 'অফিশিয়াল' রেপোগুলিতে যাওয়ার কোনও কারণ নেই। লিঙ্ক দেখুন।
unixhacker2010
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.