डिफ़ॉल्ट रूप से, ऐसी कोई जगह नहीं है जहां सभी आदेशों को रिकॉर्ड किया जाता है और अनिश्चित काल तक रखा जाता है, हालांकि ~/.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}
में वर्तमान में निष्पादित की जा रही कमांड है।