LINUX.ORG.RU
решено ФорумAdmin

Объясните неучу что происходит с for и touch.

 ,


0

2
[root@testlab dada]# for i in {1..10} ; do  touch /home/dada/papko/"$i"; done
[root@testlab dada]# ll -tr /home/dada/papko/
total 0
-rw-r--r-- 1 root root 0 Sep 12 12:59 2
-rw-r--r-- 1 root root 0 Sep 12 12:59 1
-rw-r--r-- 1 root root 0 Sep 12 12:59 3
-rw-r--r-- 1 root root 0 Sep 12 12:59 4
-rw-r--r-- 1 root root 0 Sep 12 12:59 6
-rw-r--r-- 1 root root 0 Sep 12 12:59 5
-rw-r--r-- 1 root root 0 Sep 12 12:59 7
-rw-r--r-- 1 root root 0 Sep 12 12:59 8
-rw-r--r-- 1 root root 0 Sep 12 12:59 9
-rw-r--r-- 1 root root 0 Sep 12 12:59 10

это так и должно быть ? или я туплю ?

★★★★★

Все правильно. touch создает пустой файл, если его не было.

observer ★★★
()

Значит файл /home/dada/papko/2 был создан предварительно перед запуском for.

kostik87 ★★★★★
()
Ответ на: комментарий от qbe
-rw-r--r--  1 general general     0 2013-09-12 10:55:06.985711525 +0300 1
-rw-r--r--  1 general general     0 2013-09-12 10:55:06.990695361 +0300 3
-rw-r--r--  1 general general     0 2013-09-12 10:55:06.990695361 +0300 2

Да, они просто одновременно создаются.

//дошло до меня о чем ТС

observer ★★★
()
Последнее исправление: observer (всего исправлений: 3)
Ответ на: комментарий от dada

Замени touch на echo, увидишь, что цикл идёт по порядку. Ты забываешь, что файловые операции кешируются, поэтому последовательный вызов touch не обязательно будет в том же порядке отражаться на диске. И эта, «не работай по рутом» (С)

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

Почему не цикл? Одновременно == с точностью до LSB unixtime

qbe
()
Ответ на: комментарий от dada

выходит что цикл - это не цикл.

I/O задачи кешируются же. Поэтому некоторые файлы записываются одновременно.

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

Ок спасибо.

не работай по рутом

root@testlab
testlab

dada ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.