Outils qu'un administrateur Unix ne peut pas vivre sans [fermé]

33

Après avoir administré des serveurs Unix ou de type Unix, de quels outils (de préférence en ligne de commande) croyez-vous que vous ne pouvez pas vous passer?

John T
la source

Réponses:

51

Écran GNU - essentiel lorsque vous gérez un grand nombre de systèmes et que vous ne souhaitez pas ouvrir une dizaine de fenêtres de terminaux.

Murali Suriar
la source
34

Certains je sais que je ne peux pas vivre sans ...

  • tee - permet l'écriture simultanée sur STDOUT (sortie standard) et sur un fichier. Idéal pour afficher des informations et les enregistrer pour plus tard.

  • top - le gestionnaire de tâches d'UNIX donne un bon aperçu du système.

  • tail -f - vous permet d'afficher les données ajoutées au fur et à mesure que le fichier grandit, ce qui est idéal pour surveiller les fichiers journaux sur un serveur.

  • grep - Global Regular Expression Print, idéal pour rechercher des données dans des fichiers dans le système.

  • df - rapporte l'utilisation du disque des systèmes de fichiers actuels.

  • du - rapporte l'utilisation du disque d'un certain fichier / répertoire.

  • moins - nécessaire pour afficher les pages de manuel! également utile pour visualiser la sortie des commandes de manière facilement consultable.

  • vim / Emacs / nano / pico / ed - quel que soit l'éditeur de texte de votre choix, vous lui expliquez pourquoi vous en avez besoin.

John T
la source
Pour ceux qui ne savent pas, "moins" est une version mise à jour de "plus". more limitait parce que vous ne pouviez avancer que sur un fichier alors que less pouvait faire défiler vers l'arrière également. Ah l'humour ... :-)
Iain Holder
8
Une autre fonctionnalité utile mais peu connue de less est que vous pouvez toujours utiliser la commande 'v' pour commencer à éditer le fichier que vous êtes en train de regarder. Mnémonique est 'v' pour 'vi'.
dr-jan
Et si vous n'aimez pas moreou less, vous pouvez toujours essayer most.
drybjed
Mon PAGER préféré est maintenant w3m. Il a toutes les fonctionnalités de less, et peut également servir de navigateur Web en mode texte :-) J'ai également utilisé une fonction bash pour utiliser vim en lecture seule (de cette manière, les diffs joliment colorés sont utilisés). La fonction bash est utilisée uniquement pour décider de fournir '-' (pour lire le stdin) ou non (au cas où nous paginerions un fichier). Fonctionne comme un charme, sauf pour les pages de manuel où nroff ne frappe pas ...
njsf
1
htopest une "meilleure" version de top.
Alexander Bird
26

lsof pour déterminer quels processus utilisent un fichier ou un répertoire (utile pour essayer de comprendre ce qui empêche un périphérique d'être démonté)

netstat pour déterminer quels processus utilisent des connexions réseau (particulièrement utile pour essayer de déterminer quel démon est lié à un certain port)

erichui
la source
1
Si vous avez lsof, vous n'avez pas besoin de netstat. Il suffit d'utiliser lsof -i
vartec
lsof -n est mon invocation préférée. Je le serre pour m'atténuer
Matt Simmons
19

Apprenez tous les outils de base, mais apprenez Perl.

Perl est idéal pour manipuler du texte, et comme un * x opérateurs vivent sur des fichiers texte, des tuyaux, des entrées et des sorties, Perl convient parfaitement.

Le bonus supplémentaire est que Perl est multiplateforme et si vous devez travailler sur une fenêtre Windows, vous avez une langue facile à installer (il suffit de déposer un répertoire Perl sur le serveur) que vous connaissez déjà.

Et dans cet ordre d'idées, prenez Cygwin également. Si vous êtes un * x admin et devez travailler sur une fenêtre (même sur votre bureau) avec ls, rm, grep, sed, tail, etc., vous gagnerez beaucoup de temps lors du changement de système d'exploitation.

Mark Nold
la source
18
  • sed
  • awk

Les grands-pères oubliés des scripts de systèmes modernes. Je sais que Perl reçoit le plus d’amour (avec les scripts Bash, Python, Ruby et [insérez votre langage de script favori ici]), et ne vous méprenez pas, j’adore Perl. Je m'en sers presque quotidiennement.

Mais sed et awk ne doivent pas être oubliés, négligés ou ignorés. Dans de nombreux cas, sed et awk sont les meilleurs outils pour ce travail. Les exemples rapides sont le filtrage de ligne de commande avec sed, et le traitement de journal rapide et sale avec awk. Les deux pourraient être réalisés en Perl, mais nécessiteront plus de temps de travail et de développement.

Christopher Cashell
la source
13

rsync, en particulier de concert avec ssh. Il permet une copie simple et efficace des fichiers d’un hôte à l’autre. Comment avons-nous pu faire face sans SSH et RSYNC? :-)

dr-jan
la source
12

Netcat.

  • Testez si les services TCP sont à l'écoute.
  • Effectuer des transactions sur des protocoles en texte brut tels que SMTP.
  • Transferts de données rapides et non sécurisés entre machines.
  • Emulation client Telnet.

Le réseau couteau suisse, comme on dit.

Dan Carley
la source
J'ai récemment commencé à utiliser socat en remplacement de netcat et j'ai été étonné du nombre d'options qu'il vous offre. Vaut vraiment le détour, malgré la quantité effrayante de commutateurs et de syntaxe étrange.
Marcin
12

Adoptez-le - tôt ou tard, vous vous occuperez également du réseau. mtr , tcpdump et tshark sont vraiment utiles pour voir ce qui se passe.

pQd
la source
9

Pour les scripts rapides, l'automatisation, etc.:

  • frapper
  • perl

Pour vous connecter à votre serveur * NIX:

  • Ouvrir SSH (client Linux)
  • Putty (client Windows)
Colin
la source
+1 pour ... enfin tout, mais surtout Perl. * nix, Windows ou Mac, je ne peux pas imaginer ce que je ferais sans cela.
John Gardeniers
9

J'utilise la plupart des outils déjà listés, mais en voici un que personne n'a encore abordé:

Marionnette - système pour automatiser les tâches d'administration système

Shaun Hess
la source
6

La plupart des réponses standard sont incluses dans d'autres réponses, je vais donc passer aux réponses non standard:

  • htop - idéal pour la gestion des processus;
  • pinfo - lynx comme navigateur pour les pages d’informations et man.
vartec
la source
6

Quelques outils pratiques que je n'ai pas encore vus ont mentionné:

  • dstat --nocolor ( présentation de cpu-, disk-, net-usage)
  • iftop (bel aperçu dynamique du trafic réseau)
  • ccze (couleur logfiles bien)
  • tunnels ssh (peut être utile de temps en temps; voir le manuel; -R)
  • attendre (automatiser des interfaces de dialogue interactives et bavardes, bien si vous êtes pincé)
asjo
la source
+1 "tail -f <fichier> | ccze" = moyen extraordinaire de lire les fichiers journaux.
Lin
+1 pourexpect
Alexander Bird
+1 pour dstat. Meilleur remplacement pour vmstat, iostat, etc.
Christopher Cashell
5

ClusterSSH

ClusterSSH contrôle un certain nombre de fenêtres xterm via une seule fenêtre de console graphique pour permettre à des commandes de s'exécuter de manière interactive sur plusieurs serveurs via une connexion ssh.

Tom Feiner
la source
... et puisque ClusterSSH est écrit en Perl, vous devriez peut-être apprendre Perl.
Brad Gilbert
Quelle est la différence entre ClusterSSH et l'écran GNU? ou sont-ils différentes implémentations du même concept?
Alexander Bird
4

vmstat 1

Vous donne un bon aperçu du comportement du système.

Cawflands
la source
4

pv: Affiche la progression des opérations longues pouvant être redirigées. http://www.ivarch.com/programs/pv.shtml

Il est donc utile de surveiller quelque chose qui va prendre du temps, comme copier / compresser un périphérique de bloc brut sur le réseau (c’est ainsi que je réalise des sauvegardes paranoïaques de mon netbook 8 Go avant de bricoler avec un élément important, comme modifier les paramètres du système de fichiers).

Aussi: j'appuie les votes pour ssh, rsync, screen, htop et netcat comme mentionné par les personnes ci-dessus - qui sont tous plus importants que pv mais pv n'a pas encore été mentionné. En fait, pv est souvent un ajout utile lorsqu’il s’agit de transférer des données vers ou depuis netcat.

David Spillett
la source
pvpeut être un outil pratique, mais attention à ne pas en abuser. La transmission des données a absolument un impact sur les performances (toutes les données doivent passer par un autre programme). Lors de mon dernier emploi, nous avons beaucoup traité les journaux. Un des gars a décidé de commencer à mettre pv dans tous les scripts de traitement des journaux, jusqu'à ce que nous découvrions qu'il leur fallait environ 15% de temps de traitement supplémentaire. Désormais, il n'est utilisé que pour les travaux qui prennent moins de quelques minutes ou pour lesquels les ressources sont limitées (par exemple, le franchissement d'une connexion réseau lente).
Christopher Cashell
Bon point, Christopher, bien que je n’aie jamais vu cela causer jusqu’à 15% de changement dans les performances (encore une fois, la plupart de ce que j’utilise pvpour le disque ou les entrées / sorties réseau liées plutôt que celles liées au processeur / à la mémoire). Le même argument est le plus important contre l'utilisation excessive de cattrop (j'utilise parfois cat quand ce n'est pas vraiment nécessaire pour que les choses se lisent bien de gauche à droite, mais la copie supplémentaire de données en mémoire via le tube et le changement de contexte peuvent avoir impact mesurable sur les performances).
David Spillett
Oui, je fais la même chose. La plupart de mon catutilisation excessive vient de commencer avec cat foo, suivie de frapper la flèche "haut" puis d'ajouter | [command]à ma ligne précédente. Je sais que je subis une (petite) performance en gardant le chat à l'intérieur, mais le laisser exiger moins d'effort que de réécrire / retaper la commande pour être [command] < foo. Pas une préoccupation pour (la plupart) des travaux en ligne de commande ad hoc, mais pas idéal pour les scripts (identique à ce que je ressens pv, je suppose).
Christopher Cashell
4

ssh, vim, htop, su, python, ls, cd, écran, du, goudron :)

maciek
la source
3

sudo.

Sérieusement, tail -fc'est utile.

Sophie Alpert
la source
si vous aimez tail -f, vous allez adorermultitail
Marcin
3

Certains qui n'ont pas été mentionnés auparavant:

  • tête / queue
  • diff
  • pstree
  • le goudron
  • gzip / bzip
  • regarder
CK.
la source
+1 pstree est très gentil.
Lin
3

tuyau de goudron!

rediriger la sortie de tar vers un autre utilitaire, pour qu'il s'exécute sur la même boîte ou sur SSH, c'est mon déménagement Unix à l'ancienne préféré pour le déplacement de fichiers d'un emplacement à un autre.

Cela vous donne également l’option Windows de copier un dossier dans un autre et d’obtenir tous les fichiers du répertoire source et de destination.

Jason Luther
la source
3

iotop, est un programme de type top pour surveiller les accès d'E / S à vos disques.

Emilio
la source
Uniquement disponible sur les nouveaux noyaux, mais extrêmement agréable.
Sean Reifschneider
3

La plupart de ces outils sont beaucoup plus puissants grâce à "l'achèvement programmable" de Bash - vous pouvez donc compléter des options telles que les options de ligne de commande ou dire le nom d'un paquet avec "apt-get install". Cela limitera également ce que vous complétez la tabulation pour les fichiers pertinents - par exemple, "décompresser" ne complétera que les fichiers d'archives pris en charge.

Ce sont vraiment les mutts - si vous ne l’avez jamais essayée, vous devez probablement juste jouer avec votre .bashrc:

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

Cela est certainement vrai sur Ubuntu et Debian. Vous devrez peut-être obtenir le paquet sur certaines distributions Linux.

Tom Newton
la source
2

Je voulais mentionner quelques points négligés.

  • vim -d diff écran de la console diff qui permet de voir facilement les différences dans un fichier
  • pdsh vous permet d'exécuter facilement une commande sur autant de systèmes que vous le souhaitez, que ce soit en série ou en parallèle (je suis un administrateur de cluster. Je ne peux pas fonctionner sans.)
  • nmon est comme top sur crack. Cela vous donne une bonne idée de ce qui se passe sur un système sur un seul écran. Vous pouvez voir les E / S du disque, l'utilisation du processeur d'E / S réseau et l'utilisation de la mémoire en temps réel. À tout le moins, il est amusant de jouer avec le profilage d’un système.

Oh, et j'ai oublié de mentionner, lors de la rédaction du script, je pense que vous devriez toujours utiliser Korn. Je déteste Korn (pas le groupe. J'aime le groupe :-P) mais c'est littéralement partout. Vous pouvez prendre un script et le déplacer entre Solaris, AIX et Linux sans avoir à vous soucier de savoir si l'administrateur a eu la décence d'installer Bash.

Jackalheart
la source
2

Nohup est un outil parfois très utile. Je l'utilise pour exécuter des scripts qui durent longtemps à l'aide de clients SSH distants.

Jplourenco
la source
2

man - pour lire les pages de manuel.

elinks - pour vérifier google, parce que je ne peux absolument pas me souvenir de tout.

Et attention aux détails et à la ténacité, car sans eux, je perdais simplement du temps.

pjd
la source
+1 pour l'attention portée aux détails et à la ténacité
cop1152 le
2

l'écran est un must, surtout avec un bon fichier .screenrc. Je l'ai configuré pour afficher visuellement la fenêtre dans laquelle je suis et je peux me déplacer entre elles avec Ctrl + Flèche. Pour une seule session SSH et plusieurs coques, c'est un épargnant de vie.

Nasko
la source
2

  • vi
  • trouver
  • ssh
  • AWK
  • sed
  • netcat
  • le goudron
  • ps

  • Maxwell
    la source
    2

    J'aime AWK ainsi que "pour" sur la ligne de commande.

    Surtout pour construire une liste de commandes que je veux exécuter et ensuite les exécuter toutes en même temps.

    Brian G
    la source