for color in {0..255}; do
tput setab $color
echo -n "$color "
done
tput sgr0
echo
~/.bashrc
Equivalence de couleurs
Couleur
Code
Black
0;30
Blue
0;34
Green
0;32
Cyan
0;36
Red
0;31
Purple
0;35
Brown
0;33
Light Gray
0;37
Dark Gray
1;30
Light Blue
1;34
Light Green
1;32
Light Cyan
1;36
Light Red
1;31
Light Purple
1;35
Yellow
1;33
White
1;37
Eléments basiques
Code
Elément affiché
\a
Echappement
\d
Date (Sun Jun 20)
\e
Caractère 'Bell'
\h
Nom d'hôte (hostname)
\H
Nom d'hôte complet (hostname.domain.tld)
\j
Nombre de process lancés par le shell
\l
Nom du terminal
\n
Retour à la ligne
\r
Retour chariot
\u
Nom d'utilisateur
\v
Version de Bash
\w
Répertoire courant
\W
Chemin complet du répertoire courant
!
Numéro d'historique de la commande en cours
Exemples
Couleur du prompt en rouge
PS1='\[\033[31m\][\u@\h \W]\$\[\033[0m\] '
Couleur du prompt en bleu
PS1='\[\033[34m\][\u@\h \W]\$\[\033[0m\] '
Bashrc
#
# ~/.bashrc
#
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
####################
# SHELL OPTS
###############
#PS1='[\u@\h \W]\$ '
PS1='\[\033[34m\][\u@\h \w]\$\[\033[0m\] '
####################
# ENV
###############
# Editor
export EDITOR=vim
####################
# ALIAS
###############
# Colorization of outputs
alias diff='diff --color=auto'
alias grep='grep --color=auto'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias ls='ls --color=auto'
alias dir='dir --color=auto'
alias vdir='vdir --color=auto'
alias ip='ip --color=auto'
alias dmesg='dmesg --color=always'
# Commands alias
alias ll='ls -l'
alias la='ls -A'
alias l='ls -CF'
alias cls='clear'
alias vi='vim'
# Tricks & Useful aliases
alias cd..='cd ..'
alias env='env | sort'
# -> if the second argument is an alias, it will get expanded prior to passing to sudo
alias sudo='sudo '
alias keygen='keygen -C "$(whoami)@$(uname -n)-$(date -I)"'
# cd / && umount /mnt/sdx1_crypt && cryptsetup luksClose sdx1_crypt
dimanche 06 mai 2018
:: Git ::
Introduction
Fichiers de configuration
Git utilise une série de fichiers de configuration pour déterminer son comportement. Les emplacements sont lus dans un ordre précis et les valeurs lues en dernier écrasent les précédentes ("C'est le dernier qui parle qui a raison"). Vous pouvez positionner ces valeurs manuellement en éditant ces fichiers, mais je vous recommande d'utiliser la commande git config, ne serait-ce que pour éviter des erreurs de syntaxe.
/etc/gitconfig
Contient des valeurs pour tous les utilisateurs du système et tous leurs dépôts. Pour lire et modifier ce fichier, utiliser l'option --system avec git config.
$ git config --system [...]
~/.gitconfig
Spécifique à chaque utilisateur. Pour lire et modifier ce fichier, utiliser l'option --global.
$ git config --global [...]
.git/config
Le dernier emplacement lu par git est le fichier de configuration du dépôt en cours d'utilisation. Ces valeurs sont spécifiques à un unique dépôt. Pour lire et modifier ce fichier, utiliser l'option --local.
$ git config --local [...]
git-config
Pour modifier le comportement de git, il est nécessaire de spécifier certains paramètres de configuration à l'aide de la commande git-config.
Synopsis
$ git config [<file-option>] [type] [--show-origin] [-z|--null] name [value [value_regex]]
$ git config [<file-option>] [type] --add name value
$ git config [<file-option>] [type] --replace-all name value [value_regex]
$ git config [<file-option>] [type] [--show-origin] [-z|--null] --get name [value_regex]
$ git config [<file-option>] [type] [--show-origin] [-z|--null] --get-all name [value_regex]
$ git config [<file-option>] [type] [--show-origin] [-z|--null] [--name-only] --get-regexp name_regex [value_regex]
$ git config [<file-option>] [type] [-z|--null] --get-urlmatch name URL
$ git config [<file-option>] --unset name [value_regex]
$ git config [<file-option>] --unset-all name [value_regex]
$ git config [<file-option>] --rename-section old_name new_name
$ git config [<file-option>] --remove-section name
$ git config [<file-option>] [--show-origin] [-z|--null] [--name-only] -l | --list
$ git config [<file-option>] --get-color name [default]
$ git config [<file-option>] --get-colorbool name [stdout-is-tty]
$ git config [<file-option>] -e | --edit
Paramètres de configuration
Identité
Note importante : ces informations sont utilisées par Git de manière indélébile (on ne peut changer l'auteur d'un commit après-coup, ni son adresse email).
Certains fichiers n'ayant pas besoin d'être synchronisés (fichiers temporaires, fichiers de swap, répertoire de sessions, etc.), on crée un fichier .gitignore contenant la liste des fichiers et répertoires à ignorer.
$ vi .gitignore
Contenu de .gitignore :
# Commentaire
# Ignorer les fichiers journaux
logs/
# Ignorer les fichiers temporaires
tmp/
# Ignorer les fichiers en cours d'edition
*.swp
...
Dans le cas où on ne veut plus synchroniser des fichiers déjà commités, ni avoir un retour lors d'un git status, il est préférable de réindexer l'ensemble des fichiers à synchroniser.
Pour cela, le moyen radical est de supprimer l'index existant, rajouter les fichiers puis faire un commit.
Attention : penser à commiter les dernieres modifications de code avant de lancer les commandes ci-dessous
$ git rm -r --cached
$ git add .
$ git commit -m "Suppression de tous les fichiers de l'index puis re-ajout pour bonne prise en compte du fichier .gitignore"
Vérification
$ git status
Sur la branche master
rien à valider, la copie de travail est propre
Historique des commits
$ git log
Création d'un dépôt distant
Sur le serveur distant
$ cd /opt/git
$ mkdir projet.git
$ cd projet.git/
$ git --bare init
Dépôt Git vide initialisé dans /opt/git/projet.git/
Sur le poste hébergeant le dépôt local
$ cd projet
$ git init
$ git add .
$ git commit -m "Mon premier commit"
$ git remote add nom_depot user@serveur:/opt/git/projet.git
$ git push nom_depot master
| First Header | Second Header | Third Header |
| :------------ | :-----------: | -------------------: |
| : Left align | : centered : | Right align : |
| First row | **Bold** | Very long data entry |
| Second row | Cell that spans across two columns ||
[Table caption, also works as a reference][section-mmd-tables-table1]
Critic
What
Syntax
{--a delete. --} a delete.
{-- remove --}
{++an add. ++}
{++ add++}
swap {~~from~>to~~}
{\~\~\from\~>to\~\~}
{==a highlight==}
{\=\=highlight\=\=}
Comment, which you can't see{>>What is it a test of?<<}.
$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
78445dd45222: Pulling fs layer
78445dd45222: Verifying Checksum
78445dd45222: Download complete
78445dd45222: Pull complete
Digest: sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://cloud.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/engine/userguide/