1

drBatty пишет:
mogul82 пишет:

2 = write (право на запись)

не на запись, а на модификацию.

Неужели? Так там бы была буковка m, а не w. :lol:

Рекомендую к прочтению: Поварнин. Искусство спора. Очень помогает в интернет-общении.

2

snatch пишет:

Неужели? Так там бы была буковка m, а не w.

ну мало-ли. объясните мне лучше назначение команд "кошка", и "чай". Про команду "ещё" не забудьте.

Поведайте нам также об этимологии слов mount и grep.

Если серьёзно, то в английском языке слово write имеет не совсем то значение. А в данном случае даже дело не в слове, а в режиме "w", с которым открывается файл. В этом режиме OS сразу после открытия уничтожает всё старое содержимое файлов, а для добавления информации служит режим "a". Вот только право всего одно и для добавления и для перезаписи. Потому я называю его "модификацией", что-бы подчеркнуть, что право действует не только на запись.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

3

drBatty пишет:

ну мало-ли. объясните мне лучше назначение команд "кошка", и "чай".

Понятия не имею, не играл в wow.

drBatty пишет:

Про команду "ещё" не забудьте.

А там и такая есть?

drBatty пишет:

Поведайте нам также об этимологии слов mount и grep.

Уж лучше Вы к нам. ab

drBatty пишет:

Если серьёзно, то в английском языке слово write имеет не совсем то значение. А в данном случае даже дело не в слове, а в режиме "w", с которым открывается файл. В этом режиме OS сразу после открытия уничтожает всё старое содержимое файлов, а для добавления информации служит режим "a". Вот только право всего одно и для добавления и для перезаписи. Потому я называю его "модификацией", что-бы подчеркнуть, что право действует не только на запись.

Да, drBatty, с такими претензиями нужно обращаться к составителям стандартов, а не объяснять тут на пальцах почему там должна быть буковка "m".

Рекомендую к прочтению: Поварнин. Искусство спора. Очень помогает в интернет-общении.

4

snatch пишет:

Понятия не имею, не играл в wow.

snatch пишет:

А там и такая есть?

snatch пишет:

Уж лучше Вы к нам

куда "к вам"? в венду что-ли? все эти команды не из WoW, а из UNIX'а.

snatch пишет:

с такими претензиями нужно обращаться к составителям стандартов, а не объяснять тут на пальцах почему там должна быть буковка "m".

там должна быть буква w, которую следует понимать как "модификация".  wink

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

5

drBatty пишет:

все эти команды не из WoW, а из UNIX'а.

Вау. Тогда уж, не из UNIX'а, а из ЮНИКС'а. ab

drBatty пишет:

там должна быть буква w, которую следует понимать как "модификация".  wink

Какое-то слишком перевернутое понимание.

Рекомендую к прочтению: Поварнин. Искусство спора. Очень помогает в интернет-общении.

6

snatch пишет:

Какое-то слишком перевернутое понимание.

со временем вы поймёте.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

7

drBatty пишет:
snatch пишет:

Какое-то слишком перевернутое понимание.

со временем вы поймёте.

Ваше понимание в данном вопросе мне не интересно.

Рекомендую к прочтению: Поварнин. Искусство спора. Очень помогает в интернет-общении.

8

snatch пишет:

Ваше понимание в данном вопросе мне не интересно.

взаимно

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

9

[offtop]
а буква "а" Мне казалось служит только для добавления в конец файла без возможноcти чтения/fseek/rewind? для модификации вроде "r+" используется? или не про это тема?

Я Новичек,
Не серчайте за тупые вопросы...

10

BigKvak пишет:

а буква "а" Мне казалось служит только для добавления в конец файла без возможноcти чтения/fseek/rewind? для модификации вроде "r+" используется? или не про это тема?

a, w, и r это режимы. добавления, перезаписи, и чтения.
есть ещё a+, w+, r+ это тоже самое но с возможностью чтения (а последний с возможностью записи).
подробнее в man fopen.

Но есть и атрибут +a, AppendOnly. это уже атрибут файла, как и права. хранится в инодах, установить может только root. Если этот атрибут установлен, то к файлу можно только добавлять (и читать, если +r). Если установлен для каталога, то в таком каталоге можно только создавать файлы, и модифицировать существующие. Удалять и переименовывать файлы нельзя. Устанавливается командой chattr +a.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

11 (04.01.2011 19:28:30 отредактировано mogul82)

BigKvak пишет:

а буква "а" Мне казалось служит только для добавления в конец файла без возможноcти чтения/fseek/rewind? для модификации вроде "r+" используется? или не про это тема?

Тут уже не понятно откуда тема растет.
А ты говоришь про опции открытия файлов в с++ например, а мы про расшифровку прав файлов (chmod) например.

XMPP: mogul82@jabber.ru Фанбой AMD

12

mogul82 пишет:

Тут уже не понятно откуда тема растет.
А ты говоришь про опции открытия файлов в с++ например, а мы про расшифровку прав файлов (chmod) например.

я в этой теме и про то и про другое писал  smile

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

13

А давайте спустимся на уровень системных вызовов ab
По отношению к файлу есть системный вызов write(2)
Системного вызова modification нет.

14

anonymous.ru пишет:

По отношению к файлу есть системный вызов write(2)
Системного вызова modification нет.

да. вот только действие write(2) зависит от действия open(2), как вы файл откроете, так и (не)будет работать write(2). А открыть вы можете файл over9000 способами. Причём права файлов могу помешать работе write(2), а могут и не помешать - зависит от режима.

И вообще, понятие "запись" слишком размыто - я могу создать файл, причём так его создать, что туда "запись" будет запрещена. Это как? Я могу удалить файл, причём право "записи" мне не нужно. Всё потому, что при удалении я не модифицирую файл, я его просто уничтожаю.

И ещё: где временной штамп записи?

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

15

да, надоели.
вот вам запись в файл защищённый от записи:

 Консоль:
doc@dt:~$ echo "test" > t.txt
doc@dt:~$ chmod 400 t.txt
doc@dt:~$ ll t.txt
-r-------- 1 doc users 5 2011-01-04 20:33 t.txt
doc@dt:~$ cp -p t.txt t2.txt
doc@dt:~$ ll t*.txt
-r-------- 1 doc users 5 2011-01-04 20:33 t.txt
-r-------- 1 doc users 5 2011-01-04 20:33 t2.txt

или это "не запись"? что, я не записал 5 байтов в файл t2.txt ?
Будете придираться - ещё и отредактирую.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

16

drBatty пишет:

А открыть вы можете файл over9000 способами.

Опять же есть флаги O_WRONLY и O_RDWR.
Что бы модифицировать содержимое файла, надо в него по любому записать  :lol:

drBatty пишет:

или это "не запись"?

Запись, запись ab
Мы все в курсе, что :
1) права файла учитываются только в момент открытия
2) при чтении/записи учитывается режим дескриптора открытого файла
3) про создании файла creat(t.txt,000) ( что аналогично open(t.txt,O_CREAT|O_WRONLY|O_TRUNC,000) ) файл будет открыт на запись (режим дескриптора), хотя права самого файла будут 000 ( и эти права будут использоваться только попытке заново открыть файл).
короче w - write - запись  ae

drBatty пишет:

Я могу удалить файл, причём право "записи" мне не нужно.

нужно право на запись и исполнения на каталог  ae

17

Будем придираться. В файл не писал а читал с него.

XMPP: mogul82@jabber.ru Фанбой AMD

18

O_TRUNC - способ модифицировать файл, без выполнения write(2), но требуется права w на файле  :o

19

anonymous.ru пишет:

Что бы модифицировать содержимое файла, надо в него по любому записать

нужно-нужно. Но что-бы записать, необязательно модифицировать содержимое файла. Вот как в моём примере - я записал туда 5 байт, но при этом ничего не модифицировал. Потому запись успешная. При попытке модификации - получу по рукам.

anonymous.ru пишет:

нужно право на запись и исполнения на каталог

а причём тут каталог?
Уничтожение - тоже запись, ибо блоки занятые файлом "освобождаются", и будут перезаписаны. И не важно, что не сразу. Т.е. при уничтожении файл стирается (пусть и не сразу), и тем не менее - не модифицируется: в общем случае невозможно поменять скажем все буквы t на Z внутри файла, т.к. файл может быть частично (или полностью) уничтожен. Модификация хоть и происходит, но не нами, и мы никак не можем на это повлиять (почему, кстати, я всегда храню ценные данные на отдельном разделе - в общий раздел сама система может записать что угодно, или я нечаянно. На отдельном разделе остаются даже удалённые данные).

А каталог тут совсем не при делах - там лежит имя файла, а имя файла как известно к самому файлу не относится. У файла может быть сколько угодно имён, в т.ч. и не быть вовсе.

mogul82 пишет:

Будем придираться. В файл не писал а читал с него.

я читал t.txt, а вот в t2.txt я писал - очевидно, что на тех блоках небыло ТЕХ пяти байт.

anonymous.ru пишет:

O_TRUNC - способ модифицировать файл, без выполнения write(2), но требуется права w на файле

о чём я и говорю - write тут не причём, и буквочка w на самом деле имеет ненамного больше отношение к записи, чем моя кошка к команде cat (или вы мне будете доказывать, что cat имеет отношение к кошкам? так и право w не имеет прямого отношения к записи).

Короче: то, что есть право w, вовсе не говорит, что это право идентично праву записи, о чём я и писал изначально. Причём в данном случае это важно: злоумышленник может переделать наш файл, если мы об этом хоть раз позабудем.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

20

drBatty пишет:

При попытке модификации - получу по рукам.

Нет. Получите по рукам при попытке открыть на запись ab До попытки записать(модифицировать) дело не дойдет.

drBatty пишет:

чем моя кошка к команде cat

cat - сокращение от catenate
а w от write

drBatty пишет:

Уничтожение - тоже запись

не согласен.

21

anonymous.ru пишет:

не согласен.

а... надоело спорить. пусть будет ОСОБАЯ запись. так пойдёт?

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

22

Правила форума пишет:

3.1.4. Имя пользователя не должно содержать адреса электронной почты или веб-сайтов.

 Консоль:

% ping -c3 anonymous.ru
PING anonymous.ru (88.212.221.46) 56(84) bytes of data.
64 bytes from s2.sechost.ru (88.212.221.46): icmp_req=1 ttl=119 time=149 ms
64 bytes from s2.sechost.ru (88.212.221.46): icmp_req=2 ttl=119 time=164 ms
64 bytes from s2.sechost.ru (88.212.221.46): icmp_req=3 ttl=119 time=156 ms

--- anonymous.ru ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 149.227/156.852/164.611/6.297 ms

Был, был и весь вышел...

23

anonymous.ru пишет:

Системного вызова modification нет.

http://linuxforum.ru/viewtopic.php?pid=111956#p111956

anonymous.ru пишет:

надо обладать правом модификации содержимого это родительской "папки"

Вы же уже употребляли слова модифицировать, хотя бы по отношению к правам директорий.

XMPP: mogul82@jabber.ru Фанбой AMD

24

mogul82 пишет:

Вы же уже употребляли слова модифицировать, хотя бы по отношению к правам директорий.

я там еще употреблял слово "папка" ab
Как я уже сказал, что бы модифицировать, нужно записать.

drBatty пишет:

а... надоело спорить. пусть будет ОСОБАЯ запись. так пойдёт?

В момент удаления файла его содержимое не модифицируется, запись в его содержимое не происходит, даже mtime не меняется bx
А потом, это уже не файл.

Lupo Alberto пишет:

3.1.4. Имя пользователя не должно содержать адреса электронной почты или веб-сайтов.

Мне убица от стену?
Это мой ник еще со старого форума. Что предлагаете делать? Правила имеют обратную силу?
Домен не мой.

25

Кстати, темя для очередного флейма:
катАлог vs каталОг vs директория vs папка  :lol:

26

anonymous.ru пишет:

Это мой ник еще со старого форума. Что предлагаете делать? Правила имеют обратную силу?
Домен не мой.

поменяют

XMPP: mogul82@jabber.ru Фанбой AMD

27

anonymous.ru пишет:

В момент удаления файла его содержимое не модифицируется,

в момент открытия файла на запись он тоже не меняется.

anonymous.ru пишет:

даже mtime не меняется

правильно. за то меняется dtime.

anonymous.ru пишет:

А потом, это уже не файл.

не. файл. Мало того, бывают удалённые файлы, без имени, и тем не менее, они лежат на диске, занимают место, да ещё и работают. Такие дела...

anonymous.ru пишет:

катАлог vs каталОг vs директория vs папка

было давеча на лоре. давай продолжим что-ли...

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

28

drBatty пишет:

Такие дела...

В этом случае файл не является удаленным ab
Бывают кошки без хвостов, но хвост без кошки не бывает.  ag
Если у файла нет не одной жесткой ссылки - это не повод его удалять.
Еще конечно система анализирует счетчик открытий.
Как всем известно ( и мне в том числе): если файл был открыт, и удалены все его имена (жесткие ссылки ) ( при удалении имен будет меняться ctime ), то в дальнейшем в этот файл можно и писать и читать.
Так что файл - остается файлом ab даже если у него нет имени.
А вот если он действительно удален, то он перестает существовать ab не является больше файлом
Ваш КО.

Можно ли модифицировать без записи?
-Мне кажется нет
Можно ли записать без модификации?
Пожалуйста:
echo cat > cat
echo cat > cat
Была ли информация в файле модифицирована после второй команды?

МОДИФИЦИ'РОВАТЬ, рую, руешь, сов. и несов., что (книжн.).
Произвести (производить) модификацию чего-н., внести (вносить) во что-н. видоизменения, не преобразуя внутренней сущности предмета.

29

drBatty пишет:

было давеча на лоре. давай продолжим что-ли...

Не участвовал ab
Даже читать не тянет ab
Но мне кажется, что с точки зрения архитектуры системы, по русски правильней называть этот тип файлов каталОг  :rolleyes:

30

anonymous.ru, так можно спорить сколько угодно. пока мы не понимаем, что такое "хвост" и что такое "кошка" спор о том, бывают-ли хвосты без кошек не имеет смысла.

ссылки на словарик, кстати, не являются аргументом в нашем споре. Причина проста - в словаре не описан термин "модификация файла", авторы словаря толкуют слово "модификация" относительно чего-то другого. Это становится очевидным, если учесть, что inode - часть "внутренней сущности", а при модификации файла inode меняется. При этом содержимое может и не изменятся. ИМХО в этом случае всё-же следует принять, что "сущность" поменялась, к ней применили "нулевое изменение", и растояние по Левинштейну от старого файла к новому равно нулю. (что не мешает существованию модификации. каноничный пример: файл сначала был сжат сжимателем, а потом разжат. Несмотря на то, что информация ни на бит не изменилась, файл потерпел целых 2 модификации).

Про удаление. Если определить команду rm как:

1) Команда rm уничтожает имя файла из каталога в котором хранится этот файл.
2) При этом счётчик имён файла декрементируется.
3) если счётчик имён при выполнении п2 переходит от 1 к 0, то
3.1) текущее время записывается в dtime
3.2) все блоки, которые содержат информацию в файле присоединяются к списку свободных блоков
3.3) область, в которой хранилось положение блоков с информацией обнуляется
3.4) сам inode присоединяется к списку свободных инодов.

На самом деле, всё так и происходит. за одним исключением - п3 выполняется ПОСЛЕ завершения команды rm. Это может занять довольно продолжительное время, но на работу Системы в целом не влияет (разве что свободное место появляется не сразу после удаления. Т.е. если мы прибили файл на 100500мб вовсе не говорит о том, что у нас появится ещё 100500мб. Впрочем нам этого никто и не гарантировал).

Однако на практике удаление происходит довольно быстро. Единственное исключение - исполняемые файлы. Вот здесь удаление может растянутся на бесконечно длительный строк.

anonymous.ru пишет:

Как всем известно ( и мне в том числе): если файл был открыт, и удалены все его имена (жесткие ссылки ) ( при удалении имен будет меняться ctime ), то в дальнейшем в этот файл можно и писать и читать.
Так что файл - остается файлом smile даже если у него нет имени.

сейчас проверим...

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)