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

shopt -s histappend ; PROMPT_COMMAND="history -a;$PROMPT_COMMAND"

this may have some security issues

save date and time for each command in history

export HISTTIMEFORMAT='%F %T '

watch commands with pipe

Example: watch nginx process with specific format:

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:

script -treplay.time replay

And replay the session:

scriptreplay -t replay.time replay

change a user password in a script

Just a simple script to change user password from old to new

echo -n "old\nnew\nnew" | passwd user

To change remotely:

ssh root@remote 'echo -n "old\nnew\nnew" | passwd user'

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

iconv -f utf-8 -t ascii//TRANSLIT

Exemple:

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

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

#!/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