Почему бы не cp
в местоположение 1, затем mv
в местоположение 2. Это заботится об "удалении" оригинала.
И нет, это неправильный синтаксис. |
используется для «передачи» вывода из одной программы и превращения его во ввод для следующей программы. То, что вы хотите, это ;
, который разделяет несколько команд.
cp file1 file2 ; cp file1 file3 ; rm file1
Если вам требуется, чтобы отдельные команды ДОЛЖНЫ были выполнены успешно, прежде чем можно будет запустить следующую, тогда вместо нее следует использовать &&
:
cp file1 file2 && cp file1 file3 && rm file1
Таким образом, если любая из команд cp
не будет выполнена, rm
не будет запущен.