আমি জানি ইউনিক্সে একটি কমান্ড ছিল যা আমি কোনও ফাইল নিরীক্ষণ করতে এবং এতে লিখিত হয়ে যাওয়া পরিবর্তনগুলি দেখতে ব্যবহার করতে পারি। লগ ফাইলগুলি পরীক্ষা করার জন্য এটি বেশ কার্যকর ছিল।
আপনি কি জানেন এটি কি বলা হয়?
আমি জানি ইউনিক্সে একটি কমান্ড ছিল যা আমি কোনও ফাইল নিরীক্ষণ করতে এবং এতে লিখিত হয়ে যাওয়া পরিবর্তনগুলি দেখতে ব্যবহার করতে পারি। লগ ফাইলগুলি পরীক্ষা করার জন্য এটি বেশ কার্যকর ছিল।
আপনি কি জানেন এটি কি বলা হয়?
উত্তর:
tail -F
ফাইল বস্তুর চেয়ে ফাইলের নামগুলি অনুসরণ করবে যা লগ ফাইলের ঘূর্ণনের ক্ষেত্রে বিশেষভাবে কার্যকর।
tailf
এখন হ্রাস করা হয়েছে এবং tail -f
নিরাপদ। ( এটির সাথে আপনার সিস্টেমে এটি নিশ্চিত করুন man tailf
)) ডকুমেন্টেশন দেখুন: man7.org/linux/man-pages/man1/tailf.1.html
জন স্কিটির উত্তর অনুসারে আপনি সম্ভবত লেজকে বোঝালেন।
আর একটি দরকারী হ'ল ঘড়ি ; এটি আপনাকে পর্যায়ক্রমে একটি কমান্ড চালাতে এবং আউটপুট পূর্ণ স্ক্রিনটি দেখতে দেয়। উদাহরণ স্বরূপ:
ওয়াচ -এন 10-ডি এলএস-এল / ভার / অ্যাডম / বার্তা
ls -l /var/adm/messages
প্রতি 10 সেকেন্ডে কমান্ডটি চালাবে এবং পরবর্তী রানগুলির মধ্যে আউটপুটটির পার্থক্যটি হাইলাইট করবে। (উদাহরণস্বরূপ, একটি লগফিল কত দ্রুত বৃদ্ধি পাচ্ছে তা দেখার জন্য দরকারী)।
inotifywait
থেকে inotify-সরঞ্জাম আপনি একটি কমান্ড প্রত্যেক সময় একটি ফাইল (অথবা একটি ডিরেক্টরির মধ্যে কোন ফাইল) পরিবর্তন চালাতে চান দরকারী। উদাহরণ স্বরূপ:
inotifywait -r -m -e modify /var/log |
while read path _ file; do
echo $path$file modified
done
path
কোনও ভেরিয়েবল নামের জন্য সেরা পছন্দ নয়। চালু আছে zsh
, মনে হয় পরিবেশের ভারগুলি কেস-সংবেদনশীল নয়। আমার জন্য, সেটিংস সেট path
হয়ে PATH
যাওয়ার কারণও তৈরি করে এবং এর অর্থ হ'ল কোনও কিছুই কার্যকর হবে না যতক্ষণ না আপনি এটি ঠিক করেন। চালু bash
, সেটিংয়ের path
কোনও প্রভাব নেই PATH
।
আমি less +FG
1 ওভার ব্যবহার করতে পছন্দ করি 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
বিকল্পটি লাইন নম্বর বন্ধ করে দেয় এমনটি ব্যবহার করা সুবিধাজনক বলে মনে করি । ম্যানপেজ থেকে:
-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. মন্তব্যগুলিতে এটিকে নির্দেশ করার জন্য আরজিমারচায় টুপি-টিপ ।
alias
আপনার পছন্দসই বিকল্পগুলির সাথে একটি সেট করতে ভুলবেন না, যাতে আপনাকে প্রতি একক সময় এগুলি টাইপ করতে হবে না।
আমি একটি ল্যাটেক্স ফাইল সম্পাদনা করছি এবং মাঝখানে কোথাও পরিবর্তনের জন্য এটিও নিরীক্ষণ করতে চেয়েছিলাম। আমি নীচের ছোট্ট শেল স্ক্রিপ্টটি বেত্রাঘাত করেছিলাম যা আমার পক্ষে কার্যকর প্রমাণিত। আমি আশা করি এটি অন্য কারও কাজেও আসবে।
#!/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"`
।
NEW=`tree -sDct . -I 'ignore_pattern|another_pattern'`
আপনি টেলফ কমান্ডটি এর খুব সহজতম ব্যবহার করতে পারেন
tailf logfile.log
আমি যদি কেবল ফাইলটি লেজু করা ছাড়াও ফাইলটির চারপাশে অনুসন্ধান করতে সক্ষম হতে চাই তবে আমি "এফ" কমান্ডটি কম ব্যবহার করি।
লেজ ব্যবহার করার সময়, মনে রাখবেন যে অতিরিক্ত আর্গুমেন্টগুলি যদি ফাইলটি ঘূর্ণায়মান বা সম্পাদনা দ্বারা পরিবর্তিত হতে পারে (ভিএম এর জন্য ডিফল্ট মোড) needed
লেজ -f এর ফলে লেজটি ফাইল বর্ণনাকারী সংরক্ষণ করে এটি অনুসরণ করে। যদি ফাইলটি প্রতিস্থাপন করা হয় তবে ডেস্ক্রিপ্টর পরিবর্তন করা হবে। ফাইল বর্ণনাকারীর অনুসরণের সুবিধাটি হ'ল যদি ফাইলটির নাম পরিবর্তন করা হয় তবে আপনি এটি অনুসরণ করে চলেছেন।
লেজ - ফলো = নামকরণকৃত ফাইলটি পর্যায়ক্রমে পুনরায় খোলার মাধ্যমে এটি পুনরায় প্রতিস্থাপন করা হয়েছে কিনা তা জানতে টেল ট্র্যাক তৈরি করবে।
- যদি আপনি লগ ফাইলটি টেল করতে চান তবে ফাইলটি এখনও তৈরি হয়নি ret
লেজ -F হল --follow = --retry এর শর্টকাট।
লেজটি ভুলে যান, আপনার পছন্দসই আদেশটি ভিন্ন। পার্থক্যগুলি দেখার জন্য একটি ভাল কৌশল এখানে 2 টি ফাইলের মধ্যে রিয়েল টাইম (বা বন্ধ) বা একটি ফাইল লিখিত হওয়ার মধ্যে ঘটে happen
আপনি এই পদ্ধতিগুলি ব্যবহারটি যেভাবেই চান পরিবর্তন করতে, যেমন রেকর্ড রাখতে কোনও ফাইলের পরিবর্তনগুলি লেখার জন্য ব্যবহার করতে পারেন writing ঘড়ির ব্যবধান বা নীচের কমান্ডগুলির জন্য অন্যান্য বিকল্পগুলির সাথে প্রায় খেলুন।
আপনার কাছে ১ টি ফাইল রয়েছে এবং এতে পরিবর্তন করার সাথে সাথে আপনি দেখতে চান:
সুতরাং এখানে কি করতে হবে:
cp file file2
touch check-differences.sh
nano check-differences.sh
chmod 755 check-differences.sh
#!/bin/bash
diff file file2
cp file file2
watch ./check-differences
এটি প্রতি 2 সেকেন্ড ডিফল্টরূপে আপডেট হবে। সুতরাং আপনার যদি ফিরে যেতে এবং সেগুলি পড়ার দরকার হয় তবে স্ক্রিপ্টের কোনও ফাইলের জন্য আলাদা করে আউটপুট লিখুন।
অথবা আপনার স্ক্রিপ্টটি নিয়মিত চালানোর জন্য ক্রোন ব্যবহার করুন যদি আপনাকে আউটপুট দেখার প্রয়োজন হয় না।
tail -f somefile.txt
নতুন ডেটা দিয়ে স্ক্রোলিং চালিয়ে যাওয়ার সময় আমি কখনও কখনওless +G somefile.txt
ফাইলের সর্বশেষ ডেটাগুলির একটি প্যাচ দেখতেও পছন্দ করি ।