Oneliner : Différence entre versions

De Asso Val Libre
Aller à : navigation, rechercher
(Commandes utilisées)
(Commandes utilisées)
 
(Une révision intermédiaire par le même utilisateur non affichée)
Ligne 22 : Ligne 22 :
 
; Résultat :
 
; Résultat :
  
     ...
+
     [...]
 
     74 apt
 
     74 apt
 
     81 ls
 
     81 ls
Ligne 35 : Ligne 35 :
 
; Décomposition :
 
; Décomposition :
  
  find /usr -type f -size +10M -printf '%s %p\n'
+
: find /usr -type f -size +10M -printf '%s %p\n'
: Trouver les fichiers (type f) (et pas les répertoires/dossiers) présents dans le dossier /usr (zone système) de taille supérieure à 10M
+
Trouver les fichiers (type f) (et pas les répertoires/dossiers) présents dans le dossier /usr (zone système) de taille supérieure à 10M
 
: Afficher le résultat sous la forme de la taille (%s) puis le chemin (%p == path) et terminer par un retour à la ligne (\n)
 
: Afficher le résultat sous la forme de la taille (%s) puis le chemin (%p == path) et terminer par un retour à la ligne (\n)
  
  | sort -nr  
+
| sort -nr  
: Trier numérique par ordre décroissant (-nr == -n -r == numérique reverse)
+
Trier numérique par ordre décroissant (-nr == -n -r == numérique reverse)
  
| head -10  
+
: | head -10  
: Prendre les 10 premières ligne (en tête de résultat)
+
Prendre les 10 premières ligne (en tête de résultat)
  
| awk '{print $2}'
+
: | awk '{print $2}'
: Afficher la colonne 2 uniquement, c-à-d le nom du fichier
+
Afficher la colonne 2 uniquement, c-à-d le nom du fichier
  
| xargs dpkg -S  2>/dev/null
+
: | xargs dpkg -S  2>/dev/null
: Pour chaque ligne (xargs) rechercher à quel paquet appartient le fichier (dpkg -S) et ignorer les erreurs (2>/dev/null)
+
Pour chaque ligne (xargs) rechercher à quel paquet appartient le fichier (dpkg -S) et ignorer les erreurs (2>/dev/null)
  
 
== Oneliner  ==
 
== Oneliner  ==

Version actuelle en date du 29 novembre 2022 à 14:45

Commandes utilisées

 history  | awk '{print $2}' | grep ^[a-z] | sort | uniq -c  | sort -n
Décomposition 
history

donne la liste des commandes mémorisées dans l'historique de l'utilisateur

| awk '{print $2}'

ne garde que la deuxième colonne du résultat de la commande précédente

| grep ^[a-z]

ne garde que les lignes commençant par une minuscule (les commmandes linux commençent par une minuscule)

| sort

tri par ordre alphabétique, pour regrouper les mêmes commandes utilisées plusieurs fois dans l'historique

| uniq -c

fusionne les ocurrences multiples et les compte, ajoute le total en face de chaque ligne

| sort -n

tri selon la valeur de la première colonne


Résultat 
    [...]
    74 apt
    81 ls
    82 cd
    87 snap
   114 cat

Oneliner 01

 find /usr -type f -size +10M -printf '%s %p\n' | sort -nr  |head -10 | awk '{print $2}' | xargs dpkg -S 2>/dev/null
Décomposition 
find /usr -type f -size +10M -printf '%s %p\n'

Trouver les fichiers (type f) (et pas les répertoires/dossiers) présents dans le dossier /usr (zone système) de taille supérieure à 10M

Afficher le résultat sous la forme de la taille (%s) puis le chemin (%p == path) et terminer par un retour à la ligne (\n)
| sort -nr

Trier numérique par ordre décroissant (-nr == -n -r == numérique reverse)

| head -10

Prendre les 10 premières ligne (en tête de résultat)

| awk '{print $2}'

Afficher la colonne 2 uniquement, c-à-d le nom du fichier

| xargs dpkg -S 2>/dev/null

Pour chaque ligne (xargs) rechercher à quel paquet appartient le fichier (dpkg -S) et ignorer les erreurs (2>/dev/null)

Oneliner

Oneliner 
Rechercher les 10 premiers fichiers > 10Mo dans ~ ==>
find ~ -type f -size +10M -printf '%s %p\n' | sort -nr  |head -10
Oneliner 
Rechercher les paquets installés qui ne sont pas ou plus associés à une source ==>
apt-show-versions | grep "No available" | awk -F: '{print $1}'