Я ищу одну команду Linux, которая позволяет мне сделать эквивалент этого:
cp /some/path/file /another/path/ && ln -sf /another/path/file /some/path/
Если его нет, каков наилучший способ сделать это для нескольких файлов?
linux
command-line-interface
symlink
itsadok
источник
источник
&&
с&
. Как написано, строка проверяет возвращаемое значение cp и запускает вторую часть только в случае успеха.Ответы:
Небольшое замечание: вы можете использовать ln оба раза, чтобы команда фактически не перемещала данные (при условии, что оба пути находятся в одной файловой системе).
Но я предполагаю, что вы хотите переместить содержимое / some / path / на другой диск, а затем создать ссылки на новые файлы, чтобы «никто» не заметил.
Оборачиваем его в функцию bash:
источник
Вот мой сценарий, который вы можете использовать (принимает два параметра / some / path / file и / another / path /):
источник
Серьезно, я думал, что это был действительно легкий вопрос.
Вот что я могу сделать в Perl:
Я надеялся на что-то более элегантное, но думаю, я воспользуюсь этим.
источник