Kaydedilmiş komutları Terminal'den nasıl silebilirim?


16

Hepinizin bildiği gibi, Mac OS X, Terminal'deki Terminal'den çalışan tüm komutları saklar, ancak son 3 komutu terminalden silmek istiyorum (örneğin). Bunu nasıl yapabilirim?

Yanıtlar:


12

Mac OS hiçbir yerde saklamaz.

bashTerminalde çalıştırılan kabuk olan komut geçmişini saklar.

Terminal komut geçmişi, kullanıcı dizininizdeki gizli bir dosyada .bash_history

Bu, dosyanın: /Users/{username}/.bash_history

Görmek için "Sistem Dosyalarını Göster" i etkinleştirmeniz gerekir (bulucunun "Görünüm" menüsünden).

Dosya, kabuğa yazdığınız her şeyin metinsel bir listesidir. TextEdit veya seçtiğiniz düzenleyicinizde açabilirsiniz.


Terminal.appDeğişiklik yapmadan önce dosyadaki son değişiklikleri temizlemek için büyük olasılıkla kapatmanız gerekir , aksi takdirde Terminal.appbellekte bulunan bir sürümden üzerine yazılabilir .


2
Komutlar anında değil, yalnızca kabuktan çıktığında veya istendiğinde (örn . history -aVeya history -w) depolanır . Genellikle son komutlar henüz dosyada değildir.
Matteo

Hata! Bu dosyayı düzenlemeden önce terminal.app'ın tüm örneklerini kapatmanız gerektiğini eklemek istedim. Sabit.
Sahte Adı

19

Bir Mac OS özelliği değil, bir kabuk özelliği. Bash kullandığınızı varsayarsak (varsayılan):

  • komut geçmişi bellekte saklanır ve bir dosyada kalır (genellikle ~/.bash_history)
  • geçmişi historykomutla listeleyebilir ve düzenleyebilirsiniz

İle man bash(içinde SHELL BUILTIN COMMANDSbölüm) Farklı seçeneklerin açıklamalarını bulacaksınız.

Yapabilirsin:

  • geçmiş girişlerini listele

    $ history
  • tüm geçmişi sil

    $ history -c
  • belirli bir girişi sil

    $ history -d offset

her iki cevap da doğrudur, en erken olanı seçtim .. teşekkür ederim kardeşim ..
JAHelia

tarih -c yaparken, diyor fc: event not found: -c. Sonra dosyayı el ile açtım, içeriği sildim. Closed and reopened the terminalve tarih artık mevcut değil.
meraklı

2

Mac Terminal kullanıcısı için

bash komutları geçmişini aşağıdaki komutla sil $ echo '' > ~/.bash_history

Mac zsh kullanıcısı için

Aşağıdaki komutla zsh komutları geçmişini sil $ echo ''> ~/.zsh_hostory


Bunun yalnızca son üç satırı değil, tüm geçmişi sileceğini unutmayın.
John N

0

Metin Düzenleme'ye ek olarak, Eski okul iseniz, dosyayı düzenlemek ve saldırgan komutları kaldırmak için 'vi' kullanın. Benzer komut satırı editörleri emacs (OS X ile düzenleme kısayollarını paylaşır) veya nano (referans sayfasına ihtiyaç duymadan düzenleyiciyi nasıl kaydedip bırakacağınız konusunda basitleştirilmiş gezinme ve görsel yardıma sahiptir) .


1
Bu , kabul edilen cevapta bulunan " TextEdit veya seçtiğiniz düzenleyicinizde açabilirsiniz" kapsamındadır .
John N

Cevapların kendi başlarına kalmasını tercih ediyoruz. Şu anda bir yanıttan daha çok bir yorum, en azından düzenlenecek dosyanın adını ekleyebilir misiniz?
nohillside
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.