Oneliner : Différence entre versions

De Asso Val Libre
Aller à : navigation, rechercher
(Commandes utilisées)
 
(17 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
 +
__TOC__
 +
 +
== 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 ==
 
== Oneliner 01 ==
 
: Trouver les fichiers (et pas les répertoires/dossiers) présents /usr (zone système) de taille supérieure à 10M
 
  
 
   find /usr -type f -size +10M -printf '%s %p\n' | sort -nr  |head -10 | awk '{print $2}' | xargs dpkg -S 2>/dev/null
 
   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'
+
: 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)
 
: 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
 +
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  ==
 +
 
 +
{{Ressource
 +
| type=Oneliner
 +
| domaine=Admin
 +
| catégorie=Ligne de commande
 +
| descriptif=Rechercher les 10 premiers fichiers > 10Mo dans ~
 +
| webhome=
 +
}}
  
  | head -10  
+
find ~ -type f -size +10M -printf '%s %p\n' | sort -nr |head -10
: Prendre les 10 premières ligne (en tête de résultat)
 
  
| awk '{print $2}'
+
{{Ressource
: Afficher la colonne 2 uniquement, c-à-d le nom du fichier
+
| type=Oneliner
 +
| domaine=Admin
 +
| catégorie=Ligne de commande
 +
| descriptif=Rechercher les paquets installés qui ne sont pas ou plus associés à une source
 +
| webhome=
 +
}}
  
  | xargs dpkg -S  2>/dev/null
+
  apt-show-versions | grep "No available" | awk -F: '{print $1}'
: Pour chaque ligne (xargs) rechercher à quel paquet appartient le fichier (dpkg -S) et ignorer les erreurs (2>/dev/null)
 

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}'