informatique:linux:commandes_linux
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
informatique:linux:commandes_linux [2019/10/09 17:38] – [ip] pteu | informatique:linux:commandes_linux [2020/12/15 15:31] – [date] comaprer des dates pteu | ||
---|---|---|---|
Line 86: | Line 86: | ||
Permet de programmer l' | Permet de programmer l' | ||
- | Enfin, on peut spécifier l' | + | On peut spécifier l' |
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
<code bash> | <code bash> | ||
Line 146: | Line 151: | ||
(voir '' | (voir '' | ||
+ | =====blkid===== | ||
+ | Affiche les attributs des disques/ | ||
+ | <code bash> | ||
+ | /dev/sda1: UUID=" | ||
+ | /dev/sda2: UUID=" | ||
+ | /dev/sdb1: UUID=" | ||
+ | /dev/sdb2: UUID=" | ||
+ | /dev/md0: LABEL=" | ||
+ | /dev/md1: UUID=" | ||
+ | </ | ||
=====cal===== | =====cal===== | ||
Line 412: | Line 427: | ||
<code bash> | <code bash> | ||
# Pour afficher la date au format YYYY/ | # Pour afficher la date au format YYYY/ | ||
- | date +%Y/%m/%d-%H:%M:%S | + | date "+%Y/%m/%d %H:%M:%S" |
- | 2009/06/25-15:07:56 | + | 2009/06/25 15:07:56 |
# afficher le compteur (timestamp) de l' | # afficher le compteur (timestamp) de l' | ||
- | date +%s | + | date "+%s" |
1441816670 | 1441816670 | ||
Line 433: | Line 448: | ||
</ | </ | ||
+ | Pour comparer des dates, on les convertit au format '' | ||
+ | <code bash> | ||
+ | date=$(date -d 2020-12-15 +%s) | ||
+ | now=$(date +%s) | ||
+ | |||
+ | if [ $date -lt $now ]; then | ||
+ | echo "date est dans le passé !" | ||
+ | fi | ||
+ | </ | ||
=====dd===== | =====dd===== | ||
Line 450: | Line 474: | ||
<code bash> | <code bash> | ||
pkill -USR1 dd | pkill -USR1 dd | ||
+ | </ | ||
+ | |||
+ | |||
+ | =====declare===== | ||
+ | |||
+ | Permet de déclarer des variables en bash et leur affecter des attributs ; il équivaut à la commande '' | ||
+ | |||
+ | Liste des attributs existants : | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | Utiliser '' | ||
+ | |||
+ | <code bash> | ||
+ | # exemple d' | ||
+ | declare -i int=2 | ||
+ | echo "int vaut $int" | ||
+ | let "int += 1" | ||
+ | echo "int vaut $int" | ||
+ | unset int | ||
+ | |||
+ | # exemple d' | ||
+ | declare -r const=pierre | ||
+ | echo "const vaut $const" | ||
+ | const=sable | ||
+ | echo "const vaut $const" | ||
</ | </ | ||
Line 491: | Line 548: | ||
dig mx pteu.fr | dig mx pteu.fr | ||
dig pteu.fr @9.9.9.9 | dig pteu.fr @9.9.9.9 | ||
+ | dig +noall +answer pteu.fr | ||
</ | </ | ||
+ | Récupérer le numéro de série (serial number) d'une zone (enlever //+short// pour un résultat plus verbeux) : | ||
+ | <code bash> | ||
+ | dig +short SOA pteu.fr | ||
+ | dns105.ovh.net. tech.ovh.net. 2018110900 86400 3600 3600000 300 | ||
+ | </ | ||
+ | |||
+ | Interroger tous les serveurs faisant autorité d'une zone : | ||
+ | <code bash> | ||
+ | dig +nssearch pteu.fr | ||
+ | SOA dns105.ovh.net. tech.ovh.net. 2018110900 86400 3600 3600000 300 from server 213.251.188.149 in 0 ms. | ||
+ | SOA dns105.ovh.net. tech.ovh.net. 2018110900 86400 3600 3600000 300 from server 2001: | ||
+ | SOA dns105.ovh.net. tech.ovh.net. 2018110900 86400 3600 3600000 300 from server 2001: | ||
+ | SOA dns105.ovh.net. tech.ovh.net. 2018110900 86400 3600 3600000 300 from server 213.251.128.149 in 2 ms. | ||
+ | </ | ||
=====dirname===== | =====dirname===== | ||
Line 852: | Line 924: | ||
* '' | * '' | ||
* '' | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
Il est possible d' | Il est possible d' | ||
Line 943: | Line 1018: | ||
=====history===== | =====history===== | ||
- | Permet d' | + | Permet d' |
<code bash> | <code bash> | ||
history | history | ||
Line 953: | Line 1028: | ||
| | ||
</ | </ | ||
+ | |||
+ | Lors de la fermeture de session, cette liste est ajoutée au fichier indiqué dans la variable '' | ||
+ | * le format de timestamp de chaque commande avec la variable '' | ||
+ | * la taille de l' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | Exemple : | ||
+ | <file bash .bashrc> | ||
+ | HISTCONTROL=ignoredups: | ||
+ | HISTTIMEFORMAT=" | ||
+ | HISTSIZE=10000 | ||
+ | HISTFILESIZE=20000 | ||
+ | </ | ||
On peut relancer une commande de l' | On peut relancer une commande de l' | ||
Line 975: | Line 1064: | ||
</ | </ | ||
- | On efface l' | + | On efface l' |
On peut loguer (dans ''/ | On peut loguer (dans ''/ | ||
Line 1430: | Line 1519: | ||
* '' | * '' | ||
* '' | * '' | ||
+ | * '' | ||
<code bash> | <code bash> | ||
Line 1685: | Line 1775: | ||
=====netcat===== | =====netcat===== | ||
- | Permet | + | Netcat (nc) est un couteau-suisse réseau qui permet |
* '' | * '' | ||
* '' | * '' | ||
Line 1692: | Line 1782: | ||
* '' | * '' | ||
* '' | * '' | ||
+ | |||
+ | * pour tester si des ports sont ouverts sur une machine distante: | ||
+ | <code bash> | ||
+ | # -z = on n' | ||
+ | # -v = mode verbeux | ||
+ | # 80: numéro de port à tester | ||
+ | $ nc -zv 10.0.0.1 80 | ||
+ | Connection to 10.0.0.1 80 port [tcp/ssh] succeeded! | ||
+ | |||
+ | # On peut remplacer un port par une liste de port (séparés par des espaces : "80 443") | ||
+ | # ou une plage de ports (" | ||
+ | # Par défaut on teste en TCP ; pour utiliser UDP, ajouter le paramètre -u | ||
+ | # (ex ici pour tester le DNS et le SYSLOG) : | ||
+ | $ nc -zv 10.0.0.1 -u 53 514 | ||
+ | </ | ||
* Créer un automate qui renvoie au client tout ce que ce dernier envoie dans la socket : | * Créer un automate qui renvoie au client tout ce que ce dernier envoie dans la socket : | ||
Line 2090: | Line 2195: | ||
=====sed===== | =====sed===== | ||
- | **S**tream **ED**itor est une commande qui permet d' | + | **S**tream **ED**itor est une commande qui permet d' |
- | + | ||
- | * Filtre pour remplacer | + | |
<code bash> | <code bash> | ||
- | sed "s/\([0-9]\{1, | + | # afficher le contenu du fichier en remplaçant toto par titi |
- | </code> | + | cat fichier.txt | sed 's/toto/titi' |
- | * Convertir les minuscules | + | # même chose en plus simple |
- | <code bash> | + | sed 's/toto/titi' |
- | echo "La PhraSe avec Des LeTTres n' | + | |
- | la phrase avec des lettres n' | + | |
- | # et respectivement 's/.*/ | + | |
</ | </ | ||
- | (Le "&" | ||
- | * Ajouter une ligne en début de fichier : | + | Par défaut le résultat est affiché dans le terminal ; si on précise un fichier |
<code bash> | <code bash> | ||
- | sed -i '1iPremièreLigne' toto.txt | + | # remplacer toto par titi dans le fichier (sans afficher le résultat) |
+ | sed -i 's/toto/titi' | ||
+ | # idem, mais en sauvegardant le fichier original avec l' | ||
+ | # cela créra 2 fichiers : fichier.txt (modifié) et fichier.txt.bck (l' | ||
+ | sed -i" | ||
</ | </ | ||
- | (il s'agit d'un " | ||
- | | + | <WRAP center round important 60%> |
+ | Les caractères suivants doivent être échappés (préfixés par un '' | ||
+ | </ | ||
+ | |||
+ | | ||
+ | Afficher la 3ème ligne d'un fichier | ||
<code bash> | <code bash> | ||
- | sed -i" | + | sed -n ' |
+ | sed ' | ||
+ | sed ' | ||
</ | </ | ||
Line 2125: | Line 2234: | ||
sed -n ' | sed -n ' | ||
sed -n ' | sed -n ' | ||
+ | </ | ||
+ | |||
+ | * Ajouter une ligne en début de fichier : | ||
+ | <code bash> | ||
+ | sed -i ' | ||
+ | </ | ||
+ | (il s'agit d'un " | ||
+ | |||
+ | * Afficher les lignes sauf celles situées entre " | ||
+ | <code bash> | ||
+ | sed '/ | ||
+ | </ | ||
+ | |||
+ | * Supprimer la 5eme ligne du fichier toto.txt | ||
+ | <code bash> | ||
+ | sed -i ' | ||
</ | </ | ||
* Supprimer les lignes contenant toto dans le fichier toto.txt : | * Supprimer les lignes contenant toto dans le fichier toto.txt : | ||
<code bash>sed -i '/ | <code bash>sed -i '/ | ||
+ | |||
+ | * Supprimer les lignes __ne contenant pas__ toto dans le fichier toto.txt : | ||
+ | <code bash>sed -i '/ | ||
* Supprimer les lignes vides | * Supprimer les lignes vides | ||
Line 2137: | Line 2265: | ||
sed -e ' | sed -e ' | ||
</ | </ | ||
+ | |||
+ | * Remplacer les adresses IP par X.X.X.X | ||
+ | <code bash> | ||
+ | sed " | ||
+ | </ | ||
+ | |||
+ | * Convertir les minuscules en majuscules (ou inversement) | ||
+ | <code bash> | ||
+ | echo "La PhraSe avec Des LeTTres n' | ||
+ | la phrase avec des lettres n' | ||
+ | # et respectivement ' | ||
+ | </ | ||
+ | (Le "&" | ||
* On peut réutiliser des patterns entre () qui ont matchées avec \1, \2. Par exemple, pour inverser les 3 termes séparés par des virgules : | * On peut réutiliser des patterns entre () qui ont matchées avec \1, \2. Par exemple, pour inverser les 3 termes séparés par des virgules : | ||
Line 2303: | Line 2444: | ||
* '' | * '' | ||
* '' | * '' | ||
+ | * '' | ||
Exemple : | Exemple : | ||
Line 2368: | Line 2510: | ||
ss dport \> 1024 | ss dport \> 1024 | ||
</ | </ | ||
+ | =====stat===== | ||
+ | |||
+ | Commande permettant d' | ||
+ | |||
+ | <code bash> | ||
+ | # Affichage des informations du fichier toto.txt | ||
+ | $ stat toto.txt | ||
+ | Fichier : « toto.txt » | ||
+ | | ||
+ | Périphérique : | ||
+ | Accès : (0644/ | ||
+ | | ||
+ | Modif. : 2018-08-30 18: | ||
+ | Changt : 2018-08-30 17: | ||
+ | Créé : - | ||
+ | </ | ||
+ | |||
+ | On peut filtrer le résultat par type d' | ||
+ | <code bash> | ||
+ | # N' | ||
+ | $ stat -c " | ||
+ | 2018-08-30 18: | ||
+ | |||
+ | # Afficher la taille du fichier (ici il est vide) | ||
+ | $ stat -c " | ||
+ | 0 | ||
+ | </ | ||
+ | |||
=====strings===== | =====strings===== | ||
Affiche les chaines de caractères imprimable dans le fichier spécifié (c'est donc peu utile sur les fichiers texte). | Affiche les chaines de caractères imprimable dans le fichier spécifié (c'est donc peu utile sur les fichiers texte). | ||
- | | + | <code bash> |
+ | strings toto.exe | ||
+ | </ | ||
=====su===== | =====su===== | ||
Line 2487: | Line 2658: | ||
Permet de calculer le temps d' | Permet de calculer le temps d' | ||
- | | + | <code bash> |
- | + | time sleep 3 | |
- | real 0m3.015s | + | |
- | | + | |
- | | + | |
+ | </ | ||
La commande retourne le temps réel (//real//), le temps en mode utilisateur (//user//) et le temps en mode système (//sys//). | La commande retourne le temps réel (//real//), le temps en mode utilisateur (//user//) et le temps en mode système (//sys//). | ||
+ | Pour mesurer le temps de plusieurs commandes pipées (chainées avec un pipe '' | ||
+ | <code bash> | ||
+ | time -f " | ||
+ | </ | ||
=====top===== | =====top===== | ||
Line 2542: | Line 2717: | ||
=====type===== | =====type===== | ||
- | **type** est une commande interne de bash qui indique comment chaque | + | **type** est une commande interne de bash qui permet de savoir à quoi correspond un "nom" |
- | * '' | ||
<code bash> | <code bash> | ||
- | # lister toutes les fonctions | + | type -t ls |
- | declare | + | builtin |
- | [..] | + | type -t l |
- | declare | + | alias |
+ | type l | ||
+ | l is aliased to ' | ||
+ | |||
+ | type -t ssh | ||
+ | | ||
+ | type ssh | ||
+ | ssh is hashed (/ | ||
- | # afficher le code de celle-ci (équivalent de " | ||
type -a titreterm | type -a titreterm | ||
- | titreterm | + | titreterm |
- | titreterm () | + | |
- | { | + | { |
if [[ $# -eq 1 && -n $1 ]]; then | if [[ $# -eq 1 && -n $1 ]]; then | ||
echo -ne " | echo -ne " | ||
fi | fi | ||
- | } | + | } |
</ | </ | ||
+ | |||
+ | Voir aussi : [[informatique: | ||
=====update-rc.d===== | =====update-rc.d===== | ||
Line 2668: | Line 2850: | ||
=====vi===== | =====vi===== | ||
- | Un éditeur de texte en mode texte plus ou moins fourni | + | Vi (abréviation de **vi**sual) est un éditeur de texte en mode console présent |
- | =====vipw===== | + | =====vi*===== |
- | C'est la commande à utiliser pour éditer, avec vi, le fichier | + | Composés du préfixe **vi** (comme d'éditeur de texte) suivi de la commande à configurer, **vipw**, **vigr** ou **visudo** sont des " |
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | Leur utilisation est vivement recommandée dans la mesure où, souvent, leur action ne se limite pas à l' | ||
+ | * de mettre à jour d' | ||
+ | * de vérifier la syntaxe pour ne pas bloquer le système en cas d' | ||
+ | L' | ||
+ | |||
+ | Au passage, pour configurer l' | ||
+ | * **update-alternatives --config editor** sous Debian | ||
+ | * **select-editor** (utilise la variable $SELECTED_EDITOR, | ||
+ | * éditer le fichier ~/.bashrc pour y ajouter l'une des lignes suivantes : | ||
+ | <code bash> | ||
+ | export VISUAL=vi | ||
+ | export EDITOR=vi | ||
+ | </ | ||
=====vmstat===== | =====vmstat===== | ||
informatique/linux/commandes_linux.txt · Last modified: 2024/04/05 06:58 by pteu