Linux

Bépo - redéfinir les touches clavier (keybinding)

Modifier les touches des différents logiciels.

Commandes utiles

Tar

Création d'une archive : tar -czf chemin/du/tar/filchier.tar.gz dossier/a/tarrer Décompresset une archeve : tar -xzf chemin/du/tar/filchier.tar.gz

Détails des options

SCP

Envoyer un dossier : scp -rp chemin/local utilisateur@le.serveur.distant:chemin/distant Evoyer un fichier : scp -p chemin/local/fichier.txt utilisateur@le.serveur.distant:chemin/distant/fichier.txt

Détails des options

xmllint

Indenter un fichier xml : xmllint data.xml --format > destination.xml

Chroot : changement de dossier racine

La comande "chroot" permet de changer le répertoire racine vers un nouvel emplacement.

Tout ce passe en root.

Créer le répertoire où monter le système : mkdir /mnt

Monter la partition : mount /mnt

Préparation du dosser spécial "dev" : mount -o bind /mnt/dev

Préparation du dosser spécial "proc" : mount -t proc /proc /mnt/proc

Préparation du dosser spécial "sys" (pas obligatoire mais ça peut servir) : mount -t sysfs /sys /mnt/sys

Bash prompt

Voici mon bash color.

Il colore le prompt et affiche la branche en verte. Si le git est détaché du "HEAD", il affiche l'élément en bleu.

Téléchargez le ou prenez ce qui vous plait ci dessous :

#########################################
## [Colorize bash prompt with git branch #](linux/100_bash_prompt.md)
## [          By Marc EYMARD             #](linux/100_bash_prompt.md)
## [ Follow me on twitter: @MarcEymard   #](linux/100_bash_prompt.md)
#########################################

      BLACK="\[\033[0;30m\]"
        RED="\[\033[0;31m\]"
   RED_BACK="\[\033[41m\]"
     YELLOW="\[\033[0;33m\]"
      GREEN="\[\033[0;32m\]"
       BLUE="\[\033[0;34m\]"
  BLUE_BACK="\[\033[44m\]"
  LIGHT_RED="\[\033[1;31m\]"
LIGHT_GREEN="\[\033[1;32m\]"
      WHITE="\[\033[1;37m\]"
 WHITE_BACK="\[\033[47m\]"
 LIGHT_GRAY="\[\033[0;37m\]"
 COLOR_NONE="\[\e[0m\]"

function parse_git_branch {

  git rev-parse --git-dir &> /dev/null
  git_status="$(git status 2> /dev/null)"
  branch_pattern="^On branch ([^${IFS}]*)"
  tag_pattern="^HEAD detached at ([^${IFS}]*)"
  remote_pattern="Your branch is (.*) of"
  diverge_pattern="Your branch and (.*) have diverged"
  if [[ ! ${git_status}} =~ "working directory clean" ]]; then
    state="${LIGHT_RED}⚡"
  fi
  # add an else if or two here if you want to get more specific
  if [[ ${git_status} =~ ${remote_pattern} ]]; then
    if [[ ${BASH_REMATCH[1]} == "ahead" ]]; then
      remote="${YELLOW}↑"
    else
      remote="${YELLOW}↓"
    fi
  fi
  if [[ ${git_status} =~ ${diverge_pattern} ]]; then
    remote="${YELLOW}↕"
  fi
  if [[ ${git_status} =~ ${branch_pattern} ]]; then
    branch=${BASH_REMATCH[1]}
    echo " (${branch})${remote}${state}"
  elif [[ ${git_status} =~ ${tag_pattern} ]]; then
    branch=${BASH_REMATCH[1]}
    echo " ${BLUE}(${branch})${remote}${state}"
  fi
}

function prompt_func() {
    previous_return_value=$?;
    if [ "$TERM" != "linux" -a -z "$EMACS" ]
    then
        TITLEBAR="\[\e]2;\u@\h:\w\a\]"
    else
        TITLEBAR=""
    fi
    prompt="${TITLEBAR}${BLUE}[${COLOR_NONE}${BLUE}\u${WHITE}@${RED}\h ${YELLOW}\w${GREEN}$(parse_git_branch)${BLUE}]${COLOR_NONE}"

    if test $previous_return_value -eq 0
    then
        PS1="${prompt}${GREEN}\\\$${COLOR_NONE} "
    else
        PS1="${prompt}${LIGHT_RED}\\\$${COLOR_NONE} "
    fi
}

PROMPT_COMMAND=prompt_func