在计算机领域,dump一般译作转储。即使翻译的很贴切,但还是很难从字面上完全理解dump的真正含义。dump有动词和名词两种场景,我先解释它作为动词的情况,名词自然就理解了。
作为动词,可以从dump的目的和dump的对象,这两个方面去理解dump本身。
1、为什么要dump(dump的目的)?
因为程序在计算机中运行时,在内存、CPU、I/O等设备上的数据都是动态的(或者说是易丢失的),也就是说数据使用完或者发生异常就会丢掉。如果我想得到某些时刻的数据(有可能是调试程序Bug或者收集某些信息),就要把他转储(dump)为静态(如文件)的形式,否则,这些数据永远都拿不到对应的数据。
2、dump转储的是什么内容(dump的对象)?
其实上边已经提到了,就是将动态(易丢失)的数据,保存为静态的数据(持久数据),像程序这种本来就保存在存储介质(如硬盘)中的数据,也就没有必要dump;
现在,dump作为名词也很好理解了,一般就是指dump(动词)的结果文件。
总结:
作为动词:一般指将数据导出、转存成文件或静态形式。比如可以理解成:把内存某一时刻的内容,dump(转存,导出,保存)成文件;
作为名词:一般特指上述过程中所得到的文件或者静态形式;
tcpdump是一个工具,这里的dump可理解成把网络数据流(数据包)的内容抓取(capture)、保存(restore)的意思。