জেডশ শেলের মধ্যে ইতিহাস কমান্ডের জন্য ডেটটাইম স্ট্যাম্প কীভাবে দেখবেন


34

আমি যখন আমার উবুন্টু সার্ভারে হিস্ট্রি কমান্ডটি চালাচ্ছি, আমি আউটপুটটি নিম্নলিখিতভাবে পাই:

   history
   ...
   25  cd ~
   26  ls -a
   27  vim /etc/gitconfig
   28  vim ~/.gitconfig

আমি একটি নির্দিষ্ট ব্যবহারকারীর ডেটটাইম দেখতে চাই। তবে আমি যখন তাদের ধরে নিই:

su otheruser
export HISTTIMEFORMAT='%F %T  '
history
...
25  cd ~
26  ls -a
27  vim /etc/gitconfig
28  vim ~/.gitconfig

এটি এখনও তারিখের সময় দেখায় না। আমি zsh শেল ব্যবহার করছি।

উত্তর:


49

আমি বিশ্বাস করি হিস্টটাইমফর্মটি বাশ শেলের জন্য। আপনি যদি ব্যবহার করেন zshতবে আপনি এই স্যুইচগুলি historyকমান্ডটিতে ব্যবহার করতে পারেন :

উদাহরণ

$ history -E
    1   2.12.2013 14:19  history -E

$ history -i
    1  2013-12-02 14:19  history -E

$ history -D
    1  0:00  history -E
    2  0:00  history -i

আপনি যদি একটি করেন man zshoptionsবা man zshbuiltinsএই সুইচগুলি সম্পর্কিত আরও তথ্যের পাশাপাশি সম্পর্কিত অন্যান্য তথ্য জানতে পারেন history

zshbuiltins ম্যান পৃষ্ঠা থেকে উদ্ধৃতি

Also when listing,
  -d     prints timestamps for each command
  -f     prints full time-date stamps in the US `MM/DD/YY hh:mm' format
  -E     prints full time-date stamps in the European `dd.mm.yyyy hh:mm' format
  -i     prints full time-date stamps in ISO8601 `yyyy-mm-dd hh:mm' format
  -t fmt prints time and date stamps in the given format; fmt is formatted 
         with the strftime function with the  zsh extensions described for 
         the %D{string} prompt format in the section EXPANSION OF PROMPT 
         SEQUENCES in zshmisc(1).  The resulting formatted string must be no 
         more than 256 characters or will not be printed.
  -D     prints elapsed times; may be combined with one of the options above.

ডিবাগিং অনুরোধ

আপনি zshযখন অনুরোধ করেন তখন ডিবাগ করার জন্য আপনি নীচের দুটি পদ্ধতি ব্যবহার করতে পারেন ।

পদ্ধতি # 1

$ zsh -xv

পদ্ধতি # 2

$ zsh
$ setopt XTRACE VERBOSE

উভয় ক্ষেত্রেই যখন এটি শুরু হয় তখন এরকম কিছু দেখতে পাওয়া উচিত:

$ zsh -xv
#
# /etc/zshenv is sourced on all invocations of the
# shell, unless the -f option is set.  It should
# contain commands to set the command search path,
# plus other important environment variables.
# .zshenv should not contain commands that produce
# output or assume the shell is attached to a tty.
#

#
# /etc/zshrc is sourced in interactive shells.  It
# should contain commands to set up aliases, functions,
# options, key bindings, etc.
#

## shell functions
...
...
unset -f pathmunge _src_etc_profile_d
+/etc/zshrc:49> unset -f pathmunge _src_etc_profile_d

# Created by newuser for 4.3.10

6
"ইভেন্ট পাওয়া যায় নি: -i" "ইভেন্টটি পাওয়া যায় নি: -ই"। এই সুইচগুলি চালানোর আগে আমাকে কি কোনও কনফিগার ফাইলে কিছু লোড করা দরকার?
জনমার্লিনো

1
এর কোন সংস্করণ zsh? zsh --version। আমি কেবল উবুন্টু ১২.১০ তে নিশ্চিত হয়েছি যে আমি আপনাকে যে আদেশগুলি দিয়েছি তা ঠিকঠাক কাজ করেছে।
slm

17
@ জনমারলিনো আমার কাছে একটি সার্ভারে 4.3.10 (x86_64-অজানা-লিনাক্স-গনু) zsh ছিল যার জন্য আমি টাইমস্ট্যাম্প সহ ইতিহাস দেখতে চেয়েছিলাম। zshbuiltinsম্যান পৃষ্ঠাটি দেখার পরে , আমি আবিষ্কার করেছি যে আমার ব্যবহার করা দরকার fc। শেষ পর্যন্ত আমার জন্য যা কাজ করেছিল তা ছিল fc -li। আপনি কমান্ড নম্বরগুলিতেও পাস করতে পারেন fc, সুতরাং fc -li -100আপনার ইতিহাসে সর্বশেষ 100 কমান্ডগুলি তালিকাভুক্ত করে।
টমাস আপটন 13

21
আমাকে ব্যবহার করতে হবে \history -E, আমি ওহ-মাই-
জেডএস

1
ওহ-মাই-জেডএস সহ এটি দীর্ঘস্থায়ী (6+ বছর) বাগ, গিথুব এ
রোকোকো

20

history -Eবা history -iবা যাই হোক না কেন না আমার জন্য কাজ করে।

zsh --versionযে দেখায় zsh 4.3.6 (x86_64-suse-linux-gnu)

তাহলে fc -li 100কাজ! এটি টাইমস্ট্যাম্প সহ সাম্প্রতিক 100 কমান্ডগুলি দেখায় :)


ধন্যবাদ, এটি আমার পক্ষেও কাজ করেছে, শীর্ষ উত্তরের বিপরীতে। আমার সংস্করণ: zsh 5.1.1 (x86_64-ubuntu-linux-gnu)। এবং আমি এখানে থাকাকালীন: আপনি কীভাবে কমান্ডের সহায়তা পেতে জানেন fc? আমরাও man fcনা fc --helpকাজ
exhuma

@ ইজহুমা কেন এটি গুগল নয় :)
গ্যাব 好人 好人

@ গ্যাব 是 好人 আপনার কি ইতিহাসের উপাধি আছে? আপনি যদি oh-my-zshইতিহাসের কমান্ডটি ব্যবহার করছেন -lতবে বিকল্পগুলির মধ্যে একটিতে পতাকা যুক্ত করা হবে । দেখতে github.com/robbyrussell/oh-my-zsh/blob/master/lib/...
মাইক ডি

1
fc -lfএকটি সম্পূর্ণ টাইমস্ট্যাম্প দেখাবে। নোট করুন যে এটি কেবল zsh এ কাজ করে, ব্যাশের উপর নয়।
dr01

@exhuma zsh এ আপনি ব্যবহার করতে পারেন run-help fc
xuhdev

4

আপনি যদি oh-my-zshঅ্যাডন ইন ব্যবহার করেন zsh, history -Eবা অভ্যাস করেন না history -i(কারণ এটির সাথে সম্পর্কিত হয় fc -l 1)।

@ জুয়ানপাস্তাস যেমন উল্লেখ করেছেন, চেষ্টা করুন

\history -E

অথবা

\history -i

অথবা

fc -li 100


1
আমি কেবল যুক্ত করেছি: 'historyরফের ইতিহাস = "fc -li 1"' আমার alias / .zshrc ফাইলে ইতিহাসের নামটি পুনরায় সংজ্ঞায়িত করতে এবং এটি এখন পছন্দসই হিসাবে কাজ করছে!
ব্যবহারকারীর 886869

বা আরও ভাল: 'ওরফে ইতিহাস = "ইতিহাস -i"। এইভাবে আপনি একই কমান্ডটি ওরফে চালাতে পারেন এবং আপনি যদি আরও কী / বিকল্প যুক্ত করতে চান তবে এটি বিভ্রান্তিকর নয়।
ডঃ বেকো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.