Linux offre d’innombrables commandes et utilitaires, qui vous aident à effectuer vos tâches d’administration système rapidement et efficacement.
Votre travail en tant qu’administrateur système comprend l’installation et l’exécution de logiciels, le contrôle d’accès, la surveillance, la garantie de disponibilité, les sauvegardes, la restauration de sauvegardes et bien sûr la lutte contre les incendies. 😜
Dans cet article, nous passons en revue certaines des commandes fréquemment utilisées par les administrateurs système Linux dans leur travail quotidien.
Table des matières
ton nom
Utilisez la commande uname avec l’indicateur -a pour imprimer les informations système. Cette commande vous montrera le nom du noyau, la version du noyau, la version du noyau, le nom d’hôte, le type de processeur et les informations de votre plate-forme matérielle.
[email protected]:~$ uname -a Linux ubuntu18 5.3.0-1028-azure #29~18.04.1-Ubuntu SMP Fri Jun 5 14:32:34 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Voici ce que cela signifie :
kernel name:Linux hostname: ubuntu18 kernel release: 5.3.0-1028-azure kernel version: #29~18.04.1-Ubuntu SMP Fri Jun 5 14:32:34 UTC 2020 machine hardware name: x86_64 processor: x86_64 hardware-platform: x86_64 operating system: GNU/Linux
df
Utilisez la commande df pour vérifier la taille du système de fichiers et l’espace disponible. Cette commande utilisée seule affiche la sortie en blocs de 1K.
[email protected]:~$ df Filesystem 1K-blocks Used Available Use% Mounted on udev 437208 0 437208 0% /dev tmpfs 91100 692 90408 1% /run /dev/sda1 30309264 2383952 27908928 8% / ....
L’option -h affiche la sortie dans un format lisible par l’homme, c’est-à-dire en Mo et Go.
[email protected]:~$ df -h Filesystem Size Used Avail Use% Mounted on udev 427M 0 427M 0% /dev tmpfs 89M 692K 89M 1% /run /dev/sda1 29G 2.3G 27G 8% / tmpfs 445M 0 445M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 445M 0 445M 0% /sys/fs/cgroup /dev/sda15 105M 3.6M 101M 4% /boot/efi /dev/sdb1 3.9G 16M 3.7G 1% /mnt tmpfs 89M 0 89M 0% /run/user/1001
Pour ignorer tout système de fichiers, par exemple, tmpfs, c’est-à-dire pour une sortie plus propre, utilisez l’indicateur -x
[email protected]:~$ df -h -x tmpfs Filesystem Size Used Avail Use% Mounted on udev 427M 0 427M 0% /dev /dev/sda1 29G 2.3G 27G 8% / /dev/sda15 105M 3.6M 101M 4% /boot/efi /dev/sdb1 3.9G 16M 3.7G 1% /mnt
Pour répertorier uniquement un type de système de fichiers spécifique, utilisez l’indicateur -t. par exemple, pour afficher uniquement le système de fichiers ext4 :
[email protected]:~$ df -h -t ext4 Filesystem Size Used Avail Use% Mounted on /dev/sda1 29G 2.3G 27G 8% / /dev/sdb1 3.9G 16M 3.7G 1% /mnt
L’utilisation de l’indicateur de total ajoutera une ligne indiquant les totaux généraux :
[email protected]:~$ df -h -t ext4 --total Filesystem Size Used Avail Use% Mounted on /dev/sda1 29G 2.3G 27G 8% / /dev/sdb1 3.9G 16M 3.7G 1% /mnt <b>total 33G 2.3G 31G 8% -</b>
du
Pour vérifier l’utilisation de l’espace disque dans un répertoire, utilisez la commande du. Par exemple, pour voir l’utilisation de l’espace disque dans le répertoire /var/log. Utilisez l’indicateur -h pour un format lisible par l’homme.
[email protected]:~$ sudo du -h /var/log 24K/var/log/Microsoft/Azure/NetworkWatcherAgent/Logs 28K/var/log/Microsoft/Azure/NetworkWatcherAgent 32K/var/log/Microsoft/Azure 36K/var/log/Microsoft 60K/var/log/apt 4.0K/var/log/samba 177M/var/log/journal/0f4f926f583b4691af7de11025b19ff6 177M/var/log/journal ... 204M/var/log
Pour voir uniquement l’utilisation totale, utilisez uniquement l’indicateur -s (résumé).
[email protected]:~$ sudo du -hs /var/log 204M/var/log
libre
Utilisez la commande free pour voir la mémoire système totale, utilisée et libre. Utilisez l’indicateur -h pour un format lisible par l’homme.
ubuntu[email protected]:~$ free -h total used free shared buff/cache available Mem: 889M 272M 100M 712K 517M 443M Swap: 0B 0B 0B
total - Total installed memory (memtotal + swaptotal) used - used memory free - unused memory (memfree + swapfree) buffers - memory used by kernel buffers cache - memory used by page caches buff/cache - sum of buffers and cache available - Estimated memory available for starting new applications, without swapping
ps
Utilisez ps pour afficher des informations d’état sur les processus en cours d’exécution sur le système. Pour voir tous les processus appartenant à l’utilisateur ubuntu, utilisez l’indicateur -u avec le nom d’utilisateur :
[email protected]:~$ ps -u ubuntu PID TTY TIME CMD 7804 ? 00:00:00 systemd 7805 ? 00:00:00 (sd-pam) 7940 ? 00:00:00 sshd 7941 pts/0 00:00:00 bash 8111 ? 00:00:00 sshd 8112 pts/1 00:00:00 bash 13868 ? 00:00:00 sshd 13869 pts/2 00:00:00 bash 13885 pts/0 00:00:00 man 13895 pts/0 00:00:00 pager 18111 pts/2 00:00:00 man 18121 pts/2 00:00:00 pager 18485 pts/1 00:00:00 ps
Pour afficher tous les processus exécutés ps avec les drapeaux aux :
[email protected]:~$ ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.7 160076 7020 ? Ss Jun29 0:34 /sbin/init root 2 0.0 0.0 0 0 ? S Jun29 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? I< Jun29 0:00 [rcu_gp] root 4 0.0 0.0 0 0 ? I< Jun29 0:00 [rcu_par_gp] root 6 0.0 0.0 0 0 ? I< Jun29 0:00 [kworker/0:0H-kb] ....
où
Titre
Sens
PID
Numéro d’identification du processus
%CPU
Pourcentage de temps CPU utilisé par le processus
%MEM
Pourcentage du processus RAM utilisé
VSZ
Mémoire virtuelle utilisée en Ko
RSS
Mémoire physique utilisée par le processus en Ko
ATS
Terminal associé au processus
STAT
R – En cours d’exécution ou prêt à fonctionner, S – En veille, I – Inactif, T – Arrêté, Z – Zombie, D – En attente d’E/S de disque, X – Mort, W – Permuté, N – Processus de faible priorité, < – Processus hautement prioritaire
Haut
Alors que la commande ps affiche un instantané de l’état des processus à tout moment, top affiche une liste mise à jour en continu (toutes les trois secondes, par défaut) des processus système dans l’ordre d’activité des processus.
La sortie de la commande supérieure se compose de deux parties principales : le résumé du système en haut et le tableau des processus triés par activité du processeur.
top - 14:25:32 up 44 days, 11:37, 1 user, load average: 0.00, 0.00, 0.00 Tasks: 114 total, 1 running, 59 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.3 us, 0.0 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 910992 total, 101208 free, 274712 used, 535072 buff/cache KiB Swap: 0 total, 0 free, 0 used. 458492 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 50497 ubuntu 20 0 44528 3944 3368 R 0.7 0.4 0:00.15 top 1 root 20 0 160076 7020 4400 S 0.0 0.8 0:34.85 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.08 kthreadd 3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp 4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp 6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:+ 9 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_+
Certains des champs du récapitulatif du système sont les suivants :
en haut
Disponibilité. Temps écoulé depuis le dernier démarrage de la machine.
charge moyenne
La charge moyenne fait référence au nombre de processus en attente d’exécution, une valeur inférieure à 1,0 signifie que la machine n’est pas occupée. Il y a 3 valeurs. Le premier est la moyenne des 60 dernières secondes, le second est la moyenne des 5 dernières minutes et le troisième montre la moyenne des 15 dernières minutes.
%Cpu(s)
Cette ligne décrit les activités de la CPU.
0,3 us, utilisateur
0,3 % du processeur est utilisé pour les processus utilisateur.
0.0 sy, système
0.0% CPU est utilisé pour les processus système.
0.0 ni, sympa
0,0 % du processeur est utilisé par des processus de faible priorité (agréables)
ID 99,7, inactif
99,7 % du processeur est inactif
0.0 wa, attente IO
0,0 % Le processeur attend les E/S
0.0 salut
temps passé sur les interruptions matérielles
0.0 si
temps passé sur les interruptions logicielles
0,0 m
time stone de cette VM par l’hyperviseur
Les champs de la table de processus sont les suivants :
PID
Numéro d’identification du processus
UTILISATEUR
Propriétaire du processus
RP
Priorité
NI
Belle valeur
VIRT
Mémoire virtuelle utilisée par le processus (Ko)
RES
Mémoire physique utilisée par le processus
SHR
Mémoire partagée utilisée par le processus
S
Statut du processus. R – En cours d’exécution, S – en veille, I – Inactif, T – arrêté, Z – zombie, D – en attente d’E/S disque, W – remplacé, X – mort
%CPU
Le processus de temps CPU utilise en pourcentage
%MEM
Le processus de mémoire physique utilise
TEMPS[+]
Temps CPU total utilisé par le processus
COMMANDE
Nom du programme
Pendant que top est en cours d’exécution, vous pouvez émettre un certain nombre de commandes. Appuyez sur h ou ? pour voir les commandes qui peuvent être exécutées pendant que top est en cours d’exécution. Appuyez sur k pour tuer un processus. Appuyez sur q pour quitter le haut.
creuser
dig est un excellent outil pour les requêtes DNS. Il est utilisé comme suit :
dig <DNS server> <domain> <query-type>
où
est le nom du serveur DNS que vous souhaitez interroger est le nom de domaine sur lequel vous souhaitez interroger est le nom de l’enregistrement que vous souhaitez connaître – A, MX, NS SOA, etc.
Pour supprimer la sortie détaillée, utilisez l’indicateur +short.
Pour afficher l’enregistrement A pour google.com, procédez comme suit :
[email protected]:~$ dig google.com +short 172.217.164.174
Pour afficher les enregistrements MX pour google.com, procédez comme suit :
[email protected]:~$ dig google.com MX +short 50 alt4.aspmx.l.google.com. 10 aspmx.l.google.com. 20 alt1.aspmx.l.google.com. 40 alt3.aspmx.l.google.com. 30 alt2.aspmx.l.google.com.
Si vous devez interroger des enregistrements DNS sur Internet, vous pouvez utiliser l’outil de recherche DNS.
qui et w
qui montre les utilisateurs qui sont connectés.
[email protected]:~$ who ubuntu pts/0 2020-08-14 17:28 (183.83.211.129) ubuntu pts/1 2020-08-14 17:58 (183.83.211.129)
w montre les utilisateurs actuellement connectés et leurs processus. L’en-tête indique l’heure actuelle, la disponibilité du système, le nombre d’utilisateurs connectés et les moyennes de charge du système.
[email protected]:~$ w 18:07:33 up 46 days, 15:19, 2 users, load average: 0.00, 0.00, 0.00 USER TTY FROM [email protected] IDLE JCPU PCPU WHAT ubuntu pts/0 183.83.211.129 17:28 2.00s 0.10s 0.00s w ubuntu pts/1 183.83.211.129 17:58 9:07 0.05s 0.01s vi
La partie suivante montre les noms d’utilisateur, le terminal et l’adresse IP distante à partir de laquelle ils sont connectés, le temps de connexion, le temps d’inactivité, JCPU, PCPU et le programme qu’ils exécutent. JCPU est le temps utilisé par tous les processus attachés au tty alors que PCPU est le temps utilisé par le processus en cours.
le goudron
Avec GNU tar, vous pouvez archiver plusieurs fichiers dans un seul fichier.
Par exemple, créez un répertoire myfiles et trois fichiers a.txt, b.txt, c.txt dans le répertoire myfiles :
[email protected]:~$ mkdir myfiles ; touch myfiles/{a.txt,b.txt,c.txt}
Maintenant, pour créer une archive nommée allfiles.tar contenant tous les fichiers du répertoire myfiles :
[email protected]:~$ tar -cvf allfiles.tar myfiles myfiles/ myfiles/c.txt myfiles/a.txt myfiles/b.txt
Liste tous les fichiers du répertoire courant. Vous pouvez voir le répertoire myfiles et l’archive allfiles.tar :
[email protected]:~$ ls allfiles.tar myfiles
Vous pouvez décompresser une archive avec l’indicateur -x. Donc, pour décompresser allfiles.tar :
[email protected]:~$ tar -xvf allfiles.tar myfiles/ myfiles/c.txt myfiles/a.txt myfiles/b.txt
Vous pouvez également compresser cette archive avec l’indicateur -z. Cela créerait une archive compressée avec gzip.
[email protected]:~$ tar -zcvf allfiles.tar.gz myfiles myfiles/ myfiles/c.txt myfiles/a.txt myfiles/b.txt [email protected]:~$ ls allfiles.tar.gz myfiles
Pour décompresser une archive compressée, utilisez -z avec l’indicateur -x.
[email protected]:~$ tar -zxvf allfiles.tar.gz myfiles/ myfiles/c.txt myfiles/a.txt myfiles/b.txt
grep
grep est utilisé pour rechercher un motif dans un fichier ou un ensemble de fichiers. Il imprime toutes les lignes correspondant à ce motif. Par exemple, pour rechercher la ligne contenant « ServerRoot » dans /etc/apache2/apache2.conf :
[email protected]:~$ grep ServerRoot /etc/apache2/apache2.conf # ServerRoot: The top of the directory tree under which the server's #ServerRoot "/etc/apache2"
Pour rechercher dans tous les fichiers d’un répertoire, utilisez *. Pour inclure la recherche dans les sous-répertoires, utilisez l’indicateur -r (récursif). Ainsi, pour rechercher toutes les lignes contenant le motif « VirtualHost » dans tous les fichiers de /etc/apache2 :
[email protected]:~$ cd /etc/apache2 [email protected]:/etc/apache2$ grep -r VirtualHost * apache2.conf:# If you do not specify an ErrorLog directive within a <VirtualHost> apache2.conf:# logged here. If you *do* define an error logfile for a <VirtualHost> conf-available/localized-error-pages.conf:# even on a per-VirtualHost basis. If you include the Alias in the global server conf-available/other-vhosts-access-log.conf:# Define an access log for VirtualHosts that don't define their own logfile ports.conf:# have to change the VirtualHost statement in sites-available/000-default.conf:<VirtualHost *:80> ...
rsync
rsync est un outil de ligne de commande rapide pour synchroniser des fichiers et des répertoires entre deux emplacements. Peut être utilisé pour la copie locale et à distance et est rapide car il envoie uniquement les différences entre les fichiers source et les fichiers existants dans la destination.
Il est largement utilisé pour les sauvegardes et comme commande de copie améliorée pour une utilisation quotidienne.
Voici un exemple:
Pour copier/synchroniser tous les fichiers du répertoire myfiles vers le répertoire backups :
[email protected]:~$ rsync -avh myfiles/ /backups sending incremental file list ./ a.txt b.txt c.txt sent 218 bytes received 76 bytes 588.00 bytes/sec total size is 0 speedup is 0.00
Pour synchroniser tous les fichiers du répertoire myfiles vers le répertoire backups sur un hôte distant, incluez remote_user @remote_host dans le nom de destination. Ainsi, pour rsynchroniser le dossier myfiles sur un hôte distant avec IP 10.0.0.50 :
[email protected]:~$ rsync -avh myfiles/ [email protected]:/home/vagrant [email protected]'s password: sending incremental file list ./ a.txt b.txt c.txt sent 230 bytes received 76 bytes 47.08 bytes/sec total size is 0 speedup is 0.00
ss
La commande ss est utilisée pour vider les statistiques de socket, similaire à l’ancien utilitaire netstat. Pour afficher les sockets TCP, utilisez l’indicateur -t.
[email protected]:~$ ss -t State Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB 0 0 10.0.0.4:53852 168.63.129.16:8037 ESTAB 0 0 10.0.0.4:ssh 183.83.211.129:64118 ESTAB 0 0 10.0.0.4:33256 169.254.169.254:http ESTAB 0 1080 10.0.0.4:ssh 222.186.30.35:11527 ESTAB 0 0 10.0.0.4:ssh 183.83.211.129:63049
Cela n’afficherait pas les sockets qui écoutent. Pour inclure à la fois les sockets à l’écoute et non à l’écoute, utilisez les indicateurs -t et -a.
[email protected]:~$ ss -t -a State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 0.0.0.0:ssh 0.0.0.0:* LISTEN 0 80 127.0.0.1:mysql 0.0.0.0:* LISTEN 0 128 127.0.0.53%lo:domain 0.0.0.0:* ESTAB 0 0 10.0.0.4:53852 168.63.129.16:8037 ESTAB 0 0 10.0.0.4:ssh 183.83.211.129:64118 ESTAB 0 0 10.0.0.4:33256 169.254.169.254:http ESTAB 0 1080 10.0.0.4:ssh 222.186.30.35:11527 ESTAB 0 120 10.0.0.4:ssh 183.83.211.129:63049 LISTEN 0 128 [::]:ssh [::]:* LISTEN 0 128 *:http *:*
Localiser
La commande locate utilise une base de données pour rechercher des fichiers et peut en fait être beaucoup plus rapide que la commande find. Très simple à utiliser, pour rechercher un fichier, disons apache2.conf :
[email protected]:~$ locate apache2.conf /etc/apache2/apache2.conf /var/lib/dpkg/info/apache2.conffiles
Vous pouvez utiliser l’indicateur -c si vous souhaitez uniquement le nombre de fichiers correspondant au modèle de recherche.
[email protected]:~$ locate -c apache2.conf 2
Parfois, vous devrez peut-être actualiser la base de données utilisée par locate, qui est mlocate. Pour mettre à jour la base de données, utilisez la commande updatedb. Cela nécessiterait des privilèges de superutilisateur.
[email protected]:~$ sudo updatedb
trouver
L’une des commandes les plus fréquemment utilisées sous Linux. Utilisez-le pour rechercher des fichiers en fonction des noms de fichiers, des autorisations, de l’ID utilisateur, de l’ID de groupe, de la taille, du type de fichier, en plus d’autres critères.
Pour rechercher un fichier par son nom dans le répertoire courant, utilisez l’indicateur -name suivi du nom du fichier à rechercher :
[email protected]:~$ find . -name a.txt ./myfiles/a.txt
Pour rechercher des répertoires, utilisez l’indicateur -type d :
[email protected]:~$ find . -type d . ./.ssh ./myfiles ./.cache ./.gnupg ./.gnupg/private-keys-v1.d ./docker
Pour rechercher des fichiers par taille, par exemple des fichiers de plus de 20 Mo, utilisez l’indicateur -size :
[email protected]:~$ find . -size +20M ./docker/docker-ce-cli_5%3a19.03.12~3-0~ubuntu-bionic_amd64.deb ./docker/docker-ce_5%3a19.03.12~3-0~ubuntu-bionic_amd64.deb
systemctl
Maintenant que systemd a remplacé le processus d’initialisation SysV dans la plupart des distributions Linux, utilisez la commande systemctl pour gérer les services et les unités systemd.
Pour démarrer un service, par exemple apache2 :
[email protected]:~$ sudo systemctl start apache2.service
Vous pouvez laisser le suffixe de service.
Pour arrêter un service :
[email protected]:~$ sudo systemctl stop apache2
Pour voir l’état du service, utilisez la commande systemctl status. L’exemple suivant montre l’état d’Apache2 pendant son exécution :
[email protected]:~$ sudo systemctl status apache2 ● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Drop-In: /lib/systemd/system/apache2.service.d └─apache2-systemd.conf Active: active (running) since Wed 2020-08-19 11:34:04 UTC; 2s ago Process: 25346 ExecStop=/usr/sbin/apachectl stop (code=exited, status=0/SUCCESS) Process: 18202 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS) Process: 25536 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID: 25555 (apache2) Tasks: 55 (limit: 1024) CGroup: /system.slice/apache2.service ├─25555 /usr/sbin/apache2 -k start ├─25558 /usr/sbin/apache2 -k start └─25559 /usr/sbin/apache2 -k start Aug 19 11:34:04 ubuntu18 systemd[1]: Starting The Apache HTTP Server... Aug 19 11:34:04 ubuntu18 systemd[1]: Started The Apache HTTP Server.
commande ufw
UFW – un pare-feu simple est une interface facile à utiliser pour iptables. Il est disponible par défaut sur les distributions basées sur Ubuntu. Sur CentOS, vous pouvez installer ufw à partir du référentiel EPEL.
Pour activer ufw :
$ sudo ufw enable
Vérifiez l’état du pare-feu avec l’état ufw :
$ sudo ufw status Status: active
Les stratégies UFW par défaut autorisent tout le trafic sortant et bloquent tout le trafic entrant.
La commande suivante autorise le trafic entrant sur le port HTTP :
$ sudo ufw allow http Rule added Rule added (v6)
Vous pouvez refuser le trafic sur n’importe quel port. Voici un exemple pour bloquer le trafic sur le port 21 :
$ sudo ufw deny 21 Rule added Rule added (v6)
journalctl
Utilisez journalctl pour afficher les journaux collectés par systemd. systemd collecte le journal dans un emplacement central au format binaire. Pour afficher ces journaux :
[email protected]:~$ sudo journalctl -- Logs begin at Mon 2020-06-29 02:48:31 UTC, end at Wed 2020-08-19 15:07:59 UTC. -- Jun 29 02:48:31 ubuntu kernel: Linux version 5.3.0-1028-azure ([email protected]) (gcc version 7.5.0 (Ubuntu Jun 29 02:48:31 ubuntu kernel: Command line: BOOT_IMAGE=/boot/vmlinuz-5.3.0-1028-azure root=UUID=b0dd9d06-536e-41 Jun 29 02:48:31 ubuntu kernel: KERNEL supported cpus: Jun 29 02:48:31 ubuntu kernel: Intel GenuineIntel ...
La plupart du temps, vous préféreriez voir les journaux dans l’ordre inverse, c’est-à-dire les derniers journaux en premier :
[email protected]:~$ sudo journalctl -r -- Logs begin at Mon 2020-06-29 02:48:31 UTC, end at Wed 2020-08-19 15:10:16 UTC. -- Aug 19 15:10:16 ubuntu18 sudo[31263]: pam_unix(sudo:session): session opened for user root by ubuntu(uid=0) Aug 19 15:10:16 ubuntu18 sudo[31263]: ubuntu : TTY=pts/1 ; PWD=/home/ubuntu ; USER=root ; COMMAND=/bin/journalc Aug 19 15:10:11 ubuntu18 sudo[31213]: pam_unix(sudo:session): session closed for user root Aug 19 15:07:59 ubuntu18 sudo[31213]: pam_unix(sudo:session): session opened for user root by ubuntu(uid=0) Aug 19 15:07:59 ubuntu18 sudo[31213]: ubuntu : TTY=pts/1 ; PWD=/home/ubuntu ; USER=root ; COMMAND=/bin/journalc Aug 19 15:07:56 ubuntu18 sudo[31183]: pam_unix(sudo:session): session closed for user root Aug 19 15:06:47 ubuntu18 sudo[31183]: pam_unix(sudo:session): session opened for user root by ubuntu(uid=0) ...
Pour afficher les journaux d’un service spécifique, par exemple mysql, utilisez l’indicateur -u :
[email protected]:~$ sudo journalctl -u mysql -- Logs begin at Mon 2020-06-29 02:48:31 UTC, end at Wed 2020-08-19 15:11:34 UTC. -- Aug 16 12:30:02 ubuntu18 systemd[1]: Starting MySQL Community Server... Aug 16 12:30:03 ubuntu18 systemd[1]: Started MySQL Community Server. Aug 19 15:03:27 ubuntu18 systemd[1]: Stopping MySQL Community Server... Aug 19 15:03:29 ubuntu18 systemd[1]: Stopped MySQL Community Server.
tuer et tuer tout
Vous devrez peut-être arrêter un processus incontrôlable ou libérer des ressources système. kill avec l’indicateur -l affiche tous les signaux que vous pouvez envoyer à un processus.
[email protected]:~$ kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL10) SIGUSR1 11) SIGSEGV12) SIGUSR213) SIGPIPE14) SIGALRM15) SIGTERM 16) SIGSTKFLT17) SIGCHLD18) SIGCONT19) SIGSTOP20) SIGTSTP ....
Les deux signaux les plus couramment utilisés sont SIGTERM ET SIGKILL. Vous pouvez également utiliser -9 pour SIGKILL et -15 pour SIGTERM. SIGTERM permet à un processus de se terminer avant qu’il ne soit terminé et est donc appelé soft kill. SIGKILL termine le processus immédiatement. Voici un exemple:
Lister tous les processus apache2
[email protected]:~$ ps aux|grep apache2 root 45521 0.0 0.5 78188 4688 ? Ss Aug08 0:03 /usr/sbin/apache2 -k start www-data 45524 0.0 0.5 830480 4816 ? Sl Aug08 0:00 /usr/sbin/apache2 -k start www-data 45525 0.0 0.7 830480 6856 ? Sl Aug08 0:00 /usr/sbin/apache2 -k start ubuntu 70374 0.0 0.1 14852 1040 pts/0 S+ 07:45 0:00 grep --color=auto apache2
Pour tuer le processus apache2 avec l’ID de processus 45525 :
[email protected]:~$ sudo kill -9 45525
Affichez à nouveau la liste des processus apache2 :
[email protected]:~$ ps aux|grep apache2 root 45521 0.0 0.5 78188 4688 ? Ss Aug08 0:03 /usr/sbin/apache2 -k start www-data 45524 0.0 0.5 830480 4816 ? Sl Aug08 0:00 /usr/sbin/apache2 -k start ubuntu 70525 0.0 0.1 14852 1052 pts/0 S+ 07:52 0:00 grep --color=auto apache2
Utilisez killall pour tuer un programme par son nom. Ce qui signifie que killall tue le processus de contrôle (parent) et tous les processus enfants. Pour tuer toutes les instances du processus apache2 dans l’exemple ci-dessus :
[email protected]:~$ sudo killall apache2
Utilisez kill et killall avec prudence. Ces commandes peuvent laisser le système dans un état instable.
IP
La commande ip remplace ifconfig dans les nouvelles distributions Linux. Utilisez-le pour configurer et afficher les interfaces réseau. Également utilisé pour afficher et modifier les adresses IP, les routes et les objets voisins.
Afficher des informations sur toutes les interfaces réseau :
[email protected]:~$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:0d:3a:9b:88:d6 brd ff:ff:ff:ff:ff:ff inet 10.0.0.4/24 brd 10.0.0.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::20d:3aff:fe9b:88d6/64 scope link valid_lft forever preferred_lft forever
Pour activer ou désactiver une interface, utilisez ip link set dev suivi du nom de l’appareil. Par exemple, pour mettre en ligne l’interface eth0 :
[email protected]:~$ ip link set eth0 up
Et pour le faire tomber :
[email protected]:~$ ip link set eth0 down
Date
Une commande très couramment utilisée, nous explorons ici quelques façons intéressantes d’utiliser cette commande.
[email protected]:~$ date Tue Aug 11 07:42:49 UTC 2020
Pour voir la date de dimanche prochain :
[email protected]:~$ date -d 'next sunday' Sun Aug 16 00:00:00 UTC 2020
Pour voir la date de dimanche dernier :
[email protected]:~$ date -d 'last sunday' Sun Aug 9 00:00:00 UTC 2020
Vous pouvez également utiliser –date au lieu de l’indicateur -d :
[email protected]:~$ date --date="last sunday" Sun Aug 9 00:00:00 UTC 2020
Pour voir la date d’il y a 6 jours :
[email protected]ntu18:~$ date --date="6 days ago" Wed Aug 5 08:06:37 UTC 2020
Date dans 6 jours :
[email protected]:~$ date --date="6 days" Mon Aug 17 08:08:37 UTC 2020
Vous pouvez facilement contrôler le format de sortie de la date. Voici un exemple:
[email protected]:~$ date '+%d-%B-%Y' 11-August-2020
Sommaire
En tant qu’administrateur système, vous assurez le fonctionnement de l’infrastructure informatique mondiale. Vous devez résoudre les problèmes, entretenir et faire fonctionner les systèmes de manière optimale tout en garantissant la sécurité.
J’espère que ces commandes vous seront utiles et vous aideront à mieux faire votre travail.
Voici quelques clients FTP/SFTP et les meilleures feuilles de triche Vim pour les développeurs et les administrateurs système.