Copier un fichier avec la ligne de commande Linux est facile. Cependant, que faire si vous voulez copier le même fichier à plusieurs endroits différents? C'est aussi facile, et nous allons vous montrer comment faire cela avec une seule commande.
Normalement, pour copier un fichier, vous devez utiliser la commandecp
, reliant le fichier source et la destination répertoire:
cp ~ / Documents / FileToBeCopied.txt ~ / TextFiles /
Pour le copier dans deux autres répertoires, beaucoup de gens exécuteraient la commande deux fois de plus, avec des destinations différentes:
cp ~ / Documents /FileToBeCopied.txt ~ / Dropbox /
cp ~ / Documents / FileToBeCopied.txt / media / lori / MYUSBDRIVE /
Cependant, nous pouvons faire la même tâche avec une seule commande:
echo dir1 dir2 dir3 | xargs -n 1 cp fichier1
Voici comment cette commande fonctionne. La commandeecho
écrit normalement à l'écran. Cependant, dans ce cas, nous voulons fournir la sortie de la commandeecho
comme entrée à la commandexargs
. Pour ce faire, nous utilisons le symbole de tuyau (|
) qui alimente la sortie d'une commande en entrée à l'autre. La commandexargs
exécute la commandecp
trois fois, en ajoutant à chaque fois le chemin du répertoire suivant depuis la commandeecho
jusqu'à la fin de lacommande cp
. Trois arguments sont passés àxargs
, mais l'option-n 1
de la commandexargs
lui indique d'ajouter un seul de ces arguments à la fois pour la commandecp
chaque fois qu'elle est exécutée
Donc, pour coller avec notre exemple de plus tôt, les trois commandescp
séparées ci-dessus peuvent être combinées en une commande comme ceci:
echo ~ / TextFiles / ~ / Dropbox / media / lori / MYUSBDRIVE | xargs -n 1 cp ~ / Documents / FileToBeCopied.txt
Notez que si le fichier en cours de copie existe dans l'un des répertoires de destination spécifiés, le fichier de cette destination sera automatiquement remplacé. Vous ne serez pas demandé si vous souhaitez remplacer le fichier. (Normalement, lorsque vous utilisez la commandecp
pour copier un fichier vers un emplacement unique, vous pouvez ajouter l'option-i
pour demander si vous souhaitez remplacer un fichier existant. l'option-i
est une option interactive (elle demande à la commandecp
de demander une entrée à l'utilisateur) et vous ne pouvez pas utiliser une option interactive aveccp
commande en cas d'utilisation avecxargs
.)
Une autre chose à prendre en compte est que si vous copiez un très gros fichier, vous pouvez ajouter le non-clobber (- n
) option de la commandecp
dans la commande unique ci-dessus. Cette option empêche automatiquement l'écrasement d'un fichier dans une destination s'il existe déjà. Si vous copiez un fichier très volumineux sur un réseau, il se peut qu'il soit lent et que vous souhaitiez éviter d'utiliser les ressources requises pour copier et remplacer le fichier. La commande suivante ajoute l'option-n
et ne copie le fichier vers aucune destination répertoriée dans les arguments de l'instruction echo, si le fichier existe déjà dans cette destination.
echo ~ / TextFiles / ~ / Dropbox / media / lori / MYUSBDRIVE | xargs -n 1 cp -n ~ / Documents / FileToBeCopied.txt
Tapez man echo, man xargs ou man cp sur la ligne de commande sous Linux pour plus d'informations sur l'une de ces commandes.
Comment recycler votre modèle de voix de l'assistant Google
Il peut arriver que vous deviez redéfinir le modèle vocal de votre Assistant Google, c'est-à-dire celui qui détecte la commande "OK Google". Par exemple, "Hey Google" a récemment commencé à être déployé sur les téléphones, vous devrez donc réapprendre le modèle vocal pour accepter cette nouvelle phrase.
Pourquoi certains iMessages sont-ils verts et d'autres bleus sur mon iPhone?
Vous avez peut-être remarqué que certains messages de l'application Message de l'iPhone sont verts tandis que d'autres sont bleus. Que signifient ces couleurs et est-ce important? Les messages avec des bulles vertes sont des messages texte SMS normaux. Les messages contenant des bulles bleues sont envoyés via le protocole de messagerie instantanée iMessage, une plate-forme de messagerie spécifique aux appareils Apple.