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.