1. Son komutu !! ile yürütün.
Başlık her şeyi anlatıyor, sadece aşağıdakini bir terminale girin ...
!!
… Girilen son komutu yeniden çalıştırmak için. Girmeyi unuttuğumuzda bu numara çok kullanışlıdır. sudo başlangıçta. Bu durumda, şunu girmeniz gerekir:
ter !!
Bu numaradan en iyi şekilde yararlanmanın daha karmaşık yollarını keşfetmek için şunu okumanızı tavsiye ederim eski gönderi.
2. Son komutu çalıştırın, ancak bir yazım hatasını düzelterek
Bu numara, basit bir yazım hatası ile bir komut girdiğimizde gerçekten kullanışlıdır. Örneğin, koşarsak:
Eko "desdelinuxz"
Aşağıdakileri girerek düzeltebilirsiniz:
^z
3. Uzun bir komut girmek için bir metin düzenleyiciyi çağırın
Bazen terminale sonsuz komutlar girmeniz gerekir. Bu durumda, nano veya emacs gibi basit bir metin düzenleyicinin yardımı yardımcı olabilir.
Düzenleyiciyi açmak için Ctrl + x + e bir terminalde. Şimdiye kadar girdiğiniz metin, açıldığında metin düzenleyiciye kopyalanacaktır.
Kendi payına, kullanılan düzenleyici $ EDITOR değişkeninde belirtilen düzenleyici olacaktır. Bu yapılandırmayı değiştirmek için, yürütmek mümkündür ...
ihraç EDITOR = nano
… Nano'yu tercih ettiğiniz düzenleyiciyle değiştirmek.
4. Bir komutu geçmişe kaydetmeden yürütün
Gerçek bir bilgisayar korsanı bu hileyi görmezden gelemez. Hepinizin bildiği gibi, bash, klavye oklarını kullanarak erişilmesi çok kolay olan yürütülen komutların geçmişini kaydeder Ctrl + R (gerçekleştirmek için ters arama tarihte).
Bu durumda girilen komutun geçmişe kaydedilmemesi için yapmanız gereken, önüne bir boşluk koymaktır:
komut
5. Bir komutun son parametresini otomatik olarak ayarlayın
Daha önce yürütülen komutun
cp file.txt / var / www / wp-content / uploads / 2009/03 /
Söz konusu dizine erişmek için şu komutu girebilirsiniz: cd takip eden Alt +. o Esc +. :
cd 'ALT +.'
Bu, giriş yapmanın kısaltılmış bir yoludur:
cd / var / www / wp-content / uploads / 2009/03 /
6. Belirli bir zamanda bir komutu yürütün
Evet, evet, bunun için var cron. Bununla birlikte, bazen belirli bir zamanda ancak yalnızca bir kez çalıştırmak için bir komut çalıştırmak istiyoruz.
Diyelim ki komutu yürütmek istiyoruz ls -l gece yarısında. Bu durumda, aşağıdaki şekilde yürütmeliyiz:
echo "ls -l" | gece yarısında
7. Harici IP'nizi alın
Tarafından sağlanan hizmet sayesinde http://ifconfig.me/ İnternet bağlantınızın çeşitli verilerini doğrudan terminalden öğrenmeniz mümkündür:
curl ifconfig.me/ip // IP adresi curl ifconfig.me/host // Uzak Sunucu curl ifconfig.me/ua // Kullanıcı Aracısı curl ifconfig.me/port // Bağlantı Noktası
8. Ctrl + u ve Ctrl + y'yi nasıl kullanacağınızı öğrenin
Kaç kez bir komut yazmaya başladınız ve daha önce başka bir şey yapmanın gerekli olduğunu hatırladınız? Bir tür kes-yapıştır yapmak mümkündür, böylece daha sonra yarıda kalan komutu yeniden girmek daha kolaydır.
Diyelim ki yazmaya başladınız ...
cd / home / kullanıcı
ve daha önce mevcut dizinde bir şeyi kontrol etmeniz gerektiğini hatırladınız. Bu durumda basın Ctrl + u ("Kesik" gibi bir şey olurdu).
İlk önce çalıştırılması gereken komutu girin. Varsayalım ...
ls -l
... ve ardından Ctrl + y ("Yapıştır" gibi çalışır).
9. Terminali kolayca temizleyin
ile Ctrl + l terminal bir anda temizlenebilir.
10. Bir dizine gidin, bir komut çalıştırın ve mevcut dizine geri dönün
Bu numara bir zevktir. Geçerli dizini terk etmeden bir dizi komutu yürütmek için, bunları parantez içinde gruplandırmanız yeterlidir. Hemen hemen herkesin bildiği gibi, bir dizi komutu yürütmek için bunları && kullanarak birleştirmelisiniz. Bu kavramları kullanarak aşağıdaki gibi bir şey gerçekleştirebiliriz:
(cd / tmp && ls)
Bu komutun sonucu (parantezlere dikkat edin), klasör içindeki dosya ve dizinlerin bir listesi olacaktır. / Tmp. Hepsi mevcut dizinimizden çıkmadan. Bir mücevher!
Yapa. En çok kullanılan komutları listeleyin
Onları görmek için en çok kullanılan komutlar sadece aşağıdakileri yürütün:
tarih | awk '{a [$ 2] ++} END {for (i in a) {print a [i] "" i}}' | sırala -rn | baş
Benim durumumda kazananlar şunlardı:
450 yaourt 415 sudo 132 git 99 cd 70 yaprak pedi 70 killall 68 ls 52 pacman 50 xrandr 45 üst
Bu sunucu gibi terminal hayranları için ziyaret etmenizi tavsiye ederim komut satırı. Ayrıca, neden bakmayı bırakmayalım? arşiv blogumuzdan.
Girdiğimde büyük harfleri atladığım bir tane vardı, çünkü dürüst olmak gerekirse, bunun gibi başlayan birçok dosya içime kayacaktı.
Bence en önemlilerinden biri, numaralandırılmış bir liste döndürdüğü tarih komutudur.
kullandığınız komutlardan herhangi birini kullanmak isterseniz aşağıdaki satırı kullanın
! 22
Bu, geçmişinizde bulunan komutu 22 numarada çalıştıracak 😀
Otomatik tamamlama ile bir komut aramak için
Ctrl + r
Ayrıca son komutu tekrarlamak için her zaman Ctrl + r kullanırım; sonuncusu göründüğünde, Yukarı Pag'a (yukarı ok) basarak geçmişte geri gidebilirsiniz.
Selamlar.
İyi makale. Bu İpuçlarını paylaştığınız için teşekkürler.
Günlük kullandığım 'fg' olanı daha önce durdurduğunuz uygulamaları 'Ctrl + z' ile açmanızı sağlayan bir tane paylaşmak istiyorum.
Ve 'bg' ile onları arka plana gönderirsiniz 🙂
Kendine bir bak ... iyi numara! Paylaştığınız için teşekkürler
Sarıl! Paul.
Mükemmel gönderi, her zaman bildiğiniz ve sonunda unuttuğunuz, ancak gerçekten yararlı olan şeyleri hatırlamanızı sağlar.
Terminal hileleri her zaman açığız.
İnanılmaz bir şekilde, Komuta bir boşluk eklemenin Geçmişten çıkarıldığını bilmiyordum.
Çok teşekkür ederim selamlar !!
otomatik tamamlama filtreleme geçmişini kullanmak için $ HOME / .inputrc dosyasına ekleyin
"\ E [5 ~": geçmiş arama-geriye doğru
"\ E [6 ~": geçmiş arama ileri
ve örneğin bir noktada kullandınız:
$ cd / bir / yol / daha uzun / / the / shit
ve şimdi tekrar kullanmak istiyorsan, yapmalısın:
$cd
ve ardından geçmişte "cd" ile başlayan tüm komutlarda gezinmek için "Page Up" veya "Page Down" tuşlarına basın.
VEYA…. Hiçbir şeyi düzenlemeden, Ctrl + R ve ardından cd tuşlarına basın ('cd' ile bir şey aramak istiyorsanız) ve Ctrl + R tuşlarına art arda basarak istediğiniz komuta ulaşıncaya kadar onu içeren tüm komutları göreceksiniz. Açıkçası, hemen öncekiyse, bir tane alacaksınız.
Muy bueno!
Aslında ls / tmp dizini mevcut dizinden ayrılmadan listelemek için yeterli olmalıdır.
Ayrıca ";" kullanarak komutu da birleştirebilirsiniz. Örnek 10'daki gibi şu şekilde olacaktır:
(cd / tmp; ls)
selamlar
O ";" "&&" (ve) komutundan farklı çalışır, komut-1 && komut-2 yaptığımızda, ikinci komut yalnızca ilkinin çıktısı "0" ise, yani hatasız çalıştırılır. Noktalı virgül durumunda, ikinci komut, ilkinin çıktısına bakılmaksızın yürütülür. Genişletmek için, «||» operatörü vardır. (veya), bu durumda ikinci komut yalnızca ilk komut çıktıya bir hata atarsa yürütülür. Saygılarımızla.
Geçmişi hatırlayan her satırın tarih ve saate sahip olması için, normal kullanıcının veya kökün ~ .bashrc'sinde bir ortam değişkeni vardır.
# nano .bashrc
dışa aktar HISTTIMEFORMAT = »% F% T»
# Tarih
492 2014-09-02 14:25:57 revdep-rebuild -i -v
493 2014-09-02 14:31:14 eclean-dist -d
494 2014-09-02 14:31:23 localepurge -v
495 2014-09-02 14:31:29 vb-güncelleme
496 2014-09-02 14:31:54 ortaya çıkma –temizlik –pretend
497 2014-09-02 14:39:08 güncellendib
Kaydettiği satır miktarına göre daha fazla seçenek var, onları test ediyorum.
Çok güzel gönderi. Gerçekten çok kullanışlı. Tarihe kaydedilmeden bir komutu yürütme numarası olan 4 numaralı numara benim için Debian veya Centos'ta değil, yalnızca Ubuntu'da çalıştı.
Benim için raspbian üzerinde çalıştı, kemerde değil.
Merveilleux!!
Merhaba,
bir komutu yürütmeden önce ne boşluk bırakılmalı ki bu işe yaramadığı için geçmişe kaydedilmesin ...
[kullanıcı @ ana bilgisayar /] $ ls -l
Toplam 104
dr-xr-xr-x. 2 kök kök 4096 21 Ağustos 03:55 bin
dr-xr-xr-x. 5 kök kök 3072 20 Ağustos 17:26 önyükleme
drwxr-xr-x. 2 kök kök 4096 9 Aralık 2013 cgroup
[user @ host /] $ geçmişi
1024 ls
1025 ls
1026 geçmişi
1027 ls -l
1028 geçmişi
Ilginç yazı..
selamlar
Üzgünüm, tüm yazıları okumadığım için,
Test centos'ta da yapılır.
Ctrl + U ve Ctrl + Y ile uyumludur.
Sistemimde, en çok kullanılan komutların listesi, değişkeni 5 $ olarak değiştirerek benim için çalıştı.
Çıktı örneği:
1122 sudo
362 ls
279 temizle
214 cd
142 kazmak
141 yaur
130 vnstat
122 mv
112 ay
112 tarihi
Bunun nedeni .bashrc dosyamda aşağıdaki satırın bulunması:
# Geçmiş komutuna tarihi göster
dışa aktar HISTTIMEFORMAT = '% F% T:'
Buradaki pek çok kişinin aynı anda birkaç terminali kullandığından neredeyse eminim.
Şimdi, bunun bir terminal numarası olduğunu söyleyip söylemeyeceğimi bilmiyorum, ancak genellikle birçok pencerem olduğundan veya birkaç terminali açık tutmak için ekranı kullandığım için, bu, bu terminallerden birine girilen herhangi bir komutu etkinleştirir. tümü.
Bu .bashrc dosyasına girilir:
TARİHÇE = 90000
HISTFILESIZE = $ HISTSIZE
HISTCONTROL = yoksay: yoksayılanlar
Tarih () {
_bash_history_sync
yerleşik geçmiş "$ @"
}
_bash_history_sync () {
yerleşik geçmiş -a # 1
HISTFILESIZE = $ HISTSIZE # 2
yerleşik geçmiş -c # 3
yerleşik tarih -r # 4
}
PROMPT_COMMAND = _bash_history_sync
Çok iyi katkı! Geçtiğin için teşekkürler.
Sarıl! Paul.
Makale için tebrikler.
Çok pratik ve birkaç komut öğrendim.
Bu konularda zaten biraz "deneyimli" olmama rağmen, bu numaralar her zaman takdir edilmektedir, bu yüzden ... numaralar için !!!
harika, numaralar için teşekkürler, gerçekten işe yarıyorlar 😀
Konsolun yolları anlaşılmaz 😉
Control + u ve control + y'ye basmanın püf noktası kabuğa değil, tty'nin sahip olduğu konfigürasyona bağlıdır. Linux altında bu güne kadar tty çok karmaşık varlıklar, aslında operasyonlarını araştırıyorum ve göründüğünden çok daha fazla giriş ve çıkışa sahip olduklarından emin olabilirim. Tty'nin durumlarını değiştiren bazı kontrol karakterleri vardır, örneğin bazen bir ikili dosya oluşturduğum ve ekranda tüm "çöp" göründükten sonra komut istemi tuhaf görünüyor veya başka bir kodlama ile. Bunun nedeni, rastgele bir dosyada tty kontrol karakterleriyle karşılaşma olasılığının yüksek olmasıdır.
Örneğin, bunu bir kabukta çalıştırın:
'33c' yazdır
Bu, ekranı temizler (sanki boşta koşuyormuşsunuz gibi).
Ekranı temizlemek için kontrol + L gibi diğer kombinasyonlar, kullanılan kabuğun kendisinden gelir, klasik / bin / kabuklar genellikle bu özelliği getirmez.
Ek olarak, bugün Linux altında dosya ve soketleri işlemek için birçok karmaşık seçenek var. Örneğin, AIO (Eşzamansız Giriş / Çıkış) modunda open () kullanarak bir tty cihazı açarsanız, işlem, giriş arabelleğinde her veri mevcut olduğunda bir SIGIO alacaktır.
Örneğin, bash basitçe satırları okuyarak ve komutları çalıştırarak çalışırsa (bir komut dosyası çalıştırırken olduğu gibi), control + L tuşlarına basıldığında, bu karakter dizisi basitçe komutların bir parçası olarak dahil edilir, ancak bash'ın kontrolü giriş tamponunun% 'si onu algılayabilir.
Örneğin, bazen programlama sırasında, ncurses kitaplıklarında bile kullandığım, bloke edici olmayan bir girdi tamponu elde etmek için fcntl kullanmaya başladım (programda ncurses'i başlatmadan önce kontrol tty'yi değiştirin).
Saludos!
Başlangıçta boşlukta çalışmayanlar ve belki nota eklemek için, geçmişte yok sayılacak şekilde bir komuttan önce eklenen karakterin yapılandırıldığı HISTIGNORE adlı bir değişken vardır.
Bazı kurulumlarda bu değişken gelmez
Selamlar ve iyi gönderi! favorilere doğrudan!
Yorumlarda birkaç ilginç şey de gördüm .. !!
Hepsi gerçekten çok kullanışlı. Teşekkür ederim.