4 conseils utiles sur les commandes mkdir, tar et kill sous Linux
Nous continuons à accomplir une tâche de manière conventionnelle jusqu’à ce que nous sachions qu’elle peut être accomplie d’une bien meilleure manière dans l’autre sens. Dans la continuité de notre série de trucs et astuces Linux, je suis ici avec les quatre conseils ci-dessous qui vont vous aider de bien des façons. C’est parti!
1. Vous êtes censé créer une arborescence de répertoires longue/complexe similaire à celle indiquée ci-dessous. Quel est le moyen le plus efficace d’y parvenir ?
Structure arborescente des répertoires à réaliser comme suggéré ci-dessous.
$ cd /home/$USER/Desktop
mkdir tecmint
mkdir tecmint/etc
mkdir tecmint/lib
mkdir tecmint/usr
mkdir tecmint/bin
mkdir tecmint/tmp
mkdir tecmint/opt
mkdir tecmint/var
mkdir tecmint/etc/x1
mkdir tecmint/usr/x2
mkdir tecmint/usr/x3
mkdir tecmint/tmp/Y1
mkdir tecmint/tmp/Y2
mkdir tecmint/tmp/Y3
mkdir tecmint/tmp/Y3/z
Le scénario ci-dessus peut simplement être réalisé en exécutant la commande ci-dessous de 1 ligne.
$ mkdir -p /home/$USER/Desktop/tecmint/{etc/x1,lib,usr/{x2,x3},bin,tmp/{Y1,Y2,Y3/z},opt,var}
Pour vérifier, vous pouvez utiliser la commande tree. S’il n’est pas installé, vous pouvez adapter ou miam le paquet 'tree'.
$ tree tecmint
Nous pouvons créer une arborescence de répertoires de n’importe quelle complexité en utilisant la méthode ci-dessus. Remarquez qu’il ne s’agit de rien d’autre qu’une commande normale, mais qu’elle utilise {} pour créer une hiérarchie de répertoires. Cela peut s’avérer très utile s’il est utilisé à partir de l’intérieur d’un script shell lorsque cela est nécessaire et en général.
2. Créez un fichier (disons test) sur votre bureau (/home/$USER/Desktop) et remplissez-le avec le contenu ci-dessous.
ABC
DEF
GHI
JKL
MNO
PQR
STU
VWX
Y
Z
Que ferait un utilisateur normal dans ce scénario ?
un. Il créera d’abord le fichier, de préférence à l’aide de la commande tactile, comme suit :
$ touch /home/$USER/Desktop/test
b. Il utilisera un éditeur de texte pour ouvrir le fichier, qui peut être nano, vim ou tout autre éditeur.
$ nano /home/$USER/Desktop/test
c. Il placera ensuite le texte ci-dessus dans ce fichier, enregistrera et quittera.
Donc, quel que soit le temps qu’il lui a pris, il a besoin d’au moins 3 étapes pour exécuter le scénario ci-dessus.
Que fera un Linux intelligent et expérimenté ? Il lui suffira de taper le texte ci-dessous en une seule fois sur le terminal et le tour est joué. Il n’a pas besoin de faire chaque action séparément.
cat << EOF > /home/$USER/Desktop/test
ABC
DEF
GHI
JKL
MNO
PQR
STU
VWX
Y
Z
EOF
Vous pouvez utiliser la commande 'cat' pour vérifier si le fichier et son contenu ont été créés avec succès ou non.
$ cat /home/avi/Desktop/test
3. Nous traitons très souvent des archives (en particulier des balles TAR) sous Linux. Dans de nombreux cas, nous devons utiliser cette balle TAR à un autre endroit que le dossier Téléchargements. Que faisons-nous dans ce scénario ?
Nous faisons normalement deux choses dans ce scénario.
un. Copiez/déplacez la boule de goudron et extrayez-la à destination, comme suit :
$ cp firefox-37.0.2.tar.bz2 /opt/
or
mv firefox-37.0.2.tar.bz2 /opt/
b. cd au répertoire /opt/.
$ cd /opt/
c. Extrayez l’archive de tar.
# tar -jxvf firefox-37.0.2.tar.bz2
Nous pouvons faire cela dans l’autre sens.
Nous allons extraire l’archive Tarball là où elle se trouve et copier/déplacer l’archive extraite vers la destination requise comme suit :
$ tar -jxvf firefox-37.0.2.tar.bz2
cp -R firefox/ /opt/
or
mv firefox/ /opt/
Dans les deux cas, les travaux prennent deux étapes ou sont terminés. Le professionnel peut accomplir cette tâche en une seule étape comme :
$ tar -jxvf firefox-37.0.2.tar.bz2 -C /opt/
L’option -C permet à tar d’extraire l’archive dans le dossier spécifié (ici /opt/).
Non, il ne s’agit pas d’une option (-C) mais d’habitudes. Prenez l’habitude d’utiliser l’option -C avec tar. Cela vous facilitera la vie. À partir de maintenant, ne déplacez pas l’archive ou ne copiez pas/déplacez le fichier extrait, laissez simplement la boule TAR dans le dossier Téléchargements et extrayez-la où vous le souhaitez.
4. Comment tuons-nous un processus de manière traditionnelle ?
De la manière la plus générale, nous listons d’abord tous les processus à l’aide de la commande ps -A et le pipelines avec grep pour trouver un processus/service (disons apache2), simplement comme suit :
$ ps -A | grep -i apache2
Exemple de sortie
1006 ? 00:00:00 apache2
2702 ? 00:00:00 apache2
2703 ? 00:00:00 apache2
2704 ? 00:00:00 apache2
2705 ? 00:00:00 apache2
2706 ? 00:00:00 apache2
2707 ? 00:00:00 apache2
La sortie ci-dessus montre tous les processus apache2 actuellement en cours d’exécution avec leurs PID, vous pouvez ensuite utiliser ces PID pour tuer apache2 à l’aide de la commande suivante.
# kill 1006 2702 2703 2704 2705 2706 2707
puis vérifiez si un processus/service portant le nom « Apache 2 » est en cours d’exécution ou non, comme suit :
$ ps -A | grep -i apache2
Cependant, nous pouvons le faire dans un format plus compréhensible en utilisant des utilitaires comme pgrep et pkill. Vous pouvez trouver des informations pertinentes sur un processus simplement en utilisant pgrep. Supposons que vous ayez besoin de trouver les informations de processus pour apache2, vous pouvez simplement faire :
$ pgrep apache2
Exemple de sortie
15396
15400
15401
15402
15403
15404
15405
Vous pouvez également lister le nom du processus par rapport au pid en l’exécutant.
$ pgrep -l apache2
Exemple de sortie
15396 apache2
15400 apache2
15401 apache2
15402 apache2
15403 apache2
15404 apache2
15405 apache2
Tuer un processus à l’aide de pkill est très simple. Il vous suffit de taper le nom de la ressource à tuer et le tour est joué. J’ai écrit un article sur pkill que vous aimerez peut-être citer ici : https://linux-console.net/how-to-kill-a-process-in-linux/.
Pour tuer un processus (disons apache2) à l’aide de pkill, tout ce que vous avez à faire est de :
# pkill apache2
Vous pouvez vérifier si apache2 a été tué ou non en exécutant la commande ci-dessous.
$ pgrep -l apache2
Il renvoie l’invite et n’affiche rien, ce qui signifie qu’il n’y a pas de processus en cours d’exécution du nom d’apache2.
C’est tout pour l’instant, de ma part. Tous les points discutés ci-dessus ne sont pas suffisants mais aideront sûrement. Nous ne voulons pas seulement produire des tutoriels pour vous faire apprendre quelque chose de nouveau à chaque fois, mais nous voulons également montrer « Comment être plus productif dans le même cadre ». Faites-nous part de vos précieux commentaires dans les commentaires ci-dessous. Restez connecté. Continuez à commenter.


