处理交换文件和分区

交换分区是系统RAM 的补充

基本设置包括:

创建交换分区或者文件

使用mkswap 写入特殊签名

在/etc/fstab 文件中添加适当的条目

使用swapon -a

挂载交换分区

启用:swapon

swapon [OPTION]... [DEVICE]

-a :激活所有的交换分区;

-p PRIORITY :指定优先级

/etc/fstab:pri=value

禁用:swapoff [OPTION]... [DEVICE]

  1. [root@station29 ~]# lsblk
  2. NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
  3. loop1 : 200M loop
  4. loop7 : 200M loop
  5. sr0 : .7G rom
  6. sda : 200G disk
  7. ├─sda1 : 200M part /boot
  8. ├─sda2 : 20G part /data
  9. ├─sda3 : 10G part /home
  10. ├─sda4 : 1K part
  11. ├─sda5 : 2G part [SWAP]
  12. └─sda6 : .8G part /
  13. sdb : 30G disk
  14. sdc : 20G disk
  15. ├─sdc1 : 1G part
  16. ├─sdc2 : 2G part
  17. ├─sdc3 : 3G part
  18. └─sdc4 : 109.8M part
  19. [root@station29 ~]# free
  20. total used free shared buffers cached
  21. Mem:
  22. -/+ buffers/cache:
  23. Swap:
  24. [root@station29 ~]# fdisk /dev/sdb (分区)
  25. Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
  26. Building a new DOS disklabel with disk identifier 0xdd4e370a.
  27. Changes will remain in memory only, until you decide to write them.
  28. After that, of course, the previous content won't be recoverable.
  29.  
  30. Warning: invalid flag 0x0000 of partition table will be corrected by w(rite)
  31.  
  32. WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
  33. switch off the mode (command 'c') and change display units to
  34. sectors (command 'u').
  35.  
  36. Command (m for help): n
  37. Command action
  38. e extended (逻辑分区)
  39. p primary partition (-) (主分区)
  40. p
  41. Partition number (-):
  42. First cylinder (-, default ):
  43. Using default value
  44. Last cylinder, +cylinders or +size{K,M,G} (-, default ): +2G
  45.  
  46. Command (m for help): p
  47.  
  48. Disk /dev/sdb: 32.2 GB, bytes
  49. heads, sectors/track, cylinders
  50. Units = cylinders of * = bytes
  51. Sector size (logical/physical): bytes / bytes
  52. I/O size (minimum/optimal): bytes / bytes
  53. Disk identifier: 0xdd4e370a
  54.  
  55. Device Boot Start End Blocks Id System
  56. /dev/sdb1 + Linux
  57.  
  58. Command (m for help): m
  59. Command action
  60. a toggle a bootable flag
  61. b edit bsd disklabel 编辑BSD磁盘标签
  62. c toggle the dos compatibility flag 切换DOS兼容性标志
  63. d delete a partition 删除分区
  64. l list known partition types 列出已知分区类型
  65. m print this menu 打印此菜单
  66. n add a new partition 添加一个新分区
  67. o create a new empty DOS partition table 创建一个新的空DOS分区表
  68. p print the partition table 打印分区表
  69. q quit without saving changes 退出不保存更改
  70. s create a new empty Sun disklabel 创建一个新的标识
  71. t change a partition's system id 更改分区的系统标识
  72. u change display/entry units 更改显示/输入单位
  73. v verify the partition table 验证分区表
  74. w write table to disk and exit 将表写入磁盘并退出
  75. x extra functionality (experts only) 额外的功能
  76.  
  77. Command (m for help): t
  78. Selected partition
  79. Hex code (type L to list codes): l
  80.  
  81. Empty NEC DOS Minix / old Lin bf Solaris
  82. FAT12 Plan Linux swap / So c1 DRDOS/sec (FAT-
  83. XENIX root 3c PartitionMagic Linux c4 DRDOS/sec (FAT-
  84. XENIX usr Venix OS/ hidden C: c6 DRDOS/sec (FAT-
  85. FAT16 <32M PPC PReP Boot Linux extended c7 Syrinx
  86. Extended SFS NTFS volume set da Non-FS data
  87. FAT16 4d QNX4.x NTFS volume set db CP/M / CTOS / .
  88. HPFS/NTFS 4e QNX4.x 2nd part Linux plaintext de Dell Utility
  89. AIX 4f QNX4.x 3rd part 8e Linux LVM df BootIt
  90. AIX bootable OnTrack DM Amoeba e1 DOS access
  91. a OS/ Boot Manag OnTrack DM6 Aux Amoeba BBT e3 DOS R/O
  92. b W95 FAT32 CP/M 9f BSD/OS e4 SpeedStor
  93. c W95 FAT32 (LBA) OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs
  94. e W95 FAT16 (LBA) OnTrackDM6 a5 FreeBSD ee GPT
  95. f W95 Ext'd (LBA) 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/
  96. OPUS Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b
  97. Hidden FAT12 5c Priam Edisk a8 Darwin UFS f1 SpeedStor
  98. Compaq diagnost SpeedStor a9 NetBSD f4 SpeedStor
  99. Hidden FAT16 < GNU HURD or Sys ab Darwin boot f2 DOS secondary
  100. Hidden FAT16 Novell Netware af HFS / HFS+ fb VMware VMFS
  101. Hidden HPFS/NTF Novell Netware b7 BSDI fs fc VMware VMKCORE
  102. AST SmartSleep DiskSecure Mult b8 BSDI swap fd Linux raid auto
  103. 1b Hidden W95 FAT3 PC/IX bb Boot Wizard hid fe LANstep
  104. 1c Hidden W95 FAT3 Old Minix be Solaris boot ff BBT
  105. 1e Hidden W95 FAT1
  106. Hex code (type L to list codes):
  107. Changed system type of partition to (Linux swap / Solaris)
  108.  
  109. Command (m for help): p
  110.  
  111. Disk /dev/sdb: 32.2 GB, bytes
  112. heads, sectors/track, cylinders
  113. Units = cylinders of * = bytes
  114. Sector size (logical/physical): bytes / bytes
  115. I/O size (minimum/optimal): bytes / bytes
  116. Disk identifier: 0xdd4e370a
  117.  
  118. Device Boot Start End Blocks Id System
  119. /dev/sdb1 + Linux swap / Solaris
  120.  
  121. Command (m for help): w
  122. The partition table has been altered! 分区表已更改
  123.  
  124. Calling ioctl() to re-read partition table.
  125. Syncing disks. 同步磁盘

SWAP 的优先级

可以指定swap 分区0 到32767 的优先级,值越大优先级越高

如果用户没有指定,那么核心会自动给swap 指定一个优先级,这个优先级从-1 开始,每加入一个新的没有用户指定优先级的swap ,会给这个优先级减一。

先添加的swap 的缺省优先级比较高,除非用户自己指定一个优先级,而用户指定的优先级( 是正数) 永远高于核心缺省指定的优先级( 是负数)。

优化性能:分布存放,高性能磁盘存放

  1. [root@station29 ~]# mkswap /dev/sdb1 -L swap2 (格式化文件系统)
  2. Setting up swapspace version , size = KiB
  3. LABEL=swap2, UUID=0c53f5bd-a767-4c19--260758d1c4f8
  4. [root@station29 ~]# blkid
  5. /dev/sda6: UUID="1fd1710f-ff1a-4eba-94f8-c57ecc05d6c6" TYPE="ext4"
  6. /dev/sda1: UUID="34e5ffbe-c2b3-4745-89bc-1811245ae758" TYPE="ext4"
  7. /dev/sda2: UUID="abf30893-850f-4a50-9a0c-e5e153873eb4" TYPE="ext4"
  8. /dev/sda3: UUID="53e082c2-f1fc-4b96-aa31-d9071dc6355c" TYPE="ext4"
  9. /dev/sda5: UUID="7a8216c5-6781-4494-b2da-fda672f117ad" TYPE="swap"
  10. /dev/sdc1: UUID="868e4945-13c6-41c9-8b4b-62e6180e3838" TYPE="ext4"
  11. /dev/sdc2: UUID="79690db4-ae07-4c5d-8a8c-667c60b58e49" SEC_TYPE="ext2" TYPE="ext3"
  12. /dev/sdc4: UUID="5f4df3af-f8a8-42cb-a391-79974b5c1aa2" TYPE="ext4"
  13. /dev/loop1: SEC_TYPE="msdos" UUID="5926-C9E7" TYPE="vfat"
  14. /dev/loop7: SEC_TYPE="msdos" UUID="5926-C9E7" TYPE="vfat"
  15. /dev/sdb1: LABEL="swap2" UUID="0c53f5bd-a767-4c19-8962-260758d1c4f8" TYPE="swap"
  16.  
  17. [root@station29 ~]# vim /etc/fstab
  18. UUID=53e082c2-f1fc-4b96-aa31-d9071dc6355c /home ext4 defaults
  19. UUID=7a8216c5---b2da-fda672f117ad swap swap defaults
  20. tmpfs /dev/shm tmpfs defaults
  21. devpts /dev/pts devpts gid=,mode=
  22. sysfs /sys sysfs defaults
  23. proc /proc proc defaults
  24. UUID="0c53f5bd-a767-4c19-8962-260758d1c4f8" swap swap defaults (加优先级)
  25.  
  26. [root@station29 ~]# swapon -a (激活交换空间)
  27. [root@station29 ~]# free
  28. total used free shared buffers cached
  29. Mem:
  30. -/+ buffers/cache:
  31. Swap:
  32. [root@station29 ~]# swapon -s (查看)
  33. Filename Type Size Used Priority
  34. /dev/sda5 partition - (优先级高)
  35.  
  36. /dev/sdb1 partition -
  37.  
  38. [root@station29 ~]# vim /etc/fstab
  39. 输入 :r!blkid /dev/sda1
  40. proc /proc proc defaults
  41. UUID="0c53f5bd-a767-4c19-8962-260758d1c4f8" swap swap defaults,pri=
  42.  
  43. [root@station29 ~]# vim /etc/fstab
  44. [root@station29 ~]# swapon -s
  45. Filename Type Size Used Priority
  46. /dev/sda5 partition -
  47. /dev/sdb1 partition -
  48. [root@station29 ~]# swapoff /dev/sdb1 (禁用/dev/sdb1
  49. [root@station29 ~]# swapon -a
  50. [root@station29 ~]# swapon -s
  51. Filename Type Size Used Priority
  52. /dev/sda5 partition -
  53. /dev/sdb1 partition

 禁用swap

  1. [root@station29 ~]# swapoff /dev/sdb1
  2. [root@station29 ~]# free
  3. total used free shared buffers cached
  4. Mem:
  5. -/+ buffers/cache:
  6. Swap:
  7.  
  8. [root@station29 ~]# vim /etc/fstab
  9. sysfs /sys sysfs defaults
  10. proc /proc proc defaults
  11.  
  12. [root@station29 ~]# fdisk /dev/sdb
  13.  
  14. WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
  15. switch off the mode (command 'c') and change display units to
  16. sectors (command 'u').
  17.  
  18. Command (m for help): d
  19. Selected partition
  20.  
  21. Command (m for help): w
  22. The partition table has been altered!
  23.  
  24. Calling ioctl() to re-read partition table.
  25. Syncing disks.
  26.  
  27. [root@station29 ~]# free
  28. total used free shared buffers cached
  29. Mem:
  30. -/+ buffers/cache:
  31. Swap:
  32.  
  33. root@station29 ~]# blkid
  34. /dev/sda6: UUID="1fd1710f-ff1a-4eba-94f8-c57ecc05d6c6" TYPE="ext4"
  35. /dev/sda1: UUID="34e5ffbe-c2b3-4745-89bc-1811245ae758" TYPE="ext4"
  36. /dev/sda2: UUID="abf30893-850f-4a50-9a0c-e5e153873eb4" TYPE="ext4"
  37. /dev/sda3: UUID="53e082c2-f1fc-4b96-aa31-d9071dc6355c" TYPE="ext4"
  38. /dev/sda5: UUID="7a8216c5-6781-4494-b2da-fda672f117ad" TYPE="swap"
  39. /dev/sdc1: UUID="868e4945-13c6-41c9-8b4b-62e6180e3838" TYPE="ext4"
  40. /dev/sdc2: UUID="79690db4-ae07-4c5d-8a8c-667c60b58e49" SEC_TYPE="ext2" TYPE="ext3"
  41. /dev/sdc4: UUID="5f4df3af-f8a8-42cb-a391-79974b5c1aa2" TYPE="ext4"
  42. /dev/loop1: SEC_TYPE="msdos" UUID="5926-C9E7" TYPE="vfat"
  43. /dev/loop7: SEC_TYPE="msdos" UUID="5926-C9E7" TYPE="vfat"

没有内存情况下添加文件swap

  1. [root@station29 ~]# dd if=/dev/zero of=/swapfile bs=1M count=
  2. + records in
  3. + records out
  4. bytes (2.1 GB) copied, 58.5699 s, 36.7 MB/s
  5. [root@station29 ~]# mkswap /swapfile
  6. mkswap: /swapfile: warning: don't erase bootbits sectors
  7. on whole disk. Use -f to force.
  8. Setting up swapspace version , size = KiB
  9. no label, UUID=3af09d92-ec2d--b000-6057b81a6ff8
  10. [root@station29 ~]# blkid /swapfile
  11. /swapfile: UUID="3af09d92-ec2d-4052-b000-6057b81a6ff8" TYPE="swap"
  12. [root@station29 ~]# vim /etc/fstab
  13. proc /proc proc defaults
  14. /swapfile swap swap defaults
  15. [root@station29 ~]# swapon -a
  16. [root@station29 ~]# swapon -s 查看
  17. Filename Type Size Used Priority
  18. /dev/sda5 partition -
  19. /swapfile file -

删除文件swap

  1. [root@station29 ~]# swapoff /swapfile
  2. [root@station29 ~]# swapon -s
  3. Filename Type Size Used Priority
  4. /dev/sda5 partition -
  5. [root@station29 ~]# vim /etc/fstab
  6. proc /proc proc defaults
  7.  
  8. [root@station29 ~]# rm -f /swapfile

移动介质

挂载意味着使外来的文件系统看起来如同是主目录树的一部分

访问前、介质必须被挂载

摘除时,介质必须被卸载

按照默认设置,非根用户只能挂载某些设备(光盘、DVD 、软盘、USB 等等)

挂载点通常在/media  或/mnt下

挂载USB 介质

查看USB 设备是否识别

lsusb

被内核探测为SCSI 设备

/dev/sdaX 、/dev/sdbX 、或类似的设备文件

在图形环境中自动挂载

图标在[ 计算机] 窗口中创建

挂载在/run/media/<user>/<label>

手动挂载

mount /dev/sdb1 /mnt

插入U盘

  1. [root@station29 ~]# lsblk
  2. NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
  3. sdc : 20G disk
  4. ├─sdc1 : 1G part
  5. ├─sdc2 : 2G part
  6. ├─sdc3 : 3G part
  7. └─sdc4 : 109.8M part
  8. sdd : .9G disk
  9. └─sdd1 : .9G part
  10.  
  11. [root@station29 ~]# tail /var/log/messages 或从日志中查看
  12. Apr :: station29 kernel: USB Mass Storage support registered.
  13. Apr :: station29 kernel: scsi :::: Direct-Access Kingston DataTraveler 3.0 PMAP PQ: ANSI:
  14. Apr :: station29 kernel: sd :::: Attached scsi generic sg4 type
  15. Apr :: station29 kernel: sd :::: [sdd] -byte logical blocks: (31.0 GB/28.9 GiB)
  16. Apr :: station29 kernel: sd :::: [sdd] Write Protect is off
  17. [root@station29 ~]# lsusb 查看USB设备是否识别
  18. Bus Device : ID : Kingston Technology DataTraveler G4
  19.  
  20. [root@station29 mnt]# mount /dev/sdd1 /mnt/file
  21. [root@station29 mnt]# cd /mnt/file
  22. [root@station29 file]# ls
  23. ??????.pdf 3.22 3.24 3.27 summary System Volume Information ??vmware??????.pdf
  24. [root@station29 file]# cd
  25. [root@station29 ~]# sync (强制写磁盘)
  26. [root@station29 ~]# sync
  27. [root@station29 ~]# sync
  28. [root@station29 ~]# umount /mnt/file (取消挂载)

使用光盘

在图形环境下自动启动挂载/run/media/<user>/<label>

否则就必须被手工挂载

mount /dev/cdrom /mnt/

eject 命令卸载或弹出磁盘

创建ISO 文件

cp /dev/cdrom /root/centos7.iso

mkisofs -r -o /root/etc.iso /etc

刻录光盘

wodim –v –eject centos.iso

cdrecord  也可用作刻录光盘

生产iso镜像

  1. [root@station29 ~]# cp /dev/sr0 /root/centos6.iso

可将镜像传至U盘

  1. [root@station29 ~]# dd if=centos6.iso of=/dev/sdd

机房服务器过多,且有一台硬盘出现问题时,可用eject弹出光驱,以便查找故障机器

  1. [root@station29 ~]# eject /dev/ sr0 (弹出光驱)
  2. [root@station29 ~]# eject -t /dev/ sr0 (弹入光驱)

常见工具

内存空间使用状态:

free [OPTION]

  1. [root@station29 ~]# free K为单位
  2. total used free shared buffers cached
  3. Mem:
  4. -/+ buffers/cache:
  5. Swap:  

-m:  以MB 为单位

  1. [root@station29 ~]# free -m
  2. total used free shared buffers cached
  3. Mem:
  4. -/+ buffers/cache:
  5. Swap:

-g:  以GB 为单位

  1. [root@station29 ~]# free -g
  2. total used free shared buffers cached
  3. Mem:
  4. -/+ buffers/cache:
  5. Swap:

文件系统空间占用等信息的查看工具:

df [OPTION]... [FILE]...

-H  以1000 为单位 10次方

  1. [root@station29 ~]# df -H
  2. Filesystem Size Used Avail Use% Mounted on
  3. /dev/sda6 178G .2G 165G % /
  4. tmpfs 976M 74k 976M % /dev/shm
  5. /dev/sda1 199M 37M 153M % /boot
  6. /dev/sda2 22G 47M 20G % /data
  7. /dev/sda3 11G 42M .9G % /home

-T  文件系统类型

  1. [root@station29 ~]# df -T
  2. Filesystem Type 1K-blocks Used Available Use% Mounted on
  3. /dev/sda6 ext4 % /
  4. tmpfs tmpfs % /dev/shm
  5. /dev/sda1 ext4 % /boot
  6. /dev/sda2 ext4 % /data
  7. /dev/sda3 ext4 % /home

-h: human-readable 人类可读的方式 2次方

  1. [root@station29 ~]# df -h
  2. Filesystem Size Used Avail Use% Mounted on
  3. /dev/sda6 166G .9G 153G % /
  4. tmpfs 931M 72K 931M % /dev/shm
  5. /dev/sda1 190M 35M 146M % /boot
  6. /dev/sda2 20G 44M 19G % /data
  7. /dev/sda3 .8G 40M .2G % /home

-i :inodes instead of blocks

  1. [root@station29 ~]# df -i 查看inode节点使用
  2. Filesystem Inodes IUsed IFree IUse% Mounted on
  3. /dev/sda6 % /
  4. tmpfs % /dev/shm
  5. /dev/sda1 % /boot
  6. /dev/sda2 % /data
  7. /dev/sda3 % /home
  8. [root@station29 ~]# df -ih
  9. Filesystem Inodes IUsed IFree IUse% Mounted on
  10. /dev/sda6 11M 101K 11M % /
  11. tmpfs 233K 233K % /dev/shm
  12. /dev/sda1 50K 50K % /boot
  13. /dev/sda2 1.3M 1.3M % /data
  14. /dev/sda3 640K .1K 639K % /home

-P:  以Posix 兼容的格式输出

  1. [root@station29 ~]# df -P
  2. Filesystem -blocks Used Available Capacity Mounted on
  3. /dev/sda6 % /
  4. tmpfs % /dev/shm
  5. /dev/sda1 % /boot
  6. /dev/sda2 % /data
  7. /dev/sda3 % /home 

查看某目录总体空间占用状态:每个子文件夹的大小

du [OPTION]... DIR

-h: human-readable

-s: summary 汇总

  1. [root@station29 ~]# du -sh 统计整个目录大小
  2. 401M .

统计根下每个文件夹的大小

  1. [root@station29 ~]# du -sh /*
  2. 11M /apps
  3. 7.7M /bin
  4. 33M /boot
  5. 60K /data
  6. 336K /dev
  7. 41M /etc
  8. 18M /home

工具dd

dd 命令:convert and copy a file 转换和复制文件

用法:

dd if=/PATH/FROM/SRC of=/PATH/TO/DEST

  1. [root@station29 ~]# dd if=/etc/issue of=f1
  2. + records in
  3. + records out
  4. bytes ( B) copied, 0.000178632 s, kB/s
  5. [root@station29 ~]# cat f1
  6. CentOS release 6.8 (Final)
  7. Kernel \r on an \m

bs=# :block size,  复制单元大小

count=# :复制多少个bs

of=file 写到所命名的文件而不是到标准输出

if=file 从所命名文件读取而不是从标准输入

  1. [root@station29 ~]# cat a1
  2. abcdef
  3. [root@station29 ~]# cat a2
  4.  
  5. [root@station29 ~]# dd if=a1 of=a2 a1中的内容将把a2内容全覆盖
  6. + records in
  7. + records out
  8. bytes ( B) copied, 0.000252869 s, 27.7 kB/s
  9. [root@station29 ~]# cat a2
  10. abcdef

bs=size 指定块大小(既是是ibs 也是obs)

ibs=size 一次读size 个byte

obs=size 一次写size 个byte

cbs=size 一次转化size 个byte

skip=blocks 从开头忽略blocks 个ibs 大小的块

seek=blocks 从开头忽略blocks 个obs 大小的块

count=n 只拷贝n 个记录

  1. [root@station29 ~]# cat a1
  2. abcdef
  3. [root@station29 ~]# cat a2
  4.  
  5. [root@station29 ~]# dd if=a1 of=a2 bs= count= skip= seek=
  6. + records in
  7. + records out
  8. bytes ( B) copied, 0.000143496 s, 13.9 kB/s
  9. [root@station29 ~]# cat a2
  10. 1234de

conv=conversion[,conversion...]  用指定的参数转换文件

转换参数:

ascii 换 转换 EBCDIC 为 为 ASCII

ebcdic 换 转换 ASCII 为 为 EBCDIC

block  转换一行数据为长度为 cbs  的记录,不足部分用空格填充。

unblock 替代cbs 长度的每一行尾的空格为新行

lcase  把大写字符转换为小写字符

ucase  把小写字符转换为大写字符

  1. [root@station29 ~]# cat a1
  2. abcdef
  3. [root@station29 ~]# cat a2
  4. 1234de789
  5. [root@station29 ~]# dd if=a1 of=a2 conv=ucase
  6. + records in
  7. + records out
  8. bytes ( B) copied, 0.00020576 s, 34.0 kB/s
  9. [root@station29 ~]# cat a2
  10. ABCDEF 

nocreat  不创建输出文件

noerror  出错时不停止

notrunc  不截短输出文件

  1. [root@station29 ~]# cat a1
  2. abcdef
  3. [root@station29 ~]# cat a2
  4.  
  5. [root@station29 ~]# dd if=a1 of=a2 bs= count= skip= seek= conv=notrunc
  6. + records in
  7. + records out
  8. bytes ( B) copied, 0.000428027 s, 4.7 kB/s
  9. [root@station29 ~]# cat a1
  10. abcdef
  11. [root@station29 ~]# cat a2
  12. 1234de789

sync  把每个输入块填充到ibs 个字节,不足部分用空(NUL) 字符补齐

备份MBR:

dd if=/dev/sda of=/tmp/mbr.bak bs=512 count=1

破坏MBR 中的bootloader:

dd if=/dev/zero of=/dev/sda bs=64 count=1seek=446

有一个大与2K 的二进制文件fileA。现在想从第64 个字节位置开始读取,需要读取的大小是128Byts 。又有fileB,  想把上面读取到的128Bytes 写到第32个字节开始的位置,替换128Bytes ,请问如何实现?

#dd if=fileA of=fileB bs=1 count=128 skip=63 seek=31 conv=notrunc

备份:

dd if=/dev/sdx of=/dev/sdy

将本地的/dev/sdx 整盘备份到/dev/sdy

dd if=/dev/sdx of=/path/to/image

将/dev/sdx 全盘数据备份到指定路径的image 文件

dd if=/dev/sdx | gzip >/path/to/image.gz

备份/dev/sdx 全盘数据,并利用gzip 工具进行压缩,保存到指定路径

恢复:

dd if=/path/to/image of=/dev/sdx

将备份文件恢复到指定盘

gzip -dc /path/to/image.gz | dd of=/dev/sdx

将压缩的备份文件恢复到指定盘

拷贝内存资料到硬盘

dd if=/dev/mem of=/root/mem.bin bs=1024

将内存里的数据拷贝到root 目录下的mem.bin 文件

从光盘拷贝iso 镜像

dd if=/dev/cdrom of=/root/cd.iso

拷贝光盘数据到root 文件夹下,并保存为cd.iso 文件

销毁磁盘数据

dd if=/dev/urandom of=/dev/sda1

利用随机的数据填充硬盘,在某些必要的场合可以用来销毁数据,执行此操作以后,/dev/sda1 将无法挂载,创建和拷贝操作无法执行

得到最恰当的block size

dd if=/dev/zero bs=1024 count=1000000

of=/root/1Gb.file

dd if=/dev/zero bs=2048 count=500000

of=/root/1Gb.file

dd if=/dev/zero bs=4096 count=250000

of=/root/1Gb.file

通过比较dd 指令输出中所显示的命令执行时间,即可确定系统最佳的block size

测试硬盘读写速度

dd if=/dev/zero of=/root/1Gb.file bs=1024 count=1000000

dd if=/root/1Gb.file bs=64k | dd of=/dev/null

通过上两个命令输出的执行时间,可以计算出测试硬盘的写/读/速度

修复硬盘

dd if=/dev/sda of=/dev/sda

当硬盘较长时间(比如1,2 年)放置不使用后,磁盘上会产生消磁点。当磁头读到这些区域时会遇到困难,并可能导致I/O 错误。当这种情况影响到硬盘的第一个扇区时,

可能导致硬盘报废。上边的命令有可能使这些数据起死回生,且这个过程是安全高效的。

swap与dd命令使用详解的更多相关文章

  1. dd命令使用详解

    dd命令使用详解 http://www.cnblogs.com/qq78292959/archive/2012/02/23/2364760.html 1.命令简介 dd 的主要选项: 指定数字的地方若 ...

  2. Linux 下的dd命令使用详解(摘录)

    一.dd命令的解释 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512:c=1:k=1024:w=2 参数注释: 1. ...

  3. linux dd命令实用详解

    linux dd命令刻录启动U盘详解 dd命令做usb启动盘十分方便,只须:sudo dd if=xxx.iso of=/dev/sdb bs=1M 用以上命令前必须卸载u盘,sdb是你的u盘,bs= ...

  4. Linux 下的dd命令使用详解(摘录)【转】

    转自:https://www.cnblogs.com/jikexianfeng/p/6103500.html 一.dd命令的解释 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意 ...

  5. Linux 下的dd命令使用详解

    转自:https://www.cnblogs.com/jikexianfeng/p/6103500.html 一.dd命令的解释 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意 ...

  6. (转) Linux 下的dd命令使用详解(摘录)

    使用dd命令克隆整个系统------http://www.cnblogs.com/jikexianfeng/p/6103504.html 原文:https://www.cnblogs.com/jike ...

  7. linux下的dd命令使用详解

    一.dd命令的解释 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512:c=1:k=1024:w=2 参数注释: 1. ...

  8. 【转】linux 中dd命令使用详解

    原文网址:http://xiaozhuang.blog.51cto.com/4396589/850657 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究 ...

  9. dd if=/dev/zero of=的含义是什么?Linux 下的dd命令使用详解

    http://blog.sina.com.cn/s/blog_8b5bb24f01016y3o.html 一.dd命令的解释 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意:指 ...

随机推荐

  1. 分类算法——k最近邻算法(Python实现)(文末附工程源代码)

    kNN算法原理 k最近邻(k-Nearest Neighbor)算法是比较简单的机器学习算法.它采用测量不同特征值之间的距离方法进行分类,思想很简单:如果一个样本在特征空间中的k个最近邻(最相似)的样 ...

  2. JavaScript 简介及语法语句

    JS脚本语言 全称JavaScript:网页里面使用的脚本语言                      非常强大的语言 基础语法 注释语法    单行注释//    多行注释/**/输出语法     ...

  3. require include php5中最新区别,百度上好多错的。

    二者报错机制不同,include是warning 继续执行程序,require会报致命错误,中断程序运行. 前者有返回值,后者则没有. 注意了,php5里有一个区别没了,之前说的是require是无条 ...

  4. ReentrantLock源码分析与理解

    在上面一篇分析ThreadExecutedPool的文章中我们看到线程池实现源码中大量使用了ReentrantLock锁,那么ReentrantLock锁的优势是什么?它又是怎么实现的呢? Reent ...

  5. NTP时间服务器

    1. NTP简介 NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议.它的用途是把计算机的时钟同步到世界协调时UTC,其精度在局域网内可达0 ...

  6. webService请求方式快速生成代码 (Postman)

    Postman 这个东西只能在外网下载,是Goole一个插件. 1.FQ到外网,这里就不具体介绍怎么FQ了 2.上到谷歌浏览器,找到更过工具--->扩张程序--->获取更多扩张程序 3.在 ...

  7. ASP.NET Core 网站在Docker中运行

    Docker作为新一代的虚拟化方式,未来肯定会得到广泛的应用,传统虚拟机的部署方式要保证开发环境.测试环境.UAT环境.生产环境的依赖一致性,需要大量的运维人力,使用Docker我们可以实现一次部署, ...

  8. Doxygen + Graphviz windows下安装配置(图解)

    查看一些开源代码经常被一些函数的调用关系给绕进去,经过网上查阅资料,发现了这个好用的方法,拿出来和大家分享下安装和应用的过程. 本人常用windows系统,所以主要讲解下windows下相关的内容 要 ...

  9. 第一个SignalR案例

    说明:开发的案例为Hub(集线器) 一.开发环境 VS2013  ,window10 二.步骤 打开vs创建一个新的解决方案,添加一个空的WebForm项目. 使用NuGet添加引用.命令:PM> ...

  10. 时间同步方法及几个可用的NTP服务器地址

    大家都知道计算机电脑的时间是由一块电池供电保持的,而且准确度比较差经常出现走时不准的时候.通过互联网络上发布的一些公用网络时间服务器NTP server,就可以实现自动.定期的同步本机标准时间. 依靠 ...