প্রশ্ন শেল কমান্ডটি একটি ফাইলের পরিবর্তনগুলি পর্যবেক্ষণ করতে পারে - এটি আবার কী বলা হয়?


আমি জানি ইউনিক্সে একটি কমান্ড ছিল যা আমি একটি ফাইল নিরীক্ষণ করতে এবং এটিতে লেখা পরিবর্তনগুলি দেখতে দেখতে ব্যবহার করতে পারি। এই লগ ফাইল চেক করার জন্য বিশেষভাবে দরকারী ছিল।

আপনি কি এটা বলা হয় কি জানেন?


139
2018-04-30 21:00


উত্স




উত্তর:


তুমি বোঝাতে চাচ্ছ

tail -f logfile.log

?

(লেজ জন্য ম্যান পৃষ্ঠা)


188
2018-04-30 21:01



হ্যাঁ, এটা বাস্তব সময়। - Adam Gibbins
Sidenote: যদি আপনার বিতরণ tailf কমান্ড সরবরাহ করে, সেটি tail -f তে অগ্রাধিকারে ব্যবহার করুন। tailf আরো দক্ষ কারণ এটিতে লেখা না থাকলে এটি দেখার জন্য অ্যাক্সেস করা প্রয়োজন না (পোল অ্যাক্সেসগুলি বিরক্তিকর হয় যদি আপনি ফাইল সিস্টেমটি এটিম আপডেটের সাথে মাউন্ট করেন।) - Mihai Limbăşan
এ সুপার ব্যবহারকারী আমি একটি উত্তর পাওয়া যায় নি সুপারিশ লেজ - F পরিবর্তে -f , খুব - Rafa
tail -F ফাইল বস্তুর পরিবর্তে ফাইল নামগুলি অনুসরণ করবে, যা লগ ফাইল ঘূর্ণন ক্ষেত্রে বিশেষভাবে উপযোগী। - Amir Ali Akbari
আপডেট, কয়েক বছর পরে: tailf এখন বর্জন করা হয় এবং tail -f নিরাপদ. (আপনার সিস্টেমের সাথে এই নিশ্চিত করুন man tailf।) ডকুমেন্টেশন দেখুন: man7.org/linux/man-pages/man1/tailf.1.html - exp1orer


আপনি Jon Skeet এর উত্তর অনুযায়ী সম্ভবত লেজ বোঝাতে চেয়েছেন।

আরেকটি দরকারী এক ঘড়ি; এটি আপনাকে নিয়মিতভাবে একটি কমান্ড চালাতে এবং আউটপুট পূর্ণ পর্দায় দেখতে দেয়। উদাহরণ স্বরূপ:

ঘড়ি -10 10-ডি LS -L / var / অ্যাড / বার্তা

কমান্ড চালানো হবে ls -l /var/adm/messages প্রতি 10 সেকেন্ড, এবং পরবর্তী রান মধ্যে আউটপুট মধ্যে পার্থক্য হাইলাইট। (উদাহরণস্বরূপ, লগফিল কত দ্রুত বাড়ছে তা দেখার জন্য দরকারী)।


114
2018-04-30 21:07





আমি ব্যবহার পছন্দ করি less +FG1 উপর tail -f কারণ আমি নিজেকে একটি নির্দিষ্ট ত্রুটি বা আইডি জন্য একটি লগ ফাইল অনুসন্ধান করার প্রয়োজন। আমি কিছু অনুসন্ধান করতে হবে, আমি টাইপ ^C ফাইল অনুসরণ বন্ধ এবং ? পিছনে অনুসন্ধান শুরু।

কী বাইন্ডিং হিসাবে অনেক অনেক হয় vi। কোন কমান্ড ব্যবহার করে প্রারম্ভে শুরু করা যেতে পারে + বিকল্প:

+cmd   Causes  the  specified  cmd  to be executed each time a new file is
       examined.  For example, +G causes less to  initially  display  each
       file starting at the end rather than the beginning.

সত্যিই দীর্ঘ লগ জন্য, আমি এটা ব্যবহার সুবিধাজনক খুঁজে -n লাইন সংখ্যায়ন বন্ধ করে যা বিকল্প। Manpage থেকে:

-n or --line-numbers
          Suppresses line numbers.  The default (to use line numbers)  may
          cause  less  to run more slowly in some cases, especially with a
          very large input file.  Suppressing line  numbers  with  the  -n
          option  will  avoid this problem.  Using line numbers means: the
          line number will be displayed in the verbose prompt and in the =
          command,  and the v command will pass the current line number to
          the editor (see also  the  discussion  of  LESSEDIT  in  PROMPTS
          below).

1. Hat- টিপ rgmarcha মন্তব্য আউট এই ইঙ্গিত জন্য।


33
2018-04-30 23:44



একটি সেট মনে রাখবেন alias আপনার পছন্দসই অপশন দিয়ে, তাই আপনাকে প্রতি একক সময় তাদের টাইপ করতে হবে না। - Michael Hampton♦
প্রকৃতপক্ষে, আপনি সাধারণত বেশিরভাগ ক্ষেত্রে আলাইজিস উপর শেল ফাংশন পছন্দ করা উচিত। - tripleee


inotifywait থেকে inotify-সরঞ্জাম ফাইলটি (অথবা কোনও ডিরেক্টরিতে যে কোনও ফাইল) পরিবর্তন করার সময় আপনি কমান্ড চালাতে চান তবে এটি কার্যকর। উদাহরণ স্বরূপ:

inotifywait -r -m -e modify /var/log | 
   while read path _ file; do 
       echo $path$file modified
   done

27
2018-06-02 12:13





লেজটি দুর্দান্ত ... কম ফাইলটি ব্যবহার করা যেতে পারে যেমন কম মাইনফিল তারপর F চাপুন। এটিতে লেজ হিসাবে কম কাজ আছে।


19
2018-04-30 21:04



কম + এফ Myfile এটি করা হবে - rgmarcha


আমি একটি LaTeX ফাইল সম্পাদনা করছি এবং মাঝখানে কোথাও পরিবর্তনের জন্য এটি নিরীক্ষণ করতে চেয়েছিলাম। আমি নীচের ছোট ছোট শেল স্ক্রিপ্ট whipped যে আমার কাছে প্রমাণিত। আমি এটা অন্য কেউ কাজে লাগাতে আশা করি।

#!/bin/bash
FILE="$1"
CMD="$2"
LAST=`ls -l "$FILE"`
while true; do
  sleep 1
  NEW=`ls -l "$FILE"`
  if [ "$NEW" != "$LAST" ]; then
    "$CMD" "$FILE"
    LAST="$NEW"
  fi
done

হিসাবে এটি সংরক্ষণ করুন watch.sh এবং কর chmod u+x watch.sh। তারপর আমি নিম্নরূপ এটি চালানো:

./watch.sh file.tex pdflatex

যদি আপনি প্রকৃত সংশোধনটি সঞ্চালনের জন্য শুধুমাত্র কমান্ডটি চালাতে চান তবে আপনি এটি ব্যবহার করতে পারেন `md5sum "$FILE"` পরিবর্তে `ls -l "$FILE"`


12
2017-10-10 09:32



একটি ফাইলের পরিবর্তে ডিরেক্টরি এবং তাদের সামগ্রী দেখতে: NEW=`tree -sDct . -I 'ignore_pattern|another_pattern'` - Andy


আপনি ব্যবহার করতে পারেন tailf  তার খুব সহজতম কমান্ড

tailf logfile.log

7
2017-10-15 13:26





আপনি inotifywatch / inotifywait ব্যবহার করতে পারেন যা কার্নেলগুলিকে সাব-সিস্টেমে ইনোটাইফ করে। এই ভাবে আপনি "খোলা", "বন্ধ" বা "অ্যাক্সেস" মত বিষয়গুলির জন্যও নজর রাখতে পারেন।

কিন্তু আপনি কেবল stdout যোগ করা লাইন পেতে চান তাহলে আমি লেজ উপর একমত।


5
2018-04-30 22:40





পুচ্ছ স্ট্যান্ডার্ড, ঐতিহ্যগত, সর্বত্র ইউনিক্স টুল পাওয়া যায়। একটু বেশি পরিশীলিত হাতিয়ার multitail যা একযোগে বেশ কয়েকটি ফাইল নিরীক্ষণ করতে পারেন এবং সিনট্যাক্স হাইলাইট করে।


2
2018-04-30 22:58





যদি আমি ফাইলটিকে কেবল লেজ করার পাশাপাশি ফাইলটি সন্ধান করতে সক্ষম হতে চাই, তবে আমি "F" কমান্ড দিয়ে কম ব্যবহার করি।

পুচ্ছ ব্যবহার করার সময়, মনে রাখবেন যে ফাইলটি রোলিং বা প্রতিস্থাপিত হতে পারে (ভিম এর জন্য ডিফল্ট মোড: w) দ্বারা অতিরিক্ত প্রতিস্থাপনের প্রয়োজন হয়।

tail -f লেজ ফাইল বর্ণনাকারী সংরক্ষণ এবং এটি অনুসরণ করবে। যদি ফাইল প্রতিস্থাপিত হয় বর্ণনাকারী পরিবর্তন করা হবে। ফাইল বর্ণনাকারী অনুসরণ করার সুবিধা হল যে যদি ফাইলটির নামকরণ করা হয় তবে আপনি এখনও এটি অনুসরণ করতে পারবেন।

tail --follow = এটি প্রতিস্থাপিত হয়েছে কিনা তা দেখার জন্য পর্যায়ক্রমে পুনঃপুন করে নামযুক্ত ফাইলটি লেজটিকে টেক করবে।

--retry অন্য একটি কার্যকর বিকল্প যদি আপনি একটি লগ ফাইল লেজ করতে চান তবে ফাইলটি এখনও তৈরি করা হয়নি।

tail -F --follow = --retry এর জন্য একটি শর্টকাট।


2
2018-05-27 15:47