Les gens sont des créatures d'habitude. Cette affirmation a à la fois de bonnes et de mauvaises connotations. La bonne chose est que nous avons tendance à faire les choses de la même manière à chaque fois que nous les faisons. La mauvaise partie est que nous n'avons pas tendance à nous aventurer hors de nos routines. Cette routine maintient les changements cohérents et les surprises au minimum. La dernière chose que tout administrateur système veut entendre un autre administrateur système dire est "Oups". Mais, c'est une toute autre histoire. Le sujet d'aujourd'hui concerne les commandes inconnues. Six commandes inconnues pour être exact. Je pense que vous les aimerez parce qu'ils sont utiles et en dehors de la vision périphérique de la plupart des administrateurs système. Ils sont présentés par ordre alphabétique.
[ Vous pourriez également aimer : 11 commandes Linux dont je ne peux pas me passer ]
1. ac (Comptabilité)
La commande de comptabilité utilisateur, ac
, donne les statistiques de temps de connexion de l'administrateur système pour tous les utilisateurs du système, telles que lues à partir de /var/log/wtmp
dossier. Ceci est utile si un administrateur système ou un gestionnaire souhaite enregistrer le temps de connexion d'un utilisateur sur un système. Bien sûr, il ne suit que la connectivité et non l'activité. Ne présumez donc pas qu'un utilisateur qui s'affiche comme étant connecté pendant six heures a en fait travaillé les six heures entières sur une tâche particulière.
Tout utilisateur peut exécuter le ac
commande. Les options les plus utiles pour cela sont -dp
. Le -d
l'option affiche les "totaux quotidiens" du temps de connexion. Le -p
L'option fournit des statistiques de connexion par utilisateur. Vous pouvez utiliser les options individuellement ou combinées pour donner une analyse plus détaillée.
$ ac -d
Apr 21 total 8.16
Apr 26 total 119.99
Apr 27 total 18.41
Today total 0.06
$ ac -p
bob 2.28
root 140.48
khess 3.87
total 146.62
$ ac -dp
root 8.16
Apr 21 total 8.16
root 119.99
Apr 26 total 119.99
root 12.33
bob 2.28
khess 3.80
Apr 27 total 18.41
khess 0.12
Today total 0.12
Comme vous pouvez le voir, le ac
La commande vous fournit des informations intéressantes et utiles sur la connectivité. La statistique la plus révélatrice de l'affichage ci-dessus est le temps de connexion enregistré par l'utilisateur root. Les implications sont qu'un administrateur système s'est laissé connecté à un système pendant son absence ou qu'il y a eu une faille de sécurité. Dans les deux cas, la situation doit faire l'objet d'une enquête plus approfondie.
2. dev
Onze, douze, creuser et creuser ou alors va la comptine. Cela semble correspondre au fait que dig
et delv
sont tous deux liés au DNS, donc je vais avec. Le delv
la commande est liée à dig
et nslookup
mais plonge plus loin dans l'enregistrement DNS non seulement en envoyant une requête DNS mais en la validant.
Vous êtes susceptible de recevoir de nombreuses réponses non signées messages dans vos réponses. Si une zone DNS n'inclut pas d'enregistrements DS (requis lorsque DNSSEC (sécurité DNS) est activé), il est alors supposé qu'il s'agit d'un DNS non signé plutôt que DNSSEC. Les réponses sont données comme entièrement validées, non signées ou non valides. Si vous ne spécifiez pas de serveur DNS dans votre requête, delv
utilise ceux de votre /etc/resolv.conf
local . Si un enregistrement est invalide, delv
habituellement donne une raison pour laquelle l'enregistrement n'est pas valide.
Je ne prétends pas connaître tous les détails de DNSSEC ou de delv
, je sais juste pour ceux qui ont besoin de savoir, c'est une commande très utile. Voici trois exemples pratiques de delv
usage. Le premier est un exemple de domaine entièrement validé, dnsworkshop.org.
$ delv dnsworkshop.org mx +multi
; fully validated
dnsworkshop.org. 3600 IN MX 10 smtp5.strotmann.de.
dnsworkshop.org. 3600 IN MX 200 smtp3.strotmann.de.
dnsworkshop.org. 3600 IN RRSIG MX 8 2 3600 (
20210530204044 20210430195221 63654 dnsworkshop.org.
t+sjQNNTOD0q3cCAqUlmzs2OaRapez++9HnjQ0zbYYP7
go3pu6xUjFmGP1OrDhI+Udhfma1BGxqmHTwHo7UotXDx
S9emNuDZVESV6D07HxHbhNqFYjt2jHc8dpLtKjAOmWpA
Lf8fhHRjfNpkng5zoTBKLmghWlLnBPpXy0p6gU8= )
La seconde, non signée, qui est peut-être plus courante à voir :
$ delv pbs.org mx +multi
; unsigned answer
pbs.org. 300 IN MX 10 mxb-00303201.gslb.pphosted.com.
pbs.org. 300 IN MX 10 mxa-00303201.gslb.pphosted.com.
Le troisième est un exemple de domaine "parqué".
$ delv sillygoose.org mx +multi
;; resolution failed: ncache nxrrset
; negative response, unsigned answer
; sillygoose.org. 300 IN \-MX ;-$NXRRSET
; sillygoose.org. SOA ns1.namefind.com. dns.jomax.net. 2019022600 28800 7200 604800 300
N'hésitez pas à explorer delv
plus loin pour tous vos besoins DNS et DNSSEC.
3. rép
Non, ce n'est pas une de mes mauvaises blagues de papa. Le dir
la commande est réelle. Oui, c'est vraiment une copie du ls
commande mais c'est pour ceux d'entre vous qui pourraient accidentellement taper dir
plutôt que ls
parce que vous avez travaillé avec la ligne de commande Microsoft Windows et que vous ne pouvez pas rompre avec cette habitude.
$ ls -la /usr/bin/dir
-rwxr-xr-x. 1 root root 143368 Apr 14 2020 /usr/bin/dir
$ ls -la /usr/bin/ls
-rwxr-xr-x. 1 root root 143368 Apr 14 2020 /usr/bin/ls
Et, non, ce n'est pas un lien dur. Les deux commandes ont des numéros d'inode différents. Veuillez tester cela si vous ne me croyez pas.
4. dos2unix
Voici une autre commande qui tente d'aider à la compatibilité multiplateforme. Il m'est arrivé plus de fois que je ne peux compter que je crée ou reçoive un fichier créé sur Microsoft Windows qui semble échouer si je l'utilise sur Linux. Les fichiers texte comportent souvent des caractères de "contrôle" invisibles à la fin des lignes qui empêchent l'analyse sous Linux. C'est là que le dos2unix
commande se précipite pour réparer de telles choses. Dos2unix
supprime ces ^M et ^V caractères de contrôle situés à la fin des lignes que vous pouvez voir lorsque vous vi
/vim
un fichier. Bien sûr, vous pouvez les supprimer si vous savez comment remplacer globalement ces caractères par vi
, mais sinon c'est pénible.
one^M^V
two^M^V
three^M^V
four^M^V
five^M^V
ou
one^M
two^M
three^M
four^M
five^M
Ces caractères "de contrôle" apparaissent souvent dans une couleur différente que je ne peux pas reproduire ici. Le dos2unix
la commande les supprime pour vous. Avant de le découvrir, je devais entrer et les supprimer manuellement avec une macro de remplacement globale ou utiliser sed
sur la ligne de commande.
5. plier
Le fold
La commande est nouvelle pour moi mais est utile pour ceux d'entre nous qui ont tendance à écrire de très longues lignes de code ou de documentation dans un fichier. Cette commande a un seul objectif :"envelopper chaque ligne d'entrée pour qu'elle tienne dans la largeur spécifiée (à partir de la page de manuel du pli)." En d'autres termes, si vous avez une limite de 80 caractères dans un système d'affichage ou de gestion de contenu (CMS), vous pouvez ajuster la largeur d'un fichier en le pliant au 80ème caractère. Le pliage de 80 caractères est la valeur par défaut.
$ cat test.txt
This is a folding test.
obomb9jdf;amfd;asmf;dasjpsdaoddsofdsfmdsfmdsofsdjsdmfl.dsfmsdhsdlfsdlfjmds.fmsd.fndsdjdsf;djs;fmdslfmdslfm.dsfsl
$ fold test.txt
This is a folding test.
obomb9jdf;amfd;asmf;dasjpsdaoddsofdsfmdsfmdsofsdjsdmfl.dsfmsdhsdlfsdlfjmds.fmsd.
fndsdjdsf;djs;fmdslfmdslfm.dsfsl
Le fold
La commande ne réécrit pas le fichier. Si vous exécutez cat test.txt
, la sortie ressemble au cat
la commande ci-dessus le fait. Pour réécrire le fichier plié, vous devez le rediriger vers un nom de fichier.
$ fold test.txt > folded.txt
$ cat folded.txt
This is a folding test.
obomb9jdf;amfd;asmf;dasjpsdaoddsofdsfmdsfmdsofsdjsdmfl.dsfmsdhsdlfsdlfjmds.fmsd.
fndsdjdsf;djs;fmdslfmdslfm.dsfsl
Si vous ne souhaitez pas utiliser la valeur par défaut de 80 caractères, vous pouvez spécifier une largeur telle que 50 à l'aide de -w
option.
$ fold -w 50 test.txt
This is a folding test.
obomb9jdf;amfd;asmf;dasjpsdaoddsofdsfmdsfmdsofsdjs
dmfl.dsfmsdhsdlfsdlfjmds.fmsd.fndsdjdsf;djs;fmdslf
mdslfm.dsfsl
Vous pouvez spécifier le nombre d'octets ou de caractères pour plier les longues lignes si vous n'aimez pas les colonnes. Vous pouvez également vous plier aux espaces.
6. manteau zip
Le zipcloak
La commande crypte le contenu des fichiers zip. La commande est facile à utiliser et fonctionne sans aucun problème ni drame. Par problèmes et drames, je veux dire que vous n'avez pas à fournir beaucoup d'options ou à vous soucier d'une syntaxe complexe pour faire le travail. Vous avez simplement zipcloak
un fichier, fournissez un mot de passe, et vous avez terminé. Vous ne pouvez chiffrer que les fichiers zip. Vous ne pouvez pas utiliser zipcloak
pour chiffrer les fichiers tar par exemple.
$ zipcloak zipfile.zip
Enter password:
Verify password:
encrypting: eight
encrypting: five
encrypting: four
encrypting: nine
encrypting: one
encrypting: seven
encrypting: six
encrypting: ten
encrypting: three
encrypting: two
$ ls
eight five four nine one seven six ten three two zipfile.zip
Lorsque vous décompressez le fichier, vous êtes invité à saisir le mot de passe que vous avez utilisé lors du chiffrement de l'archive zip.
$ unzip zipfile.zip
Archive: zipfile.zip
[zipfile.zip] eight password:
extracting: eight
extracting: five
extracting: four
extracting: nine
extracting: one
extracting: seven
extracting: six
extracting: ten
extracting: three
extracting: two
Comme vous pouvez le voir, zipcloak
est facile à utiliser et fonctionne sans tracas.
[ Apprenez les bases de l'utilisation de Kubernetes dans cet aide-mémoire gratuit. ]
Récapitulez
J'espère que vous trouverez ces six commandes aussi utiles et pratiques que moi. Non, je ne crypte pas un fichier compressé tous les jours, je n'ai pas souvent besoin de convertir un fichier texte créé par Windows en un fichier compatible Unix, et je n'ai certainement pas besoin de plier un fichier mais une fois ou deux fois par an, mais quand j'ai besoin de ces services, j'en ai besoin. Et, j'ai besoin qu'ils soient sans problème, ce qui est le cas. Il n'y a pas une tonne d'options pour aucun d'entre eux et ils ne sont en aucun cas encombrants. Ces six commandes sont excellentes à ajouter à votre boîte à outils personnelle d'administrateur système.