Linux terminalinin “tarihçe” özelliği vardır. Bu özellik sayesinde girdiğiniz her komut işlemi daha sonra yedeklenir. Tüm terminal komutlarınız “tarihe” kaydedildiğinden, güvenliğini sağlamak için bir yedeğini almak önemlidir.
Bu kılavuzda, Linux terminal geçmişini nasıl yedekleyeceğinizi ve yedeklemeleri nasıl geri yükleyeceğinizi göstereceğiz. Böylece, en sevdiğiniz Linux terminal emülatörünü açın ve devam edin!
Linux terminal geçmişi nerede saklanır?
Linux terminali tarihini bir dosyada saklar. Bu dosya “.bash_history” olarak adlandırılmıştır. Herkes dosyayı düzenleyebilir ve ana dizinde saklanır. Linux için terminal geçmişi dosyası bir kullanıcı dizininde saklandığından, sistemdeki her kullanıcının bir dosyası vardır.
Özel izinler bu tarihi korumazdosyalar ve sistemdeki herhangi bir kullanıcı basit bir komutla bir başkasının geçmişine bakabilir. Örneğin, Linux sistemimdeki “user” kullanıcı adı terminali / komut satırı geçmişine bakmak istersem, yapacağım:

cat /home/user/.bash_history
Kullanıcılar ayrıca “terminal” komutunu uygulayarak Linux terminal kabuğuna giriş yaptıkları kullanıcının geçmişini de görebilirler.
history
Hepsinden iyisi, “tarihçe” sadece bir dosya olduğundan, grep işlevini kullanarak normal bir metin dosyası gibi aranabilir. Örneğin, kullanıcı adında "git clone" örneklerini aşağıdaki komutla bulmak için.
cat /home/user/.bash_history | grep "git clone"
Ayrıca “history” komutuyla giriş yapmış olan kullanıcı olarak da çalışır.
history | grep "search term"
Terminal geçmişini bir yedeklemeye kaydet
Bu rehberin önceki bölümünde konuştumLinux terminali için “tarihçenin” kullanıcı tarafından girilen tüm komutları içeren, tamamen gizli bir metin dosyası olduğu hakkında. Şey, sadece bir dosya olduğundan, bu, koruma için yedekleme yapmanın çok kolay olduğu anlamına gelir.
Yedekleme oluşturmak için kedi Komut. Neden? İle kedi, bir metin dosyasının tamamını doğrudan terminalde görüntüleyebilirsiniz. Görüntüleme çıkışını bir yedekleme dosyasına yönlendirmek için bu komutu “>” sembolüyle birlikte kullanabiliriz.
Örneğin, geçerli geçmişinizi yedeklemek için kedi “~ / .bash_history” ye karşı komut verin ve “history_backup” etiketli bir dosyaya kaydedin.

cat ~/.bash_history > history_backup
Ayrıca çalıştırabilirsiniz Tarih “>” ile birlikte komut verin ve bu şekilde kaydedin.
history > history_backup
Son olarak, aşağıdaki komutu çalıştırarak oturum açmamış başka bir kullanıcının komut satırı / terminal geçmişini yedeklemek mümkündür.
Not: “kullanıcı adını”, geçmişi kaydetmek istediğiniz kullanıcı olarak değiştirdiğinizden emin olun.
cat /home/username/.bash_history > history_backup
Yalnızca belirli geçmiş öğelerini yedekleme
Linux terminal geçmişinizde yalnızca belirli komutları yedeklemek isteyebilirsiniz. Bunu yapmanın yolu, geçmiş dosyasını görüntülemek ve onu birleştirmektir. grep belirli anahtar kelimeleri filtreleyen komut.
Örneğin, yalnızca Linux terminal geçmişinizde bulunan ve komutları içeren komutları yedekleme git klonu veya git komutları aşağıdaki işlemi çalıştırabilirsiniz.
Not: Bu örneklerde, “>” yerine “>>” kullanıyoruz. “>>” nin nedeni, geçmiş dosya yedeklemesinin üzerine yazılmaması ve eklenmesi için birden çok kez yeniden çalıştırılabilmesidir. yedekleme.
cat ~/.bash_history | grep "git" >> history_backup
Veya
cat /home/username/.bash_history | grep "git" >> history_backup
İle filtreleme grep ayrıca uygulanabilir Tarih emir gibi.
history | grep "git" >> history_backup
Belirli anahtar kelimeleri geçmiş dosyasından yedeklemek için, yukarıdaki örneklerde "git" komutunu yedeklemek istediğiniz komutla değiştirin. Bu komutu gerektiği kadar tekrar çalıştırmaktan çekinmeyin.
Geçmiş yedeklemesini geri yükleme
Geçmiş yedeğini geri yüklemek, orijinal dosyayı silmek ve yedeği yerine koymak kadar basittir. Orijinal geçmiş dosyasını silmek için rm “.bash_history” silmek için bir terminal penceresinde komut.
rm ~/.bash_history
Orijinal geçmiş dosyası, geçmişi geri yüklemek istediğiniz kullanıcının giriş klasöründen silindiğinde, mv “history_backup” ismini “.bash_history” olarak değiştirin.
mv history_backup ~/.bash_history
Şimdi yeni geçmiş dosyası yerinde olduğunda, tarihçe -rw terminalin geçmiş işlevini yeniden yükleme komutu.
history -rw
Ardından terminal geçmişinizi aşağıdakilerle görebileceksiniz:
history
Diğer kullanıcılar için yedekleri geri yükle
Geçmiş yedeklerini sistemdeki diğer kullanıcılardan geri yüklemeniz mi gerekiyor? Bunu yapmak için, kullanıcılarını kullanarak oturum açarak başlayın. su Komut.
su username
Kullanıcıya giriş yaptıktan sonra, kullanıcının ana dizininde bulunan mevcut geçmiş dosyasını silin (~).
rm ~/.bash_history
Oradan, geçmiş yedekleme dosyasını kullanıcının dizinindeki yeni “.bash_history” dosyası olarak yeniden adlandırın.
mv /path/to/backup/file/history-backup ~/.bash_history
Değişiklikleri ile yazın:
history -rw
Tamamlandığında koş Tarih geri yüklenen komutları terminal penceresinde görüntülemek için.
Yorumlar