Say I have a file ```/templates/apple``` and I want to

* put it in two different places and then
* remove the original.

So, ```/templates/apple``` will be copied to ```/templates/used``` AND ```/templates/inuse```
and then after that I’d like to remove the original.
Is ```cp``` the best way to do this, followed by ```rm```? Or is there a better way?
I want to do it all in one line so I’m thinking it would look something like:
```cp /templates/apple /templates/used | cp /templates/apple /templates/inuse | rm /templates/apple
```
Is this the correct syntax?
And will it work if I have the files open in some text editors (like VS Code)? Will it create copies with the same permissions? (I presume it will).
I’m guessing if I have multiple files to copy then I would make a for loop, like:
```for file in apple banana orange; do cp /templates/$file /templates/used /templates/inuse && rm /templates/$file; done
```
Is there
Or is there a better one?

While your approach is close, it is not quite correct. You cannot pipe the output of one command to the next command directly as you have tried. Instead, you should use the `-R` (or `-r`) option of the `cp` command to recursively copy a directory including all its contents, and then use the semicolon `;` to separate multiple commands.

So, the correct command sequence would be: