Dans mon cas il s'agit du bureau Cinnamon avec le gestionnaire de fichiers Nemo. Pour avoir la vue des fichiers en mode liste par défaut (au lieu des icônes) :
La liste des applications fonctionnant sous Wine.
La commande whois sous Linux ne retourne pas toutes les informations attendues (par exemple le Registrant Name). On voit en effet des différences entre un Whois réalisé sur un site internet, et un Whois réalisé dans un terminal. Pour palier à ça, il faut procéder en deux temps :
1) d'abord lancer la commande classique :
whois google.com
2) Ensuite, il faut refaire une demande en spécifiant le whois du registrar. Il est disponible à la ligne Registrar WHOIS Server :
whois google.com -h whois.markmonitor.com
On obtient alors les infos souhaitées.
Pour éviter de faire cette double manipulation à chaque fois, on peut faire un petit script et le mettre dans le PATH :
#!/usr/bin/env bash
domain_search="$1"
# Isole le domaine whois du registrar
regws=`whois "$domain_search" | grep "Registrar WHOIS Server" | sed "s/^.*:[ ]*\(.*\)$/\1/"`
# Affiche le whois complet dans le terminal
whois "$domain_search" -h "$regws"
Il me fallait un éditeur de vidéo pour faire quelques retouches, celui-ci à l'air pas mal.
Le Manuel en anglais.
Une vidéo qui explique comment couper des scènes.
Pour choisir les options d'export.
Exemple d'options d'export (bouton Render/Rendu):
Créer un profil:
L'interface n'est pas forcément très intuitive, mais en cherchant un peu on trouve les informations utiles.
Une compilation de bonnes pratiques en sécurité sous Linux.
Merci Antichesse.
Une liste des goals pour openssl et de leurs options respectives, avec un descriptif pour chacune.
Pour gérer l'utilisation de la Swap par l'OS:
sudo nano -c /etc/sysctl.conf
vm.swappiness = 10
"10" signifie que l'OS commencera à utiliser la Swap lorsque 90% de la RAM sera utilisée.
/proc/sys/vm/swappiness .
Je ne suis pas sûr que le débutant dont parle sebsauvage tire un grand bénéfice de l'apprentissage sur ce genre de shell. Il aurait mieux valu, à mon avis, adapter le shell bash classique en modifiant la coloration syntaxique. De plus, la suggestion de commande (à l'aide de la tabulation) existe déjà, ainsi que la recherche inversée (CTRL+R).
La petite phrase qui tue au milieu de l'article:
Cependant, c'est une excellente idée que d'avoir mis la configuration de l'outil dans une interface web je trouve. Je garde l'idée, pour faire ça en bash si l'envie me prend.
Pour activer la coloration syntaxique dans nano (pour le shell sh ou bash par exemple):
nano ~/.nanorc
Ajouter la ligne suivante:
include /usr/share/nano/sh.nanorc
Il existe beaucoup d'autres langages pris en comptes:
ls /usr/share/nano/
Attention: les versions de l'outil "sudo" entre 1.8.6p7 et 1.8.20 sont affectées par une vulnérabilité.
Mettez à jour vers la version 1.8.20p1 publiée hier!
Pour récupérer le n-ème argument en bash:
#!/bin/bash
n=3
echo "${!n}"
Résultat:
bash script.sh voiture camion "tati danielle" raclette "pommes de terre" exponentielle logarithme
tati danielle
Et pour récupérer les m premiers arguments à partir du n-ème (compris):
#!/bin/bash
n=4
m=2
echo "${@:$n:$m}
Résultat:
bash script.sh voiture camion "tati danielle" raclette "pommes de terre" exponentielle logarithme
raclette pommes de terre
L'astuce du jour.
J'ai un fichier comportant trois colonnes, et structuré de cette manière:
Nom Prénom DateDeNaissance
Le séparateur de colonnes est une tabulation.
Question: comment construire la regexp correcte dans un terminal, pour décrire ce fichier (dans sed ou grep par exemple)?
En effet, il n'est pas possible de "juste" taper sur la touche tabulation. Rien ne se produit.
Pour intégrer la tabulation il faut:
1) Appuyer sur les touches CTRL + V. Cela informe le terminal que la prochaine touche devra être prise "littéralement".
2) Appuyer sur la touche tabulation. Celle-ci est alors inséree dans la ligne de commande comme n'importe quel autre caractère.
Voilà
PS: Je sais maintenant pourquoi un CTRL+V dans un terminal ne "colle" pas le presse-papier.
La variable d'environnement LANG sous Linux, contient la valeur liée aux paramètres locaux (langue, clavier, ...).
Elle vaut en général quelquechose comme ça:
fr_FR.utf8
es_EC.utf8
en_US.utf8
etc
Mais parfois, on voit cette variable LANG changer de valeur. En particulier, lors d'une compilation en langage C.
On voit alors:
LANG=C
Mais cela n'a (presque) rien a voir avec le fait que c'est le langage C qui est en jeu.
La "locale" C est une convention POSIX qui permet d'anticiper les sorties de certains outils tels que grep. Cette locale C permet en outre d'augmenter les performances de ces mêmes outils, en n'utilisant pas l'UTF8.
Enfin, la langue de cette locale est l'anglais. Eh oui.
Du coup au lieu de faire ça:
$ echo $LANG
$ fr_FR.utf8
$ LANG=C
$ echo oui | commande
On fait ça:
$ echo $LANG
$ fr_FR.utf8
$ LANG=C
$ echo yes | commande
Une petite particularité des shell dérivés du shell sh.
Il existe la commande : (deux-points). Et elle ... ne fait rien! Ou plus exactement, elle agit comme un non-opérande.
Quand on la "lance", elle retourne un code d'erreur 0:
$ :
$ $?
$ 0
Alors à quoi ça sert?
Dans les vieilles version des shell, cette commande est utilisée en remplacement de la commande "true" (qui n'existait pas).
Alors on peut voir des choses comme:
if commande; then
:
else
autre-commande
fi
Ou avec un double pipe en fin de commande, pour envoyer un code d'erreur 0:
commande || :
Sympa à savoir si on travail à décortiquer de vieux scripts.
Edit: sur le même sujet https://superuser.com/questions/423980/colon-command-for-bash
Dans un script shell bash, pour une utilisation de yum, faire ainsi:
paquets_a_installer="mercurial zip gcc nano"
sudo yum install -y $paquets_a_installer
Le point important est qu'il NE FAUT PAS entourer la variable $paquets_a_installer avec des guillemets, lors de l'appel à yum. Sinon yum s'écrase au sol comme un gros caca des familles: il considère que les différents paquets contenus dans la variable n'en forment en réalité qu'un seul.
Pour les avoir rencontrées plusieurs fois récemment, les commandes "pushd" et "popd" sous linux peuvent faire des adeptes (ou pas).
Pour faire court, ces deux commandes, en lien avec la commande "dirs", permettent de mémoriser une suite de répertoires sous la forme d'une pile.
On peut alors naviguer entre ces répertoires numérotés (cf "dirs -v"), comme on utiliserait des alias classiques.
La navigation se fait par exemple ainsi: "cd ~3" pour entrer dans le 4eme répertoire de la pile.
Cela peut être intéressant pour naviguer dans un shell. Mais dans un script je préfère encore créer des variables.