目录
1. cut 命令
cut命令是比较初级的,从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。
- -b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。(byte)
- -c :以字符为单位进行分割。
- -d :自定义分隔符,默认为制表符。(Delimiter)
- -f :与-d一起使用,指定显示哪个区域。(Field)
- -n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的
范围之内,该字符将被写出;否则,该字符将被排除
目前笔者常用的是,-d和-f的搭配。
-d和-f的搭配 例子:
即以'm'为分隔符,依次输出第一,第二和第三段字段。
-b 例子:
依次输出,第一、二、三、四和五个字节。
2. fdisk 命令
fdisk 是一个创建和维护分区表的程序。对于嵌入式Linux而言,它可以用来管理SD卡和emmc的分区。
常用的选项:
必要参数:
- -l 列出素所有分区表
菜单操作说明
- m :for help(显示菜单和帮助信息)
- d :delete a partition(删除分区)
- n :add a new partition(新建分区)
- p :print the partition table(显示分区信息)
- q :quit without saving changes(退出不保存)
- w :write table to disk and exit (保存修改)
- F :list free unpartitioned space(列出空闲的未分区空间)
- i :print information about a partition(输出某个分区的详细信息)
我们把玩开发板上的SD卡(emmc启动模式),先执行 fdisk -l
7.3GB的是emmc,14.6GB的是SD卡。SD卡设备名叫 /dev/mmcblk0,有2个分区:p1,p2.
我们操作这个SD卡设备
在command处输入p,查看了/dev/mmcblk0 的所有分区 和其他一些详细信息。Start,End代表某个分区的开始扇区号 以及 末尾扇区号。
我们删除2号分区:用 d 删除,再用 p 查看一下。 删除成功。
我们新建2号分区:用 n 新建
Last sector可以直接写 +10G,告诉系统你想要的容量,而不用自己计算扇区号。
最后,跟bootloader一样,我们要save changes,用 w
退出 fdisk, 但别忘了给新建的分区格式化一下:mkfs
至此,新的/dev/mmcblk0p2分区建好了。我们亦可以用 F 看看SD卡上有没有空闲空间,再 n 一个新分区3也是可以的。
3. dd 命令
dd 命令 可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。
参数说明:
- if=文件名:输入文件名,默认为标准输入。即指定源文件。
- of=文件名:输出文件名,默认为标准输出。即指定目的文件。
- ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。
obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。
bs=bytes:同时设置读入/输出的块大小为bytes个字节。- cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。
- skip=blocks:从输入文件开头跳过blocks个块后再开始复制。
- seek=blocks:从输出文件开头跳过blocks个块后再开始复制。
- count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。
- conv=<关键字>,关键字可以有以下11种:
- conversion:用指定的参数转换文件。
- ascii:转换ebcdic为ascii
- ebcdic:转换ascii为ebcdic
- ibm:转换ascii为alternate ebcdic
- block:把每一行转换为长度为cbs,不足部分用空格填充
- unblock:使每一行的长度都为cbs,不足部分用空格填充
- lcase:把大写字符转换为小写字符
- ucase:把小写字符转换为大写字符
- swap:交换输入的每对字节
- noerror:出错时不停止
- notrunc:不截短输出文件
- sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。
例子1: 制作启动盘
dd if=boot.img of=/dev/fd0 bs=1440k
例子2:文件内所有小写转大写