Table des matières

Tilde ~

Introduction

Le signe tilde ~ seul, quand il n'est pas entouré de guillemets simples ' ni doubles permet de signifier dans une commande shell le répertoire de l'user en cours ou d'un user différent si ce dernier est indiqué.

Utilisation

Le tilde s'utilise en ligne de commande ainsi :

echo ~
retour de la commande ci-dessus :
/home/user_courant

Et ce, depuis n'importe quel répertoire d'où la commande a été entrée2):

Formuler ainsi, cette commande va permettre de connaître le répertoire personnel attribué au compte de l'utilisateur “autre_user” :

echo ~autre_user
retour de la commande ci-dessus :
/home/autre_user

Mais, comme le fait remarquer le docteur captnfab dans ce post,
le répertoire /home n'est pas le répertoire racine utilisé systématiquement pour tous les comptes du système.
Par exemple, pour le compte associé au service ssh : sshd

echo ~sshd
retour de la commande ci-dessus :
drwxr-xr-x 2 root root 40 janv. 17 05:33 /var/run/sshd

On l'utilisera couramment par exemple pour lister3) le contenu du répertoire coin coin dans le dossier personnel de l'utilisateur toto :

ls ~toto/"coin coin"

Bien sûr, si le répertoire en question n'est pas accessible en lecture 4), cela ne fonctionnera pas :-)

Ou pour se rendre5) dans le dossier personnel de l'utilisateur root en utilisant la commande su ainsi :

su -c 'cd ~root'

A l'issue de laquelle, pour s'exécuter, le mot de passe root vous sera bien évidemment réclamé ! ;-)

Autres exemples

1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
2)
À noter que pour savoir dans quel répertoire courant on est, la commande pwd est un allié précieux ! De même ce qu'apprend http://wiki.debian-facile.org/doc:systeme:chmod
4)
L'expression “accessible en lecture” renvoie à une question de droits. Les bases sur le système des droits-unix se trouvent dans la documentation http://wiki.debian-facile.org/doc:systeme:droits-unix