• [^] # Re: :help quoteplus

    Posté par . En réponse au message [RESOLU] copier depuis Vim vers Writer. Évalué à 2.

    Je viens de faire une recherche pour trouver le fichier ~/.bashrc qui n'est pas à sa place :

    [root@slackbox:/] # find -name bashrc
    find: "./home/lea/.gvfs": Permission non accordée

    Il est dit ici plusieurs choses:

    • il existe un dossier .gvfs pour lequel tu n'as pas le droit d'exécution, qui servent en fait à «ouvrir» les dossiers. La commande find ne peux donc pas aller voir dedans.
    • la commande find ne trouve pas le fichier bashrc, elle ne dit ici rien au sujet d'un fichier .bashrc. Le nom des différent.

    Si tu veux trouver le fichier .bashrc qui se trouve dans un dossier précis et pas dans les dossiers enfant, il faut utiliser la commande suivante: find $MON_DOSSIER -maxdepth 1 -name "$MON_FICHIER". $MON_DOSSIER est facultative, en cas d'absence, c'est le dossier courant qui est utilisé. $MON_FICHIER est le nom exact et complet du fichier, ce nom pouvant comporter des joker: '?' signifie n'importe quel caractère, '*' signifie n'importe quel nombre de n'importe quels caractères.

    Sinon, tu peux aussi ne pas utiliser find, et au pire créer ce fichier directement s'il n'existe pas: c'est un script d'initialisation, tout le monde peut créer ou modifier le sien à sa guise.

    Et vu que j'utilise toujours le terminal en root, si je mets un alias dans un fichier qui n'appartient pas à root, je me demande si ça va fonctionner...

    Ici aussi, plusieurs choses à dire:

    • je te conseille chaudement de limiter l'usage de root au maximum. Quitte à utiliser la commande su pour changer d'identité ponctuellement quand tu en as besoin (d'autres préféreraient sudo qui a quelques avantages, notamment le fait de pouvoir limiter les commandes utilisées à un jeu précis, mais bon sur un système mono-utilisateur je ne suis pas persuadé que ce soit utile).
    • si tu veux configurer au niveau du système, les fichiers de configuration à modifier appartiennent à root, affecteront la totalité des utilisateurs du système, et se situent dans /etc.
    • si tu veux modifier uniquement la configuration utilisée par l'utilisateur root, ce sont les «mêmes» fichiers de configuration que pour n'importe quel utilisateur: "$HOME/$FILE", ou "~$USER/$FILE". Dans le cas du fichier .bashrc, ce sera donc ~root/.bashrc qui sera probablement résolu par le shell comme étant /root/.bashrc. Je dis probablement, parce que je pense que c'est standard, mais ça peut se modifier: l'information du dossier $HOME de chaque utilisateur peut se trouver dans le fichier /etc/passwd, au 6ème champ (les ':' sont des séparateurs de champs). Ce fichier contiens la configuration du programme login pour chaque utilisateur, les mots de passe étant normallement chiffrés dans le fichier /etc/shadow.

    Enfin, si ton but est de faire un alias système, tu peux aussi regarder le contenu de la variable $PATH.
    Chez moi, ça donne ceci: /home/freem/.bin:/home/freem/.bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games. Quand le shell cherche à trouver une commande (qui ne soit pas «builtin», c'est à dire implémentée dans le shell lui-même), il cherche d'abord dans le 1er dossier, puis le 2nd, jusqu'a ce qu'il trouve ou qu'il n'y ait plus d'entrées. Donc, dans mon cas, je peux mettre mes scripts utilisateur dans ~freem/.bin, et mes scripts systèmes dans /usr/local/bin, /usr/local servant à mettre les binaires qui ne sont pas installés par le système de paquet de ma distribution.

    Bon, ça fait déjà un petit pavé, mais un certain nombre de mes explications peuvent varier d'une distribution à l'autre, c'est pour ça que j'ai essayé d'être exhaustif... ceci dit, je serais surpris de n'avoir rien oublié.
    Dans mon cas, j'utilise Debian, qui modifie un certain nombre de choses et dont la philosophie est à priori très différente de celle de slackware (qu'il faudrait que j'essaie, un jour, d'ailleurs).