Linux/UNIX命令dd简介
http://linux.chinaunix.net/doc/system/2005-02-03/1086.shtml
dd 是 Linux/UNIX
下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
dd 的主要选项:
指定数字的地方
若以下列字符结尾乘以相应的数字:
b=512, c=1, k=1024, w=2, xm=number m
if=file
输
入文件名,缺省为标准输入。
of=file
输出文件名,缺省为标准输出。
ibs=bytes
一次读入
bytes 个字节(即一个块大小为 bytes 个字节)。
obs=bytes
一次写 bytes 个字节(即一个块大小为
bytes 个字节)。
bs=bytes
同时设置读写块的大小为 bytes ,可代替 ibs 和 obs 。
cbs=bytes
一
次转换 bytes 个字节,即转换缓冲区大小。
skip=blocks
从输入文件开头跳过 blocks 个块后再开始复制。
seek=blocks
从
输出文件开头跳过 blocks 个块后再开始复制。(通常只有当输出文件是磁盘或磁带时才有效)
count=blocks
仅拷
贝 blocks 个块,块大小等于 ibs 指定的字节数。
conv=conversion[,conversion...]
用
指定的参数转换文件。
转换参数:
ascii 转换 EBCDIC 为 ASCII。
ebcdic 转换
ASCII 为 EBCDIC。
ibm 转换 ASCII 为 alternate EBCDIC.
block
把每一行转换为长度为 cbs 的记录,不足部分用空格填充。
unblock
使每一行的长度都为 cbs
,不足部分用空格填充。
lcase 把大写字符转换为小写字符。
ucase 把小写字符转换为大写字符。
swab
交换输入的每对字节。 Unlike the
Unix dd, this works when an odd number of
bytes
are read. If the input file contains
an odd number of bytes, the
last byte is
simply copied (since there is nothing to
swap it
with).
noerror
出错时不停止。
notrunc
不截短输出文件。
sync
把每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。
由于 dd
命令允许二进制方式读写,所以特别适合在原始物理设备上进行输入/输出。例如可以用下面的命令为软盘建立镜像文件:
dd if=/dev/fd0
of=disk.img bs=1440k
有趣的是,这个镜像文件能被 HD-Copy ,Winimage
等工具软件读出。再如把第一个硬盘的前 512 个字节存为一个文件:
dd if=/dev/hda of=disk.mbr bs=512
count=1
相关文档:
2009 年 4 月 23 日
本文中我们针对 Linux 上多线程编程的主要特性总结出 5 条经验,用以改善 Linux 多线程编程的习惯和避免其中的开发陷阱。在本文中,我们穿插一些 Windows 的编程用例用以对比 Linux 特性,以加深读者印象。
背景
Linux 平台上的多线程程序开发相对应其他平台(比如 Windows)的多线程 API 有一些细微 ......
从网上下了一些学习资料,都是文本文件,用 gedit 查看都是乱码,用vim可以正常显示,我知道这是 gedit没有添加相应支持的内码,我也不想加了,用vim还是多一点,但是如果要copy 到手机上可能也会乱码,最好保险的做法是把它转成标准的编码格式 utf-8.
首先我们如何知道文件的编码格式呢,在 vim 里 命令 :set fileencodin ......
备用。
只有相同用户才能实现设备的同时打开。
pcm.!dmix {
type dmix
ipc_key 5678293
ipc_key_add_uid yes
slave {
pcm "hw:0,0"
period_time 0
period_size 2048
buffer_size 16384
format S16_LE
rate 48000
}
}
pcm.!dsnoop {
type dsnoop
ipc_key 5778293
ipc_key_add_uid yes
slave {
pcm "hw:0 ......
1. 摘要
本文阐述
Linux 中的文件系统部分,源代码来自基于 IA32 的 2.4.20 内核。总体上说 Linux
下的文件系统主要可分为三大块:一是上层的文件系统的系统调用,二是虚拟文件系统 VFS(Virtual Filesystem
Switch),三是挂载到 VFS 中的各实际文件系统,例如 ext2,jffs 等。本文侧重于通过具体的代码分析来解释 Linux ......
A. 为什么要在Linux使用Eclipse开发C/C++程序?
Linux是一个以C/C++开发为主的平台,无论是Kernel或是Application,主要都使用C/C++开发。传统在Linux下开发程序,是在文字模式下,利用vi等文字编辑器撰写C/C++程序存盘后,在Command line下使用gcc编译,若要debug,则使用gdb。
这种开发方式生产力并不高,若只是开发学 ......