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