Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Linux et cp d'un compte à l'autre

25 réponses
Avatar
Une Bévue
Bonjour !

je cherche à copier mes préférences radiotray d'un compte admin (login
"yt") à l'autre (login "bidon" sans password) par :

$ sudo cp -R ~/.local/share/radiotray /home/bidon/.local/share

pas de message d'erreur (j'ai vérifier '/home/bidon/.local/share' existe
bien).

mais si je regarde dans '/home/bidon/.local/share' il n'y a pas de
répertoire 'radiotray' rien n'a été copié.

ça voudrait dire que sur Linux Mint 17.2 on ne peut pas copier d'un
compte à l'autre par sudo, quand on est admin ???

ma version de linux :
┬─[yt@vostro:~]─[16-11-11 15:34:40]


╰─>$ lsb_release -a
No LSB modules are available.
Distributor ID: LinuxMint
Description: Linux Mint 17.2 Rafaela
Release: 17.2
Codename: rafaela

merci d'avance au cas où vous auriez des lumières - ou pas.

10 réponses

1 2 3
Avatar
Yliur
Le Sat, 12 Nov 2016 07:51:37 +0100
Dominique a écrit :
Le 11/11/2016 à 18:24, Francois Lafont a écrit :
On 11/11/2016 06:09 PM, Dominique wrote:
cp -a permet de copier les fichiers « cachés ». Sans cette option,
les

fichiers qui débutent par un point (.bashrc par exemple) ne sont
pas copiés avec cp.

Heu... je ne suis pas d'accord avec ça. Regarde dans la page man
de la commande cp, il n'est pas question de fichiers « cachés ».

Ben zut, tu as raison. Pourtant, quand je sauvegarde mon home, un
simple cp -vr ne recopie pas les fichiers débutant par un point. Je
les obtiens avec cp -vra
Comment est-ce possible alors que, comme tu me l'indiques, l'option
-a est :
-a, --archive
same as -dR --preserve=all
L'option -a n'est donc pas la même entre cp et ls ? Un mythe
s'effondre :-)

Attention, quand tu fais "ls", tu dis implicitement "ls .". Donc tu
affiches le contenu de tout le répertoire, en affichant ou non les
fichiers commençant par un "." . "ls" traite un répertoire et se
débrouille avec.
Quand tu tapes cp -r /home/dominique tu copies bien tout le contenu, y
compris les fichiers cachés.
Par contre si tu tapes cp -r /home/dominique/* tu ne prends pas les
fichiers commençant par un "." . Si je ne dis pas de bêtise, c'est le
shell qui dans ce cas n'envoie pas la liste de tous les fichiers à cp :
cp reçoit une liste de fichiers à copier, par l'étoile, et il ne copie
que ceux qu'il reçoit, envoyés par le shell.
D'ailleurs il n'y a aucun moyen de dire au shell "tous les fichiers,
avec ou sans . devant" ?
Avatar
Lucas Levrel
Le 12 novembre 2016, Yliur a écrit :
D'ailleurs il n'y a aucun moyen de dire au shell "tous les fichiers,
avec ou sans . devant" ?

En bash, shopt -s dotglob. Ça change le comportement pour toutes les
commandes suivantes. Je suppose qu'en zsh il y a moyen de faire ça pour
une unique commande.
--
LL
Ἕν οἶδα ὅτι οὐδὲν οἶδα (Σωκράτης)
C'est mieux avé les accents (F. Patte)
Avatar
Nicolas George
Lucas Levrel , dans le message
, a écrit :
Je suppose qu'en zsh il y a moyen de faire ça pour
une unique commande.

Il suffit de rajouter l'option « (D) » au motif : « rm dir/*(.D) » par
exemple, pour supprimer tous les vrais fichiers d'un répertoire.
Avatar
Francois Lafont
On 11/12/2016 07:34 AM, Une Bévue wrote:
Alors, ce qui m'a fait écrire que mon premier cp n'avait rien donné, c'est le :
$ ls -al /home/bidon/.local/share
qui ne montrait pas de dossier "radiotray"

Encore une fois, dans ces trucs là, je ne crois qu'à des copier/coller
verbatim et complet de commandes, le reste n'est pas intéressant. Par
ailleurs, étant donné que la commande est lancée avec le compte "yt", il
faudrait tenter la même commande ls mais avec un sudo devant.
Perso, je reste globalement certain que la commande
sudo cp -R ~/.local/share/radiotray /home/bidon/.local/share
a bel et bien copié le répertoire "radiotray" dans "/home/bidon/.local/share".
--
François Lafont
Avatar
Nicolas George
Francois Lafont , dans le message
<582707b0$0$7102$, a écrit :
Encore une fois, dans ces trucs là, je ne crois qu'à des copier/coller
verbatim et complet de commandes, le reste n'est pas intéressant. Par
ailleurs, étant donné que la commande est lancée avec le compte "yt", il
faudrait tenter la même commande ls mais avec un sudo devant.
Perso, je reste globalement certain que la commande
sudo cp -R ~/.local/share/radiotray /home/bidon/.local/share
a bel et bien copié le répertoire "radiotray" dans "/home/bidon/.local/share".

Pour ce que ça vaut, je pense que tu as parfaitement raison sur ces
points.
Avatar
Erwan David
Francois Lafont écrivait :
On 11/12/2016 07:34 AM, Une Bévue wrote:
Alors, ce qui m'a fait écrire que mon premier cp n'avait rien donné, c'est le :
$ ls -al /home/bidon/.local/share
qui ne montrait pas de dossier "radiotray"

Encore une fois, dans ces trucs là, je ne crois qu'à des copier/coller
verbatim et complet de commandes, le reste n'est pas intéressant. Par
ailleurs, étant donné que la commande est lancée avec le compte "yt", il
faudrait tenter la même commande ls mais avec un sudo devant.
Perso, je reste globalement certain que la commande
sudo cp -R ~/.local/share/radiotray /home/bidon/.local/share
a bel et bien copié le répertoire "radiotray" dans "/home/bidon/.local/share".

Sauf si /home/bidon/.local/share n'existait pas avant le cp
--
Les simplifications c'est trop compliqué
Avatar
Francois Lafont
On 11/12/2016 03:15 PM, Erwan David wrote:
Sauf si /home/bidon/.local/share n'existait pas avant le cp

Oui tout à fait, mais le PO a indiqué dans son message initial
que la commande « sudo cp » s'était déroulée sans erreur. Bref,
tout ça pour dire que si on avait eu le droit à un copier/coller
verbatim des commandes et de leur résultat, le problème serait
réglé depuis longtemps (au lieu de devoir sortir la boule de
cristal).
--
François Lafont
Avatar
Jo Engo
Le Fri, 11 Nov 2016 18:12:34 +0100, Une Bévue a écrit :
Le 11/11/2016 à 18:09, Dominique a écrit :
cp -a permet de copier les fichiers « cachés ». Sans cette option, les
fichiers qui débutent par un point (.bashrc par exemple) ne sont pas
copiés avec cp.


Faux : cp --help vous renseignera mieux :
-a, --archive identique à -dR --preserve=all
-d identique à --no-dereference --preserve=links
-R, -r, --recursive copier récursivement les répertoires
--preserve[=ATTR_LIST] préserver les attributs indiqués (par défaut
« mode,ownership,timestamps ») et si possible
les attributs supplémentaires « context »,
« links », « xattr » et « all »
j'ai appris quelque chose...

man cp vous aurait très probablement permis d'en apprendre plus.
--
22:47 j'ai pas tout compris : http://www.lame.org/images/alan2.jpg
22:48 22:47 bah quoi, c'est une foto d'alan ...
22:49 22:48 Une photo d'anal ? :)
Avatar
Jo Engo
Le Sat, 12 Nov 2016 08:55:00 +0100, Yliur a écrit :
D'ailleurs il n'y a aucun moyen de dire au shell "tous les fichiers, avec
ou sans . devant" ?

cp *.*
--
Scandale dans le monde des deux roues :
les motos japonaises ont des moteurs brides.
-+- Les nuls -+-
Avatar
Sergio
Le 13/11/2016 à 09:34, Jo Engo a écrit :
Le Sat, 12 Nov 2016 08:55:00 +0100, Yliur a écrit :
D'ailleurs il n'y a aucun moyen de dire au shell "tous les fichiers, avec
ou sans . devant" ?

cp *.*

Non. Copie tous les fichiers ayant un "." dans le nom ("toto.c" par exemple, mais pas "toto").
--
Serge http://leserged.online.fr/
Mon blog: http://cahierdesergio.free.fr/
Soutenez le libre: http://www.framasoft.org
1 2 3