当前位置: 技术问答>linux和unix
Linux sync命令的相关疑问
来源: 互联网 发布时间:2017-05-30
本文导语: 各位大神好 我看了鸟哥的私房菜 5.5.1中有说到sync这个命令。 说root下执行sync命令能够更新整个系统中的数据,于是我按照下面的步骤做了一个实验(系统是centos)。 首先在tty1上面,我是root登录的,在tty2上面...
各位大神好
我看了鸟哥的私房菜 5.5.1中有说到sync这个命令。
说root下执行sync命令能够更新整个系统中的数据,于是我按照下面的步骤做了一个实验(系统是centos)。
首先在tty1上面,我是root登录的,在tty2上面我是用普通用户登录的,登录名为Nicolas。
在tty2终端下,我在某目录下面新建了一个文本文件,名字叫做 text2014。
然后,我执行命令 vim text2014
这样就进入了编辑text2014的状态了,于是我接着在里面随意输入了几个字比如“abcd”。
接着,我ctrl + alt +f1切换到tty1终端上,在root登录状态下执行sync。
然后我在tty1终端下敲入 cat text2014
为啥打开的文件中啥都没有!!!难道我在tty2终端上敲击的几个字符都不是存放在缓冲区的吗?是存放在
文件/dev/tty2中的????
求大神解答。
另:能否举几个例子让我验证验证sync这个命令
我看了鸟哥的私房菜 5.5.1中有说到sync这个命令。
说root下执行sync命令能够更新整个系统中的数据,于是我按照下面的步骤做了一个实验(系统是centos)。
首先在tty1上面,我是root登录的,在tty2上面我是用普通用户登录的,登录名为Nicolas。
在tty2终端下,我在某目录下面新建了一个文本文件,名字叫做 text2014。
然后,我执行命令 vim text2014
这样就进入了编辑text2014的状态了,于是我接着在里面随意输入了几个字比如“abcd”。
接着,我ctrl + alt +f1切换到tty1终端上,在root登录状态下执行sync。
然后我在tty1终端下敲入 cat text2014
为啥打开的文件中啥都没有!!!难道我在tty2终端上敲击的几个字符都不是存放在缓冲区的吗?是存放在
文件/dev/tty2中的????
求大神解答。
另:能否举几个例子让我验证验证sync这个命令
|
在一个临时文件里面。
你 vim text2014 之后,开另外一个窗口执行 ls -la 看看就知道啦。
|
sync() causes all buffered modifications to file metadata and data to be written to the underlying file systems.It doesn't include the buffer maintained by the application, such as vi, or tty device. It was designed for flushing the buffers of file system to the disk...
|
正解,如下
-rw-r--r-- 1 root root 54 Jul 25 16:02 aa.txt
-rw-r--r-- 1 root root 12288 Oct 10 18:50 .aa.txt.swp
|
http://man7.org/linux/man-pages/man2/sync.2.html
http://linux.die.net/man/2/sync
http://linux.die.net/man/2/sync