dd命令:以用户指定的块大小与数理拷贝文件
常见参数:
if=数据来源
of=数据存储目标
bs=n :以n字节为单位
count=m :读取m个bs
seek=M :创建数据文件时,跳过M大小空间
实例1:备份/etc/inittab
[gz_fieldyang@ test ~]$ cp /etc/inittab /root y
[gz_fieldyang@ test ~]$ cat root/inittab
[gz_fieldyang@ test ~]$rm root/inittab
[gz_fieldyang@ test ~]$ dd if=/etc/inittab of=/root/inittab
[gz_fieldyang@ test ~]$ cat root/inittab
实例2:备份还原mbr
[gz_fieldyang@ test ~]$dd if=/dev/sda of=/mnt/usb/mbr.backup bs=512 count=1
#备份mbr
[gz_fieldyang@ test ~]$dd if=/mnt/usb/mbr.backup of=/dev/sda bs=512 count=1
#还原mbr
实例3:创建出一个大小为1024M的虚拟的镜像文件,可直接启用起来
dd if=/dev/zero of=/var/swapfile bs=1M count=1024
[gz_fieldyang@ test ~]$ dd if=/dev/zero of=/var/swapfile bs=1M count=1024
#以1M为单位,创建1024个bs大小的分区
[gz_fieldyang@test ~]$ ls -lh /var/swapfile
[gz_fieldyang@test ~]$ mkswap /var/swapfile #mkswap命令在/var/swapfile
#设备上建立交换分区
[gz_fieldyang@test ~]$ free -m
#free 命令相对于top 提供了更简洁的查看系统内存使用情况
[gz_fieldyang@test ~]$ swapon /var/swapfile #swapon命令启用该交换分区
[gz_fieldyang@test ~]$ free -m
实例4:其他参数应用
[gz_fieldyang@ test ~]$ dd if=/dev/zero of=/var/swapfile2 seek=1023 bs=1M count=1024
[gz_fieldyang@ test ~]$ ls -lh /var/swapfile2
[gz_fieldyang@ test ~]$ dd if=/dev/zero of=/var/swapfile2 seek=1023 bs=1M count=1
[gz_fieldyang@ test ~]$ ls -lh /var/swapfile2
[gz_fieldyang@ test ~]$ rm /var/swapfile2
附:free命令:相对于top 提供了更简洁的查看系统内存使用情况
[gz_fieldyang@ test ~]$ free
total used free shared buffers cached
Mem: 2075608 2006420 69188 0 58580 1105924
-/+ buffers/cache: 841916 1233692
Swap: 2097144 552 2096592
[gz_fieldyang@ test ~]$ free -m
total used free shared buffers cached
Mem: 2026 1959 67 0 57 1079
-/+ buffers/cache: 822 1204
Swap: 2047 0 2047
[gz_fieldyang@ test ~]$
相关说明:
Mem:表示物理内存统计
-/+ buffers/cached:表示物理内存的缓存统计
Swap:表示硬盘上交换分区的使用情况
系统的总物理内存:2075608Kb(2026M),
但系统当前真正可用的内存并不是第一行free 标记的 69188Kb,它仅代表未被分配的内存。
我们将 Mem各项数据标记为1,-/+ buffers/cache各项数据标志为2,做进一步分析:
total1: 表示物理内存总量。
used1: 表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用。
free1: 未被分配的内存。
shared1: 共享内存,一般系统不会用到。
buffers1: 系统分配但未被使用的buffers 数量。
cached1: 系统分配但未被使用的cache 数量。
used2: 实际使用的buffers 与cache 总量,也是实际使用的内存总量。
free2: 未被使用的buffers 与cache 和未被分配的内存之和,这就是系统当前实际可用内存。
可以整理出如下等式:
total1 = used1 + free1
total1 = used2 + free2
used1 = buffers1 + cached1 + used2
free2 = buffers1 + cached1 + free1
cache 和 buffer的区别:
Cache: 高速缓存,是位于CPU与主内存间的一种容量较小但速度很高的存储器。
由于CPU的速度远高于主内存,CPU直接从内存中存取数据要等待一定时间周期,
Cache中保存着CPU刚用过或循环使用的一部分数据,
当CPU再次使用该部分数据时可从Cache中直接调用,这样就减少了CPU的等待时间,
提 高了系统的效率。Cache又分为一级Cache(L1 Cache)和二级Cache(L2 Cache),
L1 Cache集成在CPU内部,L2 Cache早期一般是焊在主板上,
现在也都集成在CPU内部,常见的容量有256KB或512KB L2 Cache。
Buffer:缓冲区,一个用于存储速度不同步的设备或优先级不同的设备之间传输数据的区域。
通过缓冲区,可以使进程之间的相互等待变少,从而使从速度慢的设备读入数据时,
速度快的设备的操作进程不发生间断。
Free中的buffer和cache:(它们都是占用内存):
buffer: 作为buffer cache的内存,是块设备的读写缓冲区
cache: 作为page cache的内存, 文件系统的cache