Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 18/04/2026, à 13:25

MicP

Pour ranger en colonnes le retour de la commande free

Bonjour

modération : scission du fil Fichier SWAP de 8Go à 32Go (ligne de commande) 

EDIT : la commande free s'est beaucoup améliorée depuis et elle ne fait plus d'erreurs de décalages sur les valeurs retournées.
Ce script est donc devenu pratiquement inutile (il ne fait plus que réaligner la ligne des titres et traduire le mot "Mem" en français : "Mémoire").

[Hors sujet]

J'ai créé plusieurs scripts personnels dont celui-ci
que j'ai nommé : ~/.local/bin/free et que j'ai rendu exécutable.

#!/bin/bash
# Pour ranger en colonnes le retour de la commande free
/usr/bin/free $@ | sed 's/al  /al/;s/sé/sé /;s/gé/gé /;s/ di/di/;s/em:     /émoire :/;s/e: /e :/;s/al: /al :/;s/é: /é :/;'

Et pour que le chemin de mes scripts personnels soit ajouté dans dans mon PATH
(car il n'y est pas toujours ajouté par défaut sur toutes les distributions linux)
à la fin de mon ~/.bashrc il y a ces quelques lignes :

# Si le répertoire ~/.local/bin ou/et ~/bin existe
#  alors ajouter le répertoire dans le PATH s'il n'y est pas déjà.
for b in ~/{,.local/}bin; do 
    if test -d "$b"; then
        for p in ${PATH//:/ }; do
            [ "$p" == "$b" ] && break
        done || PATH="$b:$PATH"
    fi
done

[/Hors sujet]

Cordialement. smile

Dernière modification par MicP (Le 19/04/2026, à 23:09)

Hors ligne

#2 Le 18/04/2026, à 13:50

nany

Re : Pour ranger en colonnes le retour de la commande free

Bonjour,



Comment augmenter la taille du swap sur Ubuntu Linux



MicP a écrit :

[Hors sujet]

J'ai créé plusieurs scripts personnels dont celui-ci
que j'ai nommé : ~/.local/bin/free et que j'ai rendu exécutable.

#!/bin/bash
# Pour ranger en colonnes le retour de la commande free
/usr/bin/free $@ | sed 's/al  /al/;s/sé/sé /;s/gé/gé /;s/ di/di/;s/em:     /émoire :/;s/e: /e :/;s/al: /al :/;s/é: /é :/;'

Et pour que le chemin de mes scripts personnels soit ajouté dans dans mon PATH
(car il n'y est pas toujours ajouté par défaut sur toutes les distributions linux)
à la fin de mon ~/.bashrc il y a ces quelques lignes :

# Si le répertoire ~/.local/bin ou/et ~/bin existe
#  alors ajouter le répertoire dans le PATH s'il n'y est pas déjà.
for b in ~/{,.local/}bin; do 
    if test -d "$b"; then
        for p in ${PATH//:/ }; do
            [ "$p" == "$b" ] && break
        done || PATH="$b:$PATH"
    fi
done

[/Hors sujet]

Je ne vois pas trop l’intérêt de ce script.
De plus, le fichier ~/.profile prend déjà en charge les répertoires ~/bin et ~/.local/bin, ton code dans ~/.bashrc fait doublon.

Hors ligne

#3 Le 18/04/2026, à 14:06

MicP

Re : Pour ranger en colonnes le retour de la commande free

Ok, c'était juste un Hors sujet, comme ça... smile

Sinon, tu pourrais donner les retours des autres lignes de commandes demandés par xubu1957

df -Thx tmpfs
dpkg -l | grep -v ^ii
ls -l /var/crash

auxquelles j'ajoute celle-ci :

sudo swapon --show

Un petit lien : https://doc.ubuntu-fr.org/swap

Cordialement smile


=======
@nany

Dans ubuntu 24.04.4, la première ligne du fichier ~/.profile indique :

ubuntu@ubuntu:~$ head -n1 ~/.profile
# ~/.profile: executed by the command interpreter for login shells.
ubuntu@ubuntu:~$ 

pour ce test, j'ai ajouté cette ligne à la fin du fichier ~/.profile :

ubuntu@ubuntu:~$ tail -n1 ~/.profile
prof='Mon ~/.profile a bien été pris en compte.'
ubuntu@ubuntu:~$ 

Dans les fenêtres de terminal de l'environnement de bureau, le shell n'est PAS un login shell
car on n'a pas à entrer un nom de compte utilisateur et un mot de passe pour accéder au shell puisqu'on s'est déjà identifié à l'ouverture de la session de l'environnement de bureau.
C'est pour ça que le fichier ~/.profile n'est pas pris en compte dans les fenêtres de terminal de l'environnement de bureau.

Depuis une fenêtre de terminal dans l'environnement de bureau :

ubuntu@ubuntu:~$ echo "$0"
bash
ubuntu@ubuntu:~$ 

La première lettre du retour de commande n'est pas "-" => ce n'est PAS un login shell
et comme on peux le voir ci-dessous, le fichier ~/.profile n'a pas été pris en compte
puisque la variable prof est vide :

ubuntu@ubuntu:~$ echo "$0 '$prof'"
bash ''
ubuntu@ubuntu:~$ 

Ci-dessous, j'ouvre un login-shell :

ubuntu@ubuntu:~$ sudo --login --user=ubuntu
ubuntu@ubuntu:~$ 
ubuntu@ubuntu:~$ echo "$0 '$prof'"
-bash 'Mon ~/.profile a bien été pris en compte.'
ubuntu@ubuntu:~$ 

La première lettre du retour de commande est bien un "-" => c'est bien un login shell.
Le fichier ~/.profile a bien été pris en compte comme l'indique la valeur de la variable prof

=====================================
EDIT : Je viens de vérifier sur ubuntu 24.04.4
S'ils existent, les répertoires ~/bin et ~/.local/bin sont ajoutés dans le path au moment de l'ouverture de session.
Après avoir créé un répertoire ~/bin ou/et ~/.local/bin , pour que les commandes qui sont dans le fichier ~/.profile ajoutent automatiquement ces chemins dans le path, il faut se déconnecter et ouvrir une nouvelle session.

Donc, si le fichier ~/.profile n'est effectivement pas pris en compte à l'ouverture d'un shell dans une fenêtre de terminal de l'environnement de bureau puisque ce n'est pas un login shell,
le fichier ~/.profile est bien pris en compte à l'ouverture de la session de l'environnement de bureau.
=====================================

nany a écrit :

… Je ne vois pas trop l’intérêt de ce script. …

Si on veux utiliser la commande free sur un système configuré en français, mon script va réaligner toutes les colonnes dans les lignes qui contiennent des caractères accentués.
(Apparemment, le défaut sur les lignes affichant les valeurs a été corrigé il y a quelques mois, ça décalait d'une colonne les valeurs retournées et mon script corrigeait ça, mais ce défaut subsiste encore dans la ligne de titre des colonnes.)

Dernière modification par MicP (Le 20/04/2026, à 19:17)

Hors ligne

#4 Le 19/04/2026, à 11:31

ar barzh paour

Re : Pour ranger en colonnes le retour de la commande free

@MicP
en 26.04 Ubuntu , il n'y a plus de décalage

jpb@jpb-B760M-U26: ~ $ free
               total       utilisé      libre     partagé tamp/cache   disponible
Mem:         7106140     2455956     2577368      796416     2959912     4650184
Échange:     4194300           0     4194300
jpb@jpb-B760M-U26: ~ $ 

et en 24.04 non plus

jpb@jpb-B760M-U24: ~ $ free
               total       utilisé      libre     partagé tamp/cache   disponible
Mem:         7896632     2001552     5142132      573464     1584092     5895080
Échange:     4194300           0     4194300
jpb@jpb-B760M-U24: ~ $ 
jpb@jpb-B760M-U24: ~ $ uname -a
Linux jpb-B760M-U24 6.17.0-20-generic #20~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Mar 19 01:28:37 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
jpb@jpb-B760M-U24: ~ $ 

Dernière modification par ar barzh paour (Le 19/04/2026, à 14:57)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 24.04, 22.04, 20.04,18.04,16.04 et 26.04 en test
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram Ubuntu 24.04, 22.04 ,26.04   W10-PRO( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne

#5 Le 19/04/2026, à 22:51

MicP

Re : Pour ranger en colonnes le retour de la commande free

Oui, la commande free a changé depuis ces deux ou trois dernières années, et donc mon script ne peux logiquement plus corriger des erreurs d'alignement qui ont disparu.
mais il reste encore quelques petites erreurs de décalage dans la ligne des titres.

S'il n'y avait aucun décalage, ça donnerait :

jpb@jpb-B760M-U24: ~ $ free
               total     utilisé       libre     partagé  tamp/cache  disponible
Mem:         7896632     2001552     5142132      573464     1584092     5895080
Échange:     4194300           0     4194300
jpb@jpb-B760M-U24: ~ $ 

et mon script aurait donné :

jpb@jpb-B760M-U24: ~ $ free
               total     utilisé       libre     partagé  tamp/cache  disponible
Mémoire :    7896632     2001552     5142132      573464     1584092     5895080
Échange :    4194300           0     4194300
jpb@jpb-B760M-U24: ~ $ 

=======
Merci à la modération pour avoir déplacé tous ces messages dans ce nouveau fil smile
(ça prenait vraiment trop de place là où c'était pour un hors sujet.)

Dernière modification par MicP (Le 20/04/2026, à 18:44)

Hors ligne

#6 Le 20/04/2026, à 07:39

serged

Re : Pour ranger en colonnes le retour de la commande free

Normalement les scripts personnels se mettent dans ~/bin. ~ représentant le répertoire personnel de l'utilisateur (/home/$USER en principe)


LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)

Hors ligne

#7 Le 20/04/2026, à 07:50

krodelabestiole

Re : Pour ranger en colonnes le retour de la commande free

~/bin est dans le $PATH par défaut ?

j'aurais plutôt dit ~/.local/bin
3.3 Binaires personnels

Hors ligne

#8 Le 20/04/2026, à 09:37

ar barzh paour

Re : Pour ranger en colonnes le retour de la commande free

@MicP
p... d'accents .....
mais c'est peut-être pas du aux accents en fait ?

je me bats depuis pas mal de temps avec printf pour avoir des sorties correctes


@krodelabestiole
chez moi oui

 echo $PATH
/home/jpb/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
jpb@jpb-B760M-U24: ~ $ 
uname -a
Linux jpb-B760M-U24 6.17.0-20-generic #20~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Mar 19 01:28:37 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

Dernière modification par ar barzh paour (Le 20/04/2026, à 09:38)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 24.04, 22.04, 20.04,18.04,16.04 et 26.04 en test
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram Ubuntu 24.04, 22.04 ,26.04   W10-PRO( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne

#9 Le 20/04/2026, à 09:48

iznobe

Re : Pour ranger en colonnes le retour de la commande free

serged a écrit :

Normalement les scripts personnels se mettent dans ~/bin. ~ représentant le répertoire personnel de l'utilisateur (/home/$USER en principe)

ar barzh paour a écrit :

@krodelabestiole
chez moi oui

 echo $PATH
/home/jpb/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
jpb@jpb-B760M-U24: ~ $

Bonjour , je ne vois pas de dossier : " /home/jpb/bin " dans ta variable $PATH .

Dernière modification par iznobe (Le 20/04/2026, à 09:49)

Hors ligne

#10 Le 20/04/2026, à 10:40

ar barzh paour

Re : Pour ranger en colonnes le retour de la commande free

non , il y a plein de bin , j'ai confondu en lecture rapide /bin et /home/jpb/.local/bin:
/home/jpb/.local/bin:
/usr/local/sbin:
/usr/local/bin:
/usr/sbin:
/usr/bin:
/sbin:
/bin:
/snap/bin

Dernière modification par ar barzh paour (Le 20/04/2026, à 10:41)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 24.04, 22.04, 20.04,18.04,16.04 et 26.04 en test
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram Ubuntu 24.04, 22.04 ,26.04   W10-PRO( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne