01Konum
- ~/.bash_history (bash default HISTFILE)
- $HISTFILE (zsh: no history file is written if HISTFILE is unset)
02Yanıtladığı sorular
- Bir kullanıcı etkileşimli kabuklarda hangi komutları çalıştırdı?
- Bir komut ne zaman başlatıldı ve ne kadar sürdü (zsh EXTENDED_HISTORY)?
- Komut satırından araç indirildi mi, dosya hazırlandı mı veya günlükler temizlendi mi?
03Biçim ve sürümler
| Biçim | Düz metin, her satırda bir komut. bash: her komuttan önce isteğe bağlı '#<epoch'tan bu yana saniye>' zaman satırları. zsh EXTENDED_HISTORY: ': <başlangıç zamanı>:<geçen saniye>;<komut>'. |
|---|---|
| Geçerli olduğu sürümler | Güncel GNU Bash ve zsh kılavuzlarında belgelenen davranış; varsayılanlar dağıtım veya kullanıcı başlangıç dosyalarıyla değiştirilebilir. |
04Temel alanlar
| Alan | Ne anlatır |
|---|---|
| Command line | Geçmiş genişletmesinden sonra girildiği hâliyle komut. |
| #<digits> (bash) | HISTTIMEFORMAT ayarlandığında yazılan, sonraki girdiye ait zaman satırı. |
| : <beginning time>:<elapsed seconds>; (zsh) | Epoch'tan bu yana saniye cinsinden başlangıç zamanı ve saniye cinsinden süre. |
05Zaman damgaları
| Alan | Kodlama | Not |
|---|---|---|
| bash '#' line | Unix seconds (decimal text) | Yalnızca geçmiş yazılırken HISTTIMEFORMAT ayarlıysa bulunur. |
| zsh beginning time | Unix seconds (decimal text) | Yalnızca EXTENDED_HISTORY (veya aynı biçimi yazan SHARE_HISTORY) ile bulunur. |
Ham değerleri Zaman damgası çözücü, yerel saatleri ise Yerel saatten UTC'ye ile çözün.
06İnceleme akışı
- root dahil her hesabın geçmiş dosyalarını ve HISTFILE, HISTCONTROL ve geçmiş seçeneklerini ayarlayan başlangıç dosyalarını toplayın.
- Satırların zaman damgası taşıyıp taşımadığını bilmek için kabuğu ve etkin seçenekleri belirleyin.
- Zaman satırlarını UTC'ye çevirin ve satırların özgün sırasını koruyun.
- Komutları journal, kimlik doğrulama günlükleri ve dosya sistemi zamanlarıyla doğrulayın.
07Yorum tuzakları
- bash geçmişi kabuk kapanırken yazar ve histappend ayarlı değilse dosyanın üzerine yazar; sonlandırılan bir kabuk kayıt bırakmayabilir.
- HISTCONTROL=ignorespace (bash) ve HIST_IGNORE_SPACE (zsh) boşlukla başlayan komutları kaydetmez.
- Dosyalar HISTFILESIZE/SAVEHIST değerine göre kısaltılır ve kullanıcı tarafından kolayca düzenlenebilir veya silinebilir.
- Zaman satırları yoksa tek sıralama satır sırasıdır ve birden çok oturum iç içe geçebilir.
09Kaynaklar
- Bash Reference Manual — Bash History Facilities GNU Project · erişim 2026-10-14
- Bash Reference Manual — Bash Variables GNU Project · erişim 2026-10-14
- Why do bash history files save timestamps in Unix (Epoch) time? Red Hat Customer Portal · erişim 2026-10-14
- zsh manual — Options (History) zsh project · erişim 2026-10-14
- zsh manual — Parameters Used By The Shell zsh project · erişim 2026-10-14