pense-bête de bruno sanchiz

Accueil > Linux > Lignes de commandes > bash - shell - un certain nombre de programmes

bash - shell - un certain nombre de programmes

Publié le 19 mars 2017, dernière mise-à-jour le 4 juin 2024, 31 visites, visites totales.

trouver un fichier dans un paquet

grep foo2hbpl2 /var/lib/dpkg/info/*.list
dpks -S foo2hbpl2

décimal <-> hexadécimal

  • décimal -> hexadécimal
    echo "257"|dc -e '10i16o?p'
    101
    
  • hexadécimal -> décimal
    echo "101"|dc -e '10o16i?p'
    257
    
  • (2+1)*F -> decimal
    echo "F 1 2"|dc -e '10o16i?+*p'
    45
    

apt apt-get

apt list mariadb-client mariadb-server
En train de lister... Fait
mariadb-client/stable,now 1:10.11.3-1 amd64 [installé, automatique]
mariadb-client/stable 1:10.11.3-1 i386
mariadb-server/stable,now 1:10.11.3-1 amd64 [installé]
mariadb-server/stable 1:10.11.3-1 i386

touch

changer la date du fichier
touch -t "AAAAMMJJMMSS" fichier
touch -t "202310051200" fichier

built-in commands

compgen -b

readlink

$  readlink sh bash

pid d’une fenêtre

lancer
xprop |igrep pid|sed "s#[^0-9]##g"
choisir une fenêtre

pid des processus

echo $BASHPID
5770
gedit &
[1] 6087
pstree -p | grep -C 2 6087
         |               |-dconf-service(1617)-+-{dconf-service}(1622)
           |               |                     -{dconf-service}(1623)
           |               |-gnome-terminal-(5760)-+-bash(5770)-+-gedit(6087)-+-bash(6095)
           |               |                       |            |             |-{gedit}(6088)
           |               |                       |            |             |-{gedit}(6089)


 

formater des lignes

afficher sur 6 colonnes : ls |pr -6t

afficher les codes hexadécimaux dans un texte

echo "la ligne de commande" | hd

echo "a^Va" |hd
00000000  61 16 61 0a                                       |a.a.|
00000004
 

echo "a^Va" |hd |cut -d "|" -f2

a.a.
00000004
 

CESU
A partir des fichiers de salaires donnés par le cesu, Bulletin salaire_MACHIN_11_2019.pdf, on obtient

Id Date Net NetImposable Heures SalaireHoraireNet SalaireBrut Patron Fichier
2015/05 180 186,71 6 30 235,39 MACHIN ./MACHIN/Bulletin salaire_MACHIN_05_2015.pdf
find . -name "*pdf" -print |while read i ; do echo "$i";nom=$(echo "$i" |sed 's#.*Bulletin salaire_\(.*\)_\([0-9][0-9]\)_\(20[0-9][0-9]\).pdf#\1#'); pdf2htmlEX "$i" a.html ; tmp=$(cat a.html |sed 's/<[^<>]*>//g' |tr "\n" " " |sed "s#.*Paie du [0-9][0-9]/\([0-9][0-9]\)/\(20[0-9][0-9]\).*Salaire net imposable (CSG/CRDS inclus) : \([0-9,]*\) €.*Net à payer avant impôt sur le revenu:\([0-9,]*\) €.*Nombre d&apos;heures travaillées:\([0-9]*\).*Salaire horaire net (heures normales):\([0-9,]*\) €.*Salaire brut : \([0-9,]*\) €.*#\2/\1\t\4\t\3\t\5\t\6\t\7\n#"); echo -e "\t""$tmp""\t""$nom""\t""$i" >>tmp.csv ;done ; echo -e "Id\tDate\tNet\tNetImposable\tHeures\tSalaireHoraireNet\tSalaireBrut\tPatron\tFichier">salaires.csv  ; cat tmp.csv |sort -u >> salaires.csv ;rm tmp.csv  a.html
 

xclip

xclip -o : donne le texte copier ( copier/coller )

export

export donne les valeurs des variables
exemple :

export |grep SHELL
declare -x SHELL="/bin/bash" 
 echo $SHELL
/bin/bash

 

id

utilisateur normal : id
uid=1000(moi) gid=1000(moi) groupes=1000(moi),....
root : id
uid=0(root) gid=0(root) groupes=0(root)

loginctl

loginctl session-status

Failed to query ControlGroup: No such property 'ControlGroup'
1 - moi (1000)
           Since: Wed 2017-08-02 14:43:37 CEST; 2h 3min ago
          Leader: 4152 (lightdm)
            Seat: seat0; vc7
         Display: :0
         Service: lightdm; type x11; class user
         Desktop: mate
           State: active
            Unit: session-1.scope
 

ps

ps aux |grep lightdm

root      2287  0.0  0.0 289964  6528 ?        SLl  14:42   0:00 /usr/sbin/lightdm
root      2770  2.0  0.8 427468 72676 tty7     Ssl+ 14:42   2:34 /usr/lib/xorg/Xorg :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
lightdm   3658  0.0  0.0  48136  2428 ?        S    14:43   0:00 dbus-launch --autolaunch=951a1a1adc434650a61cdb4b557a485b --binary-syntax --close-stderr
lightdm   3773  0.0  0.0  45120  2584 ?        Ss   14:43   0:00 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session
lightdm   4014  0.0  0.0 220224  6244 ?        Sl   14:43   0:01 /usr/lib/at-spi2-core/at-spi2-registryd --use-gnome-session
root      4152  0.0  0.0 250708  6840 ?        Sl   14:43   0:00 lightdm --session-child 12 21
 

cd

ouvrir un terminal menu applications/accessoires/terminal :

apparaît nom@ordi : $ qui sera utilisé dans la suite

cd nom_du_repertoire : va dans le répertoire

exemple : cd /usr/bin
cd .. on remonte d’un répertoire
cd : on va dans le répertoire personnel ( équivalent à cd /home/nom )

ls

ls : liste les fichiers et répertoires

ls -alliste les fichiers et répertoires y compris cachés et les permissions

permissions : voir chmod xyz fichier
r = read ( lecture autorisée ) :vaut 4 ou 0
w = write ( écriture autorisée) : vaut 2 ou 0
x : exécution autorisée : vaut 1 ou 0
rx = 4 + 1 = 5
rwx = 4 + 2 + 1 = 7

sudo -s

sudo -s : apparaît root@ordi : $ : vous devenez root, donc vous pouvez tout faire sur cet ordi, y compris tout effacer.

chown et chmod

chown nom :nom fichier : le fichier devient le fichier de nom dans le groupe nom ; le fichier doit déjà vous appartenir sinon passez en root

chown -R nom :nom repertoire : le répertoire et tout ce qu’il contient devient le fichier de nom dans le groupe nom

chmod xyz fichier : le fichier prend les permissions xyz : très utile si vous ne pouvez pas copier dans un répertoire, ou lire un fichier. ( voir ls -al )

x : permissions du propriétaire

y : permissions du groupe

z : permissions de tout le monde

x, y et z sont des nombres de 0 à 7 tels que :

0 2 4 6 : fichier non exécutable ( ou répertoire non ouvrable )
1 3 5 7 : fichier exécutable ( ou répertoire ouvrable )
0 1 4 5 : fichier non réinscriptible
2 3 6 7 : fichier réinscriptible
0 1 2 3 : fichier non lisible
4 5 6 7 : fichier lisible
exemple : 5 : fichier exécutable ( ou répertoire ouvrable ) et fichier non réinscriptible et fichier lisible

exemple chmod 754 fichier :

7 : fichier exécutable ( ou répertoire ouvrable ) et fichier réinscriptible et fichier lisible pour le propriétaire du fichier

5 : fichier exécutable ( ou répertoire ouvrable ) et fichier non réinscriptible et fichier lisible pour tous les utilisateurs appartenant au groupe du fichier

4 : fichier non exécutable ( ou répertoire non ouvrable ) et fichier non réinscriptible et fichier lisible pour tous les utilisateurs

chmod -R xyz repertoire : le répertoire et tout ce qu’il contient prend les permissions xyz

ifconfig ( obsolète )

ifconfig : donne les caractéristiques de votre réseau et/ou internet

utiliser plutot ip a commandes réseaux en vrac

mount et umount

mount -a : monte tout ce qui est déclaré dans /etc/fstab, par exmple, permet d’accéder à une partition nouvellement créée

umount /media/hda1 : démonte /media/hda1

ps

ps aux : montre les programmes en cours d’exécution ; permet en particulier de les arrêter en notant le premier nombre ( PID )

kill et killall

killall firefox-bin : arrête tous les programmes firefox-bin

kill -9 PID, tue le programme PID

on peut aussi utiliser top :
top puis CTRL C pour arreter : montre l’utilisation du CPU

free : montre l’utilisation des mémoires
ou htop

top et htop

top - 00:37:05 up  1:44,  2 users,  load average: 4,74, 3,54, 2,77
Tasks: 168 total,   1 running, 167 sleeping,   0 stopped,   0 zombie
%Cpu(s): 95,0 us,  5,0 sy,  0,0 ni,  0,0 id,  0,0 wa,  0,0 hi,  0,0 si,  0,0 st
MiB Mem :   2874,5 total,    117,2 free,    821,0 used,   1936,4 buff/cache
MiB Swap:   7000,2 total,   6987,7 free,     12,6 used.   1810,6 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                         
 2211 poum      20   0 1115808 212328  67788 S  77,8   7,2   5:57.61 ghb                                             
  511 root      20   0  369520  61344  43420 S  11,1   2,1   3:08.68 Xorg            
 

apt

  • apt-get install programme : télécharge sur internet ou un cd ( déclaré dans /etc/apt/sources.list ) et installe le programme
  • apt-cache show vlc-plugin-jackAffiche les informations associée au paquet vlc-plugin-jack.
Package: vlc-plugin-jack
Source: vlc
Version: 3.0.10-0+deb9u1
Installed-Size: 216
Maintainer: Debian Multimedia Maintainers <pkg-multimedia-maintainers@lists.alioth.debian.org>
Architecture: amd64
Depends: libc6 (>= 2.8), libjack-jackd2-0 (>= 1.9.10+20150825) | libjack-0.125, libvlccore9 (>= 3.0.10), vlc-plugin-abi-3-0-0f
Description-fr: greffons audio Jack pour VLC
 VLC est le lecteur multimédia du projet VideoLAN. Il peut lire les
 fichiers MPEG, MPEG-2, MPEG-4, DivX, MOV, WMV, QuickTime, WebM, FLAC, MP3,
 Ogg/Vorbis, les DVD, VCD, la baladodiffusion et les flux multimédia de diverses
 sources réseau.
 .
 Ces greffons permettent au lecteur multimédia VLC d'utiliser JACK. Pour
 activer le module de sortie audio, utilisez l'option « --aout jack » ou
 sélectionnez le greffon de sortie audio « jack » dans le menu des
 préférences. Pour une entrée jack, utilisez
 « vlc jack://channels=…:ports=… »
Description-md5: 48cfa579f6997ac3ff068125f952b74b
Homepage: http://www.videolan.org/vlc/
Enhances: vlc
Multi-Arch: same
Pre-Depends: dpkg (>= 1.17.14)
Section: video
Priority: optional
Filename: pool/updates/main/v/vlc/vlc-plugin-jack_3.0.10-0+deb9u1_amd64.deb
Size: 132398
MD5sum: fe8dd1d6c9ddacf6889ed48a0924bac2
SHA1: ef6bfbff50a17f95b5916e73bb143fcdca531bf4
SHA256: a3aa78a79588c66d5396965aef622d738c9549ace592b274d131c9f76123a236

Package: vlc-plugin-jack
Source: vlc
Version: 3.0.8-0+deb9u1
Installed-Size: 214
Maintainer: Debian Multimedia Maintainers <pkg-multimedia-maintainers@lists.alioth.debian.org>
Architecture: amd64
Depends: libc6 (>= 2.8), libjack-jackd2-0 (>= 1.9.10+20150825) | libjack-0.125, libvlccore9 (>= 3.0.8), vlc-plugin-abi-3-0-0f
Pre-Depends: dpkg (>= 1.17.14)
Enhances: vlc
Description-fr: greffons audio Jack pour VLC
 VLC est le lecteur multimédia du projet VideoLAN. Il peut lire les
 fichiers MPEG, MPEG-2, MPEG-4, DivX, MOV, WMV, QuickTime, WebM, FLAC, MP3,
 Ogg/Vorbis, les DVD, VCD, la baladodiffusion et les flux multimédia de diverses
 sources réseau.
 .
 Ces greffons permettent au lecteur multimédia VLC d'utiliser JACK. Pour
 activer le module de sortie audio, utilisez l'option « --aout jack » ou
 sélectionnez le greffon de sortie audio « jack » dans le menu des
 préférences. Pour une entrée jack, utilisez
 « vlc jack://channels=…:ports=… »
Description-md5: 48cfa579f6997ac3ff068125f952b74b
Multi-Arch: same
Homepage: http://www.videolan.org/vlc/
Tag: role::plugin
Section: video
Priority: optional
Filename: pool/main/v/vlc/vlc-plugin-jack_3.0.8-0+deb9u1_amd64.deb
Size: 130968
MD5sum: a02911e1527ce2e37f0cb54140b438cc
SHA256: 54246babb43585a6353dd2e5d09460be5f12792088d9d8dcf7129e810c2482d7
 

paquets : dépendances

  • apt-cache depends vlc-plugin-jack Affiche toutes les dépendances du paquet vlc-plugin-jack.
  Pré-Dépend: dpkg
    dpkg:i386
  Dépend: libc6
 |Dépend: libjack-jackd2-0
  Dépend: <libjack-0.125>
    libjack-jackd2-0
    libjack0
  Dépend: libvlccore9
  Dépend: <vlc-plugin-abi-3-0-0f>
    libvlccore9
  Améliore: vlc
 
  • apt-cache rdepends vlc-plugin-jack Affiche tous les paquets dont dépend le paquet vlc-plugin-jack
    vlc-plugin-jack
    Reverse Depends:
      multimedia-players
     

Visualiser les dépendances d’un paquet .deb de manière graphique
sudo apt-get install apt-rdepends graphviz
apt-rdepends -d xz-utils | dot > /tmp/apt.dot ; dotty /tmp/apt.dot

  • apt-cache search -n vlc-plugin-jack Recherche et affiche tous les paquets ayant dans leur nom vlc-plugin-jack
    vlc-plugin-jack - greffons audio Jack pour VLC
     
  • apt-cache madison vlc-plugin-jackIndique le dépôts fournissant le paquet vlc-plugin-jack
    vlc-plugin-jack | 3.0.10-0+deb9u1 | http://deb.debian.org/debian-security stretch/updates/main amd64 Packages
    vlc-plugin-jack | 3.0.10-0+deb9u1 | http://security.debian.org stretch/updates/main amd64 Packages
    vlc-plugin-jack | 3.0.8-0+deb9u1 | http://deb.debian.org/debian stretch/main amd64 Packages
    vlc-plugin-jack | 3.0.8-0+deb9u1 | http://ftp.crihan.fr/debian stretch/main amd64 Packages
           vlc | 3.0.8-0+deb9u1 | http://deb.debian.org/debian stretch/main Sources
           vlc | 2.2.7-1~deb9u1 | http://deb.debian.org/debian-security stretch/updates/main Sources
           vlc | 3.0.10-0+deb9u1 | http://deb.debian.org/debian-security stretch/updates/main Sources
           vlc | 3.0.8-0+deb9u1 | http://ftp.crihan.fr/debian stretch/main Sources
           vlc | 2.2.7-1~deb9u1 | http://security.debian.org stretch/updates/main Sources
           vlc | 3.0.10-0+deb9u1 | http://security.debian.org stretch/updates/main Sources
     

df

df : octets sur chaque point de montage
ex df /dev/hdb1

Sys. de fich. 1K-blocs Occupé Disponible Capacité Monté sur

/dev/hdb1 19607924 17211740 1400156 93% /media/hdb1

[bruno sanchiz]