我在ls -l
内重复执行/tmp/stream
命令,并收到以下输出:
pi@dewsaq18 /tmp/stream $ ls -l
total 112
-rw-r--r-- 1 pi pi 112812 Feb 7 03:32 pic.jpg
pi@dewsaq18 /tmp/stream $ ls -l
total 112
-rw-r--r-- 1 pi pi 112812 Feb 7 03:32 pic.jpg
-rw-r--r-- 1 pi pi 0 Feb 7 03:32 pic.jpg~
pi@dewsaq18 /tmp/stream $ ls -l
total 116
-rw-r--r-- 1 pi pi 116748 Feb 7 03:32 pic.jpg
-rw-r--r-- 1 pi pi 0 Feb 7 03:32 pic.jpg~
pi@dewsaq18 /tmp/stream $ ls -l
total 116
-rw-r--r-- 1 pi pi 117608 Feb 7 03:32 pic.jpg
pi@dewsaq18 /tmp/stream $ ls -l
total 116
-rw-r--r-- 1 pi pi 117608 Feb 7 03:32 pic.jpg
-rw-r--r-- 1 pi pi 0 Feb 7 03:32 pic.jpg~
pi@dewsaq18 /tmp/stream $ ls -l
total 116
-rw-r--r-- 1 pi pi 118674 Feb 7 03:32 pic.jpg
-rw-r--r-- 1 pi pi 0 Feb 7 03:32 pic.jpg~
pi@dewsaq18 /tmp/stream $ ls -l
total 116
-rw-r--r-- 1 pi pi 118147 Feb 7 03:32 pic.jpg
pi@dewsaq18 /tmp/stream $ ls -l
total 116
-rw-r--r-- 1 pi pi 118147 Feb 7 03:32 pic.jpg
-rw-r--r-- 1 pi pi 0 Feb 7 03:32 pic.jpg~
pi@dewsaq18 /tmp/stream $ ls -l
total 116
-rw-r--r-- 1 pi pi 117175 Feb 7 03:32 pic.jpg
pi@dewsaq18 /tmp/stream $
......and so on
我的问题是 - "〜"到底发生了什么?附加到第二个(空)文件的字符?为什么每次执行ls -l
时都不会显示此文件?
由于我使用的是静态文件名pic.jpg
,并且每次拍摄新图片时都会覆盖图片,我最初的想法是pic.jpg~
文件用于比较帧之间的变化。
然而,它并不总是存在(可能没有变化,所以不需要它?),更重要的是,它总是空的,根本没有任何数据写入。
感谢您提前给予帮助和指导。
答案 0 :(得分:4)
文件名末尾的波浪号(~
)通常用于表示备份文件。因此,如果您有一个文件foo.bar
并对其进行编辑并保存,则新保存的文件将为foo.bar
,之前的版本为foo.bar~
。但它依赖于程序:并非所有编辑器或程序都会将文件的先前版本保存为备份,如果它们这样做,则它们并不都遵循附加波浪号(~
)的惯例。它不是字面上的标准,而是一种非常常用的惯例。