网上有几个博客说,如果sync
运行sudo
这个,它将同步所有文件系统,但如果正常运行(没有 sudo),那么它将同步“当前”文件系统。
但不清楚“当前”的含义,哪个文件系统是当前的?
如果我有 3 个磁盘,每个磁盘有 2 个 ext4 分区,总共 6 个文件系统,那么哪一个是“当前的”,sync
如果不运行,哪一个会起作用sudo
?
编辑:
声明这一点的博客:
https://www.baeldung.com/linux/sync-command
https://phoenixnap.com/kb/linux-sync
引号:
通常,为了同步当前文件系统,我们运行不带任何选项的 sync 命令:
$同步
使用不带参数的 sync 会同步当前文件系统,而使用 sudo 执行该命令会同步所有已挂载的文件系统。
该
sync
程序(/bin/sync
)是系统调用的简单包装sync()
(查看strace /bin/sync
),甚至不检查root
(UID == 0
)。系统
sync()
调用文档 (man 2 sync
) 没有提及要求root
。/bin/sync
ha 已经存在很久了(从 Unix 时代开始),用户一直可以使用。它最初是在“哦,天啊,它要崩溃了”的情况下使用的,对系统没有任何损害。你的引用是错误的。对每个人来说
sync
都是sync()
如此。