এটি করার জন্য আমরা .bash_history
ফাইল থেকে রেকর্ড ব্যবহার করব । পরবর্তী কমান্ড আপনাকে সমস্ত কমান্ডের একটি তালিকা দেবে যাতে আপনি সেগুলি প্রায়শই ব্যবহার করেছেন:
history | awk 'BEGIN {FS="[ \t]+|\\|"} {print $3}' | sort | uniq -c | sort -nr
যদি আপনি কেবল শীর্ষ 10 চান, আপনাকে অবশ্যই head
উপরের কমান্ডটিতে যুক্ত করতে হবে :
history | awk 'BEGIN {FS="[ \t]+|\\|"} {print $3}' | sort | uniq -c | sort -nr | head
একটি নির্দিষ্ট শীর্ষ পেতে, উদাহরণস্বরূপ শীর্ষ 5, বিকল্পটি head
সহ ব্যবহার করুন -n 5
:
যদি আপনি তালিকাটি বিপরীত ক্রমে চান (খুব কম ব্যবহৃত কমান্ড সহ শীর্ষে), r
দ্বিতীয়টির জন্য ওপরিয়ন ব্যবহার করবেন না sort
:
history | awk 'BEGIN {FS="[ \t]+|\\|"} {print $3}' | sort | uniq -c | sort -n
এবং অবশেষে একবার ব্যবহার করা কমান্ডগুলির সাথে একটি তালিকা পেতে, ব্যবহার করুন grep ' 1 '
( 1
পছন্দসই সংখ্যার সাথে পরিবর্তন করুন ):
history | awk 'BEGIN {FS="[ \t]+|\\|"} {print $3}' | sort | uniq -c | grep ' 1 '
sudo
কমান্ডগুলির সাথে ডিল করতে (যেমন sudo vim foo
) কেবলমাত্র {print $3}
awk কমান্ডের পরিবর্তে , ব্যবহার করুন:
{if($3 ~ /sudo/) print $4; else print $3}
সুতরাং পুরো কমান্ডটি দেখতে হবে:
history | awk 'BEGIN {FS="[ \t]+|\\|"} {if($3 ~ /sudo/) print $4; else print $3}' | sort | uniq -c | sort -nr
উদাহরণ স্বরূপ:
$ history | awk 'BEGIN {FS="[ \t]+|\\|"} {print $3}' | sort | uniq -c | sort -nr | head
284 vim
260 git
187 find
174 man
168 echo
149 rm
134 awk
115 pac
110 sudo
102 l
$ history | awk 'BEGIN {FS="[ \t]+|\\|"} {if($3 ~ /sudo/) print $4; else print $3}' | sort | uniq -c | sort -nr | head
298 vim
260 git
189 find
174 man
168 echo
153 rm
134 awk
115 pac
102 l
95 cd
আপনার জন্য গন্য মধ্যে লাফ দেখতে পারেন vim
, rm
ইত্যাদি