Bazen kullanmayı unuttuğumuz ilginç ve faydalı komutları sistemimizde örtük olarak sürdürüyoruz. Bu durumda geçmişimizle biraz oynamamıza izin veren bir tane kullanacağız.
Basit bir örnek verelim, bir terminal açalım ve şunu koyalım:
$ nano /etc/sudoers
Yönetici değilsek dosyayı düzenleyemeyeceğimizi anlayacaklar. Hadi sudo kullanalım ama koyduğumuz komutu tekrar etmemek için:
$ sudo !!
Ve bu tekrar edecek:
$ sudo nano /etc/sudoers
Yani komut !! terminalde daha önce çalıştırdığımız komutu tekrarlayacak. Geçmişteki numarasını bilmeden daha önce olmayan başka bir komutu da çalıştırabiliriz.
Bir terminal açın ve şunu koyun:
$ history
Benim durumumda şöyle bir şey çıkıyor:
[kod] 495 cd Masaüstü /496 ls
497 wget -c http://cinnamon.linuxmint.com/tmp/blog/119/classic.png
498 cd
499 cvlc Müzik / Jamendo / The \ Patinettes \ - \ Bliss \ - \ 2011.06.03 /
500 cvlc Müzik / Rock /
[/ Code]
Komutu çalıştırırsam !! önceki komut çalıştırılır, bu durumda:
$ cvlc Música/Rock/
Ancak, örneğin şu komutu yürütmek istiyorsanız:
$ wget -c http://cinnamon.linuxmint.com/tmp/blog/119/classic.png
Sadece şunu koymak zorundayım:
$ !497
497, komutun önündeki sayıdır. Basit değil mi?
Vay canına, bunu bilmiyordum, çok iyi bilgi, teşekkürler.
Bu beni yukarı ok | start'a basmaktan kurtarıyor. Bilgi için teşekkürler.
Bunu çok kullanışlı buluyorum, bu komut araması için Ctrl + R ile birlikte ttys'deki deneyimi daha da keyifli hale getiriyor.
Genellikle bir takma ad filtrelemek için:
alias h='history | egrep -i'
Aslında şimdi düşünüyorum da, belki de bunun gibi bir işlevi .bashrc:
h () {
# Función para listar comandos del historial
HISTERROR="Se puede utilizar como máximo un parámetro."
if [ $# -eq 0 ] ; then
history | less
elsif [ $# -eq 1 ] ; then
history | egrep -i $1 | less
else
echo $HISTERROR
fi
}
Bu şekilde, sadece kullan h tarihteki tüm komutları listelemek için veya h parametresi parametreyle eşleşen komutları listelemek için (bu arada, normal ifadelere izin verir).
Yönlü kullanıyorum. Sonra denerim.