Outils pour utilisateurs

Outils du site


Panneau latéral

Accueil

Menu Linux

Menu Windows

iPhone

Smartphone

Raspberry

I. Partie LINUX

  • Préliminaire

Introduction Linux

LiveCD Linux

  • Installation

LiveCD Ubuntu

Installation Ubuntu

Ubuntu Studio

Cubuntu

Ubuntu-Mate

Ubuntu sur Netbook

Installation sur support USB

Installation sur support USB

Installation sans CD-ROM

Installation Second Ubuntu

Réinstallation sur mono-partition

Installations, mises à jour

Réinstallation/Migration version Ubuntu

Conversion Desktop->Serveur

Applications Ubuntu

Documentation-Aides

  • Aller plus loin

Arborescence Ubuntu

Recherche Ubuntu

Edition Linux

Shell/Terminal/Super Utilisateur

Commandes Linux (1)

Commandes Linux (2)

Utilisateurs, groupes, droits

Imprimante/Scanner Linux

Compression-Archivage

Déplacer le /home

Fusion de deux /homes

Changement d'ordinateur

Bureau-Gnome

Environnement graphique

Imagemagick

Dokuwiki

Second Dokuwiki

  • Réseau

Connexion Linux

Réseau Linux

Partage connexion

Paramétrage routeur

Répéteur Wifi

Analyse Réseau - Gestion parc

Partages Linux

Partage anonyme Samba

Exemple Partage Samba

Fichier partage Samba

Exemple Réseau NFS

Webmin

Usermin

Transferts Linux

Contrôle à distance

Contrôle à distance Linux

Authentification SSH

Ajaxplorer

Analyse Réseau - Gestion parc

Thunderbird sur un réseau

Inventaire informatique

Disque-Réseau

Serveur NAS DNS320

Disque USB

Serveur Linux

Serveur Ubuntu

Changement de serveur

Diffusion Multmedia

Serveur Proxy

Serveur de Proxy

Management serveur HP Proliant G6

OpenVPN

Sécurité Linux

M%ots de passe [[wol|Wake-on-LAN

Migration Linux Petite entreprise

Ubuntu One

  • Courrier

Courrier en Terminal

Hébergement comptes

  • Utiliser des applications Windows ou d'autres OS

Virtualisation (1): VirtualBox

Virtualisation (2): Proxmox

Wine: Applications Windows sous Linux

  • Téléphonie VOIP

Asterisk, TrixBox

Elastix

Routeur double Wan

  • Maintenance, dépannage

Sauvegarde

Sauvegarde Linux(1): Backup-Manager

Sauvegarde Linux(2)

Sauvegarde Partitions

Sauvegarde Nuage

Synchronisation Linux

Automatisation tâches cron

Rsyncd

Dépannage Ubuntu

Antivirus Linux

Spam & Publicité

Grub

Grub2

Grub-rescue

Partitions Linux

Fichier fstab

LVM

RAID

Installation RAID1

Installation RAID sur installation Ubuntu

Récupération de fichiers, partitions

  • BDD

BDD Linux

Access/MySQL

Talend Open Studio

II. Partie commune

Présentation

  • Internet/Réseau

Navigation Internet

Thunderbird (1)

Thunderbird (2)

Thunderbird (3)

Courrier GMail

Jabber

Fonctions Freebox

  • Création de site/blog

Joomla

Blog: Dotclear

Dreamweaver

  • Bureautique

OpenOffice/LibreOffice

  • Graphisme

Picasa

  • Photo

Photo: Théorie

Photo: Pratique

Diaporama, site photos

Retouche: Gimp

  • Gravure

Gravure CD

  • Vidéo

YouTube

  • BDD

BDD Linux

Access/MySQL

Gestion Bibliothèque/Archives

Généalogie

Redmine

III. Partie WINDOWS

  • Préliminaire

Logiciels Windows

Utilitaires Windows

Commandes DOS

  • Internet

Connexion Internet

Export OutlookExpress

Changement d'ordinateur

Agenda

Exploration/Dépannage Internet

  • Réseau

Partage Connexion

Partage Fichiers

Partage Imprimante

Transfert Fichiers

Transfert Windows

Analyse Réseau Windows

  • Dépannage

Prévention-dépannage Windows

  • Divers

Anti-virus

Installation périphérique Windows

Partitions Windows

Organisation disque dur

Sauvegarde-Synchronisation Windows

Putty

Connexion-SSH-Windows

Contrôle à distance

BDD Windows

IV. Divers

Liseuse Kindle

terminal-root

SHELL - Terminal - Super Utilisateur

Terminal

  • En bureau Gnome (interface d'Ubuntu), l'appellation normale utilisée pour le shell est Terminal (pour Emulateur de terminal).
  • Le terme "console" est plutôt réservé au terminal pleine page tty ouvert par les commandes Ctl+Alt+Fn (de F1 à F6)
  • Pour sortir de la console et repasser en mode graphique, Ctl+Alt+F7
  • Pour lancer un terminal, cliquer sur Applications/Accessoires/Terminal
  • Ctl+Alt+T pour ouvrir à tout moment un terminal.
  • Retour à l'écran de connexion gdm par AltGr+Impr Ecran+K
  • Pour suspendre une tâche en arrière-plan, entrer Ctl+Z ou suspend. On la reprend par bg (background)
  • Pour arrêter l'exécution d'une commande ou la "tuer", entrer Ctl+C,
  • Pour rechercher dans l'historique, taper Ctl+R et entrer le début de la commande recherchée, comme en saisie assistée.
(reverse-i-search)`sudo nano /et': sudo nano /etc/smokeping/config.d/Targets  # On voit ici que l'historique a été bien retrouvée
  • Pour rappeler la dernière commande commençant par <commande>, entrer !<n° commande>. La commande est alors affichée, permettant de vérifier au passage que c'est la bonne.
~$ !cd
cd Téléchargements/
  • On peut consulter l'historique par la commande history qui affiche les commandes passées par ordre chronologique (les dernières en fin de liste).
guy@Natty:~$ history
 1151  more /etc/init/failsafe.conf 
 1152  sudo nano /etc/init/failsafe.conf
 1153  ls -l /etc/init
 1154  ls -l /etc/init | grep failsafe
 1155  sudo -i
 1156  gksu gedit .bashrc
 1157  source .bashrc

On peut ensuite accéder à l'une d'elles avec la commande ! et le numéro dans l'historique.

guy@Natty:~$ !1117
cat /etc/network/interfaces 
auto lo
iface lo inet loopback

L'historique est enregistrée dans /home/login>/.bash_history

  • Pour quitter le terminal, entrer Exit ou Ctl+D ou Ctl+Maj+Q.
  • Pour revenir une session en arrière (sortir d'une connexion SSH ou repasser utilisateur courant), entrer la commande Ctl+D.

Le terme "console" est plutôt réservé au terminal pleine page (ou terminal virtuel ou console virtuelle) tty ouvert par les commandes Ctl+Alt+Fn (n allant de 1 à 6). Retour à l'affichage graphique par Ctl+Alt+F7.

  • Pour aller d'une console virtuelle à une autre: Alt+F1, Alt+F2

Veille /Hibernation

  • Pour passer le système en veille:
sudo pm-suspend  # installer le paquet pm-utils si besoin

ou

sudo echo mem > /sys/power/state

ou

systemctl suspend
  • Pour passer en hibernation:
sudo pm-hibernate

ou

sudo echo disk > /sys/power/state

ou

sudo etc/acpi/hibernatebtn.sh

Sur les ordinateurs actuels (RAM de 2 à 8 Go), l'hibernation n'apporte rien

Quelques raccourcis

  • CTL+A : amène le curseur en début de ligne courante
  • CTL+E : à l'opposé, va en fin de ligne
  • CTL+L : efface l'écran (comme la commande "clear")
  • CTL+U : efface tout ce qui est à gauche du curseur. ( si le curseur est en fin de ligne, il effacera la ligne entière…)
  • CTL+K : efface tout à droite du curseur.
  • CTL+R : recherche parmi les commandes précédentes (CTRL+R pour aller à l'occurrence précédente)
  • CTL+C : tue le programme en cours.
  • CTL+D : quitte le shell courant (idem commande "exit")
  • CTL+Z : met ce qui tourne en mode "suspendu" ( re-démarrer avec fg ou bg)
  • CTL+W : supprime le mot avant le curseur
  • CTL+Maj+C : Copier le texte sélectionné
  • CTL+Maj+V : Coller
  • ALT+F : avance le curseur d'un mot
  • ALT+B : recule le curseur d'un mot
  • TAB : auto-complètion de la commande en cours de saisie (fichier, chemin, commande, …)

Compte Root

Par défaut, sous Ubuntu, l'accès direct au compte-système (root) est désactivé. La logique du système est d'utiliser sudo pour effectuer toutes les tâches administratives. La documentation Ubuntu déconseille d'activer l'accès et d'utiliser directement le compte root sous Ubuntu

  • Pour créer le compte root,
sudo passwd root
  • Pour supprimer le compte root,
sudo usermod -p '!' root
  • Quand le compte root a été créé, on passe en root avec la commande su. L'environnement de l'utilisateur est préservé.
guy@Athos:~$ su
Mot de passe :   # entrer le mot de passe root
9:58 root@Athos /home/guy#   # le prompt est toujours situé dans le /home/<login> de l'utilisateur
9:58 root@Athos /home/guy# pwd
/home/guy
  • La commande su - fournit l'environnement qu'il aurait eu en se connectant directement en root.
guy@Athos:~$ su -
Mot de passe :   # entrer le mot de passe root 
Linux Athos 2.6.32-24-generic-pae #41-Ubuntu SMP Thu Aug 19 02:43:57 UTC 2010 i686 GNU/Linux
10:08 root@Athos ~# pwd
/root
  • Pour se loguer en root en ligne de commande, il faut répondre root à la demande de login et donner ensuite le mot de passe root.

Sudo

  • sudo permet à un utilisateur d'éxécuter une commande en tant qu'administrateur. sudo nécessite l'authentification de l'utilisateur, celle-çi est valable 15 minutes.
  • Toutes les tâches administratives ne peuvent être exécutées qu'à travers l'utilitaire d'administration sudo. Exécutée hors-sudo, la tâche est bloquée.

Options de sudo

  • sudo -k termine une session sudo éventuellement ouverte, cela assure que la prochaine instruction sudo demandera bien un mot de passe.C'est l'équivalent de la commande exit ou Ctl+D.
  • sudo -s, le plus intéressant, ouvre le shell spécifié dans /etc/passwd pour l'utilisateur cible (root par défaut), sans changement de répertoire courant
~/Documents$ sudo -s
[sudo] password for <login>:   # entrer le mot de passe de l'utilisateur
root@Oneiric64:~/Documents# pwd  # pour vérifier l'emplacement actuel dans l'arborescence
/home/<login>/Documents  # on est resté dans le répertoire courant 

Après la commande sudo -s, c'est le fichier .bashrc de son propre /home qui est utilisé, on garde aussi ses propres alias

  • sudo -i active une session-système. Dans ce terminal uniquement, le compte courant sera root pour une durée indéterminée. Mais, on se retrouve dans le répertoire /root.
~$ sudo -i
[sudo] password for xxx:   # entrer le mot de passe de l'utilisateur  
root@Athos ~# pwd  # pour vérifier l'emplacement actuel dans l'arborescence
/root  # on est passé dans le répertoire **/root** 

Après la commande sudo -i, utiliser un chemin absolu pour modifier un fichier contenu dans son /home

gedit /home/<login>/.bash_aliases

Après la commande sudo -i, c'est le fichier .bashrc de /root qui est utilisé, ce ne sont plus les alias de l'utilisateur courant, ce sont les alias de root

  • sudo su active le shell en tant que super-utilisateur, sans changement de répertoire courant
~$ sudo su
[sudo] password for login: 
root@Oneiric64:/home/<login># pwd
/home/<login>  # on est resté dans le répertoire courant 

Après la commande sudo su, on utilise le fichier .bashrc de /root, on a donc les alias du root

  • Dans tous les cas, pour reprendre son identité, saisir la commande exit ou cliquer Ctl+D.

sudoers

On peut utiliser la ligne de commande pour introduire un nouveau sudoer. Pour cela,

  • éditer en root le fichier /etc/sudoers:
EDITOR=/usr/bin/nano visudo
  • ajouter en bas la ligne suivante
  • enregistrer:
<login>    ALL=(ALL) ALL

Il vaut mieux passer par /etc/group et attribuer les droits adm et sudo à l'utilisateur voulu

Prompt

L'invite de commande (ou prompt) du shell a en général la forme suivante :

nom@machine~$       (Utilisateur normal)
root@machine~#      (Super Utilisateur)
  • nom : représente l'identifiant de l'utilisateur connecté
  • machine : représente le nom de la machine
  • ~ est un raccourci qui signifie le répertoire personnel (/home/utilisateur)
  • $ signifie que l'on est connecté en tant qu'utilisateur
  • # signifie que l'on est connecté en tant que root

Pour connaître le prompt actuel

~$ echo "$PS1"
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$

Coloration en Bash

Pour faire ressortir le prompt:

  • ouvrir en sudo le fichier .bashrc
gksu gedit .bashrc
  • supprimer le dièze en début de ligne 39 pour avoir
force_color_prompt=yes
  • enregistrer
  • activer la prise en charge du changement en relançant .bashrc (au lieu de devoir redémarrer un autre terminal)
source .bashrc  # ou . .bashrc

On voit alors la différence:

En jouant sur les couleurs du texte et du fond, on obtient un terminal agréable.

Coloration en Zsh

Terminal graphique

On peut configurer les couleurs de fond et du texte de la console par Edition/Profil actuel/Couleurs.

D'autre part, dans le fichier de configuration /home/<login>/.bashrc, on peut aussi modifer l'interface en vérifiant l'activation de la couleur par les lignes suivantes (en général, à décommenter. C'est à dire, supprimer le dièze devant la ligne de commande. Le premier dièze décrit la commande qui suit):

Vérifier également que la complétion est bien activée:

Consulter également la documentation Ubuntu http://doc.ubuntu-fr.org/console

Finalterm

Un nouvel émulateur de terminal est disponible, Finalterm.

Pour l'installer, lancer successivement les commandes:

sudo add-apt-repository ppa:finalterm/daily
sudo apt-get update
sudo apt-get i,stall finalterm
  • Finalterm fait de l'auto-complétion, de manière à re-saisir plus rapidement ses commandes. Choisir la ligne avec les flèches haut-bas et faire Enter.

  • On quitte comme en gnome-terminal par Ctl+D.

Terminal Administrateur

Il existe un terminal intéressant qui s'ouvre directement avec les droits sudo, c'est le "Terminal Adminstrateur". On le trouve sous forme d'un lien en /usr/bin/x-terminal-emulator. Copier l'élément pour le placer sur le Bureau.

Il faut attendre Ubuntu 11.04 pour l'avoir directement disponible et avec une couleur qui permette de le distinguer du terminal normal

Terminator

Grâce à Terminator, on peut scinder le terminal en plusieures fenêtres. Lancer d'abord Terminator (Menu Accessoires). Les fenêtres se commandent par Clic droit ou par Ctl+Maj+E (fenêtre verticale) ou Ctl+Maj+O (verticale).

Xterm

En cas de problème avec la console normale (gnome-terminal), on peut utiliser Xterm comme alternative. On l'installe par le lien suivant apt://xterm. L'icône de lancement s'ajoute (ou est à ajouter) dans le menu Accessoires.

Le seul interface se fait par Ctl+Clic droit qui permet de choisir la taille des caractères.

Si on a mis le mode coloration dans son shell (par défaut, le bash. Fichier de configuration dans /home/<login>/.bashrc), il s'affiche.

Il n'y a pas d'ascenseur sur le côté de la fenêtre Xterm.

Screen

Après avoir quitté un poste (connexion à distance, par exemple), on utilise screen pour y revenir et récupérer l'historique des commandes.

  • Lancer screen après l'ouverture de session
  • A la demande, on peut "détacher" un terminal par Ctl+a suivi rapidement de d (en gardant Ctl). La réponse est:
 guy@Athos-U9:~$ screen
[screen is terminating]
guy@Athos-U9:~$ 
  • En ouvrant la nouvelle session, chercher les sessions anciennes avec la commande screen et une des 2 options -ls ou -rd:
guy@jeriserv:~$ screen -ls
There are screens on:
	1051.pts-0.jeriserv	(Detached)
	1014.pts-2.jeriserv	(Detached)
2 Sockets in /var/run/screen/S-guy.

guy@jeriserv:~$ screen -rd
There are several suitable screens on:
	1051.pts-0.jeriserv	(Detached)
	1014.pts-2.jeriserv	(Detached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.
  • Pour revenir à l'une des sessions, entrer la commande screen -rd suivie de l'identifiant de la session
screen -rd 1051.pts-0.jeriserv

Doc sur https://doc.ubuntu-fr.org/screen

Tmux

Tmux (terminal multiplexer), tout comme Screen, est un multiplexeur de terminaux, outil permettant d'exploiter plusieurs terminaux au sein d'un seul et même affichage.

Tmux fait appel à l'ensemble de touches Ctrl+b là où Screen fait appel à Ctrl+a.

Raccourcis de base

  CTL+<b> suivi de <c> : Créer un nouveau terminal dans la session tmux active
  <Ctrl> + <b> suivi de <n> : Switcher entre les différents terminaux de la session
  <Ctrl> + <b> suivi de <X> : Choisir un terminal spécifique (ou X est le numéro du terminal)
  <Ctrl> + <b> suivi de <d> : Se détacher de la session tmux (lancer 'tmux a' pour s'y rattacher)
  <Ctrl> + <b> suivi de <,> : Permet de renommer un terminal
  <Ctrl> + <b> suivi de <w> : Affiche la liste des terminaux disponibles
  <Ctrl> + <b> suivi de <t> : Afficher l’heure dans un terminal
  <Ctrl> + <b> suivi de <[> : Permet de scroller ligne/ligne (avec les flèches du clavier ou la souris) ou même page/page avec PgnUP et PgnDOWN, tapez "q" pour quitter ce mode

Commandes dans un Split

  <Ctrl> + <b> suivi de <"> : Split vertical du terminal courant en deux + ouverture d’un terminal dans le nouveau panel
  <Ctrl> + <b> suivi de <%> : Split horizontal du terminal courant en deux + ouverture d’un terminal dans le nouveau panel
  <Ctrl> + <b> suivi de <o> : Switcher entre les terminaux splittés
  <Ctrl> + <b> suivi de <espace> : Changer l’organisation visuelle des terminaux splittés
  <Ctrl> + <b> suivi de <Alt> + (flèches directionnelles) : Reduire, agrandir fenêtre du split
  <Ctrl> + <b> suivi de <!> : Convertir un split en terminal seul
  <Ctrl> + <b> suivi de <q> : Afficher les numéros des terminaux splittés
  <Ctrl> + <b> puis saisissez :join : permet de joindre un terminal seul dans un split

Par exemple, après avoir tapé le combo Ctrl+b si vous saisissez

:join -v -s 3.0 -p 50

Doc sur https://doc.ubuntu-fr.org/tmux

Les différents SHELLS

Il existe plusieurs "shells", parmi les plus populaires, le bash (bourne again shell) par défaut en Ubuntu, le sh (bourne shell) et le zsh (extension du Korn shell). Pour savoir quel est le shell courant, la commande est:

echo $SHELL
/bin/zsh

Pour avoir la liste des shells disponibles:

cat /etc/shells

BASH

Fichier .bashrc

Ce fichier permet de paramétrer le comportement du terminal quand le shell est le bash (prompt, alias, complétion…).

Se méfier des modifications du fichier, donc sauvegarder avant toute intervention pour pouvoir revenir en arrière, si besoin:

sudo cp /etc/<fichier> /etc/<fichier>.old

En cas de problème, suite à une modification sans sauvegarde, repartir à partir du fichier /etc/skel/.bashrc qui contient les réglages standard.

ZSH

  • Le zsh est un shell apprécié de beaucoup, d'un côté pour les couleurs, la complétion automatique (Il s’agit d’un outil qui permet d’accélérer la saisie des commandes, en les complétant automatiquement dès qu’il n’y a plus d’ambiguité) et de l'autre pour les corrections automatiques de faute de frappe (voir http://doc.ubuntu-fr.org/zsh).
  • Si besoin, installer zsh
zsh
  • Pour changer de shell et passer en zsh, la commande est d'abord chsh (change shell):
dbott@feisty:~$ chsh
Password:                         # Répondre au mot de passe
Changing the login shell for dbott
Enter the new value, or press ENTER for the default
        Login Shell [/bin/bash]:  # Répondre /bin/zsh
  • Pour que le changement de Shell soit persistent, il faut éditer le fichier /etc/passwd et changer le shell en fin de la ligne du login correspondant:
guy:x:1000:1000:Guy,,,:/home/guy:/bin/zsh
  • Ensuite, il faut incorporer les fichiers de configuration zshenv, zlogin, zlogout, zshrc et dir_colors pour les placer en /etc/zsh. Pour cela, aller les récupérer sur le site de formation Debian http://formation-debian.via.ecp.fr/formation-debian.pdf § 19.2 Installer et configurer Zsh.
wget http://formation-debian.via.ecp.fr/fichiers-config/zshrc
wget http://formation-debian.via.ecp.fr/fichiers-config/zshenv
wget http://formation-debian.via.ecp.fr/fichiers-config/zlogin
wget http://formation-debian.via.ecp.fr/fichiers-config/zlogout
wget http://formation-debian.via.ecp.fr/fichiers-config/dir_colors
sudo mv zshrc zshenv zlogin zlogout /etc/zsh/ # Déplace les fichiers en /etc/zsh
sudo mv dir_colors /etc/

On pourra aussi mettre ses propres fichiers de configuration dans son /home (mais avec le nom du fichier précédé d'un point).

  • Enfin, pour démarrer le zsh, lancer la commande zsh:
zsh  # on voit aussitôt le prompt et les couleurs changer

Le tout est récapitulé (hors installation zsh) dans la copie d'écran suivante (où l'édition par nano n'avait pas été demandée en sudo, on n'aurait pas pu enregistrer de changement à la fin).

Configuration

Les fichiers utilisés pour la configuration sont les suivants :

  • /etc/zsh/zshrc .Ce fichier s'applique à tous les utilisateurs du système
  • ~/.zshrc. Ce fichier s'applique à l'utilisateur actuel du système
  • Pour que les modifications prennent effet lors de la connexion au shell il faut les écrire dans un des fichiers de configuration (/etc/zsh/zshrc ou ~/.zshrc).
  • Pour prendre effet immédiatement, lancer selon le cas
source ~/.zshrc  # ou source /etc/zsh/zshrc ou encore ~/.bashrc

Oh My Zsh

C'est la variante considérée comme la plus riche de la famille zsh. Une commande à lancer et le framework sera installé :

curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh

Il y a maintenant un fichier ~/.zshrc dans lequel on va pouvoir personnaliser l'installation, choisir un thème ou encore activer des plugins.

Le thème se configure via la variable d’environnement ZSH_THEME, on peut trouver la liste des thèmes dans ~/.oh-my-zsh/themes.

Les plugins disponibles sont quant à eux visibles dans ~/.oh-my-zsh/plugins/, pour en activer il suffit de les ajouter à la liste contenue dans la variable plugins.

Documentation

Prompt d'insertion

Changer le prompt

Le prompt est défini par la variable PS1 dans le .bashrc. On la connaît par la commande

echo $PS1

La valeur standard est:

PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '

Prompt en couleurs

Pour mettre en évidence le prompt, on peut le faire passer en couleurs. Editer le fichier ~/.bashrc et retirer le dièse de commentaire à la ligne

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
force_color_prompt=yes

Relancer par source=.bashrc, le nouveau prompt devient nettement plus visible.

Prompt

Plusieurs types de prompts peuvent être paramétrés. Les prompts ZSH disponibles sont dans /usr/share/zsh/VERSION_DE_ZSH/functions/Prompts. Pour les activer, il faut mettre dans .zshrc:

autoload -U promptinit
promptinit
  • On voit la liste des thèmes par la commande:
prompt -l 
  • L'aperçu de ces prompts se fait par:
prompt -p 
  • Pour tester un prompt, lancer la commande export PS1 avec la définition du prompt
export PS1='\e[4;31m\u@\h \e[0;35m\w $ \e[1;34m'

ou bien lancer:

prompt NOM_DU_THEME 
  • Pour le mettre par défaut, ajouter dans .zshrc derrière les 2 lignes pour le chargement:
prompt NOM_DU_THEME 
  • Pour appliquer cette modification, enregistrer le fichier .zshrc, puis réinitialiser le zsh par:
source .zshrc 

Par exemple, le thème adam1 donne ceci:

Alias

  • Pour créer un alias temporaire, entrer directement dans un terminal
alias blkid='blkid -o list'

Pas besoin d'être en sudo

  • Pour créer des alias BASH permanents, on les enregistre dans .bashrc ou dans .bash_aliases ou dans /etc/bash.bashrc
  • Pour créer des alias ZSH permanents, on les enregistre dans .zshrc ou dans /etc/zsh/zshrc
  • Pour les mettre en vigueur, selon le SHELL utilisé
. .bashrc  # ou source .bashrc  ou source /etc/bash.bashrc
source .zshrc  # ou source /etc/zsh/zshrc

Scripts

Un script shell permet d'automatiser une série d'opérations. Il se présente sous la forme d'un fichier contenant une ou plusieurs commandes qui seront exécutées de manière séquentielle.

Écrire un script

Pour écrire un script deux possibilités :

  • taper dans un shell toutes les commandes
  • ou alors rassembler toutes les instructions copiées,

À titre d'exemple, saisir ces quelques lignes dans son éditeur préféré :

#!/bin/bash
# Indique au système que l'argument qui suit est le programme utilisé pour exécuter ce fichier
# En règle générale, les "#" servent à mettre en commentaire le texte qui suit comme ici
echo Mon premier script
echo Liste des fichiers :
ls -la

Le résultat de ce script est d'écrire à l'écran « Mon premier script », puis en dessous « Liste des fichiers : », et enfin la liste des fichiers avec la commande `ls -la`.

Comme on le comprend, la commande echo sert à écrire quelque chose à l'écran.

Pour exécuter un script

Il faut le rendre éxécutable :

  • Méthode graphique

Le script est un simple fichier texte, par défaut il s'ouvre donc avec l'éditeur de texte défini par défaut (ex : Gedit dans une session Unity ou Gnome). Pour qu'il soit autorisé à se lancer en tant que programme, il faut modifier ses propriétés. Pour cela, faire un clic droit sur son icône, et dans l'onglet "Permissions" des "Propriétés", cocher la case "autoriser l'exécution du fichier comme un programme".

Par la suite, un double-clic sur l’icône laissera le choix entre afficher le fichier (dans un éditeur de texte) et le lancer (directement ou dans un terminal pour voir d'éventuels messages d'erreurs)

Par ailleurs, Nautilus ne propose pas de lancer le script par simple clic avec les réglages de bases. Il faut aller dans Menu→ Édition → Préférences → Onglet comportement → fichier texte et exécutable et cocher pour fichiers exécutables Demander à chaque fois. Problème connu

Pour Ubuntu 17.10, il faut en plus installer les paquets nautilus-open-terminal et nautilus-scripts-manager pour pouvoir lancer un script depuis Nautilus

  • Méthode dans un terminal

Il suffit de se placer dans le dossier où est le script, et de lancer :

bash nom_du_script

mais pas toujours bash ( dépend du language du script )

ou pour l'exécuter par son nom , il faut le rendre exécutable avec chmod. Pour ceci, tape la commande qui suit :

chmod +x nom_du_script

On peut exécuter le script en faisant :

./nom_du_script

mais pourquoi le ./ ?

le /.

Il peut être intéressant d'ajouter un répertoire au "PATH" pour pouvoir exécuter ses scripts sans avoir à se placer dans le bon dossier. Je m'explique, quand vous tapez une commande ("ls" par exemple), le shell regarde dans le PATH qui lui indique où chercher le code de la commande.

Pour voir à quoi ressemble le PATH, taper dans la console:

echo $PATH

Cette commande chez moi donnait initialement :

/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games

C'est à dire que le shell va aller voir si la définition de la commande tapée ("ls" pour continuer sur le même exemple) se trouve dans /usr/local/bin puis dans /usr/bin… jusqu'à ce qu'il la trouve.

Ajouter un répertoire au PATH peut donc être très pratique. Par convention, ce répertoire s'appelle bin et se place dans lee répertoire personnel. Si le répertoire personnel est /home/toto, ce répertoire sera donc /home/toto/bin. Pour pouvoir utiliser ces scripts en tapant directement leur nom (sans le "./") depuis n'importe quel répertoire de mon ordinateur, il me suffit d'indiquer au shell de chercher aussi dans ce nouveau dossier en l'ajoutant au PATH. Pour ceci, il suffit de faire :

xport PATH=$PATH:$HOME/bin

La commande:

echo $PATH

retourne maintenant

/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/home/toto/bin

et je peux lancer le script appelé "monScript" situé dans "/home/toto/bin" en tapant directement : monScript Cette procédure est pour une modification temporaire du PATH et qui sera donc effacée à la fin de la session. Pour rendre la modification permanente, ajouter la commande dans le fichier texte caché .bashrc se trouvant dans votre dossier personnel ainsi que dans le dossier /root. Dans les dernières versions de ubuntu (12.04 +) si le dossier $HOME/bin existe il est automatiquement ajouté au PATH. La commande est incluse dans le fichier ~/.profile lancé lors de toutes sessions (graphique ou console).

Historique

  • Pour rechercher dans l'historique, taper Ctl+R et entrer le début de la commande recherchée, comme en saisie assistée.
(reverse-i-search)`sudo nano /et': sudo nano /etc/smokeping/config.d/Targets  # On voit ici que l'historique a été bien retrouvé
  • Pour rappeler la dernière commande commençant par <commande>, entrer !<commande>
~$ !cd
cd Téléchargements/
  • On peut consulter l'historique par la commande history qui affiche les commandes passées par ordre chronologique (les dernières en fin de liste).
~$ history
 1151  more /etc/init/failsafe.conf 
 1152  sudo nano /etc/init/failsafe.conf
 1153  ls -l /etc/init
 1154  ls -l /etc/init | grep failsafe
 1155  sudo -i
 1156  gksu gedit .bashrc
 1157  source .bashrc

On peut ensuite accéder à l'une d'elles avec la commande ! + le numéro dans l'historique.

~$ !1117
cat /etc/network/interfaces # la commande est rappelée pour vérification et exécutée ensuite
auto lo
iface lo inet loopback
  • L'historique est enregistrée dans /home/login>/.bash_history
  • Pour voir le nombre de commandes qu'history peut stocker, entrer la commande:
echo $HISTSIZE
  • Pour changer ce nombre à 2000 (par exemple):
export HISTSIZE=2000
  • Pour avoir date/heure affiché avec les commandes, ajouter dans .bashrc ou .zshrc:
export HISTTIMEFORMAT="%Y/%m/%d @ %T " # on peut supprimer l'année (%Y) pour meilleure lisibilité
  • Pour chercher et relancer une commande particulière !?<partie_commande>?. C'est l'équivalent de la commande Ctl+R.
!?source?               
source /etc/zsh/zshrc
  • On peut aussi voir les dernières commandes passées par
tail -n100 ~/.bash_history

Consoles virtuelles

Au lieu de passer en terminal, on peut utiliser une "console virtuelle". La console virtuelle (tty1 à tty6) est un écran noir où une invite de commande apparaît, de la forme login :

  • Depuis l'interface graphique, il est possible de se connecter à une console virtuelle en utilisant la combinaison de touches Ctrl+Alt+Fn, où n est un chiffre de 1 à 6.
  • Pour aller d'une console virtuelle à une autre, en mode console: Alt+Fn (de F1 à F6)
  • Pour revenir au mode graphique depuis une console virtuelle, utiliser la combinaison de touches ALT+F7.
  • La combinaison Ctl+Alt+Supp lance l'arrêt de la session.






Mode super-utilisateur

  • Pour accéder aux commandes de l'adminstrateur appelé aussi super-utilisateur ou root, il faut,

- soit, entrer su. On reste dans son répertoire /home/login.

guy@AthosN:~$ su
Mot de passe :   # entrer le mot de passe  administrateur
11:59 root@AthosN /home/guy#   

On reste "root" jusqu'à en sortir par exit ou par CTL+D.

- soit, entrer su - ou su -l. On passe dans le répertoire /root

guy@AthosN:~$ su -
Mot de passe :   # entrer le mot de passe  administrateur 
Linux AthosN 2.6.32-23-generic-pae #37-Ubuntu SMP Fri Jun 11 09:26:55 UTC 2010 i686 GNU/Linux
 12:01:53 up  2:49,  3 users,  load average: 0.57, 0.89, 0.81
12:01 root@AthosN ~#

- soit pour un commande isolée sudo (si l'on a des droits d'administrateur), entrer:

sudo  <commande_à_exécuter>

En réponse, il faut donner son mot de passe-utilisateur et la commande est lancée si l'authentification est bonne.

Quand il y a une succession de commandes sudo, Ubuntu mémorise le mot de passe, il n'y a pas besoin de le rentrer à chaque fois.

  • Pour entrer en mode administrateur en changeant d'identité, entrer su (Switch User) et le login désiré.
su <login>          # pour passer à l'utilisateur <login>. Répondre ensuite au mot de passe
  • Pour entrer en mode administrateur et utiliser l'interface graphique, utiliser la commande gksu ou gksudo.
gksu               # la réponse demande pour quelle application et ensuite le mot de passe
gksudo gedit /boot/grub/menu.lst
  • La commande sudo -c permet d'exécuter une commande en tant que root et sortir:
sudo -c nano /etc/fstab
  • La commande sudo -s permet de passer le shell en root jusqu'à la sortie par exit. Cette commande permet de garder le /home de l'utilisateur:
sudo -s  # répondre à la demande de mot de passe
  • La commande sudo -i permet de passer le shell en root jusqu'à la sortie par exit. Mais ici, comme pour sudo su, le /home devient celui du Root:
sudo -i  # répondre à la demande de mot de passe

Nota On a vu plus haut que:

  • En mode utilisateur normal, l'invite du shell est précédée du dollar ($).
  • En mode super-utilisateur, ce signe est remplacé par le dièse (#).

Exemple:

$ su
Password: ******
#

Suppression compte root

La commande est

sudo usermod -p '!' root

Console super-administrateur

Pour passer une console en super-administrateur, la commande est

$ sudo -i  
[sudo] password for <login_actuel>:   # entrer le mot de passe utilisateur

Dans ce terminal uniquement, le compte courant sera root pour une durée indéterminée. Pour repasser à son identité normale, sortir par la commande suivante exit ou par Ctl+D.

terminal-root.txt · Dernière modification: 2018/10/17 10:40 par g.rnd@free.fr