@Programmer, gelin ve ortak Linux komutlarını ve tekniklerini alın

Geliştiriciler tarafından kullanılan Linux komutlarını merak mı ediyorsunuz? Kullanım sırasında ne tür beceriler getiriyorsunuz? Geliştiricilerin günlük çalışmalarına girelim.

Yazar | Mateusz Jarzyna

Çevirmen | Su Benru, sorumlu editör | maozz

Üretildi | CSDN (ID: CSDNnews)

Aşağıdaki çeviridir:

Bu makale Linux cd komutlarını açıklayan bir makale dizisi değil, neredeyse her gün kullandığım komutların ve püf noktalarının bir listesidir.

Port yönlendirme

Bazen veritabanına bağlanmam gerekiyor, tabii bunu yapmak için GUI yöneticimi (JetBrains DataGrip) kullanmayı tercih ediyorum. Bununla birlikte, şirketinizin güvenlik politikası, veritabanı bağlantı noktasının herkese açık hale getirilemeyeceğini öngörüyorsa, aşağıdaki komutu çalıştırabilirsiniz:

ssh -L {PC'nizdeki bağlantı noktası numarası}: localhost: {veritabanı tarafındaki bağlantı noktası numarası} root @ {sunucu IP adresi}

Aşağıdaki komut, dizüstü bilgisayarınızda 3308 numaralı bağlantı noktasını açacak ve her şeyi 192.168.1.2 IP adresine sahip sunucunun 3306 numaralı bağlantı noktasına iletecektir:

ssh -L3308: localhost: 3306 root@192.168.1.2

Buradaki localhost, veritabanının sunucunun (192.168.1.2) kendisini dinlediği anlamına gelir. Ayrıca, 192.168.3.77 gibi farklı bir sunucu IP adresi de yazabilirsiniz, böylece tüm içerik 192.168.3.77 ile 192.168.1.2 arasında sunucuya iletilir.

VIM'de bir dosyayı düzenlemeden önce sudo'yu unutursam ve kaydederken sudo iznine ihtiyacım olursa ne yapmalıyım?

Bazı yapılandırma dosyalarını düzenlemeden önce sudo ile izin almayı hiç unuttunuz mu? Böyle birçok deneyim yaşadım. yapma gerginlik , İşte dosyaları kaydetmek için bir püf noktası, sadece VIM yazın:

: w! sudo tee%

Ayrıntılı açıklama için lütfen buraya bakın: https: // stackoverflow .com / Questions / 2600783 / nasıl-yapar-the-vim-write-with-sudo-trick-work / 7078429 # 7078429.

Linux kontrol terminalinde hattın başına ve sonuna ulaşın

Linux kontrol terminaline uzun bir komut yazarsanız, bu komut satırının başına sudo yazmayı unuttuğunuzu görürsünüz.Satırın başına geri dönüp eksik sudoyu eklemeniz ve sonra geri dönmeniz gerekir. Bazı parametreler eklemek için satırın sonuna gidin.

İmleci aynı anda crtl + a tuşlarına basarak satırın başına taşıyabilirsiniz, benzer şekilde crtl + e tuşlarına aynı anda basarak imleci satırın sonuna taşıyabilirsiniz.

ll komutu

Ls -la yerine ll yazmak, yıl boyunca birkaç günlük klavye kullanım süresinden tasarruf etmenizi sağlayabilir. Bu komut, çoğu Linux sunucusu için geçerlidir.

Önceden yürütülen komutları çalıştır

Önceki komutu yürütün

Son komutu tekrar çalıştırmak için elbette (yukarı ok) tuşuna basabilirsiniz. Ancak doğrudan klavyede de yazabilirsiniz! !. Bir önceki komutu root kullanıcısı olarak tekrarlamak çok kolaydır. Şöyle görünüyor:

sudo !!

Apt ile başlayan önceki komutu tekrarlamak istiyorsanız, doğrudan! Apt yazın.

Arama geçmişi komutları

/ Tmp içeren son çalıştırdığınız komutu bulmak için ctrl + r tuşlarına basıp / tmp yazabilirsiniz. Bir sonraki sonucu almak istiyorsanız, ctrl + r tuşlarına tekrar basabilirsiniz.

/ Tmp içeren çalıştırılan tüm komutları görüntülemek için normal ifade aramasını kullanabilirsiniz, komut aşağıdaki gibidir:

tarih | grep "/ tmp"

evet komutu

Bir komuttaki tüm sorulara "evet" yanıtı vermek istiyorsanız, evet komutunu kullanabilirsiniz. Örneğin:

evet | yum kur curl

Bu komut yum yükleme işlemi sırasında tüm sorulara "evet" yanıtı verecektir.

"Hayır" cevabını vermek istiyorsanız, evet hayır kullanın, komut aşağıdaki gibidir:

evet hayır | yum install curl

Uyarı: yes komutunu kullanmak bazı beklenmedik sonuçlara neden olabilir. Örneğin, yanlışlıkla 10 GB bağımlılık veya olmasını istemediğiniz başka şeyler yükleyebilirsiniz.

Arka planda uzun süreli bir işlem çalışırken, terminal penceresini kapatın

Bir komut dosyası çalıştırırsanız ve 3 gün sürerse, terminal penceresini açık tutmanıza gerek yoktur. Arka planda çalıştırmak için nohup komutunu kullanabilirsiniz:

nohup wget http: // büyük dosyalar .com /10gb-super-movie.avi

Bu durumda, wget komutu arka planda çalışır ve çıktısı çalışma dizinindeki nohup.out dosyasına kaydedilir.

En sevdiğiniz limanı kimin işgal ettiğini bulun

Nginx'i çalıştırmaya çalıştığınızda, zaten çalışan bir apache olduğunu ve kullanmak istediğiniz 443 numaralı bağlantı noktasını işgal ettiğini görürsünüz, bu da sizi gerçekten sinirlendirir.

Şu anda, bu bağlantı noktasını kimin kullandığını bilmeniz gerekiyor. Aşağıdaki komut, hangi işlemin 80 numaralı bağlantı noktasını dinlediğini söyleyebilir:

$ netstat -tulpn | grep 80

tcp60 0 ::: 80 ::: * DİNLE 10 177 / java

Buldum, 80 numaralı bağlantı noktasını dinleyen, işlem 10 177 . Artık daha fazla bilgi bulmak için aşağıdaki komutu çalıştırabilirsiniz:

ps aux | grep 10 177

Günlük dosyasını oku

Herkes, günlük dosyalarını okumak için daha azının çok iyi bir yol olduğunu bilir. Ama gzip ile sıkıştırılmış bir günlüğü açmadan da okuyabileceğini biliyor muydunuz!

daha az /var/log/my-app/my-app.log.2015.12.14.gz

Günlük dosyalarını gerçek zamanlı olarak okuyun

Aşağıdaki komut, belirtilen günlük dosyasında yalnızca "HATA" karakterleri içeren yeni satırları görüntüler:

tail -f /var/log/my-app/my-app.log | grep HATASI

Süreç sıralaması

Aşağıdaki komut, CPU kullanımına göre sıralanır ve ilk 3 işlemi gösterir:

ps aux --sort = -pcpu | head -n 4

Aşağıdaki komut, bellek kullanımına göre sıralanır ve ilk 3 işlemi gösterir:

ps aux --sort = -rss | head -n 4

Komutu her X saniyede bir yürütün

Her X saniyede bir komutun çıktısını yazdırmak için watch komutunu kullanabilirsiniz. Aşağıdaki örnek, her saniye tarih komutunun çıktısını yazdırır:

izle -n 1 dat

Sessiz mod

Birçok standart komutun sessiz modu veya sessiz modu vardır.Bu mod, bir bash betiği oluşturduğunuzda çok kullanışlıdır. Çoğu durumda, komuttan sonra yalnızca -q veya -s eklemeniz gerekir (aşağıya bakın). Daha fazla bilgi için --help veya man çıktısını okuyabilir veya StackOverflow web sitesinde bulabilirsiniz.

zip -q Arşiv .zip büyük dosya .jpg

Çıktı kaçınılmaz olduğunda, bazen çıktı göz ardı edilmelidir (aslında, dahili komut dosyalarını kullanırken bunu her zaman yapmanız gerekir). Şu anda, çıktıyı / dev / 'e yönlendirebilirsiniz:

./very-verbose.sh 1 > / dev /

Günlük dosyası oluşturmak için crontab'ın (otomatik zamanlama) komut dosyası çalıştırmasına izin verin

Aşağıdaki komutu crontab'a yazın, böylece komut dosyası yürütmeniz bir dahaki sefere başarısız olduğunda, oluşturulan günlükten de nedeni bulabilirsiniz:

022 * * 1-5 /opt/scripts/send-report.sh 2 > /var/log/scripts/report-error.log

Orijinal: https://dev.to/mateuszjarzyna/linux-s-commands-and-tricks-i-m-using-in-my-daily-job-as-a-developer-4cle

Bu makale bir CSDN çevirisidir, lütfen yeniden basımın kaynağını belirtin.

SON

Neden bazıları "Fermi Paradoksu" nun insanlığın en korkunç teorisi olduğunu düşünüyor?
önceki
Çok kolay! 10 satır kodda bir "vay" makale oluşturucu yazın | Kuvvet Projesi
Sonraki
Dinozorlar neden evrim olmadan neredeyse 200 milyon yıldır dünyayı yönetiyor?
Jinan Doğum ve Çocuk Sağlığı Hastanesi sabit noktadan yoksulluğun hafifletilmesi: köyün son iki yıldaki gelişimi son on yıla değer
Alipay'in iki süper silahıyla başlayarak 2019'da 11.11'de trafiğin zirvesini taşıyor
İnsan bilgisi neden miras alınamaz?
"Geleneksel Çin Tıbbı Forumu" "Zhigancao Çorbası" - kalbi beslemek için ünlü bir reçete
Yeryüzünde her dönemde "hükümdarlar" vardır ve dinozorlardan sonraki hükümdarlar insan değildir
WeChat "Tencent QQ" uygulamasını başlattı; Ma Huateng yeniden kırmızı zarflar yayınlamak istiyor; GitLab 12.5 kararlı sürümü yayınlandı | Geek Headlines
Xiamen, kültür ve spor merkezini ve yer altı otoparkını destekleyen yeni bir merkezi yeşil eksen parkı ekleyecek
Tren bileti mi aldın? Saniyeler içinde sizin için en kısa + en ucuz rotayı hesaplayabilir
Java geliştiricilerinin kafasını en çok karıştıran dört şey
Vatandaşların yüksek hızlı trene binmesi için uygun olan Linyi bu otobüs hatları ayarlandı
İnsanların 6 parmağı olsaydı, hayatımız nasıl olurdu?
To Top