Mémo bash 2

pour la ligne de commande avec Bourne Again SHell (bash) sur GNU/Linux

Sommaire

a - b - c - d - e - f - g - h - i - j - k - l - m - n - o - p - q - r - s - t - u - v - w - x - y - z

A

apt-key
apt-key add  
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com votre_n°_de_clé
apt / apt-get
apt-get purge -y docker.io                              tout supprimer nettoyer
apt-get autoremove -y --purge docker.io                 supprimer les paquets inutiles
apt-get autoclean  
apt-get install -f                                      réparer

apt autoclean                           supprimer le cache des paquets périmés
apt autoremove                          supprimer les paquets installés comme dépendances et devenus inutiles
apt clean                               supprimer tout le cache
apt list --installed                    liste des paquets installés

ls -l /etc/apt/sources.list.d/      liste de dépôts ajoutés

**Réparer :**  
apt --fix-broken install -y  
dpkg --configure -a  
apt install -f  
apt-cache
apt-cache search restricted-extras          chercher si disponible
apt-cache search -n convert                 seulement les paquets qui ont cette chaîne dans leur nom  
apt-mark
apt-mark showmanual |more               liste des paquets installé manuellement  
at
at 0:52 today monscript.sh                  executer aujourd'hui à une heure donnée
at 4pm + 3 days  
at 10am Jul 31  
at 6pm today  

sommaire

B

bluetooth
hcitool dev                 liste matériel  
hciconfig -a  
bluetoothctl --help         appairage  
bluetoothctl list  
bluetoothctl devices        liste de matrériel accessible  
bluetoothctl pair oxy  
bluetoothctl pair 30:21:D4:00:00:00  
bluetoothctl paired-devices  

sommaire

C

certbot
certbot certificates                                        voir les certificats
certbot renew --dry-run --apache                            pour tester
certbot renew                                               renouveler  
certbot --apache                                            renouveler
chmod / chown
chmod -R ug+X dossier           ajout de parcours des dossiers
chmod -R 644 dossier/  
chmod -R -rwx,u+rwX,g+rwX dossier/  
chown -R www-data:www-data dossier/
clamscan
clamscan -r -i --log=/var/log/clamav/01.log /media/user/clef  
clamscan --bell -r -i --log=/var/log/clamav/01.log /mnt/dossier/   scanner et écrire des logs  
conky
conky -a top\_right
convert
convert {001..500}.JPEG sortie.pdf                      convertir des imges jpg vers pdf
convert image1.jpg image2.jpg fichier.pdf  
convert document.mng document.pdf  
cp
cp -R  -t /mnt/dossier/                     copier de façon récurcive
cp -R dossier1/ /mnt/dossier1/
cp -a dossier1/ dossier2/  
cp -pR dossier1/ /mnt/dossier2/  
cron
crontab -l                      lister les taches
crontab -e                      éditer les taches
5 12  \* \* \* utilisateur /usr/local/bin/script.sh  
@hourly nom_utilisateur  /usr/local/bin/script.sh  
crontab -e -u nom_utilisateur               éditer les taches d'un utilisateur
crontab -l -u nom_utilisateur               lister les taches d'un utilisateur  

sommaire

D

dd
dd bs=4M if=xubuntu-20.04.1-desktop-i386.iso of=/dev/sdb status=progress            créer une clef live en ligne de commande
dd bs=4M if=/chemin/vers/ma-distribution.iso of=/dev/sdx && sync  
dd if=/dev/zero of=/dev/sdb conv=notrunc status=progress                            effacer un disque !
dd if=/dev/sdc of=/home/$USER/MBR_disque_seagate.image bs=446 count=1       copie du MBR
dd if=/dev/urandom > fichieroccupanttoutlespacelibre                                        effacer la place libre
df
df -h |grep sd  
dig
dmidecode
dmidecode | less        infos sur le bios  
dmesg
dmesg | tail -n 25          derniers message du système, les 25 dernières lignes  
tail -f /var/log/syslog     messages en temps réel  
tail -f /var/log/kern.log  
dmesg | grep sd         identifier vos disques  
dmesg | grep cd         identifier vos lecteurs cd  
dmesg -T                journal démarrage avec date et heure  
dmesg -w                messages en continu  
dpkg
dpkg --list nautilus caja dolphin thunar  
dpkg --status firewalld             voir les infos du paquet
dpkg --status mysql-server              version de mysql
dpkg -l | grep -v ^ii                   voir le paquet non utilisés (qui ne sont pas ii) 
dpkg -l | awk '/^rc/{print $2}' | xargs -r sudo dpkg -P         supprimer tous ces fichiers de configuration devenus sans objets et marqués "rc"
dpkg -s NomDuPaquet                     voir les infos du paquet
dpkg --get-selections                       liste des paquets installés
dpkg -S ChaineRecherchée                    rechercher dans les paquets
dpkg --configure -a  
du
du -hd1 | sort -h       liste des dossiers par taille  

sommaire

E

egrep
egrep -i 'err|warn' /var/log/syslog  
etherwake
etherwake -b -i enp0s1 00:00:11:11:11:11
ethtool
ethtool enp0s1  | egrep "^[[:blank:]]*Wake-on: (g|d)"   ## voir si la carte réseau accepter wakeonlan  
ethtool -s enp0s1 wol g ## demander à la carte réseau d'accepter wakeonlan  
EUFI
[ -d /sys/firmware/efi ] && echo "Session EFI" || echo "Session non-EFI"

sommaire

F

fail2ban
fail2ban-client set application unbanip 00.00.00.11
fail2ban-client reload
fdisk
fdisk /dev/sdb        utilitaire de disque  
find
find -atime : Recherche par date de dernier accès  
find -mtime : Recherche par date de dernière modification  
find /home/ -mtime -1  Find files modified in the latest blocks of 24 hours  
find -mtime n  Where n is: 0 for the last 24 hours 1 for the last 48 hours 2 for the last 72 hours and so on.  
find dossier/ -type f -size +5M > resultat.txt  
find dossier/img -maxdepth 1 -type f -size -720001c  
find . -depth -type f -name "*.mp3"  
find ~/ -name '*~' -print0 | xargs -0 rm        supprimer les fichiers terminant par ~  
find . -depth -type f -name "*.jpg" -size +148576c | xargs -I '{}' cp '{}' ../jpg_recup/  
formost
foremost -Twv /dev/sdb5       analyser seulement  
foremost -Tt jpg,mp4,pdf -o dossier/ /dev/sdb1  
fsck
fsck /dev/sda                                   vérification du système de fichiers
fsck -yfv -C0 /dev/sda                  vérification du système de fichiers, y répond yes aux questions, f  force la vérification même si le système est propre, 
v  mode verbeux, C0 (c'est un zéro) affichage de la barre de progression
fslint
fslint File System Lint, utilitaire complet multifonctions permettant de nettoyer vos stockages de fichiers
fswebcam
fswebcam -r 1280x720 /dossier/$DATE.jpg  
fswebcam -d v4l2:/dev/video0 --list-controls  
fswebcam --set brightness=20%  --greyscale  
fswebcam --list-inputs  
fswebcam --list-controls        liste des paramètres actuels  

sommaire

G

ddrescue
ddrescue <source> <cible>.img <log> -n  
gpg2
gpg2 --full-gen-key  
gpg2 --list-keys        ou -k  
gpg2 --list-public-keys  
gpg2 --list-secret-keys    ou -K  
gs
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=fichier_reduit.pdf fichier_a_reduire.pdf  
gunzip
gunzip -dc syslog.4.gz                  extraire (d) et afficher le résultat (c)  

sommaire

H

hp-setup -ia
hp-setup -ia                ajouter une imprimante en ligne de commande (retirer option -i pour graphique)  

hciconfig

hciconfig                   vérifier que le matériel est présent et activé  
hcitool
hcitool scan                voir les périfériques bluetooth  
hcitool info 00:00:00:00:00:00              info périférique  
hdparm
hdparm -C /dev/sdc              voir le status  
hdparm -S /dev/sdc              arrêter ou mettre en veille  
hdparm -Y /dev/sdc              arrêter completement  
hdparm --idle-immediate /dev/sdc  
hdparm  --idle-unload /dev/sdc  
hdparm -i /dev/sdc              infos sur le disque  
hostnamectl
hostnamectl                 infos sur le nom de l'ordinateur  

sommaire

I

imagemagick
display img_001.jpg         afficher une image  
convert IMG_*.jpg -resize 500x1050 IMG_r.jpg  
convert *.JPG -resize 1200x2050 %.jpg  
convert -compress jpeg images_*.png document.pdf  

sommaire

J

journalctl
journalctl -xb                  journal de démarrage  
journalctl -p err               journal les erreurs  
journalctl /usr/sbin/vsftpd  

sommaire

K

killall -9 -u pi                    tuer tous les processus d'un utilisateur  

sommaire

L

ln -s cible nom_du_lien                 lien symbolique
logwatch
logwatch --service pam_pwdb,pam  
logwatch --service http --detail 10  
logwatch --service sshd --detail 10  
ls
ls -lhS | head              liste de fichier, classer par taille (S), seulement les dix premier (head)  
ls -l | grep ^d             lister les dossiers seulement (grep ^d)  
ls -lhS /var/log | head  
ls -l /var/log | grep ^d  
ls -ltr /var/cache/apt/archives         derniers paquets installés  
ls -ult  
ls -lt |more                    dernier changement sur le fichier  
lsusb
lsusb -t                voir les usb en arbre
lsblk
lsblk -o model,name,type,fstype,size,label,mountpoint               voir les partitions des disques  
lsblk                                                                                                   voir les corresondances partition, nom de partition  
lsblk -fe7 -o +size  
lsb_release
lsb_release -a                                          version de la distribution  
lsmod
lsmod | more  
lsmod | grep nouveau  
lsof
lsof | grep /var/www/                       voir les fichiers ouverts  
lsof -Pi |sort                              voir les services en écoute  
lspci
lspci | grep -i net         connaître le modèle de la carte wifi  
lshw
lshw -short         liste du matériel  

sommaire

M

mkdir
mkdir -p    ~/dossier1/dossier2/                créer le parent si n'existe pas  
mount
mount -t ext4 /dev/sdb1 /media/dossier/  
mount -t cifs -o guest,iocharset=utf8 //adressIP_serveurFichier/repertoireSource /media/partage  
umount /media/partage  
mplayer
mplayer tv:// -tv driver=v4l2:device=/dev/video0:width=1240:height=1240     lire webcam  
mysqldump
mysqldump -u root -p nom_base  > nom_base_sauvegarde.sql

sommaire

N

netstat
netstat -uta                voir les connexions ouvertes  
netstat -antp               voir les connexions inversées  
nmap
nmap -Pn <adresse ip\>              scan de ports vers un ordinateur  
nmap -A <adresse ip\>               scan pour définir le système d'un machine  
nmcli
nmcli device show enp4s0                        infos de connexion avec dns  

sommaire

O

sommaire

P

pdftk
pdftk fichier.pdf dumpdata output result.txt                            données d'un pdf  
pdftk fichier.pdf burst             deconcatener  
pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf  
ppa
ppa-purge ppa:<nom_du_dépôt>  
ppa-purge ppa:fabien-beosfrance  
add-apt-repository --remove ppa:fabien-beosfrance  

sommaire

Q

sommaire

R

rfkill
rfkill list                 liste des matériels sans fils  
rfkill list bluetooth       liste des matériels bluetooth  
rfkill unblock bluetooth    activer le bluetooth  
rfkill unblock wlan  
rsync
rsync -av --exclude=".cache" --exclude=".thumbnails" --exclude=".mozilla" /home/ /media/sauvegarde/  
rsync -av --delete /mnt/ressources/ /media/sauvegarde/  
route
route -n                table de routage  

sommaire

S
scp -r user@adresseip:/home/user/dossier/ .
sftp
sftp user@ftpserveur.tld
showmount
showmount -e 192.168.1.100  *# -> voir les partages disponibles*  
shred
shred -n 35 -z -u nomDuFichier          détruite un fichier (-n 25 écraser 25 fois, -z mettre des 0, -u effacer)  
smartmontools
smartctl -s on -a /dev/sdX          activer smart et obtenir les infos smart  
smartctl -t short /dev/sdX          lancer un test court (lecture écriture ?)  
smartctl -a /dev/sdh                données complètes (all)  
smartctl -H /dev/sda                health status, statut de santé  
smbmount
smbmount //192.168.1.100/data /mnt/dossier/
SSH
Envoi de la clef sur le server  
ssh-copy-id -i ~/.ssh/id_rsa.pub user@192.168.1.100  
ssh-copy-id -i ~/.ssh/id_rsa.pub -p <num_port> "<username>@<ipaddress>"  
ssh-keygen -t rsa  -b 4096 -C "nom"  
ssh-keygen -C "nom"  
ssh-keygen -c -f ~/.ssh/id_rsa  
ssh-add         ajout de la clef à l'agent ssh  
ssh-add -l      voir la liste de clefs  
ssh-keygen -l   empreinte de la clef  

ssh -L 8081:192.168.1.100:5000 user@domain.tld -p 8080  
swap
swapoff -av         désactiver  
swapon -av          activer  
swapon -s           connaître les fichiers d'échange utilisés  
systemctl
systemctl ACTION <Nom_du_service>.service           *action : status, start, stop, reload * 
systemctl disable <Nom_du_service>.service      desactiver un service  
systemctl list-unit-files '*service' | sort     voir les services et leur état  
systemctl list-unit-files '*service' |grep blue voir un service  
systemctl list-unit-files --type=service            liste des services  
systemctl list-units --type=service                 liste des services avec description  
systemd-analyze blame        voir les service au démarrage  
update-rc.d         mettre à jour les services pour le prochain démarrage  
runlevel            niveau d'exectution  
systemctl get-default           cible par défaut  
systemctl suspend       mise en veille  
pm-suspend              mise en veille  

systemctl status ssh.service  
systemctl disable bluetooth.service  
systemctl restart nginx.service         redémarrer nginx  
systemctl status gdm3.service  
systemctl reload apache2  
systemctl list-timers  
systemctl list-unit-files --type=service  

sommaire

T

tar
tar -cz /<source> | (cd /<destination> ; tar -xvz)   
tar zcvf votre_archive.tar.gz votre_dossier/    **créer une archive**  
tar xvf archivedossier.tar                      **extraire les fichiers**  
tar -tzf documents.tar.gz                           **liste le contenu**  
tar -xzf documents.tar.gz                           **extraire le contenu**  
tar -xzvf  ventoy-*-linux.tar.gz -C .       **exemple d'extractio**  
tcpdump
tcpdump -i enp2s0           voir l'activité sur la carte réseau  
tree
tree -L 3 > /mnt/dossier/tree.txt  

sommaire

U

udisksctl
udisksctl power-off -b /dev/sdc             arrêter un disque  
ufw
ufw insert 1 deny from [ip]
ufw status numbered
ufw deny proto tcp from 10.0.0.0/8 to 192.168.0.1 port 8088
unzip
unzip votre_archive.zip -d mon_repertoire  
userdel
userdel --remove            efface l'utilisateur, son groupe, son répertoire  

sommaire

V

vim
vimdiff fichier1 fichier2  

sommaire

W

wakeonlan
wakeonlan 00:00:00:00:2F:E3  
wget
wget -P $HOME/dossier/  http://domain.tld  

sommaire

X

xcalib
xcalib -red 1.7 1 64 -green 1.7 1 57 -blue 1.7 1 28 -alter  
xcalib -clear  

sommaire

Z

zip
zip -rv sauv_dossier.zip dossier/
zless
zless dossier/fichier.txt.gz                        voir l'archive
zmore
zmore kern.log.4.gz |grep usb                   voir l'archive et filtrer sur le mot "usb"