• Assurez la sécurité des applications de la bonne manière! Détectez, protégez, surveillez, accélérez et plus encore…
  • Linux propose d'innombrables commandes et utilitaires, qui vous aident à effectuer vos tâches d'administration système rapidement et efficacement.

    Votre travail en tant que administrateur système comprend l'installation et l'exécution de logiciels, le contrôle de l'accès, la surveillance, l'assurance de la disponibilité, les sauvegardes, la restauration des 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.

    uname

    Utiliser uname commande avec le -a drapeau 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

    Utiliser df commande pour vérifier la taille du système de fichiers et l'espace disponible. Cette commande utilisée seule affiche la sortie dans 1K Blocs. 

    [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% /
    ....
    

    Option -h affiche la sortie dans un format lisible par l'homme, c'est-à-dire MB reçues par les enchanteurs et permettent aussi GB.

    [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 flag -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 -t drapeau. 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 du commander. Par exemple, pour voir l'utilisation de l'espace disque dans le répertoire / var / log. Utilisation -h drapeau 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 -s (résumé) drapeau.

    [email protected]:~$ sudo du -hs /var/log
    204M	/var/log

    free

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

    [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

    Utiliser 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 -u drapeau 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écutez ps avec les indicateurs 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]
    ....

    De

    Titre Sens
    PID Numéro d'identification du processus
    %CPU Pourcentage de temps CPU utilisé par le processus
    % MEM Pourcentage de processus RAM utilisant
    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 disque, X - Mort, W - Permuté, N - Processus à faible priorité, <- Processus hautement prioritaire

    top

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

    Le top La sortie de la commande se compose de deux parties principales: le récapitulatif 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 système sont les suivants:

    up Disponibilité. Temps écoulé depuis le dernier démarrage de la machine.
    charge moyenne La 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. Le premier est la moyenne des 60 dernières secondes, le second est la moyenne des 5 dernières minutes et le troisième indique la moyenne des 15 dernières minutes.
    % CPU (s)

     

     

    Cette ligne décrit les activités de la CPU.

    0.3 nous, utilisateur 0.3% du processeur est utilisé pour les processus utilisateur.
    0.0 sy, système 0.0% du processeur est utilisé pour les processus système.
    0.0 ni, bien 0.0% du processeur est utilisé par des processus de faible priorité (nice)
    99.7 id, inactif 99.7% du processeur est inactif
    0.0 wa, attente IO 0.0% du processeur attend les E / S
    0.0 salut temps passé sur les interruptions matérielles
    0.0 et temps passé sur les interruptions logicielles
    Chaque 0.0 pierre de temps 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
    PR .
    NI Bon rapport qualité / prix
    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 de disque, W- permuté, X - mort
    %CPU Le processus de temps CPU utilise en pourcentage
    % MEM Le processus de mémoire physique utilise
    TIME [+] Temps CPU total utilisé par le processus
    COMMAND Nom du programme

    Tandis que top est en cours d'exécution, vous pouvez émettre un certain nombre de commandes. presse h or ? pour voir les commandes qui peuvent être exécutées pendant que top est en cours d'exécution. presse k pour tuer un processus. presse q pour quitter top.

    dig

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

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

    De

    • 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 + indicateur court.

    Pour afficher un enregistrement pour google.com, utilisez:

    [email protected]:~$ dig google.com +short
    172.217.164.174

    Pour afficher les enregistrements MX pour google.com, utilisez:

    [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 le Outil de recherche DNS.

    who and w

    who 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, l'heure de connexion, le temps d'inactivité, le JCPU, le 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 actuel.

    tar

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

    A titre d'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

    Répertoriez tous les fichiers du répertoire actuel. 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'option -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'option -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 -x drapeau.

    [email protected]:~$ tar -zxvf allfiles.tar.gz 
    myfiles/
    myfiles/c.txt
    myfiles/a.txt
    myfiles/b.txt

    grep

    grep est utilisé pour rechercher un modèle 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 -r (récursif) flag. Donc, 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 distante 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 / rsync 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 rsync 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. Donc, 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

    ss La commande est utilisée pour vider les statistiques de socket, similaire à l'ancien utilitaire netstat. Pour afficher les sockets TCP, utilisez -t drapeau.

    [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 prises d'écoute et non d'écoute, utilisez -t reçues par les enchanteurs et permettent aussi -a drapeaux.

    [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                                *:*

    locate

    Le locate La commande 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 -c indicateur si vous ne voulez que 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 updatedb commander. Cela nécessiterait des privilèges de superutilisateur.

    [email protected]:~$ sudo updatedb

    find

    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 nom dans le répertoire courant, utilisez l'indicateur -name suivi du nom de fichier à rechercher:

    [email protected]:~$ find . -name a.txt
    ./myfiles/a.txt

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

    [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 -size drapeau:

    [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 systemctl commande 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 systemctl commande d'état. 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.

    ufw command

    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 depuis le 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

    Utiliser journalctl pour afficher les journaux collectés par systemd. systemd collecte le journal dans un emplacement central dans un 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érez 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, utilisez mysql -u drapeau:

    [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.

    kill and killall

    Vous devrez peut-être arrêter un processus emballé ou lorsque vous aurez besoin de libérer certaines ressources système. tuer avec -l flag 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) 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 qu'il ne soit terminé et est donc appelé soft kill. SIGKILL met immédiatement fin au processus. 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

    Consultez à 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

    Utiliser kill reçues par les enchanteurs et permettent aussi killall Avec précaution. Ces commandes peuvent laisser le système dans un état instable.

    IP

    Le ip la commande 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 itinéraires 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 l'interface eth0 en ligne:

    [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 -d flag:

    [email protected]:~$ date --date='last sunday'
    Sun Aug  9 00:00:00 UTC 2020

    Pour voir la date il y a 6 jours:

    [email protected]:~$ 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

    Résumé

    En tant qu'administrateur système, gardez le monde infrastructure informatique fonctionnement. Vous devez résoudre les problèmes, maintenir et maintenir 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.