ডিফল্টরূপে, এমন কোনও জায়গা নেই যেখানে সমস্ত কমান্ড রেকর্ড করা হয় এবং অনির্দিষ্টকালের জন্য রাখা হয়, যদিও ~/.bash_history
এর আগে কয়েকটি কমান্ড রয়েছে (যদি আপনি ব্যবহার করেন bash
তবে এটি উবুন্টুতে ডিফল্ট শেল)।
আপনি যদি চান প্রতিটি কমান্ড চিরকালের জন্যbash
রেকর্ড করা থাকে তবে আপনাকে এটি নিজে সেট আপ করতে হবে। উদাহরণস্বরূপ, আপনি শেলটিতে ~/.bashrc
টাইপ করা সমস্ত কমান্ড ফাইলটিতে লগ করতে আপনার ফাইলটিতে নিম্নলিখিতটি রাখতে পারেন :bash
~/.command_log
# log every command typed and when
if [ -n "${BASH_VERSION}" ]; then
trap "caller >/dev/null || \
printf '%s\\n' \"\$(date '+%Y-%m-%dT%H:%M:%S%z')\
\$(tty) \${BASH_COMMAND}\" 2>/dev/null >>~/.command_log" DEBUG
fi
উপরেরটি একটি ফাঁদ সেট করে DEBUG
, যা একটি সাধারণ কমান্ড কার্যকর হওয়ার ঠিক আগে কার্যকর করা হয়। caller
বিল্ট-ইন পরীক্ষা কিনা কমান্ড একটি ইন্টারেক্টিভ শেল এ টাইপ করা হচ্ছে বা ভালো কিছু মাধ্যমে চালানোর জন্য ব্যবহার করা হয় ~/.bashrc
। মান ${BASH_COMMAND}
কমান্ড বর্তমানে মৃত্যুদন্ড কার্যকর করা হচ্ছে ধারণ করে।