3. Proposition auto-construite de base de Linux


Proposition Linux de base auto-construite
1. Lister les dix premières adresses IP avec le plus de visites
(1) La dernière commande affiche les informations de connexion les plus récentes sur le serveur, et la troisième ligne est l'adresse IP
[[email protected] ~]# dernier
racine ? ? pts/0 ? ? ? 10.0.0.1 ? ? ? ? jeu 8 juil. 08:57 ? toujours connecté ?
racine ? ? tty1 ? ? ? ? ? ? ? ? ? ? ? ? jeu 8 juil. 08:57 ? toujours connecté ?
redémarrer ? démarrage du système 3.10.0-862.el7.x Jeu 8 juillet 08:57 - 16:57 (08:00) ? ?
racine ? ? pts/1 ? ? ? 10.0.0.1 ? ? ? ? Mer 7 juillet 20:16 - 21:32 (01:16) ? ?
racine ? ? pts/0 ? ? ? 10.0.0.1 ? ? ? ? Mer 7 juillet 10:04 - 21:32 (11:28) ? ?
racine ? ? pts/0 ? ? ? 10.0.0.1 ? ? ? ? Mer 7 Juil 09:48 - 10:02 (00:13) ? ?
racine ? ? tty1 ? ? ? ? ? ? ? ? ? ? ? Mer 7 juillet 09:48 - 21:51 (12:03) ? ?
redémarrer ? démarrage du système 3.10.0-862.el7.x mer 7 juillet 09 :46 - 16:57 (1+07:10) ? < /span>
racine ? ? pts/0 ? ? ? 10.0.0.1 ? ? ? ? Mer 7 juillet 09:02 -crash (00:44) ? ?
racine ? ? tty1 ? ? ? ? ? ? ? ? ? ? ? ? Mer 7 juillet 09:02 - 09:41 (00:39) ? ?
redémarrer ? démarrage du système 3.10.0-862.el7.x Mer 7 juillet 09:01 - 16:57 (1+07:55) ?
racine ? ? pts/0 ? ? ? 10.0.0.1 ? ? ? ? mar 6 juil. 19:50 - 20:11 (00:20) ? ?
racine ? ? tty1 ? ? ? ? ? ? ? ? ? ? ? ? Mar 6 Juil 19:50 - 20:15 (00:25) ? ?
redémarrer ? démarrage du système 3.10.0-862.el7.x mar 6 juillet 19:49 - 20:15 (00:25) ? ?
racine ? ? pts/0 ? ? ? 10.0.0.1 ? ? ? ? mar 6 juillet 16:59 - crash (02:50) ? ?
racine ? ? tty1 ? ? ? ? ? ? ? ? ? ? ? ? mar 6 juillet 16:58 - crash (02:51) ? ?
redémarrer ? démarrage du système 3.10.0-862.el7.x Mar 6 juillet 16:58 - 20:15 (03:17) ? ?
racine ? ? pts/0 ? ? ? 10.0.0.1 ? ? ? ? mar 6 juil. 09:38 - bas ? (00:12) ? ?
racine ? ? tty1 ? ? ? ? ? ? ? ?? ? ? ? Mar 6 Juil 09:37 - 09:50 (00:13) ? ?
redémarrer ? démarrage du système 3.10.0-862.el7.x mar 6 juillet 09:35 - 09:50 (00:15) ? ?
racine ? ? pts/0 ? ? ? 10.0. 0,1 ? ? ? ? Lun 5 juillet 20:59 - 21:20 (00:20) ? ?
racine ? ? tty1 ? ? ? ? ? ? ? ? ? ? ? Lun 5 juillet 20:26 - 21:30 (01:03) ? ?
redémarrer ? démarrage du système 3.10.0-862.el7.x Lundi 5 juillet 20:25 - 21:30 (01:04) ? ?
?

(2) Effectuez une opération de récupération de colonne sur l'adresse IP obtenue (l'adresse IP est la troisième colonne)
dernier | awk '{print$3}'
(3) sort avec sort, et uniq-c affiche le nombre de lignes répétées
[[email protected] ~]# dernier | awk '{print$3}'|sort|uniq -c
(4) Utilisez ensuite sort -r pour afficher dans l'ordre décroissant
[[email protected] ~]# dernier | awk '{print$3}'|sort|uniq -c|sort -r
? ? 9 10.0.0.1< /span>
? ? 7 boot
? ? 3 mar
? ? 2 mer
 ? ? 2 mois
? ? 1 jeu
? ? 1
 ?

(5) tête -10
[[email protected] ~]# dernier | awk '{print$3}'|sort|uniq -c|sort -r | tête -10
?


  1. Déplacez la commande ls vers le nouveau répertoire et nommez-la kk


?
3. Téléchargez le fichier sur Internet sur le serveur Linux, téléchargez le fichier, supprimez le fichier sous Linux, puis renommez-le et téléchargez-le dans le répertoire d'origine.
?
wget -O /répertoire/créer un nom de fichier par vous-même Adresse de fichier Internet
wget -O /opt/nginx-1.21.1.tar.gz https://nginx.org/download/nginx-1.21.1.tar.gz
[[email protected] ~]# wget -O /opt/adc https://pics1.baidu.com/feed/c75c10385343fbf20954a0fd1f480c8864388fb7.jpeg?token=3237781f6625554854195059f202dcc
<21> --202dcc -07-08 17:39:44-- https://pics1.baidu.com/feed/c75c10385343fbf20954a0fd1f480c8864388fb7.jpeg?token=3237781f66255bai54854195059f202dcc
analyse de l'hôte .com (pics1.baidu.com)... 221.194.182.35, 2408:871a:5100:101::6548:c723
Connexion à pics1.baidu.com (pics1.baidu .com)|221.194.182.35|:443... Connecté.
Une requête HTTP a été faite, en attente d'une réponse... 200 OK
Longueur : 58994 (58K) [image/jpeg]< /span>
Enregistrement vers : "/opt/adc"
 ?
100 %[===== == =============================================== =============>] 58 994 ? ? --.-K/s temps 0.03s ?
 ?
2021-07-08 17:39:44 (1,99 Mo/s) - "/opt/adc" enregistré [58994/ 58994])
 ?
[[email protected] ~]# cd /
[[email protected] /]# ls
bin ? données etc? lib ? magedu2 mnt proc exécuté? srv test.txt usr
boot dev ? média lib64 à la maison ? opt root sbin sys tmp ? ? ? var
[[email protected] /]# cd opt
[[email protected] opt]# ls
< span>adc?
sz : le fichier réseau ci-dessus est nommé adc, puis téléchargez-le sur l'ordinateur local
[root @node opt]# sz adc
?
supprimer le fichier adc sous linux
[[email protected] node opt]# rm -rf ./adc
?
Commande rz : téléchargez enfin le fichier renommé et nommez-le adcde.jpg. La commande rz ne peut télécharger que vers l'emplacement actuel et ne prend pas en charge les dossiers
[[email protected] opt]# rz
 ?
[[email protected] opt]# ls
adcde.jpg
 ?
?
4. Faites correspondre xiaoma dans student.txt et filtre imprimez les 5 premières lignes et les 5 dernières lignes de la ligne
Filtrage : grep "mot clé de filtre" ? chemin du fichier
-v :
-E : prend en charge la correspondance de conditions multiples ;
-i : ignore la casse
—A : affiche la correspondance et n lignes après it
-B : affiche la ligne correspondante et n lignes avant
-C : affiche la ligne correspondante et n lignes avant et après< /span>
?
grep A correspond aux 5 dernières lignes
[[email protected] ~]# grep -A5 xiaoma student.txt
xiaoma 100
papa 111
 ?
faire correspondre cinq lignes avant et après
< span>[[email protected] ~]# grep -C5 xiaoma student.txt
sall 91
msdao 51
djaas 11
zds 5
dawf 13
xiaoma 100
papa 111
 ?
5. GNU Abréviation GNU's Not UNIX, 1984 par Richard Stallman Initier et créer L'objectif est d'écrire une grande quantité de logiciels libres compatibles avec les systèmes Unix.
6. Comment créer /testdir/dir1/x, /testdir/dir1/y, /testdir/dir1/x/a, /testdir/dir1/x/b, /testdir/dir1/y/a,/testdir /dir1 /y/b
mkdir

mkdir : crée un répertoire
-p : ignore l'erreur et peut créer automatiquement le répertoire parent requis
-v : affiche le processus de fonctionnement détaillé de la commande
-m [mode] : spécifiez les autorisations directement lors de la création
rmdir : supprimez les répertoires vides< br />-p : supprime les répertoires vides de manière récursive
-v : affiche le processus de fonctionnement détaillé de la commande 1.2.3.4.5.6.7.
< span> ?
[[email protected] /]# mkdir -pv testdir/dir1/{x..y}/{a..b}
< span>mkdir : répertoire créé "testdir"
mkdir : répertoire créé "testdir/dir1"
mkdir : répertoire créé "testdir/ dir1/x"
mkdir : répertoire créé "testdir/dir1/x/a"
mkdir : répertoire créé "testdir/dir1/ x/b"< br />mkdir : créé le répertoire "testdir/dir1/y"
mkdir : créé directementory "testdir/dir1/y/ a"
mkdir : répertoire "testdir/dir1/y/b" créé
 ?
?
[[email protected] testdir]# mkdir -pv testdir/dir1/{x,y}/{a,b}
 ?
mkdir : répertoire "testdir" créé
mkdir : répertoire "testdir/dir1" créé
mkdir : répertoire "testdir/dir1/x" créé
mkdir : répertoire "testdir/dir1/x/a" créé
mkdir : répertoire "testdir/dir1/x/b" créé
mkdir : répertoire "testdir/dir1/y" créé
mkdir : répertoire "testdir/dir1/y/a" créé
mkdir : création du répertoire "testdir/dir1/y/b"
[[email protected] testdir ]# ll
Utilisation totale 0
drwxr-xr-x. 4 racine racine 24 juillet ? 8 19:47 dir1
drwxr-xr-x. 3 racine racine 18 juillet ? 8 19:52 testdir
[[email protected] testdir]#
?
mkdir peut uniquement be exécuté plus tard Use { }; -pv est d'ignorer le rapport d'erreur et d'afficher le processus détaillé de la commande

?
7. Tri et déduplication
1. trier, dédupliquer ;
options :
-k : spécifiez la colonne (la valeur par défaut est un espace comme séparateur)
-n : trier par numéro
-r:反转(从大到小)


2.去重:
uniq:
选项:
-c:count出现的次数; span>


[[email protected] ~]# sort -k 2 -n -r Students.txt
xiaohong 123 span>
XiAoniu 88
xiaojun 80
xiaoma 66
xiaowang 50
xiaoming 30
xiaohong 18
xiaohong 11
xiaohong 1
?
?
? ? [[email protected] ~]#sort -k 2 -n -r étudiants.txt | uniq -c
1 xiaohong 123
1 XiAoniu 88
1 xiaojun 80
1 xiaoma 66
1 xiaowang 50
1 xiaoming 30 < /span>
1 xiaohong 18
2 xiaohong 11
1 xiaohong 1
&lt ; span> ?

?
Exigences : avoir un fichier journal, compter le nombre d'occurrences de chaque IP, puis imprimer top3 ;

1. Triez d'abord ;
2. Déduplication, statistiques ;
3. Prendre avant 3 ;

[[email protected] ~]# sort 1.log | uniq-c | sort -nr | tête -3
153 161.35.86.181
60 180.97.165.74
42 101.72.213.150 durée>
?
8.1. Statistiques : Comptez le nombre de lignes dans le fichier : wc -l Comptez le nombre de lignes dans le contenu du fichier ;
cat student.txt -nVoir combien de lignes student.txta et triez-le
[[email protected] ~]# wc -l étudiant.txt
11 étudiant.txt
[[email protected] ~ ]# chat étudiant.txt
lihua 99
lili 90
lsal 90 < br />sall 91
msdao 51
djaas 11
zds 5 span>
papa 13
xiaoma 100
papa 111
 ?< /span>span>
[[email protected] ~]# cat étudiant.txt -n
? ? 1 lihua 99
? ? 2 lili 90
? ? 3 lsal 90
? ? 4 salle 91
? ? 5 msdao 51
? ? 6 jours 11
? ? 7 zds 5
? ? 8 putain 13
? ? 9 xiaoma 100
? 10 papa 111
? 11
[[email protected] ~]#
 ? durée>
?
Deux façons pour Linux awk de saisir l'IP
<étendue>adresse IP afficher ens33 | awk -F "[ /]+" '/inet /{print $3}'

ou
ifconfig ens33 | awk -F "[ :]+" '/inet /{print $4}'
Ou formater et sortir l'IP de toutes les cartes réseau
for dev in $(awk -F : '{if(NR>2)print $1}' /proc/net/dev);do printf '%+10s: ' $dev;echo $(ip addr show $ dev | awk -F "[ /]+" '/inet /{print $3}'); Fini
?
?
?
?
?
?
?

|bash ajoute un tube


?
?
?
? 3.linux proposition de base auto-construite