Je cherche une seule commande linux qui me permette de faire l'équivalent de ceci:
cp /some/path/file /another/path/ && ln -sf /another/path/file /some/path/
S'il n'y en a pas, quelle est la meilleure façon de le faire pour un tas de fichiers?
linux
command-line-interface
symlink
itsadok
la source
la source
&&
avec&
. Comme écrit, la ligne vérifie la valeur de retour de cp et n'exécute la deuxième partie qu'en cas de succès.Réponses:
Une petite remarque est que vous pouvez utiliser ln les deux fois pour que la commande ne déplace pas réellement les données (en supposant que les deux chemins se trouvent sur le même système de fichiers).
Mais je suppose que vous voulez déplacer le contenu de / certains / chemin / vers un autre disque, puis créer des liens vers les nouveaux fichiers afin que "personne" ne le remarque.
Envelopper dans une fonction bash:
la source
Voici mon script que vous pourriez utiliser (prend deux paramètres / certains / chemin / fichier et / un autre / chemin /):
la source
Sérieusement, je pensais que c'était une question vraiment facile.
Voici ce que je peux faire en perl:
J'espérais quelque chose de plus élégant, mais je suppose que je vais l'utiliser.
la source