dd命令详解及实例

dd命令详解及实例
dd命令详解及实例

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

(2012-07-25 18:08:36)

分类: linux

标签:

it

一、dd命令的解释

dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。

注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512;c=1;k=1024;w=2 参数注释:

1. if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >

2. of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >

3. ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。

obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。

bs=bytes:同时设置读入/输出的块大小为bytes个字节。

4. cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。

5. skip=blocks:从输入文件开头跳过blocks个块后再开始复制。

6. seek=blocks:从输出文件开头跳过blocks个块后再开始复制。

注意:通常只用当输出文件是磁盘或磁带时才有效,即备份到磁盘或磁带时才有效。

7. count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。

8. conv=conversion:用指定的参数转换文件。

ascii:转换ebcdic为ascii

ebcdic:转换ascii为ebcdic

ibm:转换ascii为alternate ebcdic

block:把每一行转换为长度为cbs,不足部分用空格填充

unblock:使每一行的长度都为cbs,不足部分用空格填充

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

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

swab:交换输入的每对字节

noerror:出错时不停止

notrunc:不截短输出文件

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

二、dd应用实例

1.将本地的/dev/hdb整盘备份到/dev/hdd

#dd if=/dev/hdb of=/dev/hdd

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

#dd if=/dev/hdb of=/root/image

3.将备份文件恢复到指定盘

#dd if=/root/image of=/dev/hdb

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

#dd if=/dev/hdb | gzip > /root/image.gz

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

#gzip -dc /root/image.gz | dd of=/dev/hdb

6.备份与恢复MBR

备份磁盘开始的512个字节大小的MBR信息到指定文件:

#dd if=/dev/hda of=/root/image count=1 bs=512

count=1指仅拷贝一个块;bs=512指块大小为512个字节。

恢复:

#dd if=/root/image of=/dev/had

将备份的MBR信息写到磁盘开始部分

7.备份软盘

#dd if=/dev/fd0 of=disk.img count=1 bs=1440k (即块大小为1.44M)

8.拷贝内存内容到硬盘

#dd if=/dev/mem of=/root/mem.bin bs=1024 (指定块大小为1k)

9.拷贝光盘内容到指定文件夹,并保存为cd.iso文件

#dd if=/dev/cdrom(hdc) of=/root/cd.iso

10.增加swap分区文件大小

第一步:创建一个大小为256M的文件:

#dd if=/dev/zero of=/swapfile bs=1024 count=262144

第二步:把这个文件变成swap文件:

#mkswap /swapfile

第三步:启用这个swap文件:

#swapon /swapfile

第四步:编辑/etc/fstab文件,使在每次开机时自动加载swap文件:

/swapfile swap swap default 0 0

11.销毁磁盘数据

#dd if=/dev/urandom of=/dev/hda1

注意:利用随机的数据填充硬盘,在某些必要的场合可以用来销毁数据。

12.测试硬盘的读写速度

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

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

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

13.确定硬盘的最佳块大小:

#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 if=/dev/zero bs=8192 count=125000 of=/root/1Gb.file

通过比较以上命令输出中所显示的命令执行时间,即可确定系统最佳的块大小。

14.修复硬盘:

#dd if=/dev/sda of=/dev/sda 或dd if=/dev/hda of=/dev/hda

当硬盘较长时间(一年以上)放置不使用后,磁盘上会产生magnetic flux point,当磁头读到这些区域时会遇到困难,并可能导致I/O错误。当这种情况影响到硬盘的第一个扇区时,可能导致硬盘报废。上边的命令有可能使这些数据起死回生。并且这个过程是安全、高效的。

15.利用netcat远程备份

#dd if=/dev/hda bs=16065b | netcat < targethost-IP > 1234

在源主机上执行此命令备份/dev/hda

#netcat -l -p 1234 | dd of=/dev/hdc bs=16065b

在目的主机上执行此命令来接收数据并写入/dev/hdc

#netcat -l -p 1234 | bzip2 > partition.img

#netcat -l -p 1234 | gzip > partition.img

以上两条指令是目的主机指令的变化分别采用bzip2、gzip对数据进行压缩,并将备份文件保存在当前目录。

将一个很大的视频文件中的第i个字节的值改成0x41(也就是大写字母A的ASCII值)

echo A | dd of=bigfile seek=$i bs=1 count=1 conv=notrunc

三、/dev/null和/dev/zero的区别

/dev/null,外号叫无底洞,你可以向它输出任何数据,它通吃,并且不会撑着!

/dev/zero,是一个输入设备,你可你用它来初始化文件。该设备无穷尽地提供0,可以使用任何你需要的数目——设备提供的要多的多。他可以用于向设备或文件写入字符串0。

/dev/null------它是空设备,也称为位桶(bit bucket)。任何写入它的输出都会被抛弃。如果不想

让消息以标准输出显示或写入文件,那么可以将消息重定向到位桶。

#if=/dev/zero of=./test.txt bs=1k count=1

#ls –l

total 4

-rw-r--r-- 1 oracle dba 1024 Jul 15 16:56 test.txt

#find / -name access_log 2>/dev/null

3.1使用/dev/null

把/dev/null看作"黑洞",它等价于一个只写文件,所有写入它的内容都会永远丢失.,而尝试从它那儿读取内容则什么也读不到。然而,/dev/null对命令行和脚本都非常的有用

l 禁止标准输出

#cat $filename >/dev/null

文件内容丢失,而不会输出到标准输出.

l 禁止标准错误

#rm $badname 2>/dev/null

这样错误信息[标准错误]就被丢到太平洋去了

l 禁止标准输出和标准错误的输出

#cat $filename 2>/dev/null >/dev/null

如果"$filename"不存在,将不会有任何错误信息提示;如果"$filename"存在,文件的内容不会打印到标准输出。

因此,上面的代码根本不会输出任何信息。当只想测试命令的退出码而不想有任何输出时非常有

用。

#cat $filename &>/dev/null

这样其实也可以,由Baris Cicek 指出

自动清空日志文件的内容

l Deleting contents of a file, but preserving the file itself, with all attendant permissions(from

Example 2-1 and Example 2-3):

#cat /dev/null > /var/log/messages

# : > /var/log/messages 有同样的效果,但不会产生新的进程.(因为:是内建的)

#cat /dev/null > /var/log/wtmp

隐藏cookie而不再使用

特别适合处理这些由商业Web站点发送的讨厌的"cookies"

#if [ -f ~/.netscape/cookies ] # 如果存在则删除.

#then

#rm -f ~/.netscape/cookies

#fi

#ln -s /dev/null ~/.netscape/cookies

现在所有的cookies都会丢入黑洞而不会保存在磁盘上了.

3.2使用/dev/zero

像/dev/null一样,/dev/zero也是一个伪文件,但它实际上产生连续不断的null的流(二进制的零流,而不是ASCII型的)。写入它的输出会丢失不见,而从/dev/zero读出一连串的null也比较困难,虽然这也能通过od或一个十六进制编辑器来做到。/dev/zero主要的用处是用来创建一个指定长度用于初始化的空文件,就像临时交换文件。

用/dev/zero创建一个交换临时文件

#!/bin/bash

# 创建一个交换文件.

ROOT_UID=0 # Root 用户的$UID 是0.

E_WRONG_USER=65 # 不是root?

FILE=/swap

BLOCKSIZE=1024

MINBLOCKS=40

SUCCESS=0

# 这个脚本必须用root来运行.

if [ "$UID" -ne "$ROOT_UID" ]

then

echo; echo "You must be root to run this script."; echo

exit $E_WRONG_USER

fi

blocks=${1:-$MINBLOCKS} # 如果命令行没有指定,

#+ 则设置为默认的40块.

# 上面这句等同如:

# --------------------------------------------------

# if [ -n "$1" ]

# then

# blocks=$1

# else

# blocks=$MINBLOCKS

# fi

# --------------------------------------------------

if [ "$blocks" -lt $MINBLOCKS ]

then

blocks=$MINBLOCKS # 最少要有40 个块长.

fi

echo "Creating swap file of size $blocks blocks (KB)."

dd if=/dev/zero of=$FILE bs=$BLOCKSIZE count=$blocks # 把零写入文件.

mkswap $FILE $blocks # 将此文件建为交换文件(或称交换分区).

swapon $FILE # 激活交换文件.

echo "Swap file created and activated."

exit $SUCCESS

关于/dev/zero 的另一个应用是为特定的目的而用零去填充一个指定大小的文件,如挂载一个文件系统到环回设备(loopback device)或"安全地" 删除一个文件

例子创建ramdisk

#!/bin/bash

# ramdisk.sh

# "ramdisk"是系统RAM内存的一段,

#+ 它可以被当成是一个文件系统来操作.

# 它的优点是存取速度非常快(包括读和写).

# 缺点: 易失性, 当计算机重启或关机时会丢失数据.

#+ 会减少系统可用的RAM.

# 10 # 那么ramdisk有什么作用呢?

# 保存一个较大的数据集在ramdisk, 比如一张表或字典,

#+ 这样可以加速数据查询, 因为在内存里查找比在磁盘里查找快得多.

E_NON_ROOT_USER=70 # 必须用root来运行.

ROOTUSER_NAME=root

MOUNTPT=/mnt/ramdisk

SIZE=2000 # 2K 个块(可以合适的做修改)

BLOCKSIZE=1024 # 每块有1K (1024 byte) 的大小

DEVICE=/dev/ram0 # 第一个ram 设备

username=`id -nu`

if [ "$username" != "$ROOTUSER_NAME" ]

then

echo "Must be root to run \"`basename $0`\"."

exit $E_NON_ROOT_USER

fi

if [ ! -d "$MOUNTPT" ] # 测试挂载点是否已经存在了,

then #+ 如果这个脚本已经运行了好几次了就不会再建这个目录了

mkdir $MOUNTPT #+ 因为前面已经建立了.

fi

dd if=/dev/zero of=$DEVICE count=$SIZE bs=$BLOCKSIZE

# 把RAM设备的内容用零填充.

# 为何需要这么做?

mke2fs $DEVICE # 在RAM设备上创建一个ext2文件系统.

mount $DEVICE $MOUNTPT # 挂载设备.

chmod 777 $MOUNTPT # 使普通用户也可以存取这个ramdisk.

# 但是, 只能由root来缷载它.

echo "\"$MOUNTPT\" now available for use."

# 现在ramdisk 即使普通用户也可以用来存取文件了.

# 注意, ramdisk是易失的, 所以当计算机系统重启或关机时ramdisk里的内容会消失. # 拷贝所有你想保存文件到一个常规的磁盘目录下.

# 重启之后, 运行这个脚本再次建立起一个ramdisk.

# 仅重新加载/mnt/ramdisk 而没有其他的步骤将不会正确工作.

# 如果加以改进, 这个脚本可以放在/etc/rc.d/rc.local,

#+ 以使系统启动时能自动设立一个ramdisk.

# 这样很合适速度要求高的数据库服务器.

exit 0

Win8改装Win7如何将磁盘从GPT转换成MBR格式及用Diskpart命令分区

Win8 改装 Win7 如何将磁盘从 GPT 转换成 MBR 格式及用 Diskpart 命令分区
[2013-7-17]
知识点分析:
随机预装 Win8 的电脑,磁盘为 GPT 格式,如果需要安装 Win7 等早期版本系统,需要转换为 MBR 格式,使用 Diskpart 命令即可完成转换。 Diskpart 是 Windows 环境下的一个命令,正常运行该命令时需要系统服务的支持,所以在纯 DOS、 XP 内核的 WinPE 环境下都是不能运行的,但是在 Windows7 的预安装环境下却是可以的。 当安装程序运行到创建磁盘分区界面时, “Shift+F10” 按下 便可启动命令窗口了。 之后输入 Diskpart 回车便可进入 Diskpart 的命令环境(其提示符为: “DISKPART>”)。在此提示符下键入相应命令就可以 进行分区操作,具体用到的命令有:Clean、List、Select、Create、Format、Delete、Exit,这些命令 的使用方法可以在 Diskpart 命令提示符下键入 Help 或者通过网络查询得知,在此不再赘述。
提示:用 Diskpart 分区时一定要选对目标对象,我们可以用 List Disk / Partition 来进行 查看。另外在分区前也可以用 Rescan 重新扫描一下机器的磁盘,以便正确选择目标磁盘。
如图:输入“Select Disk 0”已经使第一块硬盘具有焦点属性。再输入“List disk ”可看到, 第一块硬盘前有一个“ * ”号,表示它具有焦点属性。注意:今后要输入的所有命令都只对 具有焦点属性的对象起作用,也就是说,执行命令前都必须先指明对象。

怎样对移动硬盘分区(图文详解)

百度经验 怎样对移动硬盘分区 硬盘盒装好后,插在电脑USB接口上,电脑正常识别到移动硬盘后,但因为全新硬盘没有分区,在“我的电脑”里是看不到盘符的。下面以40G移动硬盘分区讲一下硬盘如何分区。 步骤/方法 操作系统最好是WindowsXP,Win2000也可以(基本与XP一样),98、ME是没有这种分区方法的 我这里是XP为例: 1.在桌面上“我的电脑”图标点右键,选“管理”。 2.在打开的“计算机管理”窗口中选择“磁盘管理”。

3.全新磁盘会跳出个“初始化磁盘”的窗口,在磁盘1前的小框上打勾确认完成就行了。 4.这时我们能看到一个37.25G的“磁盘1”(未指派),即还没分区的硬盘(这里以日立40G 硬盘为例的)。 5.这里先介绍一下磁盘分区的概念,磁盘分区包括主磁盘分区、扩展磁盘分区、逻辑分区。他们之间的关系如下图 6.在未指派的磁盘示意图上点右键,选择“新建磁盘分区”。

7.跳出磁盘分区向导,下一步即可。 8.看第五步的图,我们第一步应分“主磁盘分区”。下一步。

9.主磁盘分区多大(也就是移动硬盘第一个分区多大),这个是可以任意指定的,如果你只准备把40G硬盘分一个区,那就把全部容量指定为主磁盘分区即可。我们这里准备平分二个区,第一个区就分总容量一半19000左右了。下一步 10.这步不需改动直接下一步就行了(碰到过有人在这选择第二项不指派驱动器号,结果区是分好了,就是在我的电脑里看不到盘符,还差点以为移动硬盘有问题)

11.格式化这步,你可以选择FAT32或NTFS格式分区,但如果选择了NTFS,WIN98和WINME 的电脑是不支持的,你就看不到移动硬盘;如果你的一个区容量大于32G,你就只能选NTFS 格式化。为尽快完成分区,建议选择“执行快速格式化”,不然要等较长时间。下一步 12.确定完成。

Linux常用命令

查询相关 find 按规则查找某个文件或文件夹,包括子目录 ?find . -name '*.sh' -- 以.sh结尾的文件 ?find . -name '*channel*' -- 包含channel字符的文件 ?find . -name 'build*' -- 以build开头的文件 ?find . -name 'abc??' -- abc后面有两个字符的文件 grep 查找内容包含指定的范本样式的文件,Global Regular Expression Print ?grep -n pattern files -- 规则-n表示显示行号 ?grep -n 'PostsActivity' AndroidManifest.xml ?grep -n '\d' AndroidManifest.xml ?grep 'aapt' build-channel.xml -- 文件中包含字符串的所有地方 ?grep -n 'aapt' build-channel.xml -- 文件中包含字符串的所有地方,并显示行号 ?ps -e | grep java -- 所有java进程 ?ps -e | grep -i qq --所有qq进程,不区分大小写 ?find . -name '*channel.xml' | xargs grep -n 'aapt' -- 在以channel.xml 结尾的文件中查找包含‘aapt’关键字的地方 ?ls | grep 'channel' -- 包含channel关键字的文件 which 在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果?which zip ?which grep 查看命令 tail tail [-f] [-c Number | -n Number | -m Number | -b Number | -k Number] [File] 从指定点开始将文件写到标准输出。使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容。 ?tail -f test.log,循环查看文件内容,Ctrl+c来终止 ?tail -n 5 test.log,显示文件最后5行内容

(完整版)Linux中dd命令详解

一、dd命令 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。 注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512;c=1;k=1024;w=2 参数注释: if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file > of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file > 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=conversion:用指定的参数转换文件。 ascii:转换ebcdic为ascii ebcdic:转换ascii为ebcdic ibm:转换ascii为alternate ebcdic

block:把每一行转换为长度为cbs,不足部分用空格填充 unblock:使每一行的长度都为cbs,不足部分用空格填充 lcase:把大写字符转换为小写字符 ucase:把小写字符转换为大写字符 swab:交换输入的每对字节 noerror:出错时不停止 notrunc:不截短输出文件 sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。 二、dd应用实例 1.将本地的/dev/hdb整盘备份到/dev/hdd heng@me: dd if=/dev/hdb of=/dev/hdd ? 1 2.将/dev/hdb全盘数据备份到指定路径的image文件 heng@me: dd if=/dev/hdb of=/root/image ? 1 3.将备份文件恢复到指定盘 heng@me: dd if=/root/image of=/dev/hdb ? 1 4.备份/dev/hdb全盘数据,并利用gzip工具进行压缩,保存到指定路径 heng@me: dd if=/dev/hdb | gzip > /root/image.gz ? 1

diskpart语法

diskpart语法 Microsoft DiskPart 版本6.0.6000 Copyright (C) 1999-2007 Microsoft Corporation. 在计算机上: DONG-PC ACTIVE - 将选中的基本分区标记为活动的分区。ADD - 将镜像添加到一个简单卷。ASSIGN - 给所选卷分配一个驱动器号或装载点。ATTRIBUTES - 操纵卷属性。 AUTOMOUNT - 启用和禁用基本卷的自动装载。BREAK - 中断镜像集。 CLEAN - 从磁盘清除配置信息或所有信息。CONVERT - 在不同的磁盘格式之间转换。CREATE - 创建卷或分区。 DELETE - 删除对象。 DETAIL - 提供对象详细信息。

EXIT - 退出DiskPart。 EXTEND - 扩展卷。 FILESYSTEMS - 显示卷上当前和支持的文件系统FORMAT - 格式化卷或分区 GPT - 给选择的GPT 分区分配属性。HELP - 显示命令列表。 IMPORT - 导入磁盘组。 INACTIVE - 将选中的基本分区标为不活动。LIST - 显示对象列表。 ONLINE - 使当前标为脱机的磁盘联机。REM - 不起任何作用。用来注释脚本。REMOVE - 删除驱动器号或装载点分配。REPAIR - 用失败的成员修复一个RAID-5 卷。RESCAN - 重新扫描计算机,查找磁盘和卷。RETAIN - 在一个简单卷下放置一个保留分区。SELECT - 将焦点移动到对象。 SETID - 更改分区类型。 SHRINK - 减小选定卷。 Microsoft DiskPart 版本6.0.6000 DISK - 将焦点移动到磁盘。

DiskPart详解

DiskPart DiskPart.exe 是一种文本模式命令解释程序,它使您能够通过使用脚本或从命令提示符直接输入来管理对象(磁盘、分区或卷)。在使用 DiskPart.exe 命令之前,必须首先列出对象,然后选择对象以为其提供焦点。当某个对象具有焦点时,键入的任何 DiskPart.exe 命令都会作用到该对象上。 通过使用list disk、list volume和list partition命令可以列出可用的对象,并确定对象编号或驱动器号。list disk和list volume命令将显示计算机上所有的磁盘和卷。而list partition命令只显示具有焦点的磁盘上的分区。使用list命令时,具有焦点的对象旁边会显示一个星号 (*)。可以按编号或按驱动器号选择对象,例如,磁盘 0、分区 1、卷 3 或卷 C。 选择对象时,焦点一直保留在那个对象上,直到选中其他对象。例如,如果已在磁盘 0 上设置了焦点,而您选择了磁盘 2 上的卷 8,焦点就从磁盘 0 转移到磁盘 2 上的卷 8。有些命令会自动更改焦点。例如,如果创建了新分区,焦点就自动转移到新分区上。 只能在选定磁盘上的分区上设置焦点。某个分区具有焦点时,相关的卷(如果有的话)也具有焦点。某个卷具有焦点时,如果该卷映射到某个特定分区,则相关的磁盘和分区也具有了焦点。如果不是这样,磁盘和分区上的焦点会丢失。 active 在基本磁盘上,将具有焦点的分区标为活动。这将通知基本输入/输出系统(BIOS) 或可扩展固件接口 (EFI) 该分区或卷是有效的系统分区或系统卷。 只有分区才可以标为活动。 要点 DiskPart 只验证分区是否能够包含操作系统的启动文件。DiskPart 不检查分区的内容。如果误将某个分区标为活动,并且该分区不包含操作 系统的启动文件,则计算机可能无法启动。 语法 active

linux命令详解:pgrep命令

linux命令详解:pgrep 前言 经常要查看进程的信息,包括进程的是否已经消亡,通过pgrep来获得正在被调度的进程的相关信息。pgrep通过匹配其程序名,找到匹配的进程 重要选项 -l 同时显示进程名和PID -o 当匹配多个进程时,显示进程号最小的那个 -n 当匹配多个进程时,显示进程号最大的那个 注:进程号越大,并不一定意味着进程的启动时间越晚 使用说明 查看指定名称的进程信息 默认只显示PID 1: [root@master ~]# pgrep ssh 2: 3686 3: 7907 4: 8815 5: 12874 同时显示PID和ProcessName : –l 1: [root@master ~]# pgrep -l sshd 2: 3686 sshd 3: 7907 sshd 4: 8815 sshd 5: 12874 sshd -o 当匹配多个进程时,显示进程号最小的那个 1: [root@master ~]# pgrep -l sshd 2: 3686 sshd 3: 7907 sshd 4: 8815 sshd 5: 12874 sshd 6: [root@master ~]# pgrep -l -o sshd 7: 3686 sshd -n 当匹配多个进程时,显示进程号最大的那个 1: [root@master ~]# pgrep -l -n sshd 2: 12874 sshd 特别说明 1)pgrep相当于ps –eo pid,cmd | awk ‘{print $1,$2}’ | grep KeyWord 1: [root@master ~]# ps -eo pid,cmd | awk '{print $1,$2}' | grep init 2: 1 init 3: [root@master ~]# pgrep init 4: 1

Altium Designer设计的常用快捷功能键命令解析

Altium Designer设计的常用快捷功能键命令解析 PCB设计提高: 方格与格点的切换:View-Grids-Toggle Visible Grid Kind 源点:Edit-Origin-Set 边界的定义:Keep Out Layer-Utility Tools-Place Line 按TAB可定义线宽 选取元件:PCB-PCB Filter-IS Component 逐个放置元件:TOOLS-Component Placement-ReposiTIon Selected Components 自动布局:ToolS-Component Placement--Arrange Within Room 自动布局器:ToolS-Component Placement--Auto Placer 元件排列(居中居左居右等):选中元件右键Align- 或Alignment Tools-- 元件在层之间的快速切换:拖动元件的过程按L键 让焊盘放在格点上:选中元件,右键-Component AcTIons-Move Component Origin To Grid 移动元件的远近:“G”键选择mil 刷新屏幕:键盘“END” 改走线模式(5种):shift+空格键 “45°线性”“45°+圆角”“90°”“任意角”“90°+圆弧”“圆弧” 遇障碍物:右键-OpTIons-Preferences-。.. “Shift+R”3种模式:推挤等 布线快捷菜单“~ ”键 线宽设置:“Shift+W” PCB设计深入a: 板的(螺丝)固定孔,铜柱内孔3.3mm,外孔5.0mm,Layer:MulTI-layer; 孔发绿修改规则:Design-Rules-HoleSize; 板边5mm圆弧:Place-KeepOut-Arc

diskpart的常用方法及命令

进入diskpart的两种方法: 1:运行-CMD-diskpart 2:搜索-diskpart-确定 此时已经进入diskpart如图- 接下来可以输入命令,常用命令如下: List Disk显示本机的所有磁盘以便正确操作目标磁盘 List Part 显示某块磁盘上的所有分区

Select Disk 0选择0号磁盘 Select part 0 选择0号分区 Clean 清除0号磁盘上的所有分区 Create Partition Primary Size=512000 创建主分区容量为512000MB Active激活主分区 Format Quick快速格式化当前分区 Create Partition Extended创建扩展分区 Create Partition Logical Size=512000创建逻辑分区一容量为512000MB Format Quick快速格式化当前分区 Assign letter x (为当前分区分配盘符x) Create partition logical(把剩余的磁盘创建一个逻辑分区) Format quick Assign letter x 解决EFI分区无法激活的问题: Windows7 和windows server 2008 r2 安装后,经常会出现EFI分区,导致系统无法激活,可以通过给EFI分区指定盘符来解决,具体操作如下: 开始-搜索-diskpart - sel disk M(M为你的FEI分区所在的磁盘,一般情况下是数字0) List part(列出该磁盘的分区情况)

Sel part X(X为EFI分区的区号,一般情况下是1) Set id=ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 Assign letter=y(y为分配的盘符,可为任意,但是不要和已有盘符冲突) 解决无法创建扩展分区,逻辑分区的问题: 1.选择物理磁盘 输入“select disk N”选择物理磁盘,这里的“N”代表第几块物理硬盘。假如你要对第1块物理硬盘进行操作,应该输入“select disk 0”,依此类推。 2.创建扩展分区 输入“create partition extended”命令,执行后系统会自动创建扩展分区,主分区后面所有的空余空间都会被占用。完成后即可退出命令提示符,不必再输入创建逻辑分区的相关命令,因为系统将所有的扩展分区用来创建一个逻辑分区。 好了,现在进入“计算机管理→磁盘管理”窗口,你会发现已经创建完成的扩展分区。右击选择“新建简单卷”,此时会弹出“新建简单卷向导”(即创建一个逻辑分区),按照向导的提示指定简单卷的大小就可以了,接下来的操作就很容易了 转换磁盘分区MRB转GPT: 安装系统时,在选择分区界面按SHIFT+F10 List disk 列出系统汇总所有的磁盘 Sel disk 0 选择0号磁盘,这个磁盘根据具体情况可以是0 1 2 3 4……

Diskpart使用详解

Diskpart 与许多命令行实用工具不同,原因是它不以单行模式操作。相反,当您启动该实用工具后,命令是从标准输入/输出(I/O) 读取的。您可以将这些命令定向到任何磁盘、分区或卷。 回到顶端 与磁盘管理的比较 Diskpart 启用“磁盘管理”管理单元所支持的操作的超集。“磁盘管理”管理单元禁止您无意中执行可能会导致数据丢失的操作。建议您应谨慎使用Diskpart 实用工具,因为Diskpart 支持显式控制分区和卷。 可以使用Diskpart 将基本磁盘转换为动态磁盘。基本磁盘可以为空,也可以包含主分区或逻辑驱动器。基本磁盘可以是数据磁盘、系统驱动器或启动驱动器。基本磁盘不能包含容错磁盘驱动程序(FtDisk) 集,如带区或镜像等。要转换包含有FtDisk 驱动程序集的基本磁盘,请使用Windows 2000 上的“磁盘管理”,或者在升级到Windows XP 之前转换磁盘。 可以使用Diskpart 将动态磁盘转换为基本磁盘。进行转换前,必须删除所有动态卷。除非遇到紧急情况,否则不建议您删除动态磁盘上的分区。建议您删除驱动器上的所有卷,然后再将磁盘转换为基本磁盘。必须删除所有动态数据分区。另外,切勿混淆同一驱动器上的基本主分区和动态分区。否则,计算机可能无法重新启动。 您可以使用Diskpart 以显式磁盘偏移量创建一个分区。“磁盘管理”管理单元将此分区放在任何占用区域的末端,或放在第一个足够大的区域上。在主启动记录(MBR) 磁盘上,分区偏移量和大小都经过四舍五入,以保持必要的柱面对齐。偏移量四舍五入为最靠近的有效值,大小则始终四舍五入为下一个有效值。Diskpart 不为最近创建的分区分配驱动器号。使用assign命令可分配装入点或驱动器号。 Diskpart 遵循与管理单元同样的策略。只能在固定磁盘上创建动态磁盘。不能将可移动磁盘(如1394 或通用串行总线(USB) 驱动器)转换为动态磁盘。 Diskpart 允许执行管理单元禁止的某些分区删除操作。例如,您可以使用Diskpart 删除MBR OEM 分区。但是,这些分区中往往含有平台操作所必需的文件。Diskpart 禁止删除当前系统、启动或分页卷和分区。此外,Diskpart 还禁止删除作为动态磁盘基础的分区。 不能使用Diskpart 在可移动媒体上创建分区。Windows 支持可移动媒体上至多有一个MBR 分区。如果媒体在出厂时已带有一个MBR,此MBR 是不能修改的;但是,即使配置了多个分区或逻辑驱动器,仍然遵循此MBR。如果媒体在出厂时不带MBR,此媒体被视为“超级软盘”并且其中未写入分区结构。 可移动驱动器的驱动器号与驱动器关联,但不与媒体关联。您可以使用Diskpart 更改此驱动器号。

详解ZStack高级功能--裸金属服务

详解ZStack高级功能--裸金属服务部署实践作者:ZStack社区秦伟 一、前言 今天我们来了解一下ZStack的裸金属,提到裸金属服务,很多人从字面上可能对其不是很了解,其实早在之前的私有云OpenStack平台,就已经推行了Ironic裸金属服务,而且在去年的最新Rocky版本中,更是对裸金属服务进行了加强。于此同时的ZStack在 2.6.0版本,也推出裸金属纳管服务。那么这令人注目的裸金属服务究竟是什么呢? 首先让我们来了解一下裸金属服务的由来,近年来由于国内外云计算市场的快速发展,许多企业纷纷将自身业务迁至云端。不再将业务部署在自己自身的机房环境中,这样带来的好处就是省去了一部分的人工维护成本,转而由第三方云供应商来提供基础环境。 而且一般来说硬件资源在很多情况下是没有被充分利用的,比如我们日常在使用自己的电脑时,实质上就是在使用它的CPU、内存、以及在硬盘上运行的操作系统等。当我们查看这些资源的使用率时,通常会发现,CPU和内存大部分是闲置的。特别是CPU,其利用率通常不到10%。那么,有没有可能不让一个操作系统单独控制一台机器,而是在一台机器上安装多个操作系统,并且让它们同时地运行,把被闲置的资源利用起来呢?答案是有,相信很多人都曾经在自己的Windows电脑上安装VMware workstation,并且安装了多个虚拟机,每个虚拟机都拥有自己的操作系统,它们可以同时运行,并且不互相干扰,就实现了自己硬件电脑的虚拟化,可以把一台物理服务器虚拟化为多台虚拟服务器。所以说,这种通过管理程序(VMware workstation等)把硬件的机器、同操作系统分开的过程,就是虚拟化。当我们将业务运行在云端时,可以做到按需求选取最合适的规模,将资源的利用率使用到最大。这些资源不仅仅包括CPU、内存、操作系统,还包括网络,ip,安全组等。 但是,并不是所有业务都适合在云端虚拟机上运行的,比如一些高性能的计算任务,如果运行在虚拟机上,就达不到在物理机上的效果。于是就需要裸金属服务,简单来说,裸金属服务就是为应用提供专属的物理服务器,保障核心应用的高性能和稳定性。ZStack 早在2.6.0版本,在高级功能中以单独的功能模块形式,推出了裸金属服务。支持自定义

cat和grep指令

cat命令 功能1: 在标准输出上显示文件。 语法:cat [选项] 文件 说明:该命令功能之一是用来显示文件。它依次读取其后所指文件的内容并将其输出到标准输出。 该命令的各选项含义如下: -v 用一种特殊形式显示控制字符,LFD与TAB除外。 加了-v 选项后,-T 和-E 选项将起作用。其中: -T 将TAB显示为“ùI”。该选项需要与-v 选项一起使用。即如果没有使用-v 选项,则这个选项将被忽略。 -E 在每行的末尾显示一个$符。该选项需要与-v 选项一起使用。 -u 输出不经过缓冲区。 -A 等于-vET。 -t 等于-vT。 -e 等于-vE。 -n 在文件的每行前面显示行号。 指令实例: cat example.txt // 则在屏幕上显示出example.txt 文件的内容 cat -A exam2.txt // 在屏幕上显示出exam2.txt 文件的内容,而且如果文件中含有特殊字符的话,一并显示 功能2:连接两个或多个文件 说明:该命令功能之二是用来将两个或多个文件连接起来。 cat file1 file2 > file3 // 这样就把文件filel和文件file2的内容合并起来,放入文件file3中。 (此时在屏幕上并不能直接看到该命令执行后的结果。若想看到连接后的文件内容, 可以再使用“cat file3”。) 需要说明的是,当文件内容过多时,就带来一个问题,因为文本在屏幕上迅速地闪过,用户来不及看清其内容。因此,当文件内容较大时,一般可用more等命令分屏显示,以免因屏幕滚动太快而无法看清。 linux grep命令

1.作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。 2.格式 grep [options] 3.主要参数 [options]主要参数: -c:只输出匹配行的计数。 -I:不区分大小写(只适用于单字符)。 -h:查询多文件时不显示文件名。 -l:查询多文件时只输出包含匹配字符的文件名。 -n:显示匹配行及行号。 -s:不显示不存在或无匹配文本的错误信息。 -v:显示不包含匹配文本的所有行。 pattern正则表达式主要参数: \:忽略正则表达式中特殊字符的原有含义。 ^:匹配正则表达式的开始行。 $: 匹配正则表达式的结束行。 \<:从匹配正则表达式的行开始。 \>:到匹配正则表达式的行结束。 [ ]:单个字符,如[A]即A符合要求。 [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求。 。:所有的单个字符。 * :有字符,长度可以为0。 4.grep命令使用简单实例 $ grep ‘test’ d* 显示所有以d开头的文件中包含test的行。 $ grep ‘test’ aa bb cc 显示在aa,bb,cc文件中匹配test的行。 $ grep ‘[a-z]\{5\}’ aa 显示所有包含每个字符串至少有5个连续小写字符的字符串的行。 $ grep ‘w\(es\)t.*\1′aa 如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着另外一个es(\1),找到就显示该行。如果用egrep或grep -E,就不用”\”号进行转义,直接写成’w(es)t.*\1′就可以了。 5.grep命令使用复杂实例 假设您正在’/usr/src/Linux/Doc’目录下搜索带字符串’magic’的文件: $ grep magic /usr/src/Linux/Doc/* sysrq.txt:* How do I enable the magic SysRQ key? sysrq.txt:* How do I use the magic SysRQ key? 其中文件’sysrp.txt’包含该字符串,讨论的是SysRQ 的功能。 默认情况下,’grep’只搜索当前目录。如果此目录下有许多子目录,’grep’会以如下形式列出:

vi编辑器命令详解

vi编辑器命令详解 vi命令是unix下常用而重要命令,可在全屏幕方式下编辑一个或多个文件。若在vi执行时 没有指定一个文件,那么vi命令会自动产生一个无名的空的工作文件。若指定的文件不存在, 那么就按指定的文件名创建一个新的文件。若对文件的修改不保存的话,v i命令并不改变原 来文件的内容。 注意:vi命令并不锁住所编辑的文件,因此多个用户可能在同时编辑一个文件,那么最后 保存的文件版本将被保留。 下面是vi命令使用的一些选项及含义: -c sub-command 在对指定的文件编辑前,先执行指定的命令sub-command . -r filename 恢复指定的文件filename . -R 将指定的文件以只读的方式放入编辑器中,这样不会保存对文件的任何修改。 -y number 将编辑窗口的大小设为number行。 下面是vi编辑所处的三种模式: .命令模式进入vi时所处的模式。在此模式下用户可输入各种子命令对进行*作,如删除行、 粘贴行、移向下一个字、移向不同行等。 .文本输入模式在此模式下可以修改一行的内容并增添新行。在命令模式下键入a 、i 或 c键可进入文本输入模式,按Escape键可返回命令模式。 .命令项模式在此模式下,可以通过子命令输入更多的参数。如:w子命令要求输入一文 件名,"/"子命令要求输入一个查找项。用户使用Escape键返回命令模式。 下面是自命令模式下执行的,在同一行上移动的自命令: h 将光标左移一格。 l 将光标右移一格。 j 将光标下移一格。 k 将光标上移一格。 w 将光标移到下一个小字的前面。 W 将光标移到下一个大字的前面。 b 将光标移到前一个小字的前面。 B 将光标移到前一个大字的前面。 e 将光标移到下一个小字的后面。 E 将光标移到前一个大字的后面。 fc 把光标移到同一行的下一个c字符处。 Fc 把光标移到同一行的前一个c字符处。 tc 把光标移到同一行的下一个字符c的前一格。

命令行方式分区diskpart

启动方法:切记不要主机上使用,一定要在虚拟机中使用,否则有可能会破坏主机数据。 1、开始-运行-输入cmd 2、启动DOS界面后输入diskpart 3、如何退出:在提示符下输入exit 软件界面截图 Microsoft DiskPart 版本5.2.3790.3959 ADD - 将镜像添加到一个简单卷。 ACTIVE- 将当前基本分区标记为活动的分区。 ASSIGN- 给所选卷指派一个驱动器号或装载点 AUTOMOUNT - 启用和禁用基本卷的自动装载。 BREAK - 中断镜像集。 CLEAN - 从磁盘清除配置信息或所有信息。 CONVERT - 在不同的磁盘格式之间转换。 CREATE- 创建卷或分区。 DELETE- 删除对象。 DETAIL - 提供对象详细信息。 ATTRIBUTES - 操纵卷属性。 EXIT - 退出DiskPart EXTEND- 扩展卷。 GPT - 给选择的GPT 分区分配属性。 HELP - 打印命令列表。 IMPORT - 导入磁盘组。 INACTIVE - 将当前的基本分区标为不活动。 LIST- 打印对象列表。 ONLINE - 使当前标为脱机的磁盘联机。

REM - 不起任何作用。用来注解脚本。 REMOVE - 删除驱动器号或装载点指派。 REPAIR - 用失败的成员修复一个RAID-5 卷。RESCAN - 重新扫描计算机,查找磁盘和卷。 RETAIN - 在一个简单卷下放置一个保留分区。 SELECT - 将焦点移到一个对象。 举例: 1、select disk n; 选择磁盘编号 2、list partition 列出当前磁盘分区列表 2、create partition primary size=1024 创建主磁盘分区1GB (assign 自动分配盘符) 创建主磁盘分区1GB,自动分配盘符 3、create partition extended 利用剩余空间创建扩展分区 (create partition extended size=1024,创建扩展分区,大小1GB) 4、select partition n 选择分区编号 5、delete partition 删除所选分区 6、create partition logical size=1024 创建逻辑驱动器1GB,自动分配盘符 7、assign letter=X 手动分配盘符

4_ZTI详解_分区解决方案

ZTI 2.5手册4 ZTI 2.5手册4:使用ZTI过程中的分区解决方案 目的: 1、 了解CustomSettings.ini脚本中“UserExit”的变量意义和用法 2、 学习“diskpart.exe”工具分区脚本的使用方法。 3、 学习使用“ZTIUserExit.vbs”脚本 4、 了解ZTI中实现硬盘分区的流程 环境要求: 1、 已实现Active Directory环境。 2、 也部署System Manager Server服务,且部署了OSD功能包。 3、 已实现了BDD中的ZTI的过程(最好是基于SQL数据库的ZTI)。 4、 本文是使用“ZTI2.5手册2”文章中所介绍的环境。 阅读对象: 1、 熟悉Active Directory管理、维护和排错。

2、 熟悉SMS 2003及OSD功能包的安装,使用和简单排错。 3、 熟悉VBS脚本的使用,并能对其简单的编辑。 4、 能够对日志进行分析,进行简单的故障定位和排错。 场景描述: 在很多场景中对客户端处于某些特殊原因要对硬盘进行重新分区,如进行系统升级系统分区过小等。在ZTI中已经考虑到这样的问题,他们是通过“ZTIUserExit.vbs”脚本来实现的。 操作步骤 一、定义“ZTIUserExit.vbs”脚本的执行过程。 “ZTIUserExit.vbs”这个脚本的执行过程需要在“Customsettings.ini”脚本中定义,在“[Settings]”区域中的结尾添加“UserExit=ZTIUserExit.vbs”,如下面的范例脚本(范例脚本参考的是“ZTI 2. 5手册3:使用ZTI中基于数据库模式部署Windows XP”中的“Customsettings.ini”脚本),“Z TIUserExit.vbs”脚本是通过“diskpart.exe”工具和“ZTIDiskPart.txt”分区脚本来实现整个的分区过程,而实现分区只是“ZTIUserExit.vbs”的部分功能,如果熟悉脚本编辑可以实现更多的功能。

Ubuntu配置PXE详解

Ubuntu配置PXE详解(13.04) 1.安装Ubuntu Linux系统 按提示安装 a.输入用户名和密码进入Linux b.输入sudo –i命令切换到root权限 2.安装dhcp3-server,tftpd-hpa,system服务,需连接外部网络 a.输入apt-get install dhcp3-server命令,安装dhcp3-server服务 b.输入apt-get install tftp-hpa命令,安装tftpd-hpa服务 c.输入apt-get install syslinux命令,安装syslinux服务. 3.断开网络,设定固定IP地址 a.编辑/etc/network/interfaces 加上以下内容(可进入到文件所在文件夹找到文加后再进行编辑) 输入命令Sudo vi /etc/network/interfaces auto em1 Iface em1 inet static address 192.168.10.1 netmask 255.255.255.0(需个人编写) b. 重启网络 输入命令sudo /etc/init.d/networking resatrt 4.配置dhcp a.编辑dhcp-server 输入命令Sudo vi /etc/default/isc-dhcp-server INTERFACES=”em1” (Ubuntu 13.04 默认值为em1) b.编辑dhcpd-hpa 输入命令Sudo vi /etc/dhcp/dhcpd.conf Subnet 192.168.10.0 netmask 255.255.255.0{ range 192.168.10.10 192.168.10.254; default-lease-time 600; max-lease-time 7200; filename “pxelinux.0”; (需个人编写) } c.重启dhcp服务 输入命令Sudo /etc/init.d/isc-dhcp-server restart 5.建立tftpboot,pxelinux.cfg文件夹以及default文件 a.Tftpboot文件夹早/var/lib/tftpboot 或是输入命令mkdir tftpboot 创建tftpboot文 件夹//系统有tftpboot文件夹,或者可以在根目录新建tftpboot文件夹 b.Pxelinux.cfg文件夹创建在tftpboot下,路径为/var/lib/tftpboot/pxelinux.cfg,输入命 令mkdir pxelinux.cfg 创建pxelinux.cfg文件夹 c.在pxelinux.cfg文件夹下创建default

DiskPart命令详解

DiskPart命令详解 Diskpart命令是Windows环境下的一个命令,利用diskpart可实现对硬盘的分区管理,包括创建分区、删除分区、合并(扩展)分区,完全可取代分区魔术师等第三方工具软件,它还有分区魔术师无法实现的功能,如设置动态磁盘、镜像卷等,而且设置分区后不用重启电脑也能生效。 下面讲解下利用Diskpart命令分区方法: 1.开始——运行,输入CMD,启动命令窗口。 2.键入“Diskpart”→回车→进入“Diskpart”的命令环境,其提示符为“DISKPART>”。 3.在此提示下键入相应命令就可以进行分区操作,具体用到的命令有: Clean List Select Create Format Exit 4.以下是命令顺序及操作解释: List Disk:显示本机的所有磁盘,以便正确操作目标磁盘 Select Disk 1:选择0号磁盘 Clean :清除0号磁盘上的所有分区 Create :Partition Primary Size=512000 创建主分区,容量为:512000MB Active:激活主分区 Format Quick:快速格式化当前分区 Create Partition Extended:创建扩展分区 Create Partition Logical Size=512000:创建逻辑分区一,容量为:512000MB Format Quick:快速格式化当前分区 Create Partition Logical Size=512000:创建逻辑分区二,容量为:512000MB Format Quick :快速格式化当前分区 Create Partition Logical :创建逻辑分区三,大小为剩余的容量 Format Quick :快速格式化当前分区

PXE Srver 2012

PXE Server ------Richard Ke 1.服务器架设所需相关设备: 电脑两台(一台架Server一台Client)、交换机、网线(若干)、U盘、Windows Server 2012 安装盘等。 2.在架设Server前需要一台安装好Windows Server 2012系统的电脑,Server在使用的过程中有时需要传输大量的数据,这就要求提高Server的数据吞吐速度,我们可以通过RAID来提升数据传输速度,提高传输速率。RAID通过在多个磁盘上同时存储和读取数据来大幅提高存储系统的数据吞吐量。在RAID中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个磁盘驱动器几倍、几十倍甚至上百倍的速率。 下面讲述如何安装Windows Server 2012。首先找一台支持RAID 功能的机台组RAID: 在BIOS中将RAID模式选上并保存退出,如图:

看到如图所示界面后按Ctrl + I 进入RAID组装界面:

选择Create RAID Volume, 这里我们选择创建RAID 0 ,保存退出,如图:

如图所示将Windows Server 2012 放入光驱,进入启动界面选择从光驱启动 Server 需要支持UEFI Mode启动,所以Server 2012系统也需要选择UEFI 模式安装,如下图:

进入Windows Setup 界面选择安装Windows Server 2012 Standard Evaluation(Server with a GUI),如图:

Linux grep命令的使用用法

Linux Grep用法 QUOTE: 原帖由"网中人" 发表: 比方以grep 来说, 在Linux 上你可找到grep, egrep, fgrep 这几个程序, 其差异大致如下: * grep: 传统的grep 程序, 在没有参数的情况下, 只输出符合RE 字符串之句子. 常见参数如下: -v: 逆反模示, 只输出"不含" RE 字符串之句子. -r: 递归模式, 可同时处理所有层级子目录里的文件. -q: 静默模式, 不输出任何结果(stderr 除外. 常用以获取return value, 符合为true, 否则为false .) -i: 忽略大小写. -w: 整词比对, 类似\ . -n: 同时输出行号. -c: 只输出符合比对的行数. -l: 只输出符合比对的文件名称. -o: 只输出符合RE 的字符串. (gnu 新版独有, 不见得所有版本都支持.) -E: 切换为egrep . * egrep: 为grep 的扩充版本, 改良了许多传统grep 不能或不便的操作. 比方说: - grep 之下不支持? 与+ 这两种modifier, 但egrep 则可. - grep 不支持a|b 或(abc|xyz) 这类"或一"比对, 但egrep 则可. - grep 在处理{n,m} 时, 需用\{ 与\} 处理, 但egrep 则不需. 诸如此类的... 我个人会建议能用egrep 就不用grep 啦... ^_^ * fgrep: 不作RE 处理, 表达式仅作一般字符串处理, 所有meta 均失去功能. g r e p一般格式为: ][ - ] CODE: grep [选项]基本正则表达式[文件] 这里基本正则表达式可为字符串。 单引号双引号 在g r e p命令中输入字符串参数时,最好将其用双引号括起来。 在调用模式匹配时,应使用单引号。 例如:“m y s t r i n g”。这样做有两个原因,一是以防被误解为s h e l l命令,二是可以用来查找多个单词组成的字符串。在调用变量时,也应该使用双引号,诸如:g r e p“$ M Y VA R”文件名,如果不这样,将没有返回结果。 常用的g r e p选项有: QUOTE: -c 只输出匹配行的计数。 -i 不区分大小写(只适用于单字符)。 -h 查询多文件时不显示文件名。

相关文档
最新文档