web-dev-qa-db-fra.com

cp ne peut pas stat '-r'

Étrange problème, pour une raison quelconque, lorsque j'exécute une commande de copie, il traite l'indicateur -r comme un argument.

Sudo cp –r usr/* /usr

Ce qui suit est l'erreur:

cp: cannot stat ‘–r’: No such file or directory

Je sais que -r n'existe pas en tant que fichier/répertoire, c'est parce que c'est un drapeau de commande cp, pas un argument.

Comment puis-je résoudre ça?

4
Dan Hanly

D'après les commentaires, il semble que vous ayez copié un long tiret (–). Ceci est syntaxiquement différent d'un tiret normal et la commande cp le lit simplement comme s'il s'agissait d'un nom de fichier.

Les tirets sont légèrement mais visiblement plus longs que les tirets normaux. Il existe une version encore plus longue appelée emdash. Voici une comparaison entre les trois:

- dash
– endash
— emdash

Si vous l'avez copié de manière organique à partir d'une page Web, cela pourrait l'expliquer. Wordpress substitue un double tiret à un emdash et je suis sûr qu'il existe aussi une étrange substitution à un endash.

Pour taper cela manuellement, la plupart des utilisateurs doivent utiliser la combinaison de touches de composition: Compose--.

Si votre clavier les génère lui-même, il se passe quelque chose d'étrange dans votre clavier. Pour autant que je sache, les tirets plus longs ne sont pas une ponctuation de base standard pour toutes les langues.

6
Oli