Солярис в 10 измененных раз

Samba является реализацией SMB (Блок серверных сообщений), который, если Википедии нужно доверять, изменил ее имя на CIFS (Общая межсетевая файловая система) назад в 1996, таким образом, непосредственно отвечая на Ваш вопрос, Samba является реализацией, CIFS является протоколом, но я предполагаю, что Вы спрашивали о SMB и CIFS, которые, кажется, тот же протокол, хотя я предполагаю, что можно сказать, что CIFS является более новой версией SMB.

0
20.02.2013, 15:40
2 ответа

Не на UFS или ZFS (или любая другая стандартная фс). Что Вы используете для "получения доступ" к файлу? Какую файловую систему Вы используете?

$ touch test

$ stat test | grep "^[AM]"
Access: (0644/-rw-r--r--)  Uid: (  101/    matt)   Gid: (   10/   staff)
Access: 2013-02-20 13:04:25.597883067 +0000
Modify: 2013-02-20 13:04:25.597883067 +0000

$ cat test

$ stat test | grep "^[AM]"
Access: (0644/-rw-r--r--)  Uid: (  101/    matt)   Gid: (   10/   staff)
Access: 2013-02-20 13:04:38.117719129 +0000
Modify: 2013-02-20 13:04:25.597883067 +0000

$ echo test > test

$ stat test | grep "^[AM]"
Access: (0644/-rw-r--r--)  Uid: (  101/    matt)   Gid: (   10/   staff)
Access: 2013-02-20 13:04:38.117719129 +0000
Modify: 2013-02-20 13:04:54.739753877 +0000

$ cat test
test

$ stat test | egrep "^[AM]"
Access: (0644/-rw-r--r--)  Uid: (  101/    matt)   Gid: (   10/   staff)
Access: 2013-02-20 13:04:59.629405264 +0000
Modify: 2013-02-20 13:04:54.739753877 +0000
1
28.01.2020, 02:37

Что Вы видите, что что-то не делается право (Человеческая ошибка). Пример: Я создал файл с vi, Вы будете видеть что в = mt:

truss -v lstat -t lstat ls -l count_files.awk
lstat64("count_files.awk", 0xFFBFF5B8)          = 0
    d=0x04010003 i=58647 m=0100755 l=1  u=0     g=0     sz=674
        at = Feb 20 14:05:56 CET 2013  [ 1361365556.951290423 ]
        mt = Feb 20 14:05:58 CET 2013  [ 1361365558.532478282 ]
        ct = Feb 20 14:05:58 CET 2013  [ 1361365558.532478282 ]
    bsz=1024  blks=3     fs=zfs
-rwxr-xr-x   1 root     root         674 Feb 20 14:05 count_files.awk

Теперь я открою файл снова с vi, но выходом, делающим: q!

Заметьте, что в не равно mt.

truss -v lstat -t lstat ls -l count_files.awk
lstat64("count_files.awk", 0xFFBFF648)          = 0
    d=0x04010003 i=58647 m=0100755 l=1  u=0     g=0     sz=674
        at = Feb 20 14:07:58 CET 2013  [ 1361365678.550493967 ]
        mt = Feb 20 14:05:58 CET 2013  [ 1361365558.532478282 ]
        ct = Feb 20 14:05:58 CET 2013  [ 1361365558.532478282 ]
    bsz=1024  blks=3     fs=zfs
-rwxr-xr-x   1 root     root         674 Feb 20 14:05 count_files.awk

Теперь давайте сделаем все еще другой тест: Откройте файл с vi и выходом, но вместо: q! позволяет сделайте: wq! (хотя мы не изменились, что-либо, vi все еще сохранит содержание в файл),

truss -v lstat -t lstat ls -l count_files.awk
lstat64("count_files.awk", 0xFFBFF5F8)          = 0
    d=0x04010003 i=58647 m=0100755 l=1  u=0     g=0     sz=674
        at = Feb 20 14:09:26 CET 2013  [ 1361365766.879205630 ]
        mt = Feb 20 14:09:28 CET 2013  [ 1361365768.147368630 ]
        ct = Feb 20 14:09:28 CET 2013  [ 1361365768.147368630 ]
    bsz=1024  blks=3     fs=zfs
-rwxr-xr-x   1 root     root         674 Feb 20 14:09 count_files.awk

Насколько я знаю в изменениях времени, когда считанный назван и измененное время, когда запись сделана (запишите вызов).

1
28.01.2020, 02:37
  • 1
    Время доступа изменяется на read (если ОС не подавляет обновление atime), не на open. Например, atime пустого файла не изменяется если Вы cat это. –  Gilles 'SO- stop being evil' 21.02.2013, 02:34
  • 2
    благодарит за наблюдение. Я просто исправил ответ для чтения вместо открытого. –  BitsOfNix 21.02.2013, 09:36

Теги

Похожие вопросы