Changements récents - Rechercher:

Espace Wiki ∂'Alembert
Documentation générale


Espace Guide de survie du SysAdmin
Documentation technique


Espace Guide de survie du Développeur
Pour les développeurs


Espace Institut ∂’Alembert
L'institut


Le Site
À propos du Site
Liste complète des Pages


Aide PmWikiFr

Help PmWiki

GSSA /

BASH - Bourne Again SHell

Page mise à jour le 22/06/2022 10:20

Vous êtes dans un espace restreint en écriture.

(:numbered-sections format=0.A.1.a:)

Trucs et Astuces

Save your terminal commands in bash history in real time

(:source:)shopt -s histappend ; PROMPT_COMMAND="history -a;$PROMPT_COMMAND" this may have some security issues

save date and time for each command in history

(:source:)export HISTTIMEFORMAT='%F %T '

watch commands with pipe

Example: watch nginx process with specific format: (:source:)watch -n1 -d "ps axw f -o pid,ppid,user,%cpu,vsz,wchan,command | egrep '(nginx|PID)'"

save and replay a interactive session

Example: save a session in file replay with time-file replay.time: (:source:)script -treplay.time replay

And replay the session: (:source:)scriptreplay -t replay.time replay

change a user password in a script

Just a simple script to change user password from old to new (:source:)echo -n "old\nnew\nnew" | passwd user

To change remotely:(:source:)ssh root@remote 'echo -n "old\nnew\nnew" | passwd user'

remplacer les caractères UTF-8 par leur équivalent ascii

(:source:)iconv -f utf-8 -t ascii//TRANSLIT

Exemple: (:source:) echo ĥéĺłœ π | iconv -f utf-8 -t ascii//TRANSLIT helloe ?

Limiter le buffering dans les pipes

La commande permettan de limiter le buffering entre commandes à une seule ligne (:source:)stdbuf -Ol <cmd>

Il faut chaîner la commande si on a plusieurs | (pipes)

Erreur

bash cannot create temp file for here-document: No space left on device

Symptôme
Alors que le disque n'est pas plein, il apparaît une erreur No space left on device
Remède
regardez les inodes de votre disque, il sont peut être tous utilisés.

(:source lang=bash:) $ df -i Filesystem Inodes IUsed IFree IUse% Mounted on udev 4111336 567 4110769 1% /dev tmpfs 4114856 1031 4113825 1% /run /dev/sda3 5349376 5349376 0 100% /tmp

Le repertoire /tmp se rempli avec le temps. Il faut le vider regulierement. Une commande dans /etc/cron.daily (:source:) #!/bin/sh /usr/bin/find /tmp -ctime +10 -exec /bin/rm -rf {} \;

systemd vide le répertoire /tmp a chaque reboot. Mais peut être que cette machine est un serveur et ne reboot pas.

Voir Aussi

À propos du site • Licence Creative Commons • Cooked with love in 2014-2023 by pcht
Page mise à jour le 22/06/2022 10:20