Galerie de cartes mentales Exploitation et maintenance Linux
Il s'agit d'une carte mentale sur l'apprentissage du fonctionnement et de la maintenance de Linux auprès du vieux garçon, comprenant une introduction à la ligne de commande Linux, aux commandes d'opération de fichiers et de répertoires, au filtrage de fichiers et aux commandes d'édition et de traitement de contenu, etc.
Modifié à 2024-01-16 11:24:10Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
La gestion de projet est le processus qui consiste à appliquer des connaissances, des compétences, des outils et des méthodologies spécialisés aux activités du projet afin que celui-ci puisse atteindre ou dépasser les exigences et les attentes fixées dans le cadre de ressources limitées. Ce diagramme fournit une vue d'ensemble des 8 composantes du processus de gestion de projet et peut être utilisé comme modèle générique.
Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
La gestion de projet est le processus qui consiste à appliquer des connaissances, des compétences, des outils et des méthodologies spécialisés aux activités du projet afin que celui-ci puisse atteindre ou dépasser les exigences et les attentes fixées dans le cadre de ressources limitées. Ce diagramme fournit une vue d'ensemble des 8 composantes du processus de gestion de projet et peut être utilisé comme modèle générique.
Apprenez le fonctionnement et la maintenance de Linux auprès du vieux garçon
Chapitre 1 Introduction à la ligne de commande Linux
Présentation de la ligne de commande Linux
Introduction à l'invite de ligne de commande Linux
Le signe # est l'invite à la fin de la ligne de commande après la connexion en tant qu'utilisateur root, et le signe $ est l'invite à la fin de la ligne de commande après la connexion en tant qu'utilisateur ordinaire.
Les super-utilisateurs disposent de toutes les autorisations nécessaires pour gérer le système. Les utilisateurs ordinaires disposent d'autorisations relativement limitées et ne peuvent effectuer que des opérations telles que l'affichage des informations de base du système, et ne peuvent pas modifier les configurations du système et les services de gestion.
Les caractères devant l'invite de ligne de commande @ représentent l'utilisateur actuellement connecté (peuvent être interrogés par whoami), les caractères après @ sont le nom d'hôte (peuvent être interrogés par nom d'hôte) et l'emplacement de ~ est le chemin du utilisateur actuel dans la fenêtre.
L'invite de commande Linux est contrôlée par la variable d'environnement PS1. set | grep PS1 PS1='[\u@\h\W]\$'
Commandes d'arrêt, de redémarrage et de déconnexion de Linux
Commande de redémarrage ou d'arrêt : shutdown
arrêt [OPTION]... HEURE [MESSAGE]
Notez qu'il doit y avoir au moins un espace entre la commande shutdown et les options suivantes.
Normalement, la commande d'arrêt que nous exécutons est shutdown-h now ou shutdown-r now.
Commandes d'arrêt et de redémarrage : halt/poweroff/reboot
redémarrer [OPTION]... arrêter [OPTION]... mise hors tension [OPTION]...
Chapitre 2 Commandes d'opération de fichiers et de répertoires
pwd : affiche l'emplacement actuel
mot de passe [options]
cd : changer de répertoire
cd [options] [répertoire]
Lorsque vous utilisez la commande cd, si vous utilisez la fonction de saisie semi-automatique de la touche « Tab » du clavier, vous pouvez améliorer la vitesse et la précision de saisie. La fonction de saisie semi-automatique de la touche « Tab » s'applique également aux autres commandes.
Pour comprendre le concept de chemin, par exemple, un chemin relatif est un chemin qui ne commence pas par "/" (slash), mais démarre à partir du répertoire courant ou d'un répertoire spécifié, tel que : data/, mnt/oldboy an ; le chemin absolu est un chemin qui commence à partir du chemin "/" "(slash) commençant à la racine, tel que : /data/, /mnt/oldboy.
Lorsque vous devez basculer vers le répertoire dans lequel se trouvait l'utilisateur actuel, veuillez utiliser "cd-" (notez l'espace) ; lorsque vous devez basculer vers le répertoire personnel de l'utilisateur actuel, veuillez utiliser "cd~" (notez l'espace) ; ); lorsque vous devez passer à Lorsque vous spécifiez le chemin d'accès au répertoire au-dessus du répertoire actuel, veuillez utiliser "cd.." (notez l'espace).
tree : Afficher le contenu du répertoire dans une arborescence
arbre [options] [répertoire]
mkdir : créer un répertoire
mkdir [options] [répertoire]
La commande mkdir permet de créer plusieurs répertoires en même temps, au format mkdir dir1 dir2…
Créez des répertoires de manière récursive avec le paramètre -p (mkdir -p oldboy/test)
Ajoutez le paramètre -v pour afficher le processus de création du répertoire. (mkdir -pv oldboy2/test)
Vous pouvez utiliser le paramètre -m lors de la création d'un répertoire pour définir les autorisations par défaut pour le répertoire. (mkdir -m 333 dir2)
Créez plusieurs répertoires et sous-répertoires à plusieurs niveaux en même temps. (mkdir -pv vieux garçon/{dir1_1,dir1_2}/{dir2_1,dir2_2} )
touch : créer un fichier vide ou modifier l'attribut d'horodatage du fichier
La commande touch a deux fonctions : l'une consiste à créer un nouveau fichier vide ; l'autre consiste à modifier l'attribut d'horodatage d'un fichier existant.
touchez [options] [fichier]
Créer un fichier (touchez a.txt b.txt)
Changer l'attribut d'horodatage d'un fichier
touch -a oldboy.txt #<==-a le paramètre modifie l'heure du dernier accès.
Le paramètre touch -m oldboy.txt #<==-m modifie l'heure de la dernière modification.
Spécifier les attributs de temps pour créer/modifier des fichiers
touch -d 20201001 oldboy.txt #<==Spécifiez la modification du fichier après la création du fichier
touch -r a.txt oldboy.txt #<==Utilisez le paramètre -r pour rendre l'attribut time de oldboy.txt cohérent avec a.txt.
touch -t 201512312234.50 oldboy.txt #<==Utilisez l'option -t pour définir le fichier au format d'heure 201512312234.50
ls : afficher le contenu et les informations sur les attributs associés du répertoire
ls [options] [<fichier ou répertoire>]
Utilisez le paramètre -a pour afficher tous les fichiers, en particulier les fichiers cachés
ls -a#<== Description : L'ajout du paramètre -a affichera le contenu commençant par "." (point). Le premier point affiché ici représente le répertoire courant, qui est le répertoire de test lui-même, et les deux points représentent le répertoire supérieur du répertoire courant, qui représente ici le répertoire racine. La connaissance d'un point et de deux points sera expliquée en détail plus tard dans la commande ln.
ls -A #<==Liste tous les fichiers, y compris les fichiers cachés, mais à l'exclusion des répertoires "." et ".."
Utilisez le paramètre -l pour afficher des informations détaillées.
ls -l #<==La colonne d'attribut time affiche ici l'heure de la dernière modification du fichier par défaut. #<==Explication : Ce paramètre -l est le paramètre le plus couramment utilisé, ce qui signifie répertorier le type de fichier, les autorisations, le nombre de connexions, le propriétaire (groupe) et les informations d'heure de création et de modification dans le répertoire au format long. La signification des attributs de chaque colonne doit ici être maîtrisée, et ces informations d'attribut seront discutées en détail plus tard.
Paramètre --time-style=long-iso qui affiche l'attribut time complet.
ls -l --time-style=long-iso #<==Affichage du temps en mode long-iso Le résultat de cette commande est excellent.
Les valeurs des paramètres facultatifs de --time-style sont les suivantes, telles que full-iso, long-iso, iso et locale. La valeur par défaut est locale.
Dans les scénarios de production, nous rencontrons souvent le problème de l'affichage incohérent des fichiers et des heures de répertoire dans le même répertoire, nous devons donc utiliser ls-l--time-style=long-iso pour ajuster si vous pensez qu'il y en a trop. paramètres et il est difficile à retenir, alors Une gestion des alias peut être mise en place.
Il est à noter que lors de l'exécution de commandes telles que ls-l, l'heure de la dernière modification du fichier est affichée par défaut (s'il s'agit d'un nouveau fichier, c'est l'heure de création).
ls--full-time est utilisé pour afficher l'heure complète, ce qui équivaut à ls-l--time-style=full-iso.
Exécutez la commande ls avec des paramètres qui affichent l'attribut de temps d'accès du contenu.
ls -l --time-style=long-iso --time=atime #<==Ajoutez le paramètre --time= atime pour afficher l'heure d'accès.
Les commandes associées incluent ls-l--time-style=long-iso--time=ctime, qui est utilisée pour afficher l'heure à laquelle les fichiers changent.
Les connaissances sur la colonne de temps du fichier et mtime, atime et ctime ont déjà été expliquées lors de l'introduction de la commande touch.
Exécutez la commande ls avec le paramètre -F (ceci est très similaire au -F de la commande tree).
ls -F#<==Explication : Avec -F ajouté, nous pouvons clairement voir qu'une barre oblique / est ajoutée à la fin de tous les répertoires. Quelle utilité une telle fonction a-t-elle pour le travail ? Bien sûr, c'est utile. Par exemple : si nous voulons filtrer tous les répertoires, il suffit de filtrer ceux qui comportent des barres obliques.
Utilisez le paramètre -d pour afficher uniquement des informations sur le répertoire lui-même.
ls -ld dir1 #<==Ajoutez le paramètre -d pour obtenir ce que vous voulez.
Utilisez le paramètre -R pour afficher les répertoires de manière récursive.
ls -R dir1 #<== Similaire mais pas aussi facile à utiliser que tree.
Connaissance des alias de commande ls et de la définition des alias ls.
alias lst='ls -l --time-style=long-iso' #<==Configurer l'alias de commande.
Recherchez les fichiers récemment mis à jour.
ls -lrt /etc/ #<==-t est trié par heure, -r est l'ordre inverse, c'est-à-dire trié par heure dans l'ordre inverse.
Sauvegardez la base de données du scénario de production et obtenez une liste des noms de bases de données.
ls -F /usr/local/mysql/data|egrep "/"|awk -F "/" '{print $1}' >/root/dbfilename.list#<== Astuce : dans ce script de sauvegarde de table de base de données, utilisé la commande combinée de ls -F plus egrep pour filtrer le nom du répertoire de la base de données.
Supprimez les déchets occupant les nœuds inode dans les scénarios de production.
ls|xargs rm -f #<==S'il y a trop de fichiers, ils ne peuvent pas être supprimés directement par rm -fr *.
Connaissance approfondie de la commande ls-F
Ajoutez "*" pour représenter un fichier ordinaire exécutable
Ajoutez "/" pour indiquer le répertoire
Ajoutez "=" pour indiquer les sockets
Ajoutez "|" pour indiquer les FIFO
Ajoutez "@" pour indiquer un lien symbolique
Interprétation des attributs du contenu de sortie de la commande ls
ls -lhi #<== Le paramètre -l a été expliqué en détail auparavant. La fonction du paramètre -h est d'afficher la taille du fichier de manière lisible par l'homme. Vous pouvez facilement connaître la taille du fichier comme. "4.0K" ci-dessous. Taille, le paramètre -i est utilisé pour afficher la valeur de l'inode du fichier.
cp : copier des fichiers ou des répertoires
cp [options] [fichier source] [fichier de destination]
cp -a file1.txt file5.txt #<==Utilisez le paramètre -a pour copier file1.txt dans file5.txt. Les propriétés copiées à l'aide du paramètre -a restent inchangées.
Lors de l'utilisation du paramètre -a pour copier, l'attribut time du fichier ne change pas. La fonction du paramètre -a inclut la fonction du paramètre -p pour conserver les attributs du fichier.
cp -i file1.txt file5.txt #<== Utilisez le paramètre -i pour copier le fichier. Vous serez invité à écraser le fichier.
Le système CentOS définit par défaut un alias pour la commande cp, c'est-à-dire que le paramètre -i est ajouté. Cependant, lors de l'exécution de cp dans un script shell, s'il n'y a pas de paramètre -i, il ne demandera pas s'il faut l'écraser. En effet, les variables d'environnement lors de l'exécution des scripts de ligne de commande et du shell sont différentes.
cp -r dir1 dir2/ #<==Si vous utilisez le paramètre -r, copiez le répertoire de manière récursive et copiez tous les sous-répertoires et dossiers sous le répertoire.
cp /etc/ssh/sshd_config{,.ori}#<==Le principe de cette méthode est que l'opération d'expansion des accolades de bash /etc/ssh/sshd_config{,.ori} se développe en /etc/ssh/sshd_config / etc. /ssh/sshd_config.ori puis transmettez-le à la commande cp.
mv : déplacer ou renommer des fichiers
mv [options] [fichier source] [fichier de destination]
mv file6.txt file7.txt #<==Si file7.txt n'existe pas, renommez file6.txt en file7.txt.
mv file5.txt file7.txt #<==Si file7.txt existe, remplacez file5.txt par file7.txt.
\mv file4.txt file7.txt #<==Utilisez \ pour protéger l'alias du système et il ne vous sera pas demandé s'il faut l'écraser.
mv file7.txt dir1/ #<==dir1 est un répertoire et existe, puis déplacez file7.txt vers dir1 Si dir1 n'existe pas, renommez-le en fichier ordinaire dans dir1.
mv -t dir1/ file1.txt file2.txt file3.txt file7.txt #<== Utilisez le paramètre -t pour permuter la source et la cible, -t suivi du répertoire, et enfin du fichier à déplacer.
rm : Supprimer un fichier ou un répertoire
rm [options] [<fichier ou répertoire>]
Le paramètre rm -f file3.txt #<==-f force la suppression sans invite.
rm -r dir1 #<==Utilisez -r pour supprimer de manière récursive, mais il y aura une invite de confirmation. Vous pouvez utiliser -f pour le forcer.
Expérience pratique sur la suppression
Utilisez mv au lieu de rm. Ne le supprimez pas à la hâte, mais déplacez-le d'abord vers la corbeille/tmp.
Assurez-vous de sauvegarder avant de supprimer, de préférence une sauvegarde multi-machines. Vous pouvez la restaurer à tout moment en cas de problème.
Si vous devez le supprimer, veuillez utiliser find au lieu de rm, y compris le nettoyage des fichiers via les tâches planifiées du système.
Si vous devez le supprimer via la commande rm, veuillez d'abord modifier le répertoire, puis supprimez-le. Si vous pouvez vous passer de caractères génériques, n'utilisez pas de caractères génériques. Il est interdit d'utiliser "rm-rf file name" pour supprimer des fichiers, car il n'y aura aucune invite lorsque "rm-rf" supprime accidentellement un répertoire, ce qui est très dangereux. Utilisez au maximum "rm-f filename", et "rm filename" est recommandé.
rmdir : supprimer les répertoires vides
rmdir [options] [répertoire]
La commande rmdir est utilisée pour supprimer les répertoires vides. Lorsque le répertoire n'est pas vide, la commande ne fonctionne pas.
rmdir -p -v dir1/a/b/ #<== La suppression récursive nécessite toujours de lister toutes les structures de répertoires.
ln : lien physique et lien logiciel
ln [options] [fichier ou répertoire source] [fichier ou répertoire de destination]
lien physique
Dans le système de fichiers Linux, il est normal et autorisé que plusieurs noms de fichiers pointent vers le même nœud d'index (inode). Le fichier dans ce cas est appelé un lien physique.
Plusieurs fichiers avec le même numéro de nœud inode sont des fichiers de lien physique les uns avec les autres.
Supprimez soit le fichier de lien physique, soit le fichier source, mais l'entité de fichier n'est pas supprimée.
L'entité de fichier ne sera supprimée que si le fichier source et tous les fichiers de liens physiques correspondants du fichier source sont supprimés.
Lorsque tous les fichiers de lien physique et les fichiers sources sont supprimés, l'espace de ce fichier sera occupé lorsque de nouvelles données seront stockées, ou les données supprimées seront également recyclées par le système lorsque le disque fsck sera vérifié.
Un fichier en lien dur est une autre entrée du fichier (équivalent à la porte d'entrée et à la porte arrière du supermarché).
Vous pouvez empêcher la suppression accidentelle de fichiers importants en définissant un lien physique entre fichiers et fichiers.
Exécutez la commande "ln source file hard link file" pour terminer la création du lien physique.
Les fichiers de liens physiques peuvent être supprimés à l'aide de la commande rm.
Pour les fichiers statiques (fichiers qui ne sont pas appelés par un processus), lorsque le nombre de liens physiques correspondants est de 0 (i_link), le fichier sera supprimé. La méthode d'affichage d'i_link est ls-lih, et la troisième colonne du résultat de l'affichage est le nombre de liens physiques.
Annuaire, les liens physiques ne peuvent pas être créés
Il y a un lien physique "." sous chaque répertoire, et un lien physique ".." correspondant au répertoire de niveau supérieur.
Créez un sous-répertoire dans le répertoire parent et augmentez le nombre de liens dans le répertoire parent de 1 (les sous-répertoires ont ".." pour pointer vers le répertoire parent). Mais lorsqu'un fichier est créé dans le répertoire parent, le nombre de liens dans le répertoire parent n'augmentera pas.
lien logiciel
Les liens symboliques sont similaires aux raccourcis Windows (vous pouvez afficher leurs directions via la commande readlink suivante).
Un lien symbolique est similaire à un fichier texte, qui stocke le chemin du fichier source et pointe vers l'entité du fichier source.
Même si le fichier source est supprimé, le fichier de lien symbolique existe toujours, mais le contenu du chemin du fichier source pointé n'est pas accessible.
En cas d'échec, il clignote généralement avec des lettres blanches et un fond rouge.
Exécutez la commande "fichier de lien logiciel du fichier source ln-s" pour terminer la création du lien logiciel (le nom du fichier de lien logiciel ne peut pas exister à l'avance).
Les liens symboliques et les fichiers sources sont différents types de fichiers, différents fichiers et ont des numéros d'inodes différents.
Pour supprimer les fichiers de liens symboliques, utilisez la commande rm.
readlink : afficher le contenu des fichiers de liens symboliques
lire le lien [options] [fichier]
readlink /usr/bin/awk #<==Vous pouvez voir le véritable contenu de ce fichier de lien symbolique.
readlink -f /usr/bin/awk #<==L'utilisation du paramètre -f affichera le dernier fichier de lien non symbolique.
find : Rechercher des fichiers dans un répertoire
trouver [options] [chemin] [instruction d'opération]
find . -atime -2 #<== "." représente le répertoire actuel. Utilisez l'option atime pour rechercher les fichiers consultés dans les deux jours.
trouver la description du temps de recherche
-4 indique que le fichier a été modifié dans les 4 jours.
4 signifie que le fichier a été modifié il y a 4 jours.
4 signifie dans 4 jours.
find /var/log/ -mtime 5 -name '*.log' #<==Recherche les fichiers se terminant par ".log" il y a 5 jours dans le répertoire /var/log/.
find . -type d #<== "!" signifie négation, recherchez des fichiers qui ne sont pas des répertoires, faites attention à la position du point d'exclamation.
find /data/ -perm 755 #<==Rechercher des fichiers en fonction des autorisations de fichier, 755 correspond aux autorisations
find . -size 1000c #<==Recherche les fichiers dont la taille est supérieure à 1000 octets dans le répertoire actuel.
find /data -path "/data/dir3" -prune -o -print #<==Le paramètre -path spécifie le style du chemin et le paramètre -prune est utilisé pour exclure le répertoire spécifié.
find /data \( -path /data/dir2 -o -path /data/dir3 \) -prune -o -print Utilisez des parenthèses pour combiner plusieurs expressions, mais les parenthèses ont une signification particulière dans la signification de la ligne de commande, donc "\" est utilisé pour s'échapper ici, ce qui indique à bash de ne pas analyser le caractère suivant "()", mais de le laisser à la commande find pour le traitement. De plus, il y a un espace entre le crochet gauche et le chemin dans "\(-path", et il y a un espace entre dir3 et le crochet droit dans "dir3\)".
find . -user person #<==Rechercher les fichiers dont l'utilisateur n'est personne.
find . -nouser#<==Rechercher les fichiers qui ne correspondent à aucun utilisateur.
find . -group person #<==Cette fonction est similaire à l'exemple précédent, elle fait ici référence à la recherche de fichiers avec le groupe d'utilisateurs personne.
find . -nogroup#<==Rechercher les fichiers qui ne correspondent à aucun groupe d'utilisateurs.
find . -newer file1.txt ! -newer file2.txt#<==Recherche les fichiers dont l'heure de modification est plus récente que file1.txt mais plus ancienne que file2.txt.
find . -maxdegree 1 -type d #<==-maxdegree 1 trouve le répertoire de premier niveau, similaire à l'arborescence -L 1.
find . -maxdegree 1 -type d ! -name "." #<==Utilisez le point d'exclamation (!) pour annuler et ne pas afficher les lignes dont les noms sont des points.
find .
find . Répertoire nommé ext.
find .type f -exec ls -l {} \;#<==La commande find correspond à tous les fichiers ordinaires du répertoire courant et utilise la commande ls -l dans l'option -exec pour les répertorier.
find .type f -mtime 14 -exec rm {} \; #<==find La commande recherche les fichiers du répertoire qui ont été modifiés il y a plus de 14 jours et utilise la commande rm dans l'option -exec pour les supprimer.
find /var/log/ -name "*.log" -mtime 5 -ok rm {} \;#<==La commande find trouve tous les noms de fichiers se terminant par ".log" et l'heure de changement dans /var/log / les fichiers du répertoire datant de plus de 5 jours et supprimez-les. Jusqu'à présent, la fonction de -ok est la même que celle de -exec, mais -ok a également pour fonction de donner une invite avant de les supprimer. Appuyez sur la touche y pour supprimer le fichier et appuyez sur la touche n pour ne pas supprimer le fichier, ce qui sera plus sûr.
find .type f|xargs ls -l #<== Transmettez les fichiers ordinaires trouvés par la commande find à la commande ls via le symbole pipe et la commande xargs pour exécution. Faites attention au format de la commande. Le symbole pipe "|" est utilisé ici. xargs est une commande et un filtre pour passer des paramètres à d'autres commandes. Vous pouvez d'abord lire le chapitre sur la commande xargs.
find . -name "*.txt"|xargs -i mv {} dir2/ #<==Utilisez le paramètre -i de xargs pour que {} représente les fichiers trouvés par find. Mettez ces fichiers comme paramètres après la commande mv comme. Le fichier source à déplacer est déplacé vers le répertoire dir2. Pour plus de méthodes, veuillez vous référer à la section 2.13.3 « Développer les connaissances : plusieurs méthodes de déplacement des fichiers trouvés vers des emplacements spécifiés ».
find dir2 -name "file*"|xargs -p rm -f#<== Remarque : l'utilisation de l'option -p de la commande xargs vous demandera de confirmer si vous souhaitez exécuter les commandes suivantes.
xargs : convertir l'entrée standard en arguments de ligne de commande
xargs [options] La commande xargs est un filtre qui transmet les paramètres de ligne de commande à d'autres commandes. Elle peut convertir les données transmises par le canal ou l'entrée standard en paramètres de ligne de commande de la commande qui suit la commande xargs.
xargs < test.txt#<== transforme tous les nombres en une seule ligne. Notez que xargs ne peut pas se connecter directement aux fichiers et doit être combiné avec le caractère de redirection d'entrée "<".
xargs -n 3 < test.txt#<== Sortie jusqu'à 3 par ligne.
echo splitXsplitXsplitXsplitX|xargs -d X -n 2 #<==Utilisez X comme délimiteur et affichez jusqu'à 2 par ligne.
find . -name "*.log"|xargs -i mv {} dir1/ #<==L'utilisation de l'option -i de xargs permet à {} de remplacer le fichier ou le répertoire trouvé par la commande find précédente.
find . -name "file*"|xargs -I [] cp [] dir2 L'option -I peut spécifier d'autres caractères au lieu de {}, tels que [].
find .-type f -name "*.txt" -print0|xargs -0 rm -f #<==xargs pense à tort que leur délimiteur est un espace. La solution est de séparer la sortie avec le caractère null et d'utiliser le -. 0 option.
renommer : renommer le fichier
renommer de en fichier
renommer "_finished" "" * #<==Remplacer _finished de tous les fichiers par vide.
renommer .jpg .oldboy *.jpg #<==Remplacer .jpg dans tous les fichiers par .oldboy.
basename : affiche le nom du fichier ou du répertoire
nom de base [<fichier ou répertoire>] [suffixe]
basename /data/dir1/file1.txt #<==Supprimez la partie chemin, c'est-à-dire que seul le nom du fichier est affiché.
dirname : affiche le chemin du fichier ou du répertoire
dirname [<fichier ou répertoire>
dirname /data/dir1/file1.txt #<==Affiche uniquement le chemin où se trouve le fichier. /données/rép1
chattr : modifier les attributs étendus d'un fichier
chattr [options] [mode] [<fichier ou répertoire>]
chattr un test #<== aAjouter des attributs supplémentaires.
chattr i file1.txt #<==Utilisez le paramètre i pour verrouiller le fichier.
lsattr : afficher les attributs d'extension de fichier
lsattr [options] [<fichier ou répertoire>]
lsattr file1.txt #<==Afficher les attributs étendus par défaut du fichier.
lsattr -d dir2 #<==Utilisez l'option -d pour afficher les attributs étendus du répertoire.
fichier : affiche le type de fichier
fichier [options] [<fichier ou répertoire>]
fichier oldboy oldboy : répertoire #<==oldboy est un répertoire.
md5sum : Calculer et vérifier la valeur MD5 du fichier
somme md5 [options] [fichier]
La commande md5sum oldboy.txt #<==md5sum peut connecter directement le fichier pour obtenir la valeur MD5 du fichier.
chown : change l'utilisateur et le groupe d'utilisateurs d'un fichier ou d'un répertoire
chown [options] [utilisateur:groupe] [<fichier ou répertoire>]
Le ":" peut être remplacé par ".".
Les noms d'utilisateur et de groupe à autoriser doivent exister réellement dans le système Linux.
chown oldboy file1.txt #<==Autoriser l'utilisateur oldboy, l'utilisateur oldboy doit être créé à l'avance.
chown .oldboy file1.txt #<==Autorisez le groupe d'utilisateurs oldboy Attention à ne pas manquer le point Le point ici peut également être remplacé par deux points.
chown root:root file1.txt #<==Vous pouvez utiliser ":" ou ".".
chown -R oldboy.oldboy dir2/ #<==Utilisez le paramètre -R pour autoriser de manière récursive.
chmod : modifier les autorisations d'un fichier ou d'un répertoire
La commande chmod est une commande utilisée pour modifier les autorisations d'un fichier ou d'un répertoire, mais seuls le propriétaire du fichier et le super utilisateur root peuvent exécuter cette commande.
chmod [options] [mode] [<fichier ou répertoire>]
chmod a= file1.txt #<==Définissez toutes les autorisations (a) sur vides (aucun caractère après le signe égal).
chmod u x file1.txt #<==Définissez l'autorisation d'exécution du propriétaire du fichier utilisateur.
chmod g w file1.txt #<==Définissez les autorisations d'écriture du groupe d'utilisateurs du fichier de groupe.
chmod ou file1.txt #<==Définissez d'autres autorisations de lecture pour les autres utilisateurs.
chmod ug r,o-r file1.txt #<==Plusieurs opérations d'autorisation peuvent être utilisées ensemble, séparées par des virgules. ug r est l'abréviation de u r et g r.
chmod u=rwx,g=rx,o=x file1.txt #<== "=" révoquer toutes les autorisations d'origine, puis accorder les autorisations données.
chmod 000 file1.txt #<==Cela a le même effet que l'exemple précédent chmod a= file1.txt.
chmod 753 file1.txt #<==Tout le monde doit maîtriser la conversion des autorisations numériques et des autorisations alphabétiques.
chmod -R 777 dir2/ #<==Accorder de manière récursive des autorisations sur le répertoire de fichiers 777.
chgrp : changer le groupe d'utilisateurs du fichier
chgrp [options] [groupe d'utilisateurs] [<fichier ou répertoire>]
chgrp oldboy install.log #<==Le groupe d'utilisateurs qui modifie le fichier install.log est oldboy.
chgrp -R root dir1/ #<==Parameter -R autorisation récursive.
umask : afficher ou définir un masque d'autorisation
umask [options] [mode]
Chapitre 3 Commandes de traitement du filtrage de fichiers et de l'édition de contenu
cat : fusionner des fichiers ou afficher le contenu du fichier
chat [options] [fichier]
cat >test.txt<<EOF EOF #<== Vous devez appuyer sur Entrée pour y mettre fin. De plus, EOF doit apparaître par paires, mais il peut également être remplacé par d'autres balises appariées. Par exemple : balise de caractère oldboy, par défaut, la terminaison EOF doit être écrite en majuscule.
cat -n test.txt#<==Remarque : comme le montre l'exemple ci-dessus, l'option -n consiste à numéroter le contenu du fichier en fonction de la ligne et à imprimer le résultat, y compris les lignes vides.
cat -b test.txt#<==Remarque : comme le montre l'exemple ci-dessus, l'option -b est similaire à l'option -n, mais l'option -b ne numérote pas les lignes vides.
cat -E test.txt#<== Remarque : Comme le montre l'exemple ci-dessus, l'option -E affiche le symbole $ de l'identifiant de fin caché à la fin du fichier. Même s'il s'agit d'une ligne vide, il y a un identifiant de fin à la fin, donc tout le monde doit y prêter attention.
cat -s test.txt#<==Il y avait à l'origine trois lignes vides ici. Maintenant, grâce à l'option -s, cela devient une ligne vide.
chat > test3.txt
Les redirections Cat et ">" dirigent la sortie standard vers un fichier, ce qui constitue une manière spéciale de modifier des fichiers.
Pour terminer l'édition, vous pouvez utiliser la touche de raccourci Ctrl d ou Ctrl c pour quitter, mais vous devez d'abord exécuter Entrée et positionner le curseur sur une nouvelle ligne non saisie.
En tapant de cette manière, vous constaterez que si vous faites une erreur et appuyez simplement sur la touche Retour arrière, vous ne pourrez pas le supprimer. Vous devez maintenir la touche "Ctrl Retour arrière" enfoncée pour le supprimer.
Cette opération est une méthode d'édition spéciale, mentionnée comme un point de connaissance étendu, et est rarement utilisée dans les environnements de production réels.
cat web01_access_20130522.log web02_access_20130522.log > web_access_20130522.log Utilisez cat pour connecter plusieurs fichiers afin de fusionner les journaux du cluster Web.
tac : afficher le contenu du fichier à l'envers
tac [options] [fichier]
plus : Afficher le contenu du fichier dans les pages
plus [options] [fichier]
more /etc/services #<==N'accepte aucun paramètre et affiche le contenu du fichier en plein écran.
more -5 /etc/services #<==Pour le moment, le contenu du fichier n'est pas affiché en plein écran, seules 5 lignes de contenu sont affichées.
more 888 /etc/services #<==À ce stade, le contenu du fichier est affiché directement à partir de la ligne 888.
ls /etc/|more -10 #<==Tout le monde doit savoir qu'il existe de nombreux répertoires de fichiers sous /etc La vue Direct ls affichera trop de contenu, vous pouvez donc utiliser la commande more pour l'afficher dans les pages.
less : afficher le contenu du fichier dans les pages
moins [options] [fichier]
less /etc/services #<==N'accepte aucun paramètre et affiche le contenu du fichier en plein écran.
less -N /etc/services #<==Il y a un numéro de ligne devant chaque ligne.
ls /etc/|less #<==Afficher le contenu des fichiers du répertoire etc dans les pages.
head : Afficher l'en-tête du contenu du fichier
tête [options] [fichier]
head /etc/passwd #<==Lorsque la commande head ne reçoit aucun paramètre, les 10 premières lignes du fichier seront affichées par défaut.
head -n 5 /etc/passwd #<==Le premier format spécifie les 5 premières lignes à afficher.
head -5 /etc/passwd #<==Le deuxième format spécifie également les 5 premières lignes à afficher, mais cette façon d'écrire est plus épurée.
head -c 10 /etc/passwd #<==Lire les 10 premiers octets du fichier. La méthode d'écriture précédente est en unités de ligne, tandis que -c est en octets. Cette fonctionnalité n’est pas couramment utilisée.
head -n -21 /etc/passwd #<==Le nombre ici est une valeur négative et cette méthode d'écriture n'est pas couramment utilisée.
tail : Afficher la fin du contenu du fichier
queue [options] [fichier]
tail /etc/passwd #<==La commande tail ne prend pas de paramètres et affiche les 10 dernières lignes par défaut.
tail -n 5 /etc/passwd #<==Afficher les 5 dernières lignes de texte
tail -5 /etc/passwd #<==La deuxième façon d'écrire les 5 dernières lignes du texte est affichée. Cette façon d'écrire est plus simple.
tail -n 15 /etc/passwd #<==Affiche le fichier à partir de la ligne 15. Utilisation étendue, mais peu utilisée.
tail -f /application/nginx/logs/access.log #<==tail -f surveille les modifications des fichiers en temps réel. Un scénario courant en production consiste à surveiller les fichiers journaux.
tail -f oldboy #<==Utilisez le paramètre -f Lorsque le fichier n'existe pas, une erreur sera signalée et la commande se terminera.
tail -F oldboy #<==Utilisez le paramètre -F Lorsque le fichier n'existe pas, une erreur sera renvoyée, mais il attendra toujours que le fichier soit généré et ne quittera pas la commande.
tailf : fichiers journaux de trace
tailf [options] [fichier]
La commande tailf est presque équivalente à tail-f. La différence avec tail-f est que si le fichier ne grossit pas, il n'accédera pas au fichier disque et ne modifiera pas le temps d'accès au fichier.
tailf /application/nginx/logs/access.log #<== peut facilement vérifier le fichier journal modifié.
couper : extraire un morceau de texte du texte et le sortir
couper [option] [fichier]
cut -b 3 oldboy.txt #<==N'affiche que le 3ème octet.
cut -b 3-5,10 oldboy.txt #<==-b prend en charge l'écriture sous la forme 3-5 et plusieurs positions sont séparées par des virgules.
cut -b -3 oldboy.txt #<==-3 signifie du premier octet au troisième octet.
cut -b 3- oldboy.txt #<==3- signifie du troisième octet à la fin de la ligne.
cut -b -3,3- oldboy.txt #<==Cette façon d'écrire affichera la ligne entière et il n'y aura pas deux lettres consécutives qui se chevauchent a.
cut -b 2-10 oldboy.txt#<==Remarque : l'utilisation de l'option -c utilisera les caractères comme unité et la sortie sera normale. L'option -b ne calculera qu'en octets (8 bits binaires) et la sortie sera tronquée. Lorsque vous rencontrez des caractères multi-octets, vous pouvez utiliser l'option -n -n pour indiquer à cut de ne pas diviser les caractères multi-octets.
cut -d : -f 1 /etc/passwd #<==L'option -d spécifie ":" comme séparateur, et l'option -f spécifie la première zone à afficher.
split : diviser le fichier
split [options] [fichier d'entrée] [préfixe du nom du fichier de sortie]
split -l 10 inittab new_#<== se divise toutes les 10 lignes et le nom du fichier divisé commence par new_.
split -l 10 -a 3 inittab new2_#<==Le paramètre -a spécifie la longueur du suffixe.
split -l 10 -d inittab num_#<== Le paramètre -d utilise un suffixe numérique.
split -b 500K -d lvm lvm_#<== Divisez le fichier tous les 500 Ko.
coller : fusionner des fichiers
coller [options] [fichier]
coller test1 test2 #<==2 les fichiers sont fusionnés ligne par ligne.
coller -d : test1 test2 #<==Utilisez ":" comme séparateur.
coller -s test1 #<==Utilisez l'option -s pour convertir le contenu d'une colonne en une ligne.
paste -s test1 test2 #<==Chaque fichier occupe une ligne.
trier : tri du texte
trier [options] [fichier]
sort oldboy.txt #<== ne reçoit aucun paramètre, convertira le contenu du fichier en code ASCII, puis comparera. Parce qu'en code ASCII, l'ordre des nombres est le même que notre perception, le résultat est le suivant.
sort -n oldboy.txt #<==Utilisez l'option -n pour trier les nombres directement du plus petit au plus grand.
sort -nr oldboy.txt #<== Semblable à cette fonction, nous l'avons déjà appris dans la commande ls. L'option -r signifie inverse. La commande de tri trie par défaut par ordre croissant (de petit à grand). Si vous utilisez l'option -r, elle passe en ordre décroissant (de grand à petit).
sort -u oldboy.txt #<==Utilisez l'option -u pour supprimer les lignes en double du fichier Vous apprendrez plus tard une commande uniq, qui peut également supprimer les lignes en double.
sort -t " " -k2 oldboy1.txt #<== L'option -t spécifie un espace comme séparateur, et l'option -k suivie de 2 signifie le tri selon la deuxième colonne.
join : fusionner deux fichiers par les mêmes champs
rejoindre [options] [fichier1] [fichier2]
join a.txt b.txt#<==Remarque : La condition requise pour utiliser join pour fusionner des fichiers est que les deux fichiers doivent être triés par tri.
uniq : supprime les lignes en double
uniq [options] [fichier ou entrée standard]
uniq oldboy.txt #<==Supprimez les lignes en double sans prendre aucun paramètre.
uniq -c oldboy.txt #<==Paramètre -c affiche le nombre d'occurrences de la ligne correspondante.
sort -n oldboy.txt|uniq -c#<==uniq ne peut dédupliquer que les lignes en double adjacentes, vous devez donc utiliser sort pour traiter d'abord le fichier, puis le dédupliquer.
wc : compte le nombre de lignes, de mots ou d'octets du fichier
toilettes [options] [fichier]
wc /etc/inittab 26 149 884 /etc/inittab #<==Si vous n'acceptez aucun paramètre, que signifie le nombre affiché ?
wc -l /etc/inittab #<==Nombre de lignes.
wc -m /etc/inittab #<==Nombre de caractères.
wc -w /etc/inittab #<==Nombre de mots.
wc -L /etc/inittab #<==La longueur de la ligne la plus longue.
iconv : le format d'encodage du fichier converti
iconv [options] [encodage d'origine] [nouvel encodage] [fichier d'entrée]
iconv -f gb2312 -t utf-8 GB2312.txt #<== Utilisez le paramètre -f pour spécifier l'encodage d'origine du fichier comme gb2312 et utilisez le paramètre -t pour spécifier l'encodage à convertir en utf-8.
dos2unix : convertir les fichiers au format DOS au format UNIX
dos2unix [fichier]
diff : comparez les différences entre deux fichiers
diff [options] [fichier1] [fichier2]
différence test1 test2 1,3d0 #<==Supprimez la ligne 1 à la ligne 3 du fichier 1, supprimez la ligne 0 du fichier 2, c'est-à-dire ne supprimez pas.
6a4,5 #<==Ajoutez les 2 lignes de texte suivantes à la ligne 6 du fichier 1, à savoir les lignes 4 et 5 du texte 2.
Le format d'affichage par défaut de diff comporte les trois invites suivantes. ·a-ajouter ·c-changement ·d-supprimer
diff -y test1 test2 #<==Utilisez le paramètre -y pour afficher côte à côte.
diff -y -W 30 test1 test2 #<==Si vous pensez que ce qui précède est trop large, vous pouvez utiliser le paramètre -W pour spécifier la largeur.
diff /etc/rc3.d/ /etc/rc6.d/ #<==diff peut non seulement comparer les différences dans le contenu des fichiers, mais également comparer les différences entre les fichiers du répertoire.
vimdiff : outil de comparaison visuelle
vimdiff [options] [fichier1] [fichier2]
Vimdiff appelle vim pour ouvrir des fichiers. Il peut ouvrir 2, 3 ou 4 fichiers en même temps, jusqu'à 4 fichiers, et utilisera des couleurs différentes pour distinguer les différences entre les fichiers.
vimdiff test1 test2 #<==Pour quitter l'interface vimdiff, vous devez exécuter l'opération de sortie de vim deux fois de suite (:q). La commande vim sera expliquée en détail plus tard. Étant donné que la commande vimdiff appelle la fonction vim, l'opération de sortie est la même que celle de vim.
rev : inverser le contenu du fichier de sortie
rév [fichier]
echo {1..10}|rev #<==Les caractères ci-dessus sont écrits à l'envers.
rev oldboy.txt #<==Vous pouvez le comparer avec la commande tac que vous avez apprise plus tôt.
tr : remplacer ou supprimer des caractères
tr [options] [caractère1] [caractère2]
La commande tr remplace, réduit ou supprime les caractères de l'entrée standard et écrit les résultats sur la sortie standard.
tr 'abc' 'xyz' < oldboy.txt #<==La commande tr pour connecter des fichiers est spéciale et nécessite le symbole de redirection "<".
tr '[a-z]' '[A-Z]' <oldboy.txt #<==Convertir les minuscules en majuscules.
tr '[0-9]' '[a-j]' < oldboy.txt #<==Remplacez le chiffre 0 par a, remplacez 1 par b...correspondance biunivoque.
tr -d 'oldboy'<oldboy.txt #<==Utilisez le paramètre -d pour supprimer des caractères.
tr -d ' \t' < oldboy.txt #<== Utilisez le paramètre -d pour supprimer tous les caractères de nouvelle ligne et les caractères de tabulation. Toutes les lignes deviennent une seule ligne et les lettres sont reliées entre elles.
echo 'oooolllddbbboyyyyy' |tr -s oldboy #<==Utilisez le paramètre -s pour compresser des caractères consécutifs en un seul.
tr '0-9' '*' < oldboy.txt #<==Remplacez tous les nombres par *.
tr -c '0-9' '*' < oldboy.txt #<==Utilisez le paramètre -c, à l'exception des chiffres, les autres caractères, y compris les nouvelles lignes, seront remplacés par *.
od : Afficher les fichiers dans différentes bases
od [options] [fichier]
tee : ciblage multiple
tee [options] [fichier]
La commande ls|tee ls.txt #<==ls prend en charge la commande canal et tee, affiche le résultat de ls à l'écran et écrit le résultat dans ls.txt.
ls|tee -a ls.txt #<==Utilisez le paramètre -a pour ajouter du contenu au fichier sans effacer le contenu existant dans le fichier.
vi/vim : éditeur de texte brut
vim [options] [fichier]
Trois modes de vim
Mode normal
Mode édition
Les opérations de saisie d'édition ne peuvent pas être effectuées en mode normal. Vous ne pouvez accéder au mode d'édition qu'en appuyant sur des lettres telles que "i, I, o, O, a, A, r, R, s, S" (dont "I" est le le plus couramment utilisé). Effectuer des opérations d’édition telles que la saisie de texte. Une caractéristique importante pour vérifier si le fichier est en mode édition est qu'il doit y avoir une marque d'insertion "--INSERT--" ou "--INSERT--" dans le coin inférieur gauche de la fenêtre.
mode commande
En mode normal, lorsque vous entrez ":" ou "/" ou "?", le curseur localisera automatiquement cette ligne. Dans ce mode, vous pouvez effectuer une sauvegarde, quitter, rechercher, remplacer, afficher les numéros de ligne et d'autres opérations connexes.
Résumé de la façon d'ouvrir des fichiers dans vim
fichier vim : ouvrez/créez un nouveau fichier, placez le curseur au début de la ligne 1 et fichier est n'importe quel nom de fichier.
fichier vim n : Ouvrez le fichier, placez le curseur au début de la nième ligne, n est un nombre naturel.
fichier vim : Ouvrez le fichier et placez le curseur au début de la dernière ligne.
fichier vim /pattern : placez le curseur sur la première chaîne qui correspond au motif, et le motif est n'importe quelle chaîne.
Chapitre 12 Commandes intégrées couramment utilisées dans les systèmes Linux
Exemples de commandes intégrées Linux couramment utilisées
helpView aide à la commande intégrée
aide [options] [commande intégrée]
help #<==Utilisez la commande help pour afficher toutes les commandes intégrées de Linux.
help help #<== Le format "help commande intégrée" vous permet d'afficher l'aide pour les commandes intégrées, et l'aide elle-même est également une commande intégrée.
help cd #<==Voir la documentation d'aide pour la commande cd.
help -d cd #<==Affiche une brève description de la commande intégrée.
help -m cd #<==Afficher au format d'aide man.
help -s cd #<==Affiche uniquement la syntaxe de la commande.
Espace réservé": "
if [ $i -eq 1 ] #<==Expression conditionnelle. alors : #<==Si l'instruction de jugement if est utilisée dans le script Shell, alors certaines opérations seront généralement effectuées une fois le jugement réussi, mais parfois on ne sait pas quelles opérations effectuer ou certaines opérations ne doivent pas être effectuées. Cependant, en raison du format de syntaxe fixe de l'instruction if, je dois écrire une commande pour occuper l'espace, car si cette ligne n'a pas de contenu, une erreur de syntaxe sera signalée. À ce moment, l'espace réservé ":" sera signalé. utilisé, mais ne vous inquiétez pas, cette commande Elle n'aura aucun impact sur votre script shell, c'est un peu comme le champ pass dans d'autres langages de programmation. autre faire écho à "Bonjour tout le monde" Fi
"." et source
"." et source sont souvent utilisés pour charger ou exécuter des scripts Shell, mais ils sont différents de la méthode conventionnelle d'exécution de scripts Shell. Jetons un coup d’œil à la comparaison ci-dessous.
·La première méthode, bash script-name ou sh script-name, est une méthode souvent utilisée lorsque le fichier de script lui-même ne dispose pas d'autorisations exécutables (c'est-à-dire que le bit x de l'attribut d'autorisation de fichier est - De plus, le). l'interpréteur n'est pas spécifié au début du fichier de script. Il est également nécessaire en cas de besoin.
·La deuxième méthode est le nom du script source ou .script-name. Cette méthode utilise généralement la source ou "." (point) pour lire ou charger le fichier de script Shell spécifié (tel que san.sh), puis, dans l'ordre, exécuter. toutes les instructions dans le fichier de script Shell spécifié san.sh. Ces instructions seront exécutées dans le processus père.sh du script Shell parent actuel (plusieurs autres modes démarreront un nouveau processus pour exécuter le script enfant). Par conséquent, l'utilisation de source ou "." peut transmettre la valeur de variable ou la valeur de retour d'une fonction dans le script san.sh lui-même au script Shell parent actuel, mother.sh, pour utilisation.
Test conditionnel "[" et test
·Le format de syntaxe du test conditionnel est : test<expression de test> ·Le format de syntaxe du test conditionnel [] est : [<expression de test>]
Il doit y avoir des espaces aux deux extrémités des parenthèses. [] équivaut à test, c'est-à-dire que toutes les options de jugement de test peuvent être utilisées directement dans [], mais il est recommandé d'utiliser [].
test -f file && echo true || echo false #<== C'est vrai si le fichier fichier existe et est un fichier ordinaire. Parce que le fichier fichier n'existe pas, false est affiché.
[ -f /tmp/oldboy.txt ] && echo 1 || echo 0 #<== True si le fichier /tmp/oldboy.txt existe et est un fichier ordinaire, car le fichier n'existe pas, 0 est affiché.
Alias de commande alias et non alias
alias [alias de commande]=[instruction de commande] unalias [alias de commande]
alias #<==Sans aucun paramètre, tous les alias de commande sont affichés.
alias rm='echo "Ne pas utiliser rm."' #<==Définissez un nom d'alias rm pour l'instruction de commande echo "Ne pas utiliser rm", et l'instruction de commande entre guillemets simples doit être exécutable.
alias rm #<==Interrogez l'instruction de commande pointée par rm.
alias eth0='cat /etc/sysconfig/network-scripts/ifcfg-eth0' #<==Définissez l'alias eth0.
·Ajoutez certains paramètres de protection aux commandes dangereuses pour éviter les erreurs humaines, comme l'alias de rm. · Convertissez de nombreuses chaînes ou commandes complexes en une chaîne ou une commande simple, telle que l'alias de eth0.
unalias eth0 #<==Supprimer l'alias en utilisant unalias
Commandes liées aux tâches en arrière-plan bg/fg/jobs
La commande bg est utilisée pour transférer les tâches d'exécution au premier plan vers l'arrière-plan, ou exécuter les tâches suspendues en arrière-plan ; la commande fg est l'opposée de la commande bg, elle transfère les tâches en arrière-plan au premier plan pour l'exécution, la commande jobs peut être utilisée ; pour afficher la liste des tâches en arrière-plan.
bg [numéro de séquence de tâche] fg [numéro de séquence de tâche] emplois
sortir de la boucle
#!/bin/bash pour((i=0; i<=5; i )) faire si [ $i -eq 3 ] ; alors break; #<==Sortez de la boucle entière et continuez à exécuter le programme en dehors de la boucle. Fi écho $i fait écho "ok"
continuer dans la boucle suivante
#!/bin/bash pour((i=0; i<=5; i )) faire si [ $i -eq 3 ] ; alors continue; #<==Terminez cette boucle et continuez la boucle suivante. Fi écho $i fait écho "ok"
eval exécute les paramètres sous forme de commandes
echo `hostname -I` #<==Si vous souhaitez exécuter des commandes entre guillemets, vous devez utiliser des backticks, également appelés backticks.
echo 'hostname -I`' #<==Les guillemets simples sont entourés de guillemets simples. La fonction des guillemets simples est que ce que vous voyez est ce que vous obtenez, donc le résultat est `hostname -I`. `nom d'hôte -I`
eval echo '`hostname -I`' #<==Ajoutez une commande eval au début de la commande, les guillemets simples ne sont pas valides ! Parce que la commande eval peut d'abord analyser ou exécuter des variables ou des commandes entre guillemets simples.
exit quitte la ligne de commande Shell
exit #<==Pour quitter la ligne de commande Shell, vous pouvez utiliser la commande exit, la touche de raccourci Ctrl D ou la commande de déconnexion.
#!/bin/bash pour((i=0; i<=5; i )) faire si [ $i -eq 3 ] ; alors exit #<==Une fois la commande exit exécutée, l'intégralité du script se terminera et le contenu restant du script ne sera plus exécuté. Fi écho $i fait écho "ok"
exporter Afficher ou définir des variables globales
exporter [options]
export -p #<==Imprime toutes les variables d'environnement à l'aide de l'option p.
export MYENV=7 #<==Seules les variables définies à l'aide de la commande export sont des variables globales.
historique Afficher l'historique des commandes
histoire [options]
history #<==Affiche tous les enregistrements d'historique de la commande.
history 10 #<== La commande history suivie du numéro n indique que les n derniers enregistrements de commande seront affichés.
history -d 991 #<== "history -d history command séquence number" peut effacer la commande history du numéro de séquence spécifié.
history -c #<==Utilisez l'option -c pour effacer l'historique de toutes les commandes.
lire la variable d'affectation interactive
La commande read lit une ligne à partir de l'entrée standard et attribue la valeur de chaque champ de la ligne d'entrée à une variable Shell.
lire [option] [nom de la variable]
read #<==Exécutez la commande read et la ligne de commande attend une entrée. oldboy #<==Saisissez la chaîne oldboy.
echo $REPLY #<==readL'entrée obtenue est stockée dans la variable REPLY par défaut.
read one #<==read est suivi d'un nom de variable et les données d'entrée seront affectées à cette variable.
read un deux #<==read peut être suivi de plusieurs noms de variables. n1 n2 #<== Par défaut, les espaces sont utilisés comme séparateurs. Le premier paragraphe n1 est affecté à la première variable un et le deuxième paragraphe n2 est affecté à la deuxième variable deux.
lire un deux m1 m2 m3 #<==Si les données d'entrée dépassent le nombre de variables, alors toutes les valeurs finales seront affectées à la dernière variable, m1 sera affecté à la variable un et "m2 m3" sera affectés à la variable deux ensemble.
read -p "Veuillez entrer votre âge :" age #<==Il doit y avoir au moins un espace devant la variable age ! Utilisez le paramètre -p pour définir les instructions d'invite affichées sur la ligne de commande, ce qui est plus convivial.
read -t 3 -p "Veuillez entrer votre âge :" age #<==Utilisez le paramètre -t pour spécifier le nombre de secondes d'attente. Passé ce délai, la commande se terminera automatiquement.
L'option -s empêche l'affichage à l'écran des données saisies dans la commande de lecture, comme les mots de passe.
read -n 3 -p "Vous ne pouvez saisir que 3 caractères. Si vous ne me croyez pas, essayez-le :" num
type détermine le type de commande
tapez [option] [commande]
tapez ls #<== sans aucun paramètre, affiche les informations principales de ls.
tapez -a ls #<==Affichez toutes les informations pertinentes.
ulimit modifie les limites d'utilisation des ressources système
La commande ulimit permet de vérifier l'utilisation des ressources système. Elle peut également modifier le quota alloué aux ressources système par les processus ou les utilisateurs.
ulimit [options]
ulimit -a affiche toutes les limites actuelles d'utilisation des ressources système.
ulimit -n 1024 #<==Le nombre maximum par défaut de fichiers ouverts (également appelés descripteurs de fichiers) dans le nouveau système est de 1024. Cette valeur est trop petite pour le serveur dans l'environnement de production, cette valeur est donc généralement ajustée lors de l'optimisation du serveur. . grand.
ulimit -n 65535 #<==Le montant de l'ajustement est de 65535, mais l'ajustement via la commande ne prend effet que pour la fenêtre actuelle, le fichier de configuration doit donc être modifié.
echo '* - nofile 65535' >> /etc/security/limits.conf #<==Modifie le fichier de configuration et prend effet de manière permanente.
non défini efface les variables
La commande unset OLDBOY oldgirl #<==unset peut effacer la valeur de la variable.
Chapitre 11 Commandes de gestion du système Linux
lsof : Afficher les fichiers ouverts par un processus
lsof [options]
lsof /var/log/messages montre les processus utilisant le fichier.
lsof -c rsyslog #<==Utilisez l'option -c pour afficher les fichiers ouverts par le processus spécifié.
lsof -p 1277 #<==Utilisez l'option -p pour afficher les fichiers ouverts par le numéro de processus spécifié.
lsof -i #<==Afficher tous les processus.
lsof -i tcp #<==Affiche les informations de processus de toutes les connexions réseau TCP.
lsof -i :22 #<==Affichez le processus avec le port 22. Cette commande est très couramment utilisée.
lsof -i tcp:22 #<==Afficher les processus qui répondent à la fois à TCP et au port 22.
lsof -u oldboy #<==Utilisez l'option -u pour afficher les fichiers utilisés par l'utilisateur oldboy.
lsof -U #<==Utilisez l'option -U pour afficher tous les fichiers socket.
uptime : affiche le temps de fonctionnement et la charge du système
disponibilité
gratuit : afficher les informations sur la mémoire système
gratuit [option]
free #<==Sans paramètres, l'affichage par défaut est le nombre d'octets, ce qui est difficile à comprendre.
free -m #<==Utilisez l'option -m pour afficher l'utilisation de la mémoire en Mo.
free -h #<==Utilisez l'option -h pour convertir automatiquement en unités Ko, Mo et Go en fonction de la taille réelle pour afficher l'utilisation de la mémoire.
free -h -s 10 #<==Utilisez l'option -s pour actualiser régulièrement l'utilisation de la mémoire, en quelques secondes.
iftop : afficher dynamiquement les informations sur le trafic de l'interface réseau
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo miam -y installer iftop
iftop [options]
sitop interface : eth0 #<==La première carte réseau du système de surveillance est utilisée par défaut Vous pouvez utiliser l'option -i pour spécifier la carte réseau de surveillance.
iftop -nNBP ·-n : n'effectue pas de résolution DNS et affiche l'adresse numérique IP. ·-N : affiche le numéro de port sous forme numérique. ·-P : Afficher le numéro de port. ·-B : La valeur par défaut est d'afficher le trafic en unités de bits, qui doit être calculé pour se conformer à notre compréhension, mais l'utilisation de l'option -B affichera directement le trafic en octets.
vmstat : statistiques de la mémoire virtuelle
vmstat [options] [intervalle [nombre de fois]]
1) Dans la commande vmstat et les options suivantes, il doit y avoir au moins un espace entre chaque élément. 2) le délai représente l'intervalle entre deux sorties. 3) count représente le nombre de statistiques selon l'intervalle de temps spécifié par delay.
vmstat #<==Si les paramètres "intervalle" et "nombre de fois" sont omis, le rapport ne sera affiché qu'une seule fois puis quittera.
vmstat 5 #<== signifie que les informations de sortie sont mises à jour toutes les 5 secondes, que la sortie est bouclée et que la combinaison de touches Ctrl C est enfoncée pour arrêter la sortie.
vmstat 5 6 #<== signifie que les informations de sortie sont mises à jour toutes les 5 secondes et que la sortie s'arrête après avoir compté 6 fois.
vmstat -a 2 5 affiche la mémoire active et inactive.
vmstat -s Afficher les détails de l'utilisation de la mémoire.
vmstat -d Afficher les lectures/écritures sur le disque.
vmstat -p /dev/sda1 Affichez les statistiques de lecture et d'écriture du disque /dev/sda1.
mpstat : statistiques sur les informations sur le processeur
mpstat [options] [intervalle de temps [nombre de fois]]
1) Dans la commande mpstat et les options suivantes, il doit y avoir au moins un espace entre chaque élément. 2) le délai représente l'intervalle de temps entre deux sorties. 3) count représente le nombre de statistiques selon l'intervalle de temps spécifié par delay.
mpstat #<==Si les paramètres "intervalle de temps" et "nombre de fois" sont omis, le rapport ne sera affiché qu'une seule fois puis quittera.
mpstat 5 6 #<== signifie que les informations de sortie sont mises à jour toutes les 5 secondes et que la sortie s'arrête après avoir compté 6 fois.
mpstat -P 0 #<==Affiche les informations du premier CPU.
iostat : statistiques sur les informations d'E/S
iostat [options] [intervalle [nombre de fois]]
1) Dans la commande iostat et les options suivantes, il doit y avoir au moins un espace entre chaque élément. 2) l'intervalle représente l'intervalle entre deux sorties. 3) count représente le nombre de statistiques selon l'intervalle de temps spécifié par delay.
iostat #<==Si les paramètres "intervalle de temps" et "nombre de fois" sont omis, le rapport ne sera affiché qu'une seule fois puis quittera.
iostat 2 3 #<==Actualisez l'affichage toutes les 2 secondes et affichez-le 3 fois au total.
iostat -d #<==Option -d affiche uniquement les statistiques du disque.
iostat -d -k #<==Option -k affiche les données en Ko.
iostat -d -m #<==Option -m affiche les données en Mo.
iostat -d -x -k #<==Option -x affiche des informations étendues.
iostat -c #<==L'option -c est utilisée pour afficher uniquement les statistiques du processeur système.
iotop : afficher dynamiquement les statistiques d'E/S du disque
iotop [options]
iotop
sar : collecter des informations sur le système
sar [options] [intervalle [nombre de fois]]
1) Dans la commande sar et les options suivantes, il doit y avoir au moins un espace entre chaque élément. 2) l'intervalle représente l'intervalle entre deux sorties. 3) count représente le nombre de statistiques selon l'intervalle de temps spécifié par intervalle.
sar -u 2 3 #<==Utilisez l'option -u pour afficher l'état de charge de tous les processeurs du système pendant la période d'échantillonnage, suivi de 2 3 indiquant les statistiques une fois toutes les 2 secondes et 3 fois.
sar -q 2 3 #<==Utilisez l'option -q pour afficher la taille de la file d'attente d'exécution.
sar -r 2 3 #<==Utilisez l'option -r pour afficher l'utilisation de la mémoire système pendant la période d'échantillonnage.
sar -b 2 3 #<==Utilisez l'option -b pour afficher l'utilisation du tampon pendant la période d'échantillonnage.
sar -n DEV 2 3 #<==Utilisez -n DEV pour afficher les informations sur l'interface réseau.
sar -n EDEV 2 3 #<==Utilisez -n EDEV pour afficher les statistiques d'erreurs réseau.
sar -n SOCK 2 3 #<==Utilisez -n SOCK pour afficher les informations sur la socket.
sar -d 2 3 #<==Utilisez l'option -d pour afficher l'état d'utilisation de tous les périphériques de disque dur du système pendant la période d'échantillonnage.
chkconfig : gérer le service de démarrage
chkconfig [options]
chkconfig --list #<==Utilisez directement l'option --list pour afficher l'état de tous les services.
chkconfig --list sshd #<==Spécifiez le nom du service système pour afficher l'état de démarrage de ce service.
chkconfig sshd off #<==Utilisez off pour désactiver le service sshd et le démarrer automatiquement aux niveaux 2, 3, 4 et 5.
chkconfig sshd on #<==Utilisez on pour permettre au service sshd de démarrer automatiquement aux niveaux 2, 3, 4 et 5.
chkconfig --level 3 sshd off #<==Utilisez --level pour spécifier de désactiver le service sshd et de le démarrer automatiquement au niveau 3.
chkconfig --level 3 sshd on #<==Utilisez --level pour spécifier que le service sshd démarrera automatiquement au niveau 3.
ntsysv : gérer le service de démarrage
ntsysv [options]
ntsysv
configuration : outil de gestion du système
La commande setup est un outil de gestion système basé sur une interface texte qui intègre la gestion de l'authentification des utilisateurs, la gestion du pare-feu, la gestion du réseau et la gestion des services système.
installation
ethtool : interroger les paramètres de la carte réseau
ethtool [périphérique de carte réseau]
ethtool eth0 #<==Connectez la carte réseau spécifiée pour afficher les paramètres de la carte réseau.
mii-tool : Gérer l'état des interfaces réseau
mii-tool [options] [interface réseau]
mii-tool eth0 #<==N'accepte aucune option et affiche des informations simplifiées.
mii-tool -v eth0 #<==Utilisez l'option -v pour afficher des informations détaillées.
dmidecode : interroger les informations sur le matériel du système
dmidecode [options]
dmidecode -s system-product-name #<==Le modèle de serveur de l'auteur est Dell 2950. PowerEdge 2950
dmidecode -s system-serial-number #<==Affichez le mot-clé du numéro de série system-serial-number.
dmidecode -t memory #<==-Utilisez l'option -t suivie du mot-clé memory pour afficher uniquement les informations sur la mémoire. D'autres mots-clés peuvent être visualisés via la commande dmidecode -t.
lspci : afficher tous les périphériques PCI
lspci [options]
lspci -s 02:04.0 #<==02:04.0 À partir de l'exemple 1, nous pouvons connaître le numéro du périphérique de la carte réseau.
lspci -s 02:04.0 -v #<==Afficher des informations détaillées.
ipcs : affiche l'état des fonctions de communication inter-processus
ipc [options]
ipcrm : effacer les informations relatives à l'IPC
ipcrm [options]
ipcrm -s 0 #<==Supprimez l'ensemble de signaux avec un semid spécifié de 0.
rpm : gestionnaire de paquets RPM
tr/min [options]
rpm -qpi lrzsz-0.12.20-27.1.el6.x86_64.rpm #<==Affiche la version du package rpm, la date de création et d'autres informations.
rpm -qpl lrzsz-0.12.20-27.1.el6.x86_64.rpm #<==Affichez les fichiers dans le package rpm.
rpm -qpR lrzsz-0.12.20-27.1.el6.x86_64.rpm #<==Affichez les fichiers requis pour installer ce package rpm.
rpm -ivh lrzsz-0.12.20-27.1.el6.x86_64.rpm #<==Installez le package rpm et utilisez le paramètre -h pour afficher la barre de progression. #<==rpm prend également en charge l'installation en ligne, connectez-vous directement à une adresse URL
rpm -qa lrzsz #<==Le paramètre -p n'est pas utilisé ici car lrzsz est le nom du logiciel et ne se termine pas par ".rpm".
rpm -e lrzsz #<== Utilisez le paramètre -e pour désinstaller le progiciel. Ce paramètre est plus dangereux. Généralement, essayez de ne pas désinstaller le progiciel si cela n'est pas nécessaire, car il est très probable que certains fichiers nécessaires soient utilisés. le système sera supprimé par erreur, causant finalement des dommages au système.
rpm -qf $(which ifconfig) #<== Parfois, vous constaterez que le système ne dispose pas de certains fichiers ou commandes, mais vous ne savez pas à quel progiciel appartient le fichier ou la commande. Dans ce cas, vous pouvez utiliser le. Paramètre -f à interroger (dans Query sur le système qui possède ce fichier). Par exemple, dans cet exemple, la commande ifconfig appartient au progiciel net-tools.
yum : outil automatisé de gestion des packages RPM
miam [options] [commande] [paquet]
miam, installe httpd
miam list httpd #<==Vérifiez la liste d'installation httpd.
miam search httpd #<==Recherchez les packages contenant la chaîne httpd.
yum grouplist #<==Afficher les groupes de packages installés et désinstallés.
yum groupinstall "SNMP Support" -y #<==Installer le groupe de packages, rechercher dans la liste des groupes yum.
Chapitre 10 Commandes de gestion de réseau Linux
ifconfig : configurer ou afficher les informations sur l'interface réseau
ifconfig [interface réseau] [options]
interface est le nom de l'interface réseau. Les noms d'interface réseau sous Linux sont similaires à eth0, eth1 et lo, etc., qui représentent respectivement la première carte réseau, la deuxième carte réseau et l'interface de bouclage. Il s'agit d'une option facultative. Si vous n'ajoutez pas cette option, toutes les informations de la carte réseau du système seront affichées. Si vous ajoutez cette option, les informations de la carte réseau spécifiées seront affichées.
L'utilisation de la commande ifconfig pour configurer les informations de la carte réseau ne prendra effet que temporairement. Le redémarrage de la configuration du réseau ou du serveur l'invalidera.
La commande ifconfig doit être exécutée en tant qu'utilisateur root lors de la configuration des informations de la carte réseau.
ifconfig #<==Affiche toutes les informations sur la carte réseau du système.
La commande Ifconfig eth0 #<== est connectée au nom de la carte réseau pour spécifier les informations de la carte réseau à afficher.
ifconfig -a #<==Utilisez l'option -a pour afficher toutes les informations de la carte réseau.
ifconfig eth1 up #<==Ajoutez après le nom de la carte réseau pour démarrer la carte réseau.
ifconfig eth1 down #<==Ajoutez après le nom de la carte réseau pour arrêter la carte réseau.
ifconfig eth0 192.168.120.56 #<==Connectez l'adresse IP directement à la carte réseau qui doit être configurée.
ifconfig eth0:0 10.0.0.8 netmask 255.255.255.0 up#<== Format de syntaxe : Alias Adresse IP Masque de sous-réseau Activer la carte réseau
ifconfig eth0:1 10.0.0.9/24 up #<==Ajouter un deuxième alias IP, 10.0.0.9/24 a le même effet que 10.0.0.9 masque de réseau 255.255.255.0, 24 est le masque de sous-réseau 255.255.255.0 Une autre forme d'expression .
ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE#<==Mots clés pour modifier l'adresse MAC hw (définir l'adresse MAC) ether (type de périphérique réseau).
ifup : Activer l'interface réseau
ifup [interface réseau]
ifup eth0 #<==Activer l'interface réseau eth0 Comme eth0 a déjà commencé à s'exécuter, l'invite est la suivante. Réponses RTNETLINK : Le fichier existe
ifup eth1 #<==Activez l'interface réseau eth1 Dans des circonstances normales, il n'y a aucune sortie.
fup eth2 #<==Activez l'interface réseau eth2 et signalez une erreur Le fichier de configuration d'eth2 est introuvable.
ifdown : désactiver l'interface réseau
ifdown [interface réseau]
ifdown eth1 #<==Fermez la carte réseau eth1.
route : afficher ou gérer les tables de routage
itinéraire [options]
route #<==Par défaut, la commande route effectuera une résolution DNS sur l'adresse IP pour générer un nom d'hôte.
route -n #<==Utilisez l'option -n pour ne pas effectuer de résolution DNS, ce qui accélérera l'affichage.
route del default #<==Supprimer la méthode de passerelle 1.
route add default gw 10.0.0.2 #<== Ajouter la méthode de passerelle 1, vous devez spécifier l'adresse de la passerelle 10.0.0.2 ou une autre adresse correcte.
route del default gw 10.0.0.2 #<==Supprimer la méthode de passerelle 2.
route add default gw 10.0.0.2 dev eth0#<==Ajouter une méthode de passerelle 2, utilisez dev pour spécifier le périphérique réseau, adapté aux hôtes avec plusieurs périphériques réseau.
arp : gère le cache arp du système
arpège [options]
arp #<==Affiche toutes les entrées dans le cache arp.
arp -n #<==Utilisez l'option -n pour afficher numériquement toutes les entrées du cache arp.
arp -n 10.0.0.1 #<==Spécifiez pour interroger les informations arp de 10.0.0.1.
arp -s 10.0.0.100 00:0c:29:c0:5a:ef #<==Lier l'adresse IP et l'adresse MAC.
arp -d 10.0.0.100 #<==Supprimer la liaison ARP statique.
ip : outil de configuration réseau
ip [options] [objet réseau] [commande d'opération]
ip link show dev eth1 #<==Afficher les propriétés de la carte réseau eth1.
ip -s link show dev eth1 #<==Afficher les attributs détaillés.
ip -s -s link show dev eth1 #<==Utilisez deux -s pour afficher des attributs plus détaillés.
ip link set eth1 up #<==Activez la carte réseau eth1.
ip link set eth1 down #<==Éteignez la carte réseau eth1.
lien ip définir l'adresse eth1 0:0c:29:13:10:11 #<==Modifier l'adresse MAC.
ip a #<==L'effet est le même que celui de l'adresse IP. Les résultats affichés incluent les cartes réseau activées et inactives.
ip a add 172.16.1.12/24 dev eth1 #<==Utilisez l'option add pour ajouter une adresse IP 172.16.1.12, un masque de sous-réseau 255.255.255.0, en abrégé 172.16.1.12/24, et utilisez l'option dev pour spécifier le réseau périphérique comme eth1.
ip a add 172.16.1.13/24 dev eth1 #<==Vous pouvez ajouter plusieurs adresses IP, appelées IP auxiliaires. L'alias créé par la commande ifconfig précédente est IP. De nos jours, les logiciels à haute disponibilité couramment utilisés, tels que Heartbeat et Keepalive, utilisent tous une adresse IP auxiliaire.
ip a del 172.16.1.12/24 dev eth1 #<==Supprimez l'adresse IP principale, supprimez l'adresse IP configurée par la commande ip et modifiez directement l'option add dans la commande add précédente en del.
·La suppression de l'adresse IP principale de la carte réseau supprimera également toutes les adresses IP de la carte réseau. ·La suppression de l'adresse IP auxiliaire de la carte réseau n'affectera pas les autres adresses IP de la carte réseau.
ip a add 10.0.0.20/32 dev eth1 label eth1:1 #<== Utilisez l'option label pour créer un alias IP.
ip route|column -t #<==Utilisez la commande column pour formater, option -t, par défaut, le nombre de colonnes dans la ligne d'entrée est déterminé en fonction de la séparation des espaces pour créer un tableau.
ip route add 10.1.0.0/24 via 10.0.0.253 dev eth0 #<==Ajouter une route statique.
ip route del 10.1.0.0/24 #<==Supprimer la route statique.
ip voisin #<==Utilisez la commande voisin pour afficher le cache arp.
ip voisin add 192.168.1.100 lladdr 00:0c:29:c0:5a:ef dev eth0 #<==Ajouter un ARP statique.
ip voisin del 192.168.1.100 dev eth0 #<==Supprimer l'ARP statique.
netstat : afficher l'état du réseau
netstat [options]
netstat -an #<== Les combinaisons couramment utilisées -a et -n affichent toutes les informations de connexion.
netstat -lntup La fonction de l'instruction de commande ci-dessus est d'afficher toutes les informations de connexion d'écoute TCP et UDP. ·-l : affiche toutes les connexions réseau en état LISTEN. ·-n : affiche l'adresse IP sans résolution DNS dans le nom d'hôte et le nom de domaine. ·-t : Afficher toutes les connexions TCP. ·-u : Afficher toutes les connexions UDP. ·-p : Afficher le numéro du processus et le nom du processus.
netstat -rn #<==Utilisez l'option -r pour afficher les informations de la table de routage. L'option -n n'effectue pas de résolution DNS pour accélérer l'exécution des commandes.
ss : afficher l'état du réseau
La commande ss est un outil similaire et remplacera netstat. Elle peut être utilisée pour afficher les informations sur l'état du réseau, notamment les connexions TCP, UDP, les ports, etc. Son avantage est qu'il peut afficher des informations de plus en plus détaillées sur l'état de la connexion réseau, et qu'il est plus rapide et plus efficace que netstat.
Si le système ne dispose pas de la commande ss, vous devez l'installer. La commande ss appartient au package iproute, la commande d'installation est donc yum-y install iproute.
ss [options] [filtre]
ss -an #<==Affiche toutes les connexions socket.
ss -an|column -t #<==Le résultat ci-dessus sera un peu compliqué une fois écrit dans le document. Formatons-le avec une colonne.
ss -lntup|column -t #<==Affiche toutes les connexions TCP et UDP en écoute.
ss -s #<== Compte le nombre actuel de sockets TCP établis, fermés, orphelins et en attente.
ping : tester la connectivité réseau entre les hôtes
ping [options] [hôte cible]
ping www.oldboyedu.com #<==La commande ping est directement connectée au nom de domaine ou à l'IP, et le résultat du ping sera toujours affiché.
ping -c 3 -i 3 -s 1024 -t 255 www.oldboyedu.com ·-c 3 : Envoyez les paquets ICMP 3 fois. ·-i 3 : L'intervalle de temps entre chaque envoi de paquet est de 3s. ·-s 1024 : définit la taille du paquet envoyé sur 1 024 octets. ·-t 255 : définissez la valeur ttl du paquet de données envoyé sur 255.
traceroute : suivre l'état du routage de la transmission des données
traceroute [options] [nom d'hôte ou IP] [taille du paquet]
arping : envoyer une demande d'arpège
arpillage [options]
arping -f 10.0.0.1 #<== Utilisez l'option -f pour quitter lorsque la première réponse est reçue afin de détecter si l'hôte de destination est vivant.
arping -f 10.0.0.3 #<==Un hôte qui n'est pas en cours d'exécution ne répondra pas et la commande attend que Ctrl C se termine.
telnet : connexion à distance à l'hôte
telnet [options] [nom d'hôte ou IP] [port]
telnet 10.0.0.12 22 #<==Remplacez 10.0.0.12 ici par la propre adresse IP du lecteur, et 22 est le numéro de port par défaut du service SSH.
nc : outil réseau multifonctionnel
nc est un outil réseau simple, fiable et puissant qui peut établir des connexions TCP, envoyer des paquets UDP, écouter tous les ports TCP et UDP, effectuer une analyse des ports et traiter les paquets IPv4 et IPv6. Si le système ne dispose pas de la commande nc, vous pouvez l'installer manuellement. La commande d'installation est yum-y install nc.
nc [options]
nc -l 12345 >oldboy.nc #<==Écoutez le port 12345 et écrivez les données sur oldboy.nc. #<==Après avoir exécuté la commande ci-dessus, la fenêtre actuelle se bloque. #<==Ouvrez une nouvelle fenêtre pour exécuter la commande.
nc 10.0.0.12 12345 <oldboy.log #<==Utilisez la commande nc pour transférer le fichier oldboy.log vers le port 12345 de l'hôte 10.0.0.12.
nc -z 10.0.0.12 20-30 #<==Analysez les ports 20 à 30 de l'hôte 10.0.0.12.
nc -z 10.0.0.12 22 #<==Une seule adresse ou plage d'adresses peut être suivie par l'hôte.
nc -z -v 10.0.0.12 20-30 #<==Utilisez l'option -v pour afficher le processus d'analyse en détail.
ssh : connectez-vous en toute sécurité à un hôte à distance
ssh [options] [utilisateur@][nom d'hôte ou adresse IP] [commande exécutée à distance]
ssh 10.0.0.29 #<==Il s'agit de l'abréviation de commande pour la connexion à distance au serveur, qui équivaut à ssh -p 22 root@10.0.0.29 #<==Les quatre lignes suivantes ne seront demandées que lors de la première connexion au serveur distant et ne seront pas demandées lors d'une nouvelle connexion.
ssh -p 22 oldboy@10.0.0.29 #<== Utilisez l'utilisateur oldboy pour vous connecter au serveur distant. Cet utilisateur doit être un utilisateur existant sur le serveur distant. -p spécifie le port 22.
ssh 10.0.0.29 "free -m" #<== Mettez simplement la commande à exécuter à distance à la fin. Utilisez des guillemets pour la rendre plus standardisée. Voici les informations sur la mémoire du serveur sur lequel vous la visualisez.
ssh -v root@10.0.0.19 #<==Utilisez l'option -v pour passer en mode débogage.
wget : outil de téléchargement en ligne de commande
· Fonction de téléchargement de point d'arrêt de soutien. · Prise en charge des méthodes de téléchargement FTP et HTTP. ·Supporte le serveur proxy. ·Très stable, il présente une forte adaptabilité dans des situations de bande passante très étroite ou de réseau instable. Si le téléchargement échoue pour des raisons de réseau, wget continuera à essayer jusqu'à ce que l'intégralité du fichier soit téléchargée. Si le serveur interrompt le processus de téléchargement, il se reconnectera au serveur et poursuivra le téléchargement là où il s'est arrêté. Ceci est utile pour télécharger des fichiers volumineux à partir de serveurs avec des temps de connexion limités.
wget [options] [adresse de téléchargement]
wget http://www.oldboyedu.com/favicon.ico #<==wget connectez-vous simplement à l'adresse de téléchargement.
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo #<==Ceci est une commande pour mettre à jour la source epel, sera epel-6 . Téléchargez le dépôt et placez-le dans le répertoire /etc/yum.repos.d/ et renommez-le epel.repo.
wget --limit-rate=3k http://www.oldboyedu.com/favicon.ico #<==Utilisez le paramètre --limit-rate pour définir la vitesse de téléchargement maximale à 3K/s.
wget -c Utilisez le paramètre -c pour reprendre le téléchargement à partir d'un point d'arrêt.
wget -b http://www.oldboyedu.com/favicon.ico Utilisez wget-b pour télécharger des fichiers en arrière-plan.
wget --user-agent="Mozilla/5.0 (Windows ; U ; Windows NT 6.1 ; en-US) AppleWebKit/534.16 (KHTML, comme Gecko) Chrome/10.0.648.204 Safari/534.16" http://www.oldboyedu. com/favicon.ico #<==Utilisez le paramètre --user-agent pour spécifier le type de client.
wget -q -T 3 --tries=1 --spider www.baidu.com #<== Utilisez l'accès silencieux, délai d'attente dans 3 secondes, réessayez une fois, simulez l'accès du robot.
mailq : affiche la file d'attente de transfert de courrier
mailq [options]
mailq #<==Afficher la file d'attente des messages.
courrier : envoyer et recevoir du courrier
courrier [options]
mail -s "Bonjour de oldboyedu" zhangyao@oldboyedu.com #<==Le destinataire est prié de la remplacer par sa propre adresse e-mail. bonjour, voici le contenu du mail #<==Saisissez manuellement deux lignes du contenu du mail. bienvenue sur www.oldboyedu.com. EOT #<== Entrez Ctrl D dans une nouvelle ligne vide pour terminer la saisie et envoyer l'e-mail.
echo -e "Bonjour, voici le contenu du mail. Bienvenue sur www.oldboyedu.com."|mail -s "Bonjour de oldboyedu" zhangyao@oldboyedu.com Description de la commande : echo est suivi du corps de l'e-mail.
#<==Envoyer une seule pièce jointe. [root@oldboy ~]# echo "test"|mail -s "test" -a favicon.jpg zhangyao@oldboyedu.com
#<==Envoyer plusieurs pièces jointes. [root@oldboy ~]# echo "test"|mail -s "test" -a favicon.jpg -a web.sh zhangyao@oldboyedu.com
nslookup : outil de requête de nom de domaine
nslookup [options] [nom de domaine/IP] [serveur DNS]
·Mode interactif : les utilisateurs peuvent interroger le serveur de noms de domaine pour obtenir des informations sur divers hôtes et noms de domaine, ou afficher une liste d'hôtes dans le nom de domaine. · Mode non interactif : obtenez uniquement des noms spécifiques ou des informations requises pour un hôte ou un nom de domaine.
nslookup - 223.5.5.5 #<==Vous pouvez spécifier directement l'adresse du serveur pour la résolution du nom de domaine sur la ligne de commande, mais faites attention à l'écriture et ne manquez pas le "-".
nslookup www.oldboyedu.com 223.5.5.5 #<==Requête non interactive du nom de domaine www.oldboyedu.com.
dig : outil de requête de nom de domaine
creuser [option]
creusez www.oldboyedu.com
dig @223.5.5.5 www.oldboyedu.com #<==Utilisez @ pour spécifier le serveur DNS pour la requête.
dig -x 101.200.195.98 #<==Utilisez l'option -x pour la résolution inverse du nom de domaine.
dig -t MX oldboyedu.com #<==Utilisez l'option -t pour sélectionner le type de requête.
dig @223.5.5.5 www.oldboyedu.com trace #<==Affiche le processus complet de résolution du nom de domaine en IP.
dig nocmd nocomment nostat www.oldboyedu.com #<== Simplifie certaines informations de description.
creuser brièvement www.oldboyedu.com
hôte : outil de requête de nom de domaine
hôte [options]
La commande host www.oldboyedu.com #<==host peut être directement connectée au nom de domaine.
host -a www.oldboyedu.com #<==Utilisez l'option -a pour interroger des informations détaillées.
host -a www.oldboyedu.com 223.5.5.5 #<== Connectez-vous directement à l'adresse IP du serveur DNS spécifiée.
host -t MX oldboyedu.com #<==Utilisez l'option -t pour sélectionner le type de requête.
nmap : outil de détection de réseau et scanner de sécurité/port
nmap [type d'analyse] [options générales] {cible de l'analyse}
nmap 10.0.0.12 #<==nmap se connecte directement à l'hôte cible et analyse les 1 à 1 000 premiers ports par défaut.
L'option nmap -p 1024-65535 10.0.0.12 #<==-p spécifie la plage d'analyse.
nmap 10.0.0.0/24 #<==Analysez le réseau local en utilisant le format de segment de réseau.
nmap -sn 10.0.0.0/24 #<==Utilisez l'option -sn pour ne pas analyser le port.
nmap -sn 10.0.0.1-10 #<== Cette plage d'adresses peut être utilisée pour l'analyse.
nmap -O -sV 10.0.0.12 #<==-sV affiche le numéro de version du service. #<==-O affiche la version du système, mais la commande nmap compare l'empreinte TCP/IP détectée avec sa propre bibliothèque d'empreintes digitales. Si le système ne figure pas dans la base de données d'empreintes digitales, il ne sera pas reconnu.
tcpdump : surveiller le trafic réseau
tcpdump [options] [expression]
tcpdump #<==Par défaut, démarrer tcpdump directement surveillera tous les paquets circulant sur la première interface réseau.
tcpdump -q #<==Par défaut, la commande tcpdump génère plus d'informations Afin d'afficher des informations simplifiées, vous pouvez utiliser l'option -q.
tcpdump -c 5 #<==Utilisez l'option -c pour spécifier le nombre de paquets à surveiller, il n'est donc pas nécessaire d'utiliser Ctrl C.
tcpdump -i eth0 #<==Utilisez l'option -i pour spécifier la carte réseau à surveiller
tcpdump -n host 10.0.0.1 #<==Utilisez l'option -n pour ne pas effectuer de résolution DNS et accélérer l'affichage. Le mot-clé permettant de surveiller l'hôte spécifié est host, suivi du nom d'hôte ou de l'adresse IP. La fonction de cette commande est de surveiller tous les paquets de données reçus et envoyés par l'hôte 10.0.0.1.
tcpdump -n src host 10.0.0.1 #<==Écoutez uniquement les paquets de données envoyés depuis 10.0.0.1, c'est-à-dire que l'adresse source est 10.0.0.1 et le mot-clé est src (source, adresse source).
tcpdump -n dst host 10.0.0.1 #<==Écoutez uniquement les paquets de données reçus par 10.0.0.1, c'est-à-dire que l'adresse cible est 10.0.0.1 et le mot-clé est dst (destination, destination).
tcpdump -nn port 22 #<==L'utilisation de l'option -n n'effectue pas de résolution DNS, mais elle convertira certains protocoles et ports, tels que le port 22 en ssh. Les lecteurs peuvent comparer les résultats de sortie de l'exemple 10-4. Par conséquent, cet exemple utilise l'option -nn. Le mot-clé permettant de surveiller le port spécifié est port, suivi du numéro de port.
tcpdump -n arp #<==Écoutez les paquets ARP afin que l'expression puisse être écrite directement dans arp.
tcpdump -n icmp #<==Écoutez les paquets de données icmp (si vous souhaitez afficher les données de surveillance ci-dessous, vous pouvez utiliser d'autres machines pour envoyer une requête ping à cette machine)
tcpdump -n ip host 10.0.0.12 et ! 10.0.0.1 #<==Obtenir les paquets IP que l'hôte 10.0.0.12 communique avec tous les hôtes (sauf l'hôte 10.0.0.1).
Chapitre 9 Commandes de gestion des processus Linux
ps : Voir le processus
ps [options]
ps -ef #<== Paramètres de format UNIX, utilisez le paramètre -e pour afficher tous les processus, utilisez le paramètre -f pour afficher en plus les champs UID, PPID, C et STIME.
ps -ef|grep ssh #<==Utilisez grep pour trouver le mot-clé ssh.
ps aux #<== Paramètres de format BSD, utilisez les options a et x pour afficher tous les processus, et utilisez l'option u pour afficher les informations utilisateur du processus.
ps -u root #<==paramètre de format UNIX, utilisez le paramètre -u pour afficher les informations de processus liées à l'utilisateur spécifié.
ps -l #<== paramètre de format UNIX, utilisez le paramètre -l pour afficher l'état du processus dans un format détaillé.
ps -eH #<==Paramètres de format UNIX, utilisez le paramètre -e pour afficher tous les processus et utilisez le paramètre -H pour afficher l'arborescence des processus.
ps axf #<==Paramètres de format BSD, utilisez les paramètres a et x pour afficher tous les processus et utilisez le paramètre f pour afficher l'arborescence des processus.
ps -o pid,ppid,pgrp,session,tpgid,comm #<==-o est suivi des champs à afficher, qui peuvent être comparés à la première ligne du résultat de la commande.
pstree : Afficher l'arborescence de l'état du processus
pstree [options] [ID de processus/utilisateur]
pstree #<==Si le numéro PID du processus n'est pas spécifié, ou si le nom d'utilisateur n'est pas spécifié, le processus d'initialisation sera utilisé comme processus racine et toutes les informations de processus du système seront affichées.
pstree mysql #<==mysql est le nom d'utilisateur du système.
pstree -c -p mysql #<==Utilisez l'option -c pour afficher tous les processus, y compris les processus enfants et les processus parents, et utilisez l'option -p pour afficher le numéro de processus du processus.
pstree -u #<==Utilisez l'option -u pour afficher le nom d'utilisateur correspondant au processus.
pgrep : Rechercher les processus correspondant aux conditions
pgrep [options] [critères de correspondance]
pgrep crond #<==La commande pgrep peut être considérée comme une combinaison de la commande ps et de la commande grep. La commande pgrep spécifie le filtrage du champ crond et obtient le numéro de processus du processus crond.
pgrep -u root #<==Utilisez l'option -u pour afficher tous les numéros de processus de l'utilisateur root spécifié.
kill : terminer le processus
tuer [options] [numéro de processus]
kill -l #<==Parameter -l affiche tous les signaux du système.
kill -l SIGKILL #<== Vous pouvez utiliser le paramètre -l pour échanger les noms de signaux et les signaux numériques.
kill -s 15 2203 #<==Ce format utilise le paramètre -s pour spécifier explicitement d'envoyer un signal avec une valeur de 15, et l'effet est le même que kill 2203.
kill -9 2203 #<==Le signal 9 mettra fin de force au processus, ce qui entraînera des effets secondaires, tels qu'une perte de données, ou le terminal ne pourra pas être restauré à son état normal, il doit donc être évité autant que possible à moins que le processus ne peut pas être terminé à l’aide d’autres signaux.
killall : terminer le processus par le nom du processus
killall [options] [nom du processus]
killall crond #<==L'utilisation de killall pour terminer le processus peut être exécutée plusieurs fois. crond : aucun processus tué #<==Quand vous voyez ce résultat, cela prouve que le processus est mort, à condition que le nom soit correct.
killall -w crond #<==Utilisez le paramètre -w et vous verrez que l'opération de commande se termine après avoir attendu quelques secondes.
killall -u oldboy nginx #<==Cette méthode peut mettre fin à tous les processus nginx appartenant à l'utilisateur oldboy
pkill : termine le processus par son nom
pkill [options] [nom du processus]
pkill crond #<== Terminez le processus de tâche planifiée.
pkill -t tty1 #<==Utilisez l'option -t pour tuer le processus du terminal spécifié.
pkill -u oldboy #<==Utilisez l'option -u pour tuer tous les processus de l'utilisateur spécifié. Il est préférable de spécifier le nom du processus à tuer en même temps pour éviter de tuer accidentellement le service.
en haut : affichage en temps réel de l'utilisation des ressources de chaque processus du système
haut [options]
top #<==L'utilisation de la commande top ne prend généralement aucun paramètre. Si vous avez besoin d'autres fonctions plus puissantes, vous devez coopérer avec des commandes interactives.
top -a #<==Utilisez le paramètre -a pour trier les processus en fonction de l'utilisation de la mémoire.
top -b #<==Utilisez le paramètre -b pour voir que les résultats de l'exécution de la commande sont continuellement actualisés vers le bas.
top -c #<==Utilisez le paramètre -c pour afficher l'intégralité du chemin de commande du processus au lieu de simplement le nom de la commande.
top-d 3#<==Utilisez le paramètre -d pour spécifier la période de mise à jour sur 3 secondes, ce qui signifie que les résultats de la commande sont actualisés toutes les 3 secondes.
top -n 2 #<==Utilisez le paramètre -n pour spécifier le nombre de mises à jour à 2 fois, ce qui signifie que le résultat de la commande sera actualisé deux fois avant de quitter. Le paramètre -n peut être utilisé conjointement avec le paramètre -d. .
top -p 15456 #<==Utilisez l'option -p suivie du numéro de processus spécifié pour afficher uniquement les informations de ce processus.
sympa : ajustez la priorité du programme lorsqu'il est en cours d'exécution
sympa [option] [instruction de commande]
Lorsque la commande nice #<== ne reçoit aucun contenu, elle affiche que la priorité d'exécution du programme par défaut du système actuel est 0.
nice nice #<== Parmi eux, la première commande nice ajuste la priorité de la deuxième commande nice avec la valeur par défaut de 10, c'est-à-dire en ajoutant 10 à la priorité d'exécution du programme par défaut du système de 0 pour obtenir un nouveau programme Priorité d'exécution 10 , puis exécutez la deuxième commande nice avec la priorité 10. Enfin, la deuxième commande nice montre que la priorité d'exécution du programme actuel est 10.
nice -n -10 vim test2 & #<==Utilisez nice pour ajuster à -10.
renice : ajuster la priorité des processus en cours d'exécution
renice [options]
renice -n 5 -p 2711 #<==Utilisez le paramètre -p de renice pour spécifier le processus avec une valeur de 2711 et ajustez sa valeur NI à 5.
nohup : l'utilisateur quitte le processus système et continue de travailler
non, [options]
nohup ping www.oldboyedu.com nohup : ignorer l'entrée et ajouter la sortie à `nohup.out'#<==Le terminal actuel a été bloqué. Si vous forcez la fermeture du terminal actuel (par exemple en fermant l'étiquette ou l'outil client SSH), la commande ping sera toujours exécutée. l'arrière-plan.
nohup ping www.oldboyedu.com & #<==Au travail, nous exécutons généralement la commande nohup avec l'esperluette pour permettre au programme de s'exécuter directement en arrière-plan.
strace : tracer les appels système d'un processus
tracer [options]
strace -tt -f /application/nginx/sbin/nginx #<== Le paramètre -f suit le processus cible et tous les processus enfants créés par le processus cible. Le paramètre -tt ajoute des informations temporelles avant chaque ligne de la sortie, avec précision. en microsecondes, et enfin l'instruction de commande à détecter /application/nginx/sbin/nginx est la commande pour démarrer le service Nginx.
strace -tt -f -e trace=file /application/nginx/sbin/nginx #<==-e trace=file est utilisé pour tracer uniquement les appels système liés aux opérations sur les fichiers.
strace -tt -f -e trace=file -p 1909 #<==Utilisez le paramètre -p pour tracer uniquement le processus de travail, et le résultat sera plus rationalisé.
strace -c /application/nginx/sbin/nginx #<==Utilisez le paramètre -c pour effectuer une analyse statistique de tous les appels système du processus.
strace -c -o tongji.log /application/nginx/sbin/nginx #<==Utilisez l'option -o pour afficher les résultats de strace dans un fichier.
strace -T /application/nginx/sbin/nginx #<==Utilisez l'option -T pour imprimer le temps passé sur chaque appel système Le temps passé sur chaque appel est dans le crochet le plus à droite de la ligne d'appel.
ltrace : suivre les appels de processus aux fonctions de la bibliothèque
trace [options]
ltrace /application/nginx/sbin/nginx #<==ltrace est directement suivi de l'instruction de commande à détecter.
ltrace -p 3892 #<==Utilisez -p pour spécifier le numéro de processus.
runlevel : afficher le niveau d'exécution actuel
niveau d'exécution [options]
niveau d'exécution N 3
·0 : arrêt ·1 : Mode utilisateur unique ·2 : Mode multi-utilisateurs sans réseau ·3 : Mode multi-utilisateurs ·4 : Non utilisé ·5 : Mode multi-utilisateur de l'interface graphique ·6 : Redémarrer
init : initialiser le processus Linux
initialisation [options]
init 0 #<==Arrêter
init 6 #<==Redémarrer.
service : service de système de gestion
service [nom du service] [commande d'exécution]
Les valeurs facultatives pour la commande incluent start, stop, status, restart, etc.
service --status-all #<==Afficher tous les statuts des services.
service crond #<==Les informations d'aide seront affichées lorsque l'instruction de commande n'est pas terminée. crond est le nom du service de tâche planifié.
service crond stop #<==Arrêtez le service.
service crond start #<==Démarrez le service.
service crond restart #<==Redémarrez le service.
état du service crond #<==Afficher l'état du service.
Cette commande a été remplacée par systemctl dans CentOS 7.
Chapitre 8 Commandes de gestion des disques et du système de fichiers Linux
fdisk : outil de partitionnement de disque
fdisk [options] [nom du périphérique]
fdisk -l #<==Affichez les informations de partition de tous les disques du système actuel.
fdisk /dev/sdb #<==Sans paramètres, le partitionnement peut être effectué en connectant directement le nom du périphérique.
partprobe : mettre à jour les informations de la table de partition du disque dur du noyau
sonde de pièce [options]
partprobe /dev/sdb #<==Il est préférable d'ajouter un disque spécifique, sinon une erreur peut être signalée. De nombreuses personnes l'exécutent directement et se retrouvent avec une erreur et doivent redémarrer le système.
tune2fs : ajuster les paramètres du système de fichiers ext2/ext3/ext4
tune2fs [options]
tune2fs -l /dev/sda1|grep -i Mount#<== Vérifiez le nombre de montages du périphérique sda1, c'est-à-dire la partition /boot.
tune2fs -C 30 /dev/sda1 #<==Le paramètre -C définit le nombre de fois que le système de fichiers a été monté.
tune2fs -c 40 /dev/sda1 #<==Le paramètre -c définit le nombre de montages pour l'auto-test forcé.
tune2fs -c -1 /dev/sda1 #<==Désactivez la vérification automatique et d'autres fonctions.
tune2fs -l /dev/sda1|grep -i check #<==Affichez le cycle de vérification.
tune2fs -i 10 /dev/sda1 #<==Le paramètre -i est vérifié tous les 10 jours.
tune2fs -i 0 /dev/sda1 #<==Restauration à l'état normal.
parted : outil de partitionnement de disque
séparé [options] [nom de l'appareil]
parted -l #<==Afficher des informations sur toutes les partitions de disque.
mkfs : créer un système de fichiers Linux
mkfs [options] [nom du périphérique]
mkfs -t ext4 -v /dev/sdb #<==Utilisez le paramètre -v pour afficher des informations détaillées.
mkfs.ext4 /dev/sdb #<==Cette façon d'écrire est plus simple et l'effet est le même.
dumpe2fs : exporter les informations du système de fichiers ext2/ext3/ext4
dumpe2fs [options] [nom du périphérique]
resize2fs : redimensionner le système de fichiers ext2/ext3/ext4
resize2fs [options] [nom de l'appareil]
fsck : vérifier et réparer les systèmes de fichiers Linux
fsck [options] [système de fichiers]
Le système de fichiers doit être démonté avant de pouvoir être vérifié, sinon des erreurs pourraient survenir. Il n'est pas nécessaire d'utiliser cette commande pour vérifier le disque à des moments ordinaires. Elle ne doit être exécutée que lorsqu'une erreur de disque s'affiche lors de la mise sous tension du système.
1) En plus de suivre les invites de démarrage pour réparer, vous pouvez également utiliser le disque système pour passer en mode de secours ou en mode mono-utilisateur pour réparer les pannes du système. 2) N'exécutez jamais fsck pour vérifier le disque lorsque l'ordinateur est démarré et fonctionne normalement, car cela pourrait entraîner une panne du disque normal. 3) Lorsque le dernier numéro de colonne dans /etc/fstab est 1 ou 2, fsck sera lu pour effectuer un auto-test sur ces disques système à la mise sous tension du système. 4) N'exécutez pas de commandes de réparation de disque telles que fsck sur un système de fichiers déjà monté, car cela pourrait provoquer une panne.
dd : convertir ou copier des fichiers
jj [options]
dd if=/dev/sda1 of=dev_sda1.img #<==Utilisez if pour lire les données de /dev/sda1 et utilisez of pour spécifier la sortie vers dev_sda1.img dans le répertoire actuel.
dd if=/dev/zero of=test.data bs=1M count=2 #<==Lire les données de /dev/zero et les écrire dans test.data La taille du fichier test.data généré est bs*count. =1M *2=2M.
dd if=test.txt conv=ucase of=test.txt_u#<==Utilisez le paramètre conv pour configurer ucase afin de convertir les minuscules en majuscules.
mount : monter le système de fichiers
monter [options] [périphérique] [répertoire]
Le répertoire monté doit exister à l'avance et est de préférence vide. Si le répertoire n'est pas vide, le contenu du répertoire précédent sera couvert après le montage du périphérique, mais le contenu du répertoire d'origine ne sera donc pas endommagé si le périphérique correspondant l'est. désinstallé, le contenu du répertoire précédent est à nouveau accessible.
mount #<== Entrez directement la commande mount et appuyez sur Entrée pour afficher les informations de montage du système.
mount -l #<==Le paramètre -l peut également afficher les informations de montage.
mount /dev/cdrom /mnt #<==-t iso9660 n'est pas spécifié ici, mais la commande mount le reconnaîtra automatiquement. mount : le périphérique bloc /dev/sr0 est protégé en écriture, montage en lecture seule#<== Indique que le périphérique est protégé en écriture et monté en lecture seule.
mount -o remount,rw / #<==remount tente de remonter "/" en tant que rw (lisible et inscriptible).
umount : Démonter le système de fichiers
umount [options] [répertoire|périphérique]
La désinstallation umount peut se connecter au répertoire du point de montage ou aux fichiers du périphérique.
umount /mnt #<== peut être désinstallé en se connectant au point de montage, et umount /dev/cdrom peut également être désinstallé.
umount /mnt/ #<== Comme il se trouve actuellement dans le répertoire mnt, il ne peut pas être désinstallé. Ici, exécutez la première méthode pour quitter le répertoire actuel et désinstaller.
umount -lf /mnt/ #<==Méthode 2 : utilisez le paramètre -lf pour forcer la désinstallation.
df : signaler l'utilisation de l'espace disque du système de fichiers
df [options] [<fichier ou répertoire>]
Si le paramètre de fichier après la commande n'est pas spécifié, l'utilisation de toutes les partitions de disque sera affichée. Si un fichier est donné, l'utilisation de la partition de disque où se trouve le fichier sera affichée.
df #<==Si vous ne spécifiez pas les paramètres du fichier après la commande, l'utilisation de toutes les partitions de disque sera affichée.
mkswap : Créer une partition d'échange
mkswap [options] [fichier de périphérique]
mkswap /dev/sdb #<==Par défaut, l'intégralité du disque ne peut pas être utilisée comme partition de swap.
mkswap -f /dev/sdb #<==Utilisez le paramètre -f pour forcer l'utilisation de l'intégralité du disque comme partition de swap.
swapon : Activer la partition d'échange
échange [option]
swapon /dev/sdb #<==Activer la partition de swap.
swapon -s #<==Utilisez l'option -s pour voir qu'il existe deux partitions de swap.
swapoff : désactive la partition d'échange
échange [option]
Lors de la fermeture de la partition de swap, assurez-vous que la partition de swap n'est pas utilisée. Sinon, le système affichera le message d'erreur « l'appareil est occupé ».
swapoff /dev/sdb #<==Fermez la partition de swap /dev/sdb.
swapoff -a #<==Fermez toutes les partitions de swap.
sync : vider le tampon du système de fichiers
synchroniser [options]
sync #<== Exécute la commande sync plusieurs fois, mais la commande ne produit aucune sortie.
Chapitre 7 Commandes de gestion des utilisateurs Linux et de requête d'informations utilisateur
useradd : créer un utilisateur
useradd [options] [nom d'utilisateur] useradd -D [options]
Lorsque useradd ett crée un utilisateur, il crée également un groupe d'utilisateurs avec le même nom d'utilisateur. Dans cet exemple, nous avons ajouté un utilisateur système nommé ett. Lors de la visualisation du répertoire /home/, nous constaterons que le système a automatiquement créé un répertoire ett, qui est le répertoire de départ de l'utilisateur après la connexion, c'est-à-dire le répertoire personnel.
useradd -g sa -u 901 oldgirl #<==L'utilisateur créé oldgirl appartient au groupe sa et l'uid est 901.
useradd -M -s /sbin/nologin tingting #<==-M ne crée pas de répertoire personnel, -s spécifie le shell après la connexion de l'utilisateur, voici /sbin/nologin, ce qui signifie que la connexion est interdite. Cet exemple est souvent utilisé lors du déploiement de services tels que Nginx et MySQL dans des scénarios de production.
useradd -u 806 -s /bin/sh -c SysUser -G root,sa -e "2017/07/12" -f 2 -d /tmp/inca inca #<==Ajouter l'utilisateur inca et définir les informations de commentaire de l'utilisateur pour "SysUser", l'UID est spécifié comme 806, Il appartient au groupe d'utilisateurs root et aux membres sa, son type de shell est /bin/sh, le répertoire personnel est défini sur /tmp/inca, le délai d'expiration de l'utilisateur est le 2017/07/12 et les droits de l'utilisateur seront suspendus deux fois. jours après l'expiration.
useradd -D -s /bin/sh #<==Modifier le shell de connexion par défaut.
useradd -D -e "2018/07/12" #<==Modifier la période de validité par défaut de l'utilisateur.
La fonction de useradd-D peut être complètement remplacée en éditant et en modifiant vim/etc/default/useradd.
usermod : modifier les informations de l'utilisateur
usermod [options] [nom d'utilisateur]
usermod -u 888 -s /sbin/nologin -c TmpUser -G root,sa,tech -e "2018/07/12" -f 30 -d /home/inca inca #<==les informations des commentaires de l'utilisateur d'inca sont modifiées pour "TmpUser", l'UID est remplacé par 999, la propriété est remplacée par les membres root, sa et tech du groupe d'utilisateurs, son type de Shell est /sbin/nologin, le répertoire personnel est défini sur /home/inca, l'expiration de l'utilisateur le délai est le 12/07/2018, suspension expirée après 30 jours.
userdel : supprimer un utilisateur
userdel [options] [nom d'utilisateur]
userdel zuma #<==Supprimer l'utilisateur zuma.
userdel -r oldgirl #<== Supprimez l'utilisateur oldgirl avec le paramètre -r.
groupadd : créer un nouveau groupe d'utilisateurs
groupadd [options] [groupe d'utilisateurs]
groupadd -g 123 test1 #<==Ajoutez le groupe d'utilisateurs test1 avec le GID 123.
groupdel : supprimer le groupe d'utilisateurs
groupdel [groupe d'utilisateurs]
groupdel root #<==La suppression du groupe d'utilisateurs root a échoué car l'utilisateur root existe toujours.
groupdel ne peut pas supprimer le groupe d'utilisateurs principal auquel appartient l'utilisateur.
passwd : changer le mot de passe de l'utilisateur
mot de passe [options] [nom d'utilisateur]
· L'utilisateur root peut modifier le mot de passe de n'importe quel utilisateur, et les utilisateurs ordinaires ne peuvent modifier que leur propre mot de passe. ·Lorsque l'utilisateur root modifie le mot de passe, s'il n'est pas conforme aux règles de mot de passe du système, un message d'avertissement sera émis, mais le paramètre de mot de passe prendra toujours effet. Lorsque des utilisateurs ordinaires modifient leur mot de passe, si un mot de passe faible est utilisé, un message d'avertissement sera émis et la modification sera invalide.
mot de passe -S vieille fille Seul root peut le faire #<==Indique que ce paramètre ne peut être exécuté que sous root.
echo "123456"|passwd --stdin oldgirl #<==--le paramètre stdin peut obtenir le mot de passe à partir de l'entrée standard.
passwd -n 7 -x 60 -w 10 -i 30 oldgirl #<==oldgirl L'utilisateur ne peut pas changer le mot de passe dans les 7 jours et doit changer le mot de passe après 60 jours. L'utilisateur est informé 10 jours avant l'expiration et l'utilisateur. il est interdit de se connecter après 30 jours.
chage : Modifier la durée de validité du mot de passe utilisateur
chage [options] [nom d'utilisateur]
chage -m 7 -M 60 -W 10 -I 30 oldboy #<==les utilisateurs d'oldboy ne peuvent pas changer leur mot de passe dans les 7 jours et doivent changer leur mot de passe après 60 jours. Les utilisateurs d'Oldboy seront informés 10 jours avant l'expiration et les utilisateurs le feront. se voir interdire de se connecter après 30 jours.
chage -m7 -M60 -W10 -I30 oldboy #<==La deuxième façon d'écrire.
chpasswd : mise à jour par lots des mots de passe des utilisateurs
chpasswd [options]
chpasswd #<==Entrez chpasswd sur la ligne de commande et appuyez sur Entrée. root:123456 #<==Format Nom d'utilisateur : Mot de passe, l'utilisateur doit exister. oldboy:123456 #<==Un par ligne #<==Entrez Ctrl D sur une nouvelle ligne vide pour terminer la saisie.
su : changer d'utilisateur
su [options] [nom d'utilisateur]
1) Pour passer d'un utilisateur ordinaire à un utilisateur root, vous pouvez utiliser su- ou su-root, mais le mot de passe root doit être saisi pour terminer le changement. 2) Pour passer de l'utilisateur root à un utilisateur ordinaire, vous pouvez utiliser la méthode d'écriture "su-ordinary username". Il n'est pas nécessaire de saisir un mot de passe pour terminer le changement. Dans CentOS 5. /sbin et autres commandes suivantes), vous devez alors utiliser le chemin complet pour exécuter ou ajuster le contenu de la variable PATH pour les utilisateurs ordinaires CentOS 6 et CentOS 7 n'ont pas ce problème. 3) Si vous souhaitez uniquement exécuter des commandes sous un certain utilisateur sans passer directement à cet utilisateur, vous pouvez utiliser su-username-c "command".
visudo : modifier le fichier sudoers
visudo [options]
visudo -c #<==Utilisez l'option -c pour la vérification de la syntaxe.
sudo : exécuter la commande en tant qu'autre utilisateur
sudo [options]
Afficher les informations sur les utilisateurs et les groupes d'utilisateurs
identifiant [options] [nom d'utilisateur]
id #<== n'accepte pas les paramètres utilisateur, la valeur par défaut est l'utilisateur actuellement connecté.
id oldboy #<==Spécifie d'afficher les informations utilisateur oldboy.
id -g #<==Afficher le GID du groupe d'utilisateurs.
id -u #<==Afficher l'ID utilisateur.
id -un #<==Afficher le nom d'utilisateur (le paramètre -n signifie ne pas afficher les numéros, mais afficher le nom).
w : Afficher les informations de l'utilisateur connecté
w [options] [utilisateur]
w #<== peut généralement être utilisé sans aucun paramètre.
w -h #<==Utilisez le paramètre -h pour ne pas afficher les deux premières lignes d'informations d'en-tête.
who : affiche les informations de l'utilisateur connecté
qui [option]
who #<== peut généralement être utilisé sans aucun paramètre.
who -b #<==Afficher l'heure de démarrage.
who -d #<==Afficher les utilisateurs déconnectés.
who -l #<==Afficher le processus de connexion.
who -H #<==Afficher le titre.
ho -H -a #<==Utilisez le paramètre -H pour afficher le titre et utilisez le paramètre -a pour afficher toutes les informations.
utilisateurs : affiche les utilisateurs connectés
users #<==Si le même utilisateur se connecte plusieurs fois, le nom d'utilisateur sera affiché plusieurs fois.
whoami : affiche le nom d'utilisateur actuellement connecté
La commande whoami est utilisée pour afficher le nom d'utilisateur actuellement connecté. Cette commande peut être considérée comme l'abréviation de l'expression anglaise who am i.
last : Afficher la liste de connexion des utilisateurs
dernier [option]
last #<== affichera plusieurs lignes.
last -10 #<==Spécifie le nombre de lignes à afficher, et peut également être utilisé avec la commande less via des tuyaux.
last oldboy #<==Affiche l'état de connexion de l'utilisateur oldboy, mais l'utilisateur oldboy ne s'est pas connecté, donc l'affichage est vide.
lastb : affiche les enregistrements d'échec de connexion des utilisateurs
dernierb [options]
lastb #<==Vous devez prêter plus d'attention aux résultats de l'exécution de cette commande. Si vous trouvez des informations d'échec de connexion inconnues, vous devez vous demander si le système a été violemment craqué pour vous connecter.
lastlog : affiche les enregistrements de connexion récents de tous les utilisateurs
Chapitre 6 Commandes de sauvegarde et de compression de fichiers
tar : sauvegarde du paquet
tar [options] [fichier ou répertoire]
tar zcvf www.tar.gz ./html/ #<==Option v affichera le processus d'empaquetage. Vous devez vous rappeler la combinaison de commandes d'empaquetage couramment utilisée zcvf. Si vous ne souhaitez pas afficher le processus d'empaquetage, vous pouvez omettre le. v option, c'est-à-dire que la combinaison d'options est zcf.
tar ztvf www.tar.gz #<==Utilisez l'option t pour afficher le contenu du package compressé sans décompression et l'option v pour afficher les attributs du fichier.
tar tf www.tar.gz #<==Si l'option z n'est pas spécifiée, la commande tar déterminera également automatiquement le type de package compressé et appellera automatiquement la commande gzip.
tar zxvf www.tar.gz -C /tmp/ #<==Option C spécifie le chemin de décompression Si C n'est pas ajouté, la décompression se fera vers le répertoire courant.
tar xf www.tar.gz -C /tmp/ #<==Si vous ne voulez pas voir trop de sortie, vous pouvez supprimer l'option v et la fonction ne sera pas affectée. Dans le même temps, l'option z peut également être omise. Tant que l'opération de décompression est impliquée, la commande tar peut identifier automatiquement le type de compression du package compressé, mais l'option z doit être ajoutée lors de la compression.
tar zcvf www.tar.gz ./html/ --exclude=html/oldboy/test #<==N'ajoutez pas / à la fin du répertoire de test, sinon cela échouera.
tar zcvf www.tar.gz ./html/ --exclude=html/oldboy/test --exclude=html/oldboy #<== Méthode pour exclure plus de 2 répertoires : utilisez plusieurs --exclude en parallèle.
tar zcvfX paichu.tar.gz list.txt ./html/ #<==Utilisez le paramètre X pour connecter la liste des fichiers à exclure.
Lorsque vous utilisez l'option générale zcf de tar pour empaqueter un fichier, si le fichier est un fichier de lien tel que /etc/rc.local, alors tar empaquetera uniquement le fichier de lien lui-même, pas le fichier réel pointé par le fichier de lien, donc supplémentaire use - L'option h conditionne le fichier d'entité correspondant au fichier de lien logiciel
Si le répertoire à empaqueter est un chemin relatif, seul le chemin relatif peut être suivi après --exclude. ·Si le répertoire à empaqueter est un chemin absolu, --exclude peut être suivi soit d'un chemin absolu, soit d'un chemin relatif. ·Pour plus de commodité, le chemin suivi par --exclude et le chemin d'empaquetage doivent avoir la même forme, soit des chemins relatifs, soit des chemins absolus.
tar zcvf etc.tar.gz 'find etc/ -type f' #<== Utilisez find pour rechercher tous les fichiers ordinaires et imbriquez une instruction de commande find entourée de guillemets dans l'instruction de commande tar.
gzip : compresser ou décompresser des fichiers
gzip [options] [fichier]
gzip *.html #<==Utilisez la commande gzip pour compresser tous les fichiers se terminant par ".html" dans le répertoire courant.
gzip -l *.gz #<== Utilisez le paramètre -l pour afficher les informations de compression du fichier sans décompression. Les fichiers sources étant tous vides, le taux de compression est de 0,0 %.
gzip -dv *.gz #<==Utilisez le paramètre -d pour décompresser le fichier et utilisez le paramètre -v pour afficher le processus de décompression.
gzip -c services >services.gz #<== Utilisez l'option -c avec le symbole de redirection de sortie pour diriger la sortie vers services.gz.
La commande zcat services.gz|head #<==zcat peut connecter directement le fichier compressé pour lire le package compressé.
zcat services.gz >services #<== peut également être directement décompressé et redirigé vers le fichier.
zip : compresser et compresser des fichiers
zip [options] [fichier ou répertoire]
zip services.zip ./services #<==Format : fichier compressé du nom du package compressé zip.
zip tmp.zip ./tmp/ #<==Cela compresse uniquement le fichier du répertoire et les fichiers du répertoire ne sont pas compressés.
zip -r tmp.zip ./tmp/ #<==Utilisez l'option -r pour compresser de manière récursive.
L'option zip -r tmp1.zip ./tmp/ -x tmp/services.zip #<==-x spécifie les fichiers non compressés.
décompresser : décompresser le fichier zip
décompresser [options] [fichier compressé]
unzip -l tmp.zip #<==Utilisez l'option -l pour afficher la liste des fichiers dans le package compressé.
unzip tmp.zip #<==Extraire le fichier directement sous la racine Étant donné que le fichier source existe toujours, l'invite suivante apparaîtra. #<==S'il faut remplacer les fichiers, y oui nnon ARemplacer tous les fichiers NNe pas remplacer tous les fichiers rRenommer
unzip -v tmp.zip #<==Affiche quelques informations lors de la décompression.
unzip -o tmp.zip #<==Ne demande pas s'il faut écraser lors de la décompression.
unzip -d /tmp tmp.zip #<==Vous pouvez utiliser l'option -d pour connecter le répertoire afin de spécifier le répertoire de décompression.
scp : copie de fichier distant
scp [options] [utilisateur@hôte1:fichier1] [utilisateur@hôte2:fichier2]
scp /etc/services 10.0.0.9:/tmp#<==scp Nom du fichier transféré Adresse IP de l'hôte cible : le répertoire vers lequel vous souhaitez effectuer le transfert.
scp -p /etc/services 10.0.0.9:/tmp #<== Utilisez l'option -p pour conserver les attributs de fichier transférés.
scp -rp /tmp 10.0.0.9:/tmp #<==Vous devez utiliser l'option -r pour copier le répertoire
scp 10.0.0.9:/etc/services . #<== Inversez simplement l'ordre des commandes poussées et téléchargez le fichier /etc/services de l'hôte 10.0.0.9 vers le répertoire actuel.
scp -rp 10.0.0.9:/tmp . #<==Tirez le répertoire tmp de l'hôte 10.0.0.9 vers le répertoire actuel.
rsync : outil de synchronisation de fichiers
1) Mode local : rsync [options] [fichier source] [fichier de destination]
2) Via le mode d'accès au shell distant : Pull : rsync [options] utilisateur@hôte : fichier source [fichier de destination] Push : rsync [options] [fichier source] utilisateur@hôte : fichier de destination
3) mode démon rsync Tirer: rsync [options] user@host::fichier source [fichier de destination] rsync [options] rsync://user@host:port/fichier source [fichier de destination] Pousser: rsync [options] [fichier source] user@host :: fichier de destination rsync [options] [fichier source] rsync://user@host:port/fichier de destination
rsync -av /data1/ /data2 #<==S'il y a une barre oblique à la fin du répertoire source, le contenu du répertoire sera copié à la place du répertoire lui-même.
rsync -av /data1 /data2 #<==Si le répertoire source n'a pas de barre oblique, le répertoire lui-même et le contenu sous le répertoire seront copiés.
rsync -av /etc/hosts /tmp #<==Le fichier source /etc/hosts et le répertoire cible /tmp se trouvent tous deux sur le même hôte.
rsync -av --delete /null/ /tmp/ #<== option --delete rend le contenu du répertoire tmp cohérent avec le répertoire vide. Différents fichiers et répertoires seront supprimés, c'est-à-dire que ce qui est dans null le sera. dans tmp. S'il y a du contenu qui n'est pas dans null mais dans tmp, il doit être supprimé. Le répertoire null étant vide, cette commande supprimera tout le contenu du répertoire /tmp.
rsync -av 10.0.0.9:/tmp/ /tmp #<== Pull.
rsync -av /tmp/ 10.0.0.9:/tmp/ #<==Push.
rsync -av -e 'ssh -p 22' /tmp 10.0.0.9:/tmp/ #<== Dans le cas précédent, les données synchronisées à l'aide de rsync sont transmises en texte clair Dans les scénarios où la sécurité des données est requise, -e. peut être utilisé L'option utilise le tunnel SSH pour crypter et transmettre les données. -p est l'option de la commande SSH et spécifie le numéro de port pour la transmission SSH comme 22. Le résultat de cette commande est de transmettre les données dans le fichier /tmp local. vers 10.0.0.9 via le tunnel chiffré SSH Le répertoire /tmp de l'hôte. De la même manière, exécutez "rsync -av -e 'ssh -p 22' 10.0.0.9:/tmp/ /tmp" pour extraire les données du répertoire /tmp de l'hôte 10.0.0.9 vers le répertoire local /tmp via le Tunnel chiffré SSH.
Chapitre 5 Commandes d'affichage des informations Linux et de recherche de fichiers
uname : afficher les informations du système
uname [option]
uname -a #<==Affiche toutes les informations pertinentes sur le système.
uname -m#<==architecture matérielle 64 bits.
uname -n#<==Le nom d'hôte est oldboy.
uname -r#<==Numéro de version du noyau.
uname -s #<==Nom du noyau.
uname -v#<==numéro de version du noyau.
uname -p#<==Le type de processeur est un processeur 64 bits.
uname -o#<==Nom du système d'exploitation.
uname -i#<==plate-forme matérielle.
nom d'hôte : affiche ou définit le nom d'hôte du système
nom d'hôte [options]
hostname #<==Si aucun paramètre n'est pris, le nom d'hôte sera affiché.
La commande hostname Une commande #<==hostname peut être utilisée pour modifier temporairement le nom d'hôte en ajoutant un nom d'hôte.
vi /etc/sysconfig/network #<==Ce n'est qu'en modifiant le fichier de configuration que le nom d'hôte modifié peut rester valide après le redémarrage du système.
Il convient de noter que dans le système CentOS7, le fichier de configuration du nom d'hôte est modifié en /etc/hostname. La modification de /etc/sysconfig/network ne prendra pas effet. Vous devez modifier /etc/hostname.
hostname -s #<==Afficher le nom d'hôte au format court.
hostname -a #<==Afficher l'alias de l'hôte.
hostname -i #<==Lorsque le réseau n'est pas très bon, les résultats seront très lents.
hostname -I #<== Il est recommandé d'utiliser -I pour obtenir l'adresse IP du système. Le nombre d'adresses IP sera affiché autant de cartes réseau (avec adresses IP) qu'il y en a.
dmesg : diagnostic d'anomalie de démarrage du système
dmesg [options]
dmesg|less #<==Affichez le contenu du tampon en pagayant via la commande less, qui est utilisée pour afficher des informations telles que les défauts matériels.
stat : affiche l'état du fichier ou du système de fichiers
stat [options] [fichier ou répertoire]
du : Statistiques sur l'utilisation de l'espace disque
du [options] [fichier ou répertoire]
du -a #<==Affiche la taille de tous les fichiers du répertoire actuel (y compris les fichiers cachés et tous les fichiers des sous-répertoires).
du -s #<==Affiche la taille totale du répertoire courant.
Les paramètres du -h #<==-h seront convertis en résultats faciles à lire et compréhensibles tels que K, M et G.
du -sh #<==-sh est une combinaison de commandes couramment utilisée et une méthode recommandée.
du -sh /usr/local/ #<==Affiche la taille totale du répertoire spécifié.
du -h --max-degree=1 /usr/local/ #<==Affiche uniquement la taille du répertoire de premier niveau.
du -h --max-degree=2 /usr/local/ #<==Affiche uniquement la taille des répertoires de premier et deuxième niveaux.
du -h --max-degree=2 /usr/local/ --exclude=/usr/local/share #<==Ne pas afficher la taille du répertoire /usr/local/share.
date : affichage et réglage de l'heure du système
date [options] [format de la date]
date %a #<==Afficher l'année (format court).
date %Y #<==Afficher l'année (format long).
date %m #<==Afficher le mois.
date %d #<==Affiche le jour.
date %H #<==Affiche l'heure.
date %M #<==Afficher les minutes.
date %S #<==Afficher les secondes.
date %F #<==Afficher la date au format spécial (année-mois-jour).
date %T #<==Afficher l'heure au format spécial (heure : minute : seconde).
date %F -d "-1day" #<==Afficher hier (écriture concise).
date %F -d "hier" #<==Afficher hier (écriture en anglais).
date %F -d "-2day" #<==Afficher avant-hier.
date %F -d "1day" #<==Afficher demain.
date %F -d "demain" #<==Afficher demain (écriture en anglais).
date %F -d "2day" #<==Affichage 2 jours plus tard.
date %F -d "1month" #<==Affiche 1 mois plus tard.
date %F -d "1year" #<==Affiche 1 an plus tard.
date -s 20170706 #<== est défini sur 20170706 et l'heure spécifique est vide, qui est 00:00:00.
date -s 00:00:03 #<==Définissez l'heure spécifique et la date ne sera pas modifiée.
date -s "00:00:03 20170706" #<==Cela peut définir l'heure entière.
echo : affiche une ligne de texte
écho [options] [texte]
echo Bonjour tout le monde ! #<==echo reçoit directement le texte que vous souhaitez afficher.
echo "hello world" >>hello.txt #<== Utilisez le symbole de redirection d'ajout ">>" pour écrire du texte dans le fichier.
echo -n "oldboy";echo "oldboy" #<==Utilisez l'option -n pour afficher la sortie sur une seule ligne sans saut de ligne.
watch : surveiller l’exécution des commandes
regarder [options] [commande]
watch -n 1 -d netstat -ant #<==netstat sera expliqué en détail plus tard, -n spécifie l'exécution des commandes toutes les secondes et -d met en évidence.
watch cat oldboy.log<#==Surveiller les modifications dans le fichier oldboy.log dans le répertoire actuel.
watch -t cat oldboy.log -t le paramètre n'affiche pas le titre
which : affiche le chemin complet de la commande
lequel [option] [nom de la commande]
which date #<==Affichez le chemin complet de la commande date.
which which #<==Si un alias est défini pour la commande spécifiée, l'utilisation de la fonction which affichera également l'alias.
which cd #<== La commande intégrée Bash ne peut pas utiliser which.
which -a mysql #<==Tous les chemins contenant les commandes mysql sont affichés.
où est : affiche le chemin complet de la commande et ses fichiers associés
où est [options] [nom de fichier]
où est-vn
où est -b svn #<==Trouver uniquement les fichiers exécutables.
où est -m svn #<==Recherchez uniquement dans le fichier d'aide man.
où est -s svn #<==Trouver uniquement les fichiers de code source.
localiser : localiser rapidement les chemins de fichiers
localiser [options] [nom de fichier]
Locate pwd #<== est directement suivi du nom du fichier que vous souhaitez rechercher. Tant qu'il contient la chaîne pwd, il peut être trouvé.
Locate -c pwd #<==Afficher uniquement le nombre de lignes correspondantes.
localisez /etc/sh #<==Output tant qu'une partie correspond.
Locate /etc/sh* #<== Vous pouvez également utiliser des caractères génériques.
localiser -c /etc/*sh*
updateb : mettre à jour la base de données mlocate
mis à jourb [options]
updateb -vU /root/ #<==-v affiche le processus de mise à jour, -U spécifie le chemin de mise à jour.
Chapitre 4 Les trois mousquetaires du traitement de texte
grep : outil de filtrage de texte
La commande grep est l'une des commandes les plus importantes du système Linux. Sa fonction est de filtrer les lignes et les données correspondantes à partir de fichiers texte ou de flux de données canalisés.
grep -v "oldboy" test1.txt #<== Filtrez les lignes qui ne contiennent pas la chaîne oldboy Faites attention à la chaîne filtrée et utilisez autant que possible des guillemets doubles.
grep -n "oldboy" test2.txt #<== Affiche les lignes contenant la chaîne oldboy et affiche le numéro de ligne.
grep -n "." test2.txt #<== affiche les numéros de ligne de toutes les lignes (similaire à cat -n test2.txt). Le "." signifie ici correspondre à n'importe quel caractère, c'est-à-dire correspondre à tout le contenu. , affiche les numéros de ligne de toutes les lignes.
grep -i "alex" test2.txt #<==Utilisez le paramètre -i pour filtrer alex sans tenir compte de la casse.
grep -Ei "oldboy|alex" test2.txt #<== Il n'est pas sensible à la casse et filtre les chaînes contenant oldboy et alex.
grep -Ei --color=auto "oldboy|alex" test2.txt #<==Ajoutez le paramètre --color. #<== Les chaînes correspondantes seront affichées en rouge.
grep -c "oldboy" test2.txt compte le nombre de chaînes correspondantes
sed : éditeur de flux de caractères
sed [options] [caractères de commande intégrés sed] [fichier d'entrée]
sed '2a 106,dandan,CSO' people.txt #<==La commande intégrée sed et une fonction d'ajout sont utilisées ici.
sed '2i 106,dandan,CSO' people.txt #<==La commande intégrée sed et la fonction d'insertion sont utilisées ici.
sed '2a 106,dandan,CSO 107,bingbing,CCO' person.txt ajoute plusieurs lignes de texte après la ligne spécifiée dans le fichier.
sed '2d' person.txt #<==La commande intégrée sed d est utilisée ici pour implémenter la fonction de suppression, spécifiant la suppression du texte à la ligne 2
sed '2,5d' person.txt #<== "2,5" est une combinaison d'adresses numériques, séparées par des virgules. Sa fonction est de supprimer la deuxième à la cinquième ligne du fichier (supprimer plusieurs lignes) de texte, y compris les lignes 2 et 5, il ne reste donc que la ligne 1.
sed 's#zhangyao#dandan#g' person.txt #<==La commande intégrée sed s est utilisée ici pour implémenter la fonction de remplacement, et l'indicateur de remplacement global g est utilisé pour remplacer toutes les chaînes correspondant à zhangyao dans le fichier . Vous devez faire attention au format grammatical. Placez le texte « zhangyao » qui doit être remplacé entre le premier et le deuxième « # », et placez le texte remplacé « dandan » entre le deuxième et le troisième « # ». Le résultat est que « zhangyao » dans la deuxième ligne est remplacé par « dandan ».
sed '2p' person.txt #<== La commande intégrée sed p est utilisée ici pour implémenter la fonction de requête, et le contenu de la ligne 2 est spécifié en combinaison avec l'adresse numérique. Cependant, nous constaterons que le résultat. n'est pas seulement la sortie de la ligne 2, mais aussi le reste du fichier. Le contenu est également affiché car la commande sed a une fonction de sortie par défaut.
sed -n '2p' person.txt #<== Afin de résoudre le problème de la commande ci-dessus affichant du contenu redondant, utilisez l'option -n pour annuler la sortie par défaut et afficher uniquement le texte de la ligne correspondante, vous n'aurez donc qu'à n'oubliez pas d'utiliser la commande p avec l'option requise - n.
sed -n '2,3p' person.txt #<==Bien sûr, vous pouvez utiliser la plage d'adresses "2,3" pour afficher le contenu des lignes 2 à 3.
Commencer avec les bases d'Awk
awk [paramètre] fichier 'condition {action}'...
awk 'NR==5' oldboy.txt #<==Par rapport au contenu ci-dessus, il s'agit bien de la ligne 5.
awk 'NR==2,NR==6' oldboy.txt
awk '{print NR,$0}' oldboy.txt ajoute un numéro de ligne avant chaque ligne du fichier.
awk 'NR==2,NR==6 {print NR,$0}' oldboy.txt #<==Affichez les lignes 2 à 6 du fichier oldboy.txt et imprimez le numéro de ligne.
awk -F ":" '{print $1,$3,$NF}' oldboy.txt affiche les première, troisième et dernière colonnes du fichier oldboy.txt.
awk '{gsub("/sbin/nologin","/bin/bash",$0);print $0}' oldboy.txt Remplacez /sbin/nologin dans le fichier par /bin/bash (pratique de la fonction awk).