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.
Pourquoi remplacer la visionneuse d'images par défaut de Windows avec IrfanView
À Mesure que son ensemble de fonctions s'est étendu, Windows est devenu une sorte d'omnibus. Il comprend maintenant non pas un, mais deux navigateurs intégrés, un outil de défragmentation et même Candy Crush. Mais comme la plupart des outils, tout simplement parce que Windows peut faire presque tout ne signifie pas que c'est la meilleure façon de faire quelque chose.
Personnalisation du menu de partage sur macOS
Le menu de partage est une fonctionnalité standard de nombreuses applications macOS, y compris Safari, Notes, Photos et même le Finder. C'est un moyen important et pratique de partager des choses. Donc évidemment, si vous pouvez l'améliorer, tant mieux. Le menu Partage n'est pas gravé dans la pierre.