LINUX.ORG.RU

tee может одновременно.

vahtu
()
Ответ на: комментарий от teod0r

что то никак не могу себе это представмить

Хардлинк - это как будто один файл в двух каталогах одновременно. Притом имена могут быть разные, но место на диске одно и то же. Считай что твой раздел жесткого диска - книга, название файлов - Содержание, контент файла - сам текст главы книги. А теперь представь что два пункта содержания указывают на одну страницу.
Свойства:
- изменяя один файл изменяешь другой
- удаляя один файл, другой остается; место не освобождается пока не удалишь все файлы-линки.
- нельзя делать на каталоги
- работает только в пределах одного раздела (в пределах одной книги)

Симлинк - что-то типа ярлыка в Windows. На самом деле это небольшой текстовичек, в котором хранится имя другого, но система работает с ним как с файлом, на который указывается.
Свойства:
- изменяя один файл изменяешь другой (так же как и хардлинк)
- удаляя файл-оригинал, теряешь информацию; симлинки становятся «битыми» - указывают на несуществующий файл.
- можно делать на каталоги
- к разделам не привязано.

И в том и в том случае не нужно копировать файл. Сделай хоть 1000 линков - будет занимать место как один файл.

Если не нужны линки на каталоги и все в пределах одно ФС - рекомендую хардлинки. Иначе - симлинки.

Kroz ★★★★★
()

пишешь скрипт который принимает имя файла и копирует его в 2 каталога.
дальше find -exec

Komintern ★★★★★
()
Ответ на: комментарий от berrywizard

ещё проще.

да ты никак в антивселенной живёшь, где слово «проще» означает нечто иное

скопировать файл в директорию с помощью ср:

сp file /home/

а теперь давай твоим способом

$ tee /home/ /var/ < file
tee /home/: Is a directory
tee /var/: Is a directory

плюс у ср есть куча нужных ключей, так что давай не мухлюй, а нормальное решение придумывай

zolden ★★★★★
()
Ответ на: комментарий от teod0r

и как это относится к копированию в несколько директорий?

Я просто спрашиваю - може это тебе подойдет: результат очень похож, но профит по сравнению с копированием налицо. Я не знаю твоего бекграунда, но люди, пришедшие с Windows, часто забывают об этой фиче, а зря.

Kroz ★★★★★
()
Ответ на: комментарий от zolden
$ ( mkdir /tmp/x1 ; cd /tmp/x1 ; mkdir aa bb cc ; ls -l /boot/grub > src ; tee /tmp/x1/{aa,bb,cc}/src < src > /dev/null ; md5sum */src ) ; ( cd /tmp ; rm -fr x1 )
7ef85dd8138cc4306dcecf37089ee31f  aa/src
7ef85dd8138cc4306dcecf37089ee31f  bb/src
7ef85dd8138cc4306dcecf37089ee31f  cc/src
$
berrywizard ★★★★★
()
Ответ на: комментарий от berrywizard

Круто, очень круто, молодец!
А что это?

zolden ★★★★★
()
Ответ на: комментарий от berrywizard

Вместо точки с запятой лучше && что бы следующая команда выполнялась только после успешного результата предыдущей.

TDrive ★★★★★
()
Ответ на: комментарий от berrywizard

что-то ты перемудрил (каждый пользователь zsh знает, что tee не нужен)
в таком варианте можно обойтись и простым cat без всяких man tee, но это всё равно не даёт нам всей гибкости и мощи ср
надо думать дальше

zolden ★★★★★
()
xargs -L1 -I{} cp file {} < dir.list
или
echo /dir1 /dir2 /dir3 | tr ' ' '\n' | xargs -L1 -I{} cp file {}
sdio ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.