Unix yöneticisinin [kapalı] olmadan yaşayamayacağı araçlar


33

Unix veya Unix benzeri sunucuları yönetdikten sonra, hangi araçları (tercihen komut satırı) onsuz yaşayamayacağınızı düşünüyorsunuz?

Yanıtlar:



34

Bazıları onsuz yaşayamayacağımı biliyorum.

  • tee - aynı anda STDOUT (standart çıktı) ve bir dosyaya yazmaya izin verir. Bilgileri görüntülemek ve daha sonra kaydetmek için harika.

  • Sayfa başı - UNIX'in görev yöneticisi, sisteme harika bir genel bakış sağlar.

  • tail -f - bir dosya büyüdükçe eklenen verileri görüntülemenizi sağlar, bir sunucudaki günlük dosyalarını izlemek için harikadır.

  • grep - Global Regular Expression Print, dosyalardaki verileri aramak için mükemmeldir.

  • df - geçerli dosya sistemlerinin disk kullanımını bildirir.

  • du - belirli bir dosya / dizinin disk kullanımını rapor eder.

  • daha az - man sayfalarını görüntülemek için gerekli! ayrıca komutların çıktısını kolayca aranabilir bir şekilde görüntülemek için de kullanışlıdır.

  • vim / Emacs / nano / pico / ed - seçtiğiniz metin editörünüz ne olursa olsun, niçin ihtiyaç duyulduğunu kendiliğinden açıklar.


Bilmeyenler için 'daha az', 'daha' nin güncellenmiş bir versiyonudur. daha fazlası sınırlayıcıydı çünkü bir dosya üzerinde yalnızca ileriye doğru hareket edebiliyordunuz; Ah mizah ... :-)
Iain Sahibi

8
Daha az yararlı olan ancak az bilinen bir başka özellik de, şu anda aradığınız dosyayı düzenlemeye başlamak için her zaman 'v' komutunu kullanabilmenizdir. Anımsatıcı 'vi' için 'v' dır.
dr-jan

Ve sevmiyorsan, moreya lessda her zaman deneyebilirsin most.
drybjed

Tercih ettiğim PAGER şimdi aslında w3m. Daha az tüm özelliklere sahiptir ve bir metin modu web tarayıcısı olarak ikiye katlanabilir :-) Ayrıca, vim'i salt okunur modda kullanmak için bir bash işlevi de kullandım (bu şekilde, örneğin çok güzel renk farklılıkları alıyorum). Bash işlevi, yalnızca '-' (stdin okumak için) sağlayıp sağlamadığına (bir dosyayı sayfalıyor olmamız halinde) karar vermek için kullanılır. Bir çekicilik gibi çalışır, nroff'un aşırı saldırdığı man sayfaları hariç ...
njsf

1
htopbir "daha iyi" sürümüdür top.
Alexander Bird

26

lsof (umount'd olmaktan bir cihaz engelliyor anlamaya çalışırken kullanışlı) işlemleri bir dosya veya dizini kullanarak hangi belirlemek için

netstat , hangi işlemlerin ağ bağlantılarını kullandığını belirlemek için (özellikle hangi arka planın belirli bir bağlantı noktasına bağlandığını anlamaya çalışırken yararlıdır)


1
Eğer varsa, netstat gerekmez. Sadece lsof -i kullanın
vartec

lsof -n en sevdiğim çağrıdır. Pare aşağı tokatlamak için onu boru
Matt Simmons

19

Tüm temel araçları öğren, fakat Perl'i öğren.

Perl, metni işlemek için idealdir ve un * x operatörleri metin dosyaları, borular, giriş ve çıkışlarda yaşadığından Perl mükemmel bir seçimdir.

Eklenen bonus Perl çapraz platformdur ve eğer bir windows kutusundan bazı işler yapmak zorundaysanız, kolayca kurulabilen (zaten sunucuya bir Perl dizini bırakmanız) bildiğiniz bir dil vardır.

Ve bu düşünce treninde, Cygwin'i de edinin. Eğer bir un * x admin iseniz ve ls, rm, grep, sed, tail vb. İçeren bir pencere kutusunda (masaüstünüzde bile) çalışmak zorundaysanız, işletim sistemlerini değiştirirken size zaman kazandırır.


18
  • sed
  • awk

Modern sistemlerin unutulmuş dedeleri komut dosyası yazıyor. Perl'in sevginin çoğunu aldığını biliyorum (Bash komut dosyası, Python, Ruby ve [en sevdiğiniz komut dosyası dilini buraya ekleyin) ve beni yanlış anlamayın, Perl'i seviyorum. Neredeyse her gün kullanıyorum.

Ancak sed ve awk unutulmamalı, gözden kaçırılmamalı veya ihmal edilmemelidir. Birçok durumda, sed ve awk iş için en iyi araçtır. Hızlı örnekler sed ile komut satırı filtreleme ve awk ile hızlı ve kirli günlük işlemedir. Her ikisi de Perl'de yapılabilir, ancak daha fazla çalışma ve geliştirme süresi gerektirir.


13

rsync, özellikle ssh ile uyum içinde. Dosyaların ana bilgisayardan ana bilgisayara basit ve verimli bir şekilde kopyalanmasını sağlar. Ssh ve rsync olmadan nasıl başa çıktık? :-)


12

Netcat.

  • TCP servislerinin dinlenip dinlemediğini test edin.
  • SMTP gibi düz metin protokollerine karşı işlemleri gerçekleştirin.
  • Makineler arasında hızlı güvensiz veri aktarımı.
  • Telnet istemcisi öykünmesi.

Ağ, dedikleri gibi, ordu çakısı swiss.


Geçenlerde socat'ı netcat'ın yerine kullanmaya başladım ve size sunduğu seçeneklerin sayısına şaşırdım. Çok fazla anahtar ve tuhaf sözdizimine rağmen kesinlikle göz atmaya değer.
Marcin

12

Yüzleş - er ya da geç ağla da ilgileneceksin. mtr , tcpdump ve tshark , neler olduğunu görmek için gerçekten yararlıdır.


9

Hızlı komut dosyaları, otomasyon vb. İçin:

  • darbe
  • perl

* NIX sunucunuza bağlanmak için:

  • SSH'yi açın (Linux istemcisi)
  • Macun (Windows istemcisi)

+1 için ... aslında hepsi gerçekten ama özellikle Perl. * nix, Windows veya Mac, onsuz ne yapacağımı hayal bile edemiyorum.
John Gardeniers

9

Listelenen araçların çoğunu kullanıyorum, ancak işte henüz kimsenin dokunmadığı bir tane:

Kukla - sistem yönetimi görevlerini otomatikleştirmek için sistem



6

Standart cevapların çoğu diğer cevaplara dahil edilmiştir, bu yüzden standart olmayan cevaplar için gideceğim:

  • htop - süreç yönetimi için harika;
  • pinfo - bilgi ve man sayfaları için tarayıcı gibi lynx.

6

Henüz bahsetmediğim birkaç kullanışlı araç:

  • dstat --nocolor (cpu-, disk-, net kullanımına genel bakış)
  • iftop (ağ trafiğinin dinamik görünümüne genel bakış)
  • ccze (güzel renk logfile )
  • ssh tünelleri (arada bir defa yararlı olabilir; kılavuza bakın -R)
  • bekliyoruz (etkileşimli, konuşkan diyalog arayüzlerini otomatikleştirin, sıkışıksanız güzel)

+1 "tail -f <file> | ccze" = günlük dosyalarını okumanın şaşırtıcı yolu.
Lin

+1 içinexpect
Alexander Bird

Dstat için +1. Orada vmstat, iostat, vb için en iyi yedek.
Christopher Cashell,

5

ClusterSSH

ClusterSSH, komutların ssh bağlantısı üzerinden birden çok sunucuda etkileşimli olarak çalışmasına izin vermek için tek bir grafik konsol penceresi aracılığıyla bir dizi xterm penceresini kontrol eder.


... ve ClusterSSH Perl'de yazılmış olduğundan, belki de Perl'i öğrenmelisiniz.
Brad Gilbert

ClusterSSH ve GNU ekranı arasındaki fark nedir? Yoksa aynı kavramın farklı uygulamaları mı?
Alexander Bird


4

pv: Yeniden yönlendirilebilecek uzun işlemlerin ilerlemesini görüntüler. http://www.ivarch.com/programs/pv.shtml

Kullanışlı olduktan sonra, yaşlanacak bir şeyi izlemek istersiniz, örneğin bir ham blok cihazını ağ üzerinden kopyalamak / sıkıştırmak gibi (8Gb netbook'umun paranoya yedeklemesini dosya sistemi ayarlarıyla yapılan ince ayar gibi büyük bir şeyle uğraşmadan önce alırım).

Ayrıca: ssh, rsync, screen, htop ve yukarıdaki kullanıcıların belirttiği netcat için ikinci oy kullanacağım - hepsi pv'den daha önemli, ancak pv henüz belirtilmedi. Aslında pv, netcat'e veya netcat'den malzeme alırken sıklıkla yararlı bir ilavedir.


pvkullanışlı bir araç olabilir, ancak aşırı kullanılmasına dikkat edin. Verilerin içinden geçirilmesinin kesinlikle bir performans etkisi vardır (tüm verilerin başka bir programdan geçmesi gerekir ). Son işimde çok fazla günlük işleme yaptık. Adamlardan biri, günlük işlem betiğine pv koymaya karar verdi, biz onların işlem süresine yaklaşık% 15 eklediğini keşfedene kadar. Şimdi sadece birkaç dakikadan az süren veya mevcut bir kaynak sınırlaması olan (yavaş bir ağ bağlantısını geçmek gibi) işler için kullanılır.
Christopher Cashell,

İyi nokta Christopher, bunun% 15'lik bir performans değişikliğine neden olduğunu hiç görmemiş olmama rağmen (daha sonra, kullandığımların çoğu pvCPU / bellek bağlı değil de disk veya ağ G / Ç bağlı). Aynı argüman da aşırı kullanımın karşıtı olan anahtardır cat(bazen sadece soldan sağa güzel şeyler okumak için aslında gerekmediğinde kedi kullanıyorum, ancak boru ve bağlam anahtarlama yoluyla kopyalanan ekstra hafızadaki verilerin ölçülebilir performans etkisi).
David Spillett

Evet aynı şeyi yapıyorum. Aşırı catkullanımımın çoğu, baştan başlamak cat foo, ardından "yukarı" okuna basmak ve ardından önceki satırıma eklemek | [command]geliyor. Kedinin orada tutulmasıyla (küçük) bir performans vuruşu yaptığımı biliyorum, ancak onu bırakmak, komutu yeniden yazmak / yeniden yazmaktan daha az çaba gerektiriyor [command] < foo. Özel bir komut satırı çalışması (çoğu) için endişe etmeyin, ancak komut dosyaları için ideal değil (nasıl hissettiğimle aynı pv, sanırım).
Christopher Cashell,

4

ssh, Vim, htop, su, Python, ls, cd, ekran, du, katran :)



3

Daha önce bahsedilmemiş bazıları:

  • Kuyruk
  • diff
  • Pstree
  • katran
  • gzip / bzip
  • izlemek

+1 pstree oldukça tatlı.
Lin

3

katran borusu!

tar çıkışını başka bir yardımcı programa, aynı kutuda çalışan tar'a veya SSH üzerinden çalışan tar'a pipolamak, dosyaları bir yerden başka bir yere taşımak için en sevdiğim eski okul Unix hamlesidir.

Bu aynı zamanda size bir klasörü diğerine kopyalamanız ve kaynak ve hedef dizindeki tüm dosyalar ile sonlandırmanız konusunda Windows tarzı seçeneği sunar.



3

iotop, disklerinize G / Ç erişimini izlemek için en üste benzer bir programdır.


Sadece yeni çekirdeklerde bulunur, ancak son derece güzel.
Sean Reifschneider

3

Bu araçların çoğu Bash "programlanabilir tamamlama" kullanılarak çok daha güçlü hale getirilir - böylece komut satırı seçenekleri gibi sekmeleri tamamlayabilir veya "apt-get install" ile bir paketin adını söyleyebilirsiniz. Ayrıca, ilgili dosyalar için sekmeyle tamamladığınız şeyleri de sınırlar - örneğin, "unzip" yalnızca desteklenen arşiv dosyalarını tamamlar.

Gerçekten de ispiyontolar - eğer hiç denememişseniz büyük olasılıkla sadece .bashrc'nizi kemanlamanız gerekir:

if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
 fi

Tabi bu Ubuntu ve Debian için de geçerlidir. Paketi bazı Linux dağıtımlarında edinmeniz gerekebilir.



2

Gözardı edilen birkaç şeyden bahsetmek istedim.

  • vim -d bölünmüş ekran konsolu, dosyadaki farklılıkları görmeyi çok kolaylaştırır
  • pdsh, seri veya paralel olarak istediğiniz kadar sistem üzerinden kolayca komut çalıştırmanıza olanak sağlar (Ben küme yöneticiyim. onsuz çalışamıyorum.)
  • nmon çatlakta üst gibidir. Tek bir ekranda bir sistemde neler olup bittiği hakkında size harika bir fikir verir. Disk G / Ç, ağ G / Ç CPU kullanımı ve bellek kullanımının gerçek zamanlı olduğunu görebilirsiniz. En azından bir sistemi oluştururken oynayabileceğiniz en eğlenceli şey.

Oh, ve yazarken, herzaman Korn kullanmanız gerektiğine inanıyorum. Korn'dan nefret ediyorum (Grup değil. Grubu seviyorum :-P) ama tam anlamıyla her yerde. Bir senaryo alabilir ve Solaris, AIX ve Linux arasında hareket ettirebilir ve yöneticinin Bash'i kurmaya karar vermiş olup olmadığından endişelenmenize gerek yoktur.


2

Bazen çok kullanışlı bir araç nohup. Uzak SSH istemcilerini kullanarak uzun süre devam eden komut dosyalarını çalıştırmak için kullanıyorum.


2

adam - adam sayfalarını okumak için.

elinks - google'ı kontrol etmek, çünkü her şeyi hatırlayamadığımdan eminim.

Ayrıntı ve azim dikkat, çünkü onlar olmadan sadece zaman harcıyorum.


Detay ve azim dikkatine +1
cop1152

2

ekran, özellikle iyi bir .screenrc dosyası ile bir zorunluluktur. Hangi pencerede bulunduğumu ve Ctrl + Ok tuşlarıyla aralarında hareket edebildiğini görsel olarak görüntüleyecek şekilde yapılandırdım. Tek bir ssh oturumu ve çoklu mermiler için, bir hayat kurtarıcıdır.



2

AWK'yı ve komut satırında "for" yu seviyorum.

Özellikle bir komut listesi oluşturmak için çalıştırmak ve ardından hepsini bir kerede çalıştırmak istiyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.