Android

Linux'ta Tarih Komutu (Bash Tarihi)

Что такое Linux, обзор, отличия. Какой Linux выбрать в 2020

Что такое Linux, обзор, отличия. Какой Linux выбрать в 2020

İçindekiler:

Anonim

, daha önce yürütülen komutların bir listesini görüntülemenize, listede arama yapmanıza ve geçmiş dosyasını değiştirmenize olanak tanıyan history komutu hakkında konuşacağız.

history Komutunu ve Geçmiş Genişletmelerini Kullanma

history bir kabuk yerleşiktir ve davranışı kabuktan kabuğa biraz farklı olabilir. history Bash yerleşik versiyonunu ele alacağız.

En basit şekliyle, herhangi bir seçenek veya bağımsız değişken olmadan çağrıldığında, history komutu tüm geçmiş listesini satır numaralarıyla görüntüler.

history

… 467 git push 468 tail -f var/logs/error 469 nano +22, 5 functions.sh 470 source project-env/bin/activate 471 history

!n yazmak, geçmiş listesinden !-n . Komutu çalıştırır ve !-n komutu n satır geri döner. Aşağıdaki örnekte komutu 467 satırında yürütüyoruz:

!467

Bir komut yürütmenin başka bir yolu da !word genişletme kullanmaktır. word , 'word' ile başlayan en son komutu ifade eder.

history , genellikle ekrana sığmayan birçok çıktı satırı görüntüler. Çıktıyı her seferinde bir sayfa görüntülemek için, more veya less komut gibi bir çağrı programına bağlayın:

history | less

Son n satırı görüntülemek için, sayıyı bağımsız değişken olarak komuta iletin. Örneğin, geçmiş listesinden yalnızca son beş satırı görüntülemek için şunu yazarsınız:

history -5

Listedeki girişlerde gezinmek için up ve down ok tuşlarını kullanın. Aradığınız komut gösterildiğinde, yürütmek için Enter tuşuna basın.

Tür !! önceki komutu yürütmek için:

!!

Bu özellikle sudo ile bir komutu ters çevirmeyi unuttuğunuzda kullanışlıdır ve komutu yeniden yazmak yerine şunu yazabilirsiniz:

sudo !!

!-1 ile aynıdır !! ve geçmiş listesinden son komutu, sondan !-2 saniye, vb. yürütür.

^word1^word2^ genişleme, “word1” yerine “word2” yerine geçen son komutu yeniden çalıştırmanızı sağlar. Yanlışlıkla sudo command sduo command yerine sduo command yazdıysanız, doğru sözcüğü kullanarak komutu tekrarlayabilirsiniz:

^sduo^sudo^

grep filtre uygulamak için grep komutunu kullanın. Örneğin, “nano” dahil olmak üzere tüm komutları görüntülemek için:

history | grep nano

302 sudo nano /etc/resolv.conf 356 nano setup.py 413 sudo nano /etc/hosts 469 nano +22, 5 functions.sh

Şimdi, nano setup.py komutunu yeniden çalıştırmak istiyorsanız şunu yazın:

!356

Komut geçmişinde arama yapmanın başka bir yolu da Ctrl-R basmaktır. Komut istemi aşağıdaki şekilde değişecektir ve daha önce yürütülen bir komutu aramaya başlayabilirsiniz.

(reverse-i-search)`':

Kabuk eşleşen bir çizgi görüntüler. Bir sonraki eşleşen öneriye gitmek için tekrar Ctrl-R basın.

Geçmiş Genişletme, değiştiriciler ve göstergeler hakkında daha fazla bilgi için Bash kılavuzuna bakın.

Geçmiş Listesini Kaydetme

Varsayılan olarak, yeni bir oturum başlatırken Bash geçmiş listesini .bash_history dosyasından okur. Geçerli oturumda yürütülen komutların listesi bellekte tutulur ve oturum kapatıldığında dosyaya kaydedilir.

-a seçeneği, geçerli oturum geçmişi listesini .bash_history dosyasına kaydetmenizi sağlar:

history -a

-w seçeneği, geçmiş listesinin tamamını geçmiş dosyasına yazar.

history -w

Takas Tarihi

history komutu, geçmiş listesini tam olarak silmenizi veya belirli parçaları silmenizi sağlar.

Geçmiş listesini temizlemek için -c seçeneğini kullanın:

history -c

Geçmiş listesinden başlangıç ​​ve bitiş konumları arasındaki belirli bir satırı veya çizgileri silmek için -d seçeneğini kullanın.

Örneğin, 365 ile 375 arasındaki satırları (bu satırlar dahil) kaldırmak için şunu yazarsınız:

history -d 365 375

Negatif bir tamsayı kullanıldığında, çizgiler geçmiş listesinin sonundan geriye doğru sayılır.

Yukarıdaki komutlar, bellekte tutulan ancak diskteki .bash_history dosyasındaki girdileri kaldırmayan geçmiş listesini temizler. Dosyayı temizlemek için dosyaya geçmiş listesini yazmanız gerekir:

history -c history -w

Geçmiş Davranışını Değiştirme

Bash geçmişinin davranışı, birkaç farklı ortam değişkeni kullanılarak tanımlanabilir. Geçmiş davranışını değiştirirken, ~/.bashrc veya kullanıcı oturum açtığında yüklenen herhangi bir yapılandırma dosyasında değişkenleri ayarlayın.

Varsayılan olarak Bash, komut geçmişi listesinde 500 satır tutar. HISTSIZE değişkeni bu değeri değiştirmenizi sağlar. 10000 olarak ayarlamak için aşağıdaki satırı .bashrc dosyanıza .bashrc :

HISTSIZE=10000

HISTCONTROL değişkeni, komutların geçmiş listesine nasıl kaydedileceğini tanımlayan iki nokta üst üste HISTCONTROL değerler listesini kabul eder:

  • ignorespace - boşlukla başlayan komutlar geçmiş listesine kaydedilmez. ignoredups - yinelenen komutlar kaydedilmez. ignoreboth - hem ignorespace hem de ignorespace dahil olmak üzere bir ignoredups .

HISTCONTROL=ignoreboth

HISTTIMEFORMAT değişkeni ayarlandığında, Bash her satırdaki komut için bir yürütme zaman damgası hazırlar.

Örneğin, şunları ayarlarsanız:

HISTTIMEFORMAT="%F %T: "

Geçmiş şu biçimde görüntülenir:

413 2019-10-27 21:13:07: sudo nano /etc/hosts

Sonuç

history komutu, daha önce yürütülen komutların bir listesini görüntüler. Örneğin, daha önce hatırlayamadığınız uzun bir komutu görüntülemek için geçmişi kullanabilirsiniz.

tarih terminali