Geekflare est soutenu par son public. Nous pouvons percevoir des commissions d'affiliation sur les liens d'achat présents sur ce site.
En Linux et Mise en réseau Dernière mise à jour : 16 septembre 2023
Partager sur :
Invicti Web Application Security Scanner - la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

Linux propose d'innombrables commandes et utilitaires qui vous permettent d'effectuer vos tâches d'administration système rapidement et efficacement.

Votre travail en tant que administrateur du système comprend l'installation et l'exécution de logiciels, le contrôle de l'accès, la surveillance, la disponibilité, les sauvegardes, la restauration des sauvegardes et, bien sûr, la lutte contre les incendies. 😜

Dans cet article, nous passons en revue quelques-unes des commandes fréquemment utilisées par les administrateurs système Linux dans leur travail quotidien.

uname

Utilisation uname avec la commande -a pour imprimer des informations sur le système. Cette commande vous indiquera le nom du noyau, la version du noyau, le nom de l'hôte, le type de processeur et les informations relatives à la plate-forme matérielle.

ubuntu@ubuntu18:~$ 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

Utilisation df pour vérifier la taille du système de fichiers et l'espace disponible. Cette commande, utilisée seule, donne des résultats dans 1K blocs. 

ubuntu@ubuntu18:~$ 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% /
....

Option -h affiche les résultats dans un format lisible par l'homme, c'est-à-dire dans le format MB et GB.

ubuntu@ubuntu18:~$ 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 un système de fichiers, par exemple tmpfs, afin d'obtenir un résultat plus propre, utilisez le drapeau -x

ubuntu@ubuntu18:~$ 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 dresser la liste d'un type de système de fichiers spécifique uniquement, utilisez l'option -t par exemple, pour afficher uniquement les systèmes de fichiers ext4 :

ubuntu@ubuntu18:~$ 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 :

ubuntu@ubuntu18:~$ df -h -t ext4 --total
Taille du système de fichiers utilisée Utilisation disponible% Monté sur
/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 fonction du (commande). Par exemple, pour connaître l'utilisation de l'espace disque dans le répertoire /var/log. Utilisez la commande -h pour un format lisible par l'homme.

ubuntu@ubuntu18:~$ 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 ne voir que l'utilisation totale, utilisez -s (résumé).

ubuntu@ubuntu18:~$ sudo du -hs /var/log
204M	/var/log

gratuit

Utilisez la commande free pour voir la mémoire totale, utilisée et libre du système. Utiliser la commande -h pour un format lisible par l'homme.

ubuntu@ubuntu18:~$ 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

Utilisation ps pour afficher des informations sur l'état des processus en cours d'exécution sur le système. Pour afficher tous les processus appartenant à l'utilisateur ubuntu, utilisez -u avec le nom de l'utilisateur :

ubuntu@ubuntu18:~$ 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écutez ps avec les drapeaux aux :

ubuntu@ubuntu18:~$ 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]
....

RubriqueSignification
PIDNuméro d'identification du processus
%CPUPourcentage du temps de l'unité centrale utilisé par le processus
%MEMPourcentage de RAM utilisé par le processus
VSZMémoire virtuelle utilisée en Ko
RSSMémoire physique utilisée par le processus en Ko
TTYTerminal associé au processus
STATR - En cours d'exécution ou prêt à être exécuté, S - En sommeil, I - Inactif, T - Arrêté, Z - Zombie, D - En attente d'une entrée/sortie de disque, X - Mort, W - Remplacé, N - Processus de faible priorité, < - Processus de haute priorité

top

Tandis que ps montre un instantané de l'état des processus à tout moment, top affiche une liste continuellement mise à jour (toutes les trois secondes, par défaut) des processus du système dans l'ordre de leur activité.

Les top 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_+

Voici quelques-uns des champs du résumé du système :

monterUptime. Temps écoulé depuis le dernier démarrage de la machine.
moyenne de la chargeLa moyenne de charge 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. La première est la moyenne des 60 dernières secondes, la deuxième est la moyenne des 5 dernières minutes et la troisième montre la moyenne des 15 dernières minutes.
%Cpu(s)

 

 

 

Cette ligne décrit les activités de l'unité centrale.

 

0,3 us, utilisateur 0,3% CPU est utilisé pour les processus utilisateur.
0,0 sy, système 0,0% CPU est utilisé pour les processus du système.
0,0 ni, nice 0.0% CPU est utilisé par des processus de faible priorité (nice)
99,7 id, idle 99.7% CPU est inactif
0,0 wa, IO-wait 0,0% L'unité centrale attend les E/S
0.0 hi le temps consacré aux interruptions matérielles
0,0 si le temps consacré aux interruptions logicielles
0.0 st pierre temporelle de cette VM par l'hyperviseur

Les champs de la table de processus sont les suivants :

PIDNuméro d'identification du processus
UTILISATEURPropriétaire du processus
PRPriorité
NIUn bon rapport qualité-prix
VIRTMémoire virtuelle utilisée par le processus (Ko)
RESMémoire physique utilisée par le processus
SHRMémoire partagée utilisée par le processus
SÉtat du processus. R - en cours d'exécution, S - endormi, I - inactif, T - arrêté, Z - zombie, D - en attente d'une E/S disque, W - échangé, X - mort
%CPUPourcentage de temps CPU utilisé par le processus
%MEMLe processus de mémoire physique utilise
TIME[+]Temps total de l'unité centrale utilisé par le processus
COMMANDENom du programme

Tandis que top est en cours d'exécution, vous pouvez lancer 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. Appuyer sur k pour tuer un processus. Appuyer sur q pour quitter le sommet.

dig

dig est un excellent outil pour les requêtes DNS. Il est utilisé comme suit :

dig <DNS server> <domain> <query-type>

  • est le nom du serveur DNS que vous souhaitez interroger
  • est le nom de domaine que vous souhaitez interroger
  • est le nom de l'enregistrement que vous souhaitez connaître - A, MX, NS SOA, etc.

Pour supprimer la sortie verbale, utilisez l'option +short.

Pour afficher l'enregistrement A de google.com, utilisez :

ubuntu@ubuntu18:~$ dig google.com +short
172.217.164.174

Pour voir les enregistrements MX de google.com, utilisez :

ubuntu@ubuntu18:~$ 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 la commande Outil de recherche DNS.

qui et w

who affiche les utilisateurs qui sont connectés.

ubuntu@ubuntu18:~$ 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 affiche les utilisateurs actuellement connectés et leurs processus. L'en-tête indique l'heure actuelle, la durée de fonctionnement du système, le nombre d'utilisateurs connectés et les moyennes de charge du système.

ubuntu@ubuntu18:~$ w
 18:07:33 up 46 days, 15:19,  2 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM             LOGIN@   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 indique 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é, la JCPU, la PCPU et le programme qu'ils exécutent. JCPU est le temps utilisé par tous les processus attachés au tty, tandis que PCPU est le temps utilisé par le processus en cours.

goudron

Avec GNU tar, vous pouvez archiver plusieurs fichiers en un seul.

Par exemple, créez un répertoire myfiles et trois fichiers a.txt, b.txt, c.txt dans le répertoire myfiles :

ubuntu@ubuntu18:~$ mkdir myfiles ; touch myfiles/{a.txt,b.txt,c.txt}

Il faut maintenant créer une archive nommée allfiles.tar contenant tous les fichiers du répertoire myfiles :

ubuntu@ubuntu18:~$ tar -cvf allfiles.tar myfiles
myfiles/
myfiles/c.txt
myfiles/a.txt
myfiles/b.txt

Liste tous les fichiers du répertoire actuel. Vous pouvez voir le répertoire myfiles et l'archive allfiles.tar :

ubuntu@ubuntu18:~$ ls
allfiles.tar  myfiles

Vous pouvez décompresser une archive avec l'option -x. Ainsi, pour décompresser allfiles.tar :

ubuntu@ubuntu18:~$ tar -xvf allfiles.tar
myfiles/
myfiles/c.txt
myfiles/a.txt
myfiles/b.txt

Vous pouvez également compresser cette archive avec l'option -z. Cela créera une archive compressée avec gzip.

ubuntu@ubuntu18:~$ tar -zcvf allfiles.tar.gz myfiles
myfiles/
myfiles/c.txt
myfiles/a.txt
myfiles/b.txt
ubuntu@ubuntu18:~$ ls
allfiles.tar.gz  myfiles

Pour décompresser une archive compressée, utilisez -z avec -x drapeau.

ubuntu@ubuntu18:~$ 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 affiche toutes les lignes correspondant à ce motif. Par exemple, pour rechercher la ligne contenant "ServerRoot" dans /etc/apache2/apache2.conf :

ubuntu@ubuntu18:~$ grep ServerRoot /etc/apache2/apache2.conf 
# ServerRoot: The top of the directory tree under which the server's
#ServerRoot "/etc/apache2"

Pour effectuer une recherche dans tous les fichiers d'un répertoire, utilisez *. Pour inclure la recherche dans les sous-répertoires, utilisez -r (récursif). Ainsi, pour rechercher toutes les lignes contenant le motif "VirtualHost" dans tous les fichiers de /etc/apache2 :

ubuntu@ubuntu18:~$ cd /etc/apache2
ubuntu@ubuntu18:/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

<a href="https://geekflare.com/fr/rsync-guide/">rsync</a> est un outil de ligne de commande rapide pour la synchronisation de fichiers et de répertoires entre deux emplacements. Il peut être utilisé à la fois pour la copie locale et la copie à distance. Il est rapide car il n'envoie que les différences entre les fichiers sources et les fichiers existants dans le répertoire de destination.

Elle est largement utilisée pour les sauvegardes et comme commande de copie améliorée pour un usage quotidien.

En voici un exemple :

Pour copier/rsynchroniser tous les fichiers du répertoire myfiles vers le répertoire backups :

ubuntu@ubuntu18:~$ 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 rsynciser 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 la destination. Ainsi, pour rsynciser le dossier myfiles vers un hôte distant avec l'IP 10.0.0.50 :

vagrant@ubuntu-xenial:~$ rsync -avh myfiles/ vagrant@10.0.0.50:/home/vagrant
vagrant@10.0.0.50'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

ss est utilisée pour extraire des statistiques sur les sockets, à l'instar de l'ancien utilitaire netstat. Pour afficher les sockets TCP, utilisez -t drapeau.

ubuntu@ubuntu18:~$ 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 ne permet pas d'afficher les sockets qui écoutent. Pour inclure à la fois les sockets qui écoutent et ceux qui n'écoutent pas, utilisez -t et -a drapeaux.

ubuntu@ubuntu18:~$ 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                                *:*

locate

Les locate utilise une base de données pour rechercher des fichiers et peut être beaucoup plus rapide que la commande find. Elle est très simple à utiliser pour rechercher un fichier, par exemple apache2.conf :

ubuntu@ubuntu18:~$ locate apache2.conf
/etc/apache2/apache2.conf
/var/lib/dpkg/info/apache2.conffiles

Vous pouvez utiliser -c si vous souhaitez obtenir uniquement le nombre de fichiers correspondant au motif de recherche.

ubuntu@ubuntu18:~$ locate -c apache2.conf
2

Il peut arriver que vous deviez actualiser la base de données utilisée par locate, qui est mlocate. Pour mettre à jour la base de données, utilisez updatedb de la commande. Il faut pour cela disposer des privilèges d'un superutilisateur.

ubuntu@ubuntu18:~$ sudo updatedb

trouver

L'un des outils les plus fréquemment utilisés commandes sous Linux. Utilisez-le pour rechercher des fichiers en fonction des noms de fichiers, des autorisations, de l'identifiant de l'utilisateur, de l'identifiant du groupe, de la taille, du type de fichier, ainsi que d'autres critères.

Pour rechercher un fichier par son nom dans le répertoire actuel, utilisez l'option -name suivie du nom du fichier à rechercher :

ubuntu@ubuntu18:~$ find . -name a.txt
./myfiles/a.txt

Pour rechercher des répertoires, utilisez -type d drapeau :

ubuntu@ubuntu18:~$ find . -type d
.
./.ssh
./myfiles
./.cache
./.gnupg
./.gnupg/private-keys-v1.d
./docker

Pour rechercher des fichiers en fonction de leur taille, par exemple des fichiers de plus de 20 Mo, utilisez la fonction -size drapeau :

ubuntu@ubuntu18:~$ 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

En savoir plus sur la Commande Find de Linux.

systemctl

Maintenant que systemd a remplacé le processus d'initialisation SysV dans la plupart des distributions Linux. systemctl pour gérer les services et les unités systemd.

Pour démarrer un service, par exemple apache2 :

ubuntu@ubuntu18:~$ sudo systemctl start apache2.service

Vous pouvez laisser le suffixe de service.

Pour arrêter un service :

ubuntu@ubuntu18:~$ sudo systemctl stop apache2

Pour connaître l'état du service, utilisez systemctl status. L'exemple suivant montre l'état d'apache2 en cours d'exécution :

ubuntu@ubuntu18:~$ 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 - uncomplicated firewall est un frontal 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 dépôt EPEL.

Pour activer ufw :

$ sudo ufw enable

Vérifier l'état du pare-feu avec ufw status :

$ sudo ufw status
Status: active

Les politiques 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 de blocage du trafic sur le port 21 :

$ sudo ufw deny 21
Rule added
Rule added (v6)

journalctl

Utilisation journalctl pour afficher les journaux collectés par systemd. systemd collecte les journaux dans un emplacement central au format binaire. Pour afficher ces journaux :

ubuntu@ubuntu18:~$ 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 (buildd@lcy01-amd64-003) (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érerez voir les journaux dans l'ordre inverse, c'est-à-dire en commençant par les plus récents :

ubuntu@ubuntu18:~$ 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, utiliser -u drapeau :

ubuntu@ubuntu18:~$ 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.

kill et killall

Vous pouvez avoir besoin de tuer un processus en cours d'exécution ou de libérer des ressources système. kill with -l montre tous les signaux que vous pouvez envoyer à un processus.

ubuntu@ubuntu18:~$ kill -l
 1) SIGHUP	 2) SIGINT	 3) SIGQUIT	 4) SIGILL	 5) SIGTRAP
 6) SIGABRT	 7) SIGBUS	 8) SIGFPE	 9) SIGKILL	10) SIGUSR1
11) SIGSEGV	12) SIGUSR2	13) SIGPIPE	14) SIGALRM	15) SIGTERM
16) SIGSTKFLT	17) SIGCHLD	18) SIGCONT	19) SIGSTOP	20) 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 d'être interrompu et est donc appelé soft kill. SIGKILL met fin au processus immédiatement. Voici un exemple :

Liste de tous les processus apache2

ubuntu@ubuntu18:~$ 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'identifiant de processus 45525 :

ubuntu@ubuntu18:~$ sudo kill -9 45525

Affichez à nouveau la liste des processus apache2 :

ubuntu@ubuntu18:~$ 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. Cela 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 :

ubuntu@ubuntu18:~$ sudo killall apache2

Utilisation kill et killall avec prudence. Ces commandes peuvent laisser le système dans un état instable.

IP

Les ip La commande remplace ifconfig dans les distributions Linux les plus récentes. Il permet de configurer et d'afficher les interfaces réseau. Il permet également d'afficher et de modifier les adresses IP, les itinéraires et les objets voisins.

Affiche des informations sur toutes les interfaces réseau :

ubuntu@ubuntu18:~$ 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 l'interface eth0 en ligne :

ubuntu@ubuntu18:~$ ip link set eth0 up

Et de l'abattre :

ubuntu@ubuntu18:~$ ip link set eth0 down

date

Il s'agit d'une commande très couramment utilisée. Nous explorons ici quelques façons intéressantes d'utiliser cette commande.

ubuntu@ubuntu18:~$ date
Tue Aug 11 07:42:49 UTC 2020

Pour connaître la date du prochain dimanche :

ubuntu@ubuntu18:~$ date -d 'next sunday'
Sun Aug 16 00:00:00 UTC 2020

Pour voir la date du dimanche dernier :

ubuntu@ubuntu18:~$ date -d 'last sunday'
Sun Aug  9 00:00:00 UTC 2020

Vous pouvez également utiliser -date au lieu de -d :

ubuntu@ubuntu18:~$ date --date='last sunday'
Sun Aug  9 00:00:00 UTC 2020

Voir la date il y a 6 jours :

ubuntu@ubuntu18:~$ date --date='6 days ago'
Wed Aug  5 08:06:37 UTC 2020

Date dans 6 jours :

ubuntu@ubuntu18:~$ 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 :

ubuntu@ubuntu18:~$ date '+%d-%B-%Y'
11-August-2020

Résumé

En tant qu'administrateur de système, vous devez veiller à ce que les systèmes d'information du monde entier ne soient pas endommagés. infrastructure informatique fonctionnement. Vous devez résoudre les problèmes, assurer la maintenance et le fonctionnement optimal des systèmes tout en garantissant la sécurité.

J'espère que ces commandes vous seront utiles et vous aideront à mieux faire votre travail.

En voici quelques-uns Clients FTP/SFTP et le les meilleures fiches de Vim pour les développeurs et les administrateurs système.

  • Vijay Khurana
    Auteur
Merci à nos sponsors
D'autres bonnes lectures sur Linux
Alimentez votre entreprise
Quelques outils et services pour aider votre entreprise à se développer.
  • Invicti utilise le Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, search engine crawler, et tout ce dont vous avez besoin pour collecter des données web.
    Essayez Brightdata
  • Monday.com est un système d'exploitation tout-en-un qui vous aide à gérer vos projets, vos tâches, votre travail, vos ventes, votre CRM, vos opérations, vos flux de travail et bien plus encore.
    Essayez le lundi
  • Intruder est un scanner de vulnérabilité en ligne qui détecte les faiblesses de votre infrastructure en matière de cybersécurité, afin d'éviter des violations de données coûteuses.
    Essayer l'intrus