常用CP 指令
不当之处,敬请谅解。仅供参考,具体指令格式和用法请查ALEX 进行确认。 XLF
一、CP
1、CP 的工作方式
DPWSP; 显示CP 状态。我们可以看到如下信息:
CP STATE
MAU SB SBSTATE NRM B WO
从上面我们可以看到,MAU 的状态为NORMAL ,备用边为B 边,状态为WO 。
与CP 状态相关的指令:
DPSWI ;交换CP 两侧的状态。 SB-WO → EX ;EX → SB-WO DPHAS ;Halt CP 一侧。 SB-WO → SB-HA DPSES ;分离备用侧。 SB-WO → SB-SE
DPPAI ;并边,命令SB-HA 或SB-SE 侧进行更新。命令下达后备用侧状态变成SB-UP ,
最终CP-A 变成EX ,CP-B 变成SB-WO 。
———————————————————————————————————————
2、备份,按操作过程列出
sybue; 打死CP 自动备份功能
sybfp:file; 查看CP 备份文件信息,常用文件:RELFSW0 RELFSW1 RELFSW2 sybup:file; CP 备份,提示备份到RELFSW2中,输入两次 ; 确认 sytuc; 轮转CP 备份,2-0 0-1 1-2
sybui:disc; 或 sybui; 激活CP 自动备份功能
SYTUC
其他:
SYBMP; 查看主存备份信息
SYBFP:MS; 查看主存备份信息
SYBCI:FILE=RELFSW0;对RELFSW0进行校验
SYBRP; 最后一次启动信息———————————————————————————————————————3、启动和reload
syrei:rank=small,expl=other;系统小启动
syrei:rank=large,expl=other; 系统大启动
syrei:rank=reload,expl=other;系统reload
syati:restart; 系统大启动
SYRBI;关闭自动RELOAD,伴随出现告警“Backup information fault”,在FUNCTION CHANGE期间只有CP的执行侧接受该指令。
SYRBE; 打开自动RELOAD。
Reload会自动打死COMMAND LOG,需要我们激活:
SYCLI;激活COMMAND LOG
SYCLE; 闭掉COMMAND LOG
———————————————————————————————————————4、软件错误-FORLOPP
SYRIP:SURVEY;查看软件错误
SYRIP:EVENT=event;查看某一event的软件恢复记录
Forlopp是APZ的一个基本功能,可以仅释放包含一个特定任务的部分软件,而一个任务可以是一个呼叫或执行一个命令。(Forlopp用来纠正软件错误)
syelp;LIMITS FOR SOFTW ARE ERROR INTENSITY 打印错误强度计数器的门限值syfsp;FORLOPP EXECUTION STA TUS 打印Forlopp状态
syfdp; FORLOPP DURA TION SUPERVISION STA TUS 打印持续检测的参数
syrap;SYSTEM RECOVERY ACTIONS
SYFSC:FLST ATUS=ACTIVE;激活Forlopp
SYFSC:FLMODE=OPERATION;设置为“操作模式”
SYFDC: START, DURATION=duration, ALARM=alarm;开启持续监测
SYFDC:STOP=AUTOREL;停止自动释放
SYFDC: STOP; 停止所有监测
清除软件错误:
SYRAE:RECTYPE=SOFTERR;
SYRAE:EVENT=event;
SYRIP:EVENT=event; ———————————————————————————————————————5、CP fault
DIRCP; 查看CP事件记录
DIRRP:RP=rp/all; 查看某一或者所有RP事件记录
REPCI;主要用以诊断CP的错误,列出可能有问题的板。
REMCI MAG=mag,PCB=pcb; 指定换板的操作流程。
RECCI;用以修复CP。———————————————————————————————————————6、CPT指令
1.PTCOI;进入CPT模式:
PTCOE;退出CPT模式:
2.PTWSP;CPT模式下查看CP状态
PTSWI;CP换边,类似DPSWI;
PTSES;CP分离一边。类似DPSES;
PTPAI;CP并边,类似DPPAI;
3. PT ARP:REG=CDU; 查看CDU的内容
4.PT AMR;MAU复位
5.PTCPR;重启CPU
6.PTPEE;停止程序运行
7.PTITI:CS=[A | B][,RP=rp];对MAU和CP进行测试,加RP参
数就对指定的RP进行测试。
8.PTITI:CS=[A | B],TEST=test[,REP | FORW ARD];
TEST 测试号,举例如下(更多测试号见OPI):
1 测试MAU;
2 测试CTB
29 测试RPH; 30 测试RP
REP; 对CP进行循环测试,直到发现错误或被PTITE终止。
FORWARD; 运行比测试号更高的测试
例:PTITI:CS=B,TEST=16,FORWARD;运行16#以及更高的测试。
PTITI:CS=B,TEST=16,REP;反复运行16#测试,直到发现错误9.PTITE; 停止测试
10.PTCPL:CS=[A|B][,RP=rp][,FILE=relfswn][,HALT];
对CP进行RELOAD。
例:PTCPL:CS=A,FILE=RELFSW99; 给CP-A initial load
11.PTSRI:ST ART;给CP-B重启
12.PTSRI:RANK=[small | large | reload]; 给执行侧重启
13.PTSRI:RANK=RELOAD,RP=RP2,FILE=RELFSW2;
通过RP2将relfsw2 RELOAD进CP
14.PTSEI:CS=[A|B];强制的连接CPT到CP一侧,缺省是连接到备用侧15.PTSEE;断开上面的强制性连接
16.HELP列出本地模式下所有能执行的指令
17.EXIT;退出本地模式:———————————————————————————————————————
7、CP软件
通过以下五条指令P,然后用SRHtool工具合成为一个文件:
LASIP:BLOCK=ALL;
LAFBP:BCM=ALL;
PCORP:BLOCK=ALL;
LAEIP:SUNAME=ALL;
PCECP:SUNAME=ALL;
############################################################################### 二、SAE- SIZE AL TERA TION EVENTS
SAAEP:SAE=sae[, BLOCK=block];查看SIZE大小
SAAII:SAE=sae[,BLOCK=block], NI=ni;扩SIZE
SAADI:SAE=sae[,BLOCK=block], NI=ni;减SIZE
DBTSP:TAB=SAACTIONS; 查看SAACTIONS表中需要扩SIZE的SAE
SAOCP; 打印自动扩SAE的状态
AFTSP:TEST=110,SAE=sae[,BLOCK=block];打印指定的SAE监控门限
SASTP; 打印CP内存的利用情况
AFTSP:TEST=101; 打印内存检测情况
############################################################################### 三、RP
EXRPP:RP=rp; 查看RP类型
EXRUP:RP=rp; 查看RP定义的软件
LAEIP:SUID=suid;查看SUID对应的软件信息。
LAEIP:SUNAME=suname;查看SUNAME的软件信息。
LAEIP:block=block;查看BLOCK对应的软件信息。
EXRPP:RP=ALL; 查看RP状态
EXEMP:RP=ALL,EM=ALL; 查看EM状态
BLRPI:RP=rp,FORCED; 强制闭RP
BLRPE:RP=rp; 解开RP
EXRNP:RP=ALL; 打印所有连接到RPB-E 总线下的RP的状态。新指令
RPB-E- Regional Processor Bus of Ethernet type
###############################################################################
四、选组
GDSTP; 打印选组状态
GDBLI:UNIT=unit; 闭某一选组单元
GDTEI:UNIT= unit; 测试某一选组单元,在MB的状态下测试
GDBLE:UNIT=unit; 解开某一选组单元
NTSTP:SNT=ALL; 查看所有SNT的状态
NTCOP:SNT=ALL; 打印所有SNT的连接信息
NTCOI:SNT=sntname-n,SNTP=TSM-tsmpair-sntp,...;定义SNT
NTBLI:SNT=snt; 闭上某一SNT
NTTEI:SNT= snt; 测试某一SNT
NTBLE:SNT= snt; 解开某一SNT
############################################################################### 五、光纤、传输和时隙
TPSTP:SDIP=ALL; 查看所有光纤状态
TPBLI:SDIP=?ETM2; 闭某一光纤
TPBLE:SDIP=?ETM2; 解开某一光纤
tpbli:sdip=6etm2,lp=VC12-4&&-62; 闭业务
tpbli:sdip=6etm2,lp=VC12-4&&-62; 解业务
EXDUI:DEV=dev, SNT=ETM2-x, SNTINL=xx; 设备连SNT
EXDUE:DEV=dev; 拆除设备
EXDAI:DEV=dev; 设备带入服务
EXDAE:DEV=dev; 设备带出服务
BLODI:DEV=dev; 闭设备
BLODE:DEV=dev; 解开设备
STDEP:DEV=dev; 查看设备状态
DTSTP:DIP=ALL; 查看所有传输状态
DTSTP:DIP=ALL,STA TE=ABL; 打印所有状态为ABL的传输
DTSTP:DIP=ALL,STA TE=CBL; 打印所有状态为CBL的传输
DTSTP:DIP=ALL,STA TE=MBL; 打印所有状态为MBL的传输
DTSTP:DIP=ALL,STA TE=WO; 打印所有状态为WO的传输
DTBLI:DIP=dip; 闭某一传输
DTBLE:DIP=dip; 解开某一传输
DTDIP:DIP=dip;看DIP对应的SNT
DTIDP:DIP= dip; 看定义的DIP数据
DTQUP:DIP= dip; 看DIP的传输质量
DTQSP:DIP= dip; 看DIP的质量告警参数设置
TPQSR:SDIP=0ETM2,UNACC,DEGR,SF; 清除光纤质量告警
tpqsr:sdip=0etm2,es,es2,bbe,bbe2,ses,ses2; 清除光纤质量告警
DTQSR:DIP=ALL,UNACC,DEGR,SF; 清除质量告警
############################################################################### 六、时钟
GDCVP; Print control values and one hour average values in CLM.
NSDAP; 打印参考时钟信息,可以查看时钟的监视数据
NSSTP; 打印参考时钟状态
############################################################################### 七、TRA
RRTBI:DEV=RTTG1D-0000&&-0031 ; 闭上TRA的DEV,与其他类型的DEV不同RRTBE:DEV=RTTG1D-0000&&-0031 ; 解开TRA的DEV,与其他类型的DEV不同
RRTCC:DEV=RTTG1D-0000&&-0031,CHRA TE=HR,SPV=1; !0! !0!
更改DEV的类型(EFR FR HR)RRTPP:TRAPOOL=ALL;
RRTPI:TRAPOOL=FR,CHRA TE=FR,SPV=1;定义与POOL相关的数据RRTPC:TRAPOOL=FR,RNOTRA=4224;定义FR组内数量
RRISI:TRAPOOL=FR,ACL=A2,LIM1=8,LIM2=4;定义POOL的监视数据。RRMSI:TRAPOOL=FR,ACL=A2,MHTLIM=10;
RRISP:TRAPOOL=ALL; 查看POOL空闲监测数据
RRMSP:TRAPOOL=ALL; 查看POOL平均保持时间监测数据
###############################################################################
八、C7相关指令:
C7BPP; 打印每一个缓冲器的大小(SCCP BUFFER POOL SIZE DA TA)
*C7LTP:LS=ALL;看直达信令链路状态,ACTIVE正常,RESTORING不正常。
*C7LDP:LS=ALL;看直达信令链路设备定义,ST 为信令中端,SDL为半永久连接的定义 *C7SPP:SP=ALL;所有信令点编号。
*C7RSP:DEST=ALL;所有信令走向的选路。
*C7STP:ST=C7ST2C-0&&-100;看ST 的工作状态
*EXSCP:NAME=ALL;看所有半永久连接
*C7LAE:LS=2-19-255-4,SLC=0;闭至2-19-255-4信令点的第一条信令链。
*C7LAI:LS=2-19-255-4,SLC=0;解。
*C7RAE:DEST=2-19-255-4;去活到2-19-255-4的信令选路。
*C7RAI:DEST=2-19-255-4;激活。
C7SUP:LS=ls...; 看监测数据
C7RUP:DEST=dest; 看路由监测数据
###############################################################################
九、GPRS:
RRGBP; 查看GB口状态
RRPCP; 打印Packet Control Unit (PCU)数据,可以看到组里RP的数量和状态
DBTSP:TAB=RPSRPIRPS; 查看添加到组里的RP
DBTSP:TAB=RPSRPIGROUPS; 查看定义的组
在BSC定义GPRS:
1.定义NSE(Network Service Entity):
RRNEI:NSEI=1;
NSEI NSE标识,对于连接到SGSN的每个BSC都是唯一的2.定义Gb接口的虚拟连接:
RRNSI:DEV=RTGLT-33,NSVCI=1902,DLCI=219,NUMDEV=24;
DEV 半永久连接的电路端
NSVCI 虚拟连接标识
DLCI 物理连接标识
NUMDEV 所分配的信道数
拆除虚拟连接:
RRNSE;NSVCI=1902;
3.解闭虚拟连接:
RRVBE:NSVCI=1902;
闭塞虚拟连接:
RRVBI:NSVCI=1902;
4.激活小区的GPRS功能:
RLGSI:CELL=G050011;
去活小区的GPRS功能
RLGSE:CELL=G050011;
############################################################################### 十、IPN
APG43没有IPN线,因此也就没有如下指令:
OCINP:IPN=ALL; 打印IPN状态
OCSIP:IPN=ALL; 打印IPN软件
OCISI:IPN=1; 分离IPN(Separate the link between CP and APG)
OCIBI:IPN=ipn; 闭塞IPN
OCIBE:IPN=ipn; 解闭IPN
ipnaadm -state sep -ipnano 0 AP模式下分离IPN
############################################################################### 十一、用户
iOUAP:USER=ALL; 打印CP里所有用户
ioual:user=ERBSC24,psw=11111111,usergr=7; CP里添加用户,同时定义用户密码和用户组iouai:user=ERBSC24; 激活添加的用户
IOUGP; 查看CP用户组设置
############################################################################### 其他指令:
ALHBI;激活心跳功能
ALHBE;去活心跳功能
GMHWP;打印选组中选组硬件类型和状态。
DPHIP;打印CP中所有电路板硬件识别符。
ALACP;打印告警种类
CACLS:DA TE=date,TIME=time,DAY=day; 设置系统时间CACLP; 查看系统时间
allip; 查看所有告警
allip:acl=a1/a2/a3/o1/o2; 分别查看a1 a2 a3 o1 o2告警
ioexp; 查看局标
PLLDP; 查看内存使用情况
APAMP; 检查APG和CP的连接
rablp:dety=all; 查看定义的检测数据
RAEPP:ID=ALL;查看交换机属性
RAEPC:PROP=;更改交换机属性
SYPAC: ACCESS=ENABLED,PSW=psw; 允许修改交换机feature SYPAC: ACCESS=DISABLED; 结束修改交换机feature
Locust命令行参数详解 -h, --help 查看帮助 -H HOST, --host=HOST 被测试的主机地址,格式:http://10.21.32.33 --web-host=WEB_HOST Locust Web 页面的主机地址,默认为本机 -P PORT, --port=PORT, --web-port=PORT 被测试主机端口,默认8089 -f LOCUSTFILE, --locustfile=LOCUSTFILE 指定运行Locust 性能测试文件,默认为: locustfile.py --csv=CSVFILEBASE, --csv-base-name=CSVFILEBASE 以CSV格式存储当前请求测试数据 --master 分布式模式使用,指定当前节点为master 节点 --slave 分布式模式使用,指定当前节点为slave节点 --master-host=MASTER_HOST 分布式模式运行,设置master节点的主机或IP地址,只在与slave节点一起运行时使用,默认为:127.0.0.1 --master-port=MASTER_PORT 分布式模式运行,设置master节点的端口号,只在与slave节点一起运行时使用,默认为:5557。注意,slave节点也将连接到这个端口上的master节点 --master-bind-host=MASTER_BIND_HOST 绑定Locust的主机名,只有使用master参数时可用,默认为* --master-bind-port=MASTER_BIND_PORT 绑定Locust的端口,只有使用master参数时可用,默认为5557。注意Locust将使用这个端口,所以默认情况master节点将绑定到5557和5558
ARM处理器中CP15协处理器的寄存器 注意: You can only access CP15 registers with MRC and MCR instructions in a privileged mode (只能在特权模式下,对cp15进行MRC,MCR操作)。 1.访问CP15寄存器的指令 访问CP15寄存器指令的编码格式及语法说明如下: 31 28 27 24 23 21 20 19 16 15 12 11 8 7 5 4 3 0 cond 1 1 1 0 opcode_1 L Cr n Rd 1 1 1 1 opcode_2 1 Cr m 说明: Opcode_1 :协处理器行为操作码,对于CP15来说,永远为0b000,否则结果未知。 Rd:处理器核心的寄存器名称,不能是r15/pc,否则,结果未知。 Crn:作为目标寄存器的协处理器寄存器名称,编号为C0~C15。 Crm:协处理器中附加的目标寄存器或源操作数寄存器,如果不需要设置附加信息,将Crm设置为c0,否则结果未知。 Opcode_2 :提供附加信息,比如寄存器的版本号或者访问类型,用于区分同一个编号的不同物理寄存器,可以省略或者将其设置为0,否则结果未知。 指令语法格式说明: mcr :将ARM处理器的寄存器中的数据写到CP15中的寄存器中 mcr{
fastcopy命令行参数解释 2011-06-17 16:05 fastcopy是一款复制删除文件的工具,为什么要用它,因为他比系统的复制删除要快,特别是文件超多,超大的情况下. FASTCOPY可以在WINDOWS下使用,也可以在DOS下运行命令 下面是FASTCOPY命令行方式: fastcopy.exe [/参数] file1 file2 ... [/to=dest_dir] 基本参数: /cmd=(noexist_only|diff|update|sync|force_copy|move|delete) noexist_only 复制-如重名,则不复制 diff 复制-如重名,则公复制大小与时间不同的文件 update 复制-如重名,则复制较新的源文件 sync 同步-如重名,则复制大小与时间不同的文件 force_copy 复制-覆盖重名文件 move 移动-覆盖重名文件并强行删除源文件 delete 删除-强行删除指定的文件与目录 /auto_close 拷贝结束后,自动关闭 /force_close 如果拷贝结束后,发生错误,也强行关闭 /open_window 显示Fastcopy窗口界面 /estimate 预测拷贝完成时间 /no_exec 对Fastcopy窗口界面设置参数,但是不执行 /no_confirm_del 当用/delete参数时,不显示确认界面 /error_stop 发生错误时中止动作(在/error_stop=FALSE抑制)
/bufsize=N(MB) 用MB单位来指定缓冲器大小 /speed=(full|autoslow|9-1(90%-10%)|suspend) 速度限制 /log 输出记录文件(fastcopy.log) (在/log=FALSE抑制) /skip_empty_dir 启用过滤,不拷贝空文件夹(在/skip_empty_dir=FALSE抑制) /job=任务名称执行指定的任务 /force_start 在其他的FastCopy拷贝,并且正执行的时候,执行立即也(在/force_start=FALSE抑制) /disk_mode=(auto|same|diff) 指定自动/恒等性/其他HDD方式。(债务不履行声明:) auto) /include="..." 指定Include过滤器 /exclude="..." 指定Exclude过滤器 /overwrite_del 在删除文件之前,删掉方式时,重新取名给重复&,使复原无效(在/overwrite_del=FALSE抑制) /acl 拷贝存取支配清单(ACL)(只NTFS有效)(在/acl=FALSE抑制) /stream 拷贝副其次线流(只NTFS有效)(在/stream=FALSE抑制) /junction 复制junction·mount point(不是属下)junction·mount point自己(/junction=FALSE 拷贝属下) /symlink 用象征性连接(而不是本质)拷贝象征性连接其本身(在/symlink=FALSE 拷贝本质) [/to=dest_dir] 目标磁盘 fastcopy.exe [/options] file1 file2 ... [/to=dest_dir] Please use space character(' ') as separator(not semicolon). If filename contains space character, please enclose with dobule quotation marks. Ex) fastopy.exe C:\Windows "C:\Program Files" /to="D:\Backup Folder\" 使用"做为分隔符 c:\Progra~1\FastCopy\FastCopy.exe /cmd=sync /auto_close /open_window "\\ztsv-xs\e\网络游戏\永恒之塔" /to="e:\games\online\"
2.9如果GDT寄存器值为0013000000FFH,装人LDTR的选择符为0040H,试问装人描述符高速缓存的LDT描述符的起始地址是多少? 解:GDT寄存器的高32位和低16位分别为GDT的基址和段限,所以:GDT的基址=00130000H LDTR选择符的高13位D15~D3=000000001000B是该LDT描述符在GDT中的序号,所以: LDT描述符的起始地址= GDT的基址 十LDT描述符相对于GDT基址的偏移值 =00130000H+8×8=00130040H 2.10假定80486工作在实模式下,(DS)=1000H, (SS)=2000H, ( SI ) = El07FH, ( BX )=0040H, (BP) = 0016H,变量TABLE的偏移地址为0100H。请间下列指令的源操作数字段是什么寻址方式?它的有效地址(EA)和物理地址(PA)分别是多少? (1)MOV AX,[1234H ] (2) MOV AX, TABLE (3) MOV AX,[BX+100H] (4) MOV AX,TABLE[BPI[SI] 解:(1)直接寻址,EA=1234H , PA =(DS)×16+EA=11234H。 (2)直接寻址,EA= O100H,PA= (DS)×16+EA=10100H。 (3)基址寻址,EA=( EBX)+100H =0140H,PA= (DS) × 16+EA=10140H。 (4)带位移的荃址加变址寻址。(EA)= (BP)+[SI]十TABLE的偏移地址=0195H PA=(SS)×16+EA=20195H} 2.11下列指令的源操作数字段是什么寻址方式? (1)MOV EAX , EBX (2)MOV EAX,[ ECX] [EBX ] (3) MOV EAX,[ESI][EDX * 2] (4)MOV EAx,[ ESI*8] 解:(1)寄存器寻址。 (2)基址加变址寻址。 (3)基址加比例变址寻址。 (4)比例变址寻址。 2.12分别指出下列指令中源操作和目的操作数的寻址方式。 式表示出EA和PA。 (1)MOV SI,2100H (2)MOV CX, DISP[BX] (3) MOV [SI] ,AX (4)ADC AX,[BX][SI] (5)AND AX,DX (6) MOV AX,[BX+10H] (7) MOV AX,ES:[BX] (8) MOV Ax, [BX+SI+20H] (9) MOV [BP ].CX (10) PUSH DS 解:(1) 源操作数是立即数寻址;目的操作数是寄存器寻址。 (2)源操作数是基址寻址,EA=(BX)+DISP,PA=(DS)×16+(BX)+DISP 目的操作数是寄存器寻址。 (3)源操作数是寄存器寻址; 目的操作数是寄存器间接寻址,EA=(SI).PA=(DS) × 16十(SI)。 (4)操作数是基址加变址寻址,EA= (BX)+(SI).PA= (DS) × 16十(BX)+(SI) 目的操作数是寄存器寻址。 (5)源操作数和目的操作数均为寄存器寻址。 (6)源操作数是基址寻址,EA=(BX)+10H.PA= (DS) × 16十(BX)+10H 目的操作数是寄存器寻址。 (7)源操作数是寄存器间接寻.EA= (Bx).PA= (ES) × 16+(BX)
在基于ARM的嵌入式应用系统中,存储系统通常是通过系统控制协处理器CP15完成的。CP15包含16个32位的寄存器,其编号为0~15。 访问CP15寄存器的指令 MCR ARM寄存器到协处理器寄存器的数据传送 MRC 协处理器寄存器到ARM寄存器的数据传送 MCR指令和MRC指令只能在处理器模式为系统模式时执行,在用户模式下执行MCR 指令和MRC指令将会触发未定义指令的异常中断。 MCR指令 MCR指令将ARM处理器的寄存器中的数据传送到协处理器寄存器中。如果协处理器不能成功地执行该操作,将产生未定义的指令异常中断。 指令语法格式 MCR{
安装完SI后,会在安装一个如下的文件 我的文档\Source Insight\c.tom c.tom的功能与C语言中的#define类似。打开这个文件,会看到有很多空格分割的字符串,SI在我们阅读代码时,自自动将空格前的字符串替换为空格后的字符串(仅仅是影响阅读,不影响编译喔)。 举两个例子。 #define AP_DECLARE(type) type AP_DECLARE(int) ap_calc_scoreboard_size(void) { .... } source insight 把AP_DECLARE当作了函数,当想查ap_calc_scoreboard_size的时候总是很麻烦,不能直接跳转. 我的文档\Source Insight\c.tom 加入 AP_DECLARE(type) type 如下的代码如何让SI 识别出f是一个函数? #define EXPORT_CALL(return,functionname) return functionname EXPORT_CALL (int, f1()) 我的文档\Source Insight\c.tom 加入 EXPORT_CALL(return,functionname) return functionname 同时,在#define中,标准只定义了#和##两种操作。#用来把参数转换成字符串,##则用来连接前后两个参数,把它们变成一个字符串。(c.tom的功能与支持##,不支持#好像) 这个技巧我在阅读zebra的命令行代码时也用到了。 比如下吗一段代码:(DEFUN是一个宏定义,这个文件中有很多这样的DEFUN。不修改c.tom 之前看到的是这样的)
防火墙配置中必备的六个主要命令解析 防火墙的基本功能,是通过六个命令来完成的。一般情况下,除非有特殊的安全需求,这个六个命令基本上可以搞定防火墙的配置。下面笔者就结合CISCO的防火墙,来谈谈防火墙的基本配置,希望能够给大家一点参考。 第一个命令:interface Interface是防火墙配置中最基本的命令之一,他主要的功能就是开启关闭接口、配置接口的速度、对接口进行命名等等。在买来防火墙的时候,防火墙的各个端都都是关闭的,所以,防火墙买来后,若不进行任何的配置,防止在企业的网络上,则防火墙根本无法工作,而且,还会导致企业网络不同。 1、配置接口速度 在防火墙中,配置接口速度的方法有两种,一种是手工配置,另外一种是自动配置。手工配置就是需要用户手工的指定防火墙接口的通信速度;而自动配置的话,则是指防火墙接口会自动根据所连接的设备,来决定所需要的通信速度。 如:interface ethernet0 auto --为接口配置“自动设置连接速度” Interface ethernet2 100ful --为接口2手工指定连接速度,100MBIT/S。 这里,参数ethernet0或者etnernet2则表示防火墙的接口,而后面的参数表示具体的速度。 笔者建议 在配置接口速度的时候,要注意两个问题。 一是若采用手工指定接口速度的话,则指定的速度必须跟他所连接的设备的速度相同,否则的话,会出现一些意外的错误。如在防火墙上,若连接了一个交换机的话,则交换机的端口速度必须跟防火墙这里设置的速度相匹配。 二是虽然防火墙提供了自动设置接口速度的功能,不过,在实际工作中,作者还是不建议大家采用这个功能。因为这个自动配置接口速度,会影响防火墙的性能。而且,其有时候也会判断失误,给网络造成通信故障。所以,在一般情况下,无论是笔者,还是思科的官方资料,都建议大家采用手工配置接口速度。 2、关闭与开启接口 防火墙上有多个接口,为了安全起见,打开的接口不用的话,则需要及时的进行关闭。一般可用shutdown命令来关闭防火墙的接口。但是这里跟思科的IOS 软件有一个不同,就是如果要打开这个接口的话,则不用采用no shutdown命令。在防火墙的配置命令中,没有这一条。而应该采用不带参数的shutdown命令,来把一个接口设置为管理模式。
ARM920T的CP15协处理器 ARM920T的MMU和Cache都集成在CP15协处理器中,MMU和Cache的联系非常密切,本节首先从总体上介绍MMU、Cache和CPU核是如何协同工作的,后面两节分别讲解MMU和Cache的细节。三星公司的S3C2410是一种很常见的采用ARM920T的芯片,涉及到具体的芯片时我们以S3C2410为例。 以下是CP15协处理器的寄存器列表(摘自[S3C2410用户手册]),和CPU核的r0到r15寄存器一样,协处理器寄存器也是用0到15来编号,在指令中用4个bit来表示寄存器编号,有些协处理器寄存器有影子寄存器,这种情况下对同一个编号的寄存器使用不同的选项读或者写实际上访问的是不同的寄存器,后文用到某个寄存器时会详细说明它的功能。 表1. CP15协处理器的寄存器列表 对CP15协处理器的操作使用mcr和mrc两条协处理器指令,这两条指令的记法是从后往前看:mcr是把r(CPU核寄存器)中的数据传送到c(协处理器寄存器)中,mrc则是把c(协处理器寄存器)中的数据传送到r(CPU核寄存器)中。对CP15协处理器的所有操作都是通过CPU核寄存器和CP15寄存器之间交换数据来完成的。下图是协处理器的指令格式(摘自[S3C2410用户手册])。
图8. 协处理器指令格式 和其它ARM指令一样,Cond是条件码,bit 20是L位,表示该指令是读还是写,如果L=1就表示Load,从外面读到CPU核中,也就是mrc指令,如果L=0就表示Store,也就是mcr指令。[11:8]这四个位是协处理器编号,CP15的编号是15,因此是4个1。CRn是CP15寄存器编号,Rd是CPU核寄存器编号,各占4个位。对于CP15协处理器,规定opcode1应该为0,opcode2和CRm是指令的选项,具体含义取决于不同的寄存器。 虽然这里介绍了协处理器的寄存器编号和相关指令,但读者只需了解对协处理器是这样进行操作的就可以了,我们的重点是讲解MMU和Cache的基本概念,具体各种操作的指令该怎么写可以参考[S3C2410用户手册]。 MMU是如何把VA映射成PA的呢?从图4 “进程地址空间是独立的”来看,好像是有一张VA转PA的表,给一个VA查表就可以查到PA,实际上并不是这么简单,通常要有一个多级的查表过程,对于ARM体系结构是两级查表,对于一些64位体系结构则需要更多级。看下面的图示。 图9. Translation Table Walk 首先将32位的VA[3]分成三段,前两段[31:20]和[19:12]作为两次查表的索引,第三段[11:0]作为页内的偏移。查表的步骤如下: 1 CP15协处理器的TTB寄存器(看看表1 “CP15协处理器的寄存器列表”中这是第几个寄存器?)中保存着第一级页表(Translation Table)的基地址,这个基地址指的是PA,也就是说页表是直接按这个地址存在物理内存中的。 2 以TTB中的内容为基地址,以VA[31:20]为索引在表中查出一项(想一下这个表中一共有多少项?),这个表项中保存着第二级页表(Coarse Page Table)的基地址,同样是物理地址,也就是说第二级页表也是直接按这个地址存在物理内存中的。
Linux find命令常见用法汇总 导读:Linux系统中查找文件的命令式find,find命令具有强大的功能,能够提供多种查找条件,下面小编就给大家带来Linux中find命令的常见用法汇总,一起来学习下吧。 ·find path -option [-print ][-exec -ok command ]{} \; find命令的参数; pathname:find命令所查找的目录路径。例如用。来表示当前目录,用/来表示系统根目录。 -print:find命令将匹配的文件输出到标准输出。 -exec:find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为‘command’ { } \;,注意{ }和\;之间的空格。 -ok:和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。 #-print 将查找到的文件输出到标准输出 #-exec command {} \; —–将查到的文件执行command操作,{} 和\;之间有空格 #-ok 和-exec相同,只不过在操作前要询用户 例:find 。-name .svn | xargs rm -rf ==================================================== -name filename #查找名为filename的文件 -perm #按执行权限来查找 -user username #按文件属主来查找
-group groupname #按组来查找 -mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前-atime -n +n #按文件访问时间来查GIN:0px“》 -ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前-nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在 -nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存 -newer f1 !f2 找文件,-n指n天以内,+n指n天以前 -ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前-nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在 -nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存 -newer f1 !f2 #查更改时间比f1新但比f2旧的文件 -type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件 -size n[c]#查长度为n块[或n字节]的文件 -depth #使查找在进入子目录前先行查找完本目录 -fstype #查更改时间比f1新但比f2旧的文件 -type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件 -size n[c]#查长度为n块[或n字节]的文件 -depth #使查找在进入子目录前先行查找完本目录 -fstype #查位于某一类型文件系统中的文件,这些文件系统类型通常可在/etc/fstab中找到 -mount #查文件时不跨越文件系统mount点 -follow #如果遇到符号链接文件,就跟踪链接所指的文件 -cpio %; #查位于某一类型文件系统中的文件,这些文件系统类型通常可在/etc/fstab中找到 -mount #查文件时不跨越文件系统mount点 -follow #如果遇到符号链接文件,就跟踪链接所指的文件 -cpio #对匹配的文件使用cpio命令,将他们备份到磁带设备中 -prune #忽略某个目录 ===================================================== $find ~ -name ”*.txt“ -print #在$HOME中查.txt文件并显示 $find 。-name ”*.txt“ -print $find 。-name ”[A-Z]*“ -print #查以大写字母开头的文件 $find /etc -name ”host*“ -print #查以host开头的文件 $find 。-name ”[a-z][a-z][0–9][0–9].txt“ -print #查以两个小写字母和两个数字开头的txt文件 $find 。-perm 755 -print $find 。-perm -007 -exec ls -l {} \; #查所有用户都可读写执行的文件同-perm 777 $find 。-type d -print $find 。!-type d -print $find 。-type l -print $find 。-size +1000000c -print #查长度大于1Mb的文件
gcc命令行详解 1、gcc包含的c/c++编译器 gcc、cc、c++、g++ gcc和cc是一样的,c++和g++是一样的,一般c程序就用gcc编译,c++程序就用g++编译 2、gcc的基本用法 gcc test.c这样将编译出一个名为a.out的程序 gcc test.c -o test这样将编译出一个名为test的程序 -o参数用来指定生成程序的名字 3、为什么会出现undefined reference to 'xxxxx'错误? 首先这是链接错误,不是编译错误,也就是说如果只有这个错误,说明你的程序源码本身没有问题,是你用编译器编译时参数用得不对,你没有指定链接程序要用到得库,比如你的程序里用到了一些数学函数,那么你就要在编译参数里指定程序要链接数学库,方法是在编译命令行里加入-lm 4、-l参数和-L参数 -l参数就是用来指定程序要链接的库,-l参数紧接着就是库名,那么库名跟真正的库文件名有什么关系呢?-lname,在连接时,装载名字为“libname.a”的函数库:-lm表示连接名为“libm.a”的数学函数库。就拿数学库来说,他的库名是m,他的库文件名是libm.so,很容易看出,把库文件名的头lib和尾.so去掉就是库名了 好了现在我们知道怎么得到库名,当我们自已要用到一个第三方提供的库名字libtest.so,那么我们只要把libtest.so拷贝到/usr/lib里,编译时加上-ltest参数,我们就能用上libtest.so库了(当然要用libtest.so库里的函数,我们还需要与libtest.so配套的头文件) 放在/lib和/usr/lib和/usr/local/lib里的库直接用-l参数就能链接了,但如果库文件没放在这三个目录里,而是放在其他目录里,这时我们只用-l参数的话,链接还是会出错,出错信息大概是:“/usr/bin/ld: cannot find -lxxx”,也就是链接程序ld在那3个目录里找不到libxxx.so,这时另外一个参数-L就派上用场了,比如常用的X11的库,它在/usr/X11R6/lib目录下,我们编译时就要用-L/usr/X11R6/lib -lX11参数,-L参数跟着的是库文件所在的目录名。再比如我们把libtest.so放在/aaa/bbb/ccc目录下,那链接参数就是 -L/aaa/bbb/ccc -ltest 另外,大部分libxxxx.so只是一个链接,以RH9为例,比如libm.so它链接到/lib/libm.s o.x,/lib/libm.so.6又链接到/lib/libm-2.3.2.so, 如果没有这样的链接,还是会出错,因为ld只会找libxxxx.so,所以如果你要用到xxxx 库,而只有libxxxx.so.x或者libxxxx-x.x.x.so,做一个链接就可以了 ln -s libxxxx-x.x.x.so libxxxx.so 手工来写链接参数总是很麻烦的,还好很多库开发包提供了生成链接参数的程序,名字一般叫xxxx-config,一般放在/usr/bin目录下,比如 gtk1.2的链接参数生成程序是gtk-config,执行gtk-config --libs就能得到以下输出"- L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -rdynamic
1-3、ARM开发步步深入之MMU初窥 实验目的:启用MMU,映射SDRAM的地址空间,操作虚拟地址实现“点灯大法”,借此掌握MMU的使用。 实验环境及说明:恒颐S3C2410开发板H2410。H2410核心板扩展有64MB的K4S561632 SDRAM(4M*16bit*4BANK),地址范围是0x30000000~0x33FFFFFF。GPIO端口的地址范围是 0x56000000~0X560000B0。 实验思路:开发板上电启动后,自动将NandFlash开始的4K数据复制到SRAM中,然后跳转到0地址开始执行,然后初始化存储控制器SDRAM,把2K后的代码从SRAM中复制到SDRAM中(存放在0x30004000,前16KB用来存放页表)、设置页表、启动MMU 实现虚拟地址映射GPIO寄存器和SDRAM,最后跳转到SDRAM中(地址0xB0004000)运行。重新设置栈指针,跳到点灯代码的入口点实现点灯操作。 知识掌握:MMU地址转换、内存访问权限检查、TLB及Cache的使用 一、MMU地址转换: 1.首先弄清除为什么要使用MMU纳?MMU即内存管理单元,直白一点的讲,就像食堂的餐具,所有的学生一起吃饭时不够用,但食堂又不想再出资购买新的餐具(原因很明显:一方面要成本,另一方面
又占地方。这就像增加内存一样),那么有没有解决办法?根据以往经验得知不可能全学校的学习一起都到食堂吃饭,于是食堂就找几个人负责餐具的管理(相当于MMU),他们一方面发放餐具,保证来的同学有餐具可用,另一方面又回收用完的餐具(这就相当于虚拟地址到物理地址之间建立了一个映射一样,内存还是那么多,但从任意单个程序角度都好像用不完一样)。当然如果有同学一个人拿好几套餐具肯定不允许的(这就相当于内存的权限检查)。MMU在地址转换过程中涉及到三种地址:(VA---Virtual Address,虚拟地址)---这个就相当于餐具存放的地方(大家都可以领到餐具)。CPU核心看到和用到的只是虚拟地址VA,至于VA如果去对应物理地址PA,CPU 核心不理会,大家也不会去关心总共有多少餐具吧; (MVA---Modified Virtual Address,变换后的虚拟地址)---这个相当于放假的时候,人很少,只发餐具好了,用过的就不先回收了,节省人员了。Caches和MMU看不到VA,他们利用MVA转换得到PA,放假了回收餐具的人也不需要一直寻找用完的餐具; (PA---Physical Address,物理地址)---实际的餐具量,就那些。实际设备看不到VA、MVA,读写它们使用的是物理地址PA,同学们就餐一般会领到餐具。 2.虚拟地址到物理地址的转换过程。ARM使用页表来进行转换, S3C2410最多会用到两级页表,以段(Section,1M)的方式进行转换时只用到一级页表,以页(Page)的方式进行转换时用到两级页表。页的大小有3种:大页(64KB)、小页(4KB)和极小页(1KB)。本文
find和xargs的組合用法 一、find 命令格式 1、find命令的一般形式为; find pathname -options [-print -exec -ok ...] 2、find命令的参数; pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。 -print:find命令将匹配的文件输出到标准输出。 -exec:find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。 -ok:和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。 3、find命令选项 -name 按照文件名查找文件。 -perm 按照文件权限来查找文件。 -prune 使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find 命令忽略。 -user 按照文件属主来查找文件。 -group 按照文件所属的组来查找文件。 -mtime -n +n 按照文件的更改时间来查找文件,- n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n 天以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项。 -nogroup 查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。 -nouser 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。 -newer file1 ! file2 查找更改时间比文件file1新但比文件file2旧的文件。 -type 查找某一类型的文件,诸如: b - 块设备文件。 d - 目录。 c - 字符设备文件。 p - 管道文件。 l - 符号链接文件。 f - 普通文件。 -size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。
前阵子,我们审查了15件实事find命令的例子(第一部分)。查找命令可以做很多比只是在寻找基于名称的文件(第2部分)在这篇文章中,让我们来讨论15高级find命令的例子,包括-根据它访问,修改或改变的时间查找文件,查找文件相比之下,执行操作找到的文件等。 基于访问/修改/更改时间查找文件 你可以找到基于以下三个文件的时间属性的文件。 1.访问时间的文件。文件访问时,访问时间得到更新。 2.的文件的修改时间。文件内容修改时,修改时间得到更新。 3.更改文件的时间。更改时间时,被更新的inode数据的变化。 在下面的例子中,min选项之间的差异和时间选项是参数。 ?分论点将它的参数为分钟。例如,60分钟(1小时)= 60分钟。 ?时间参数,将它的参数为24小时。例如,时间2 = 2 * 24小时(2天)。 ?虽然这样做的24个小时计算,小数部分都将被忽略,所以25小时为24小时,和47小时取为24小时,仅48小时为48小时。要获得更清晰的参考atime的部分find 命令的手册页。 例1:找到在1个小时内被更改的文件 想要通过文件修改时间找出文件,可以使用参数-mmin -mtime。下面是man手册中有关mmin和mtime的定义。 ?-mmin n文件最后一次修改是在n分钟之内 ?-mtime n文件最后一次修改是在n*24小时之内(译者注:也就是n天了呗)执行下面例子中的命令,将会找到当前目录以及其子目录下,最近一次修改时间在1个小时(60分钟)之内的文件或目录 1 # find . -mmin -60
同样的方式,执行下面例子中的命令,将会找到24小时(1天)内修改了的文件(文件系统根目录/ 下) 1 # find / -mtime -1 例2:找到1个小时内被访问过的文件 想要通过文件访问时间找出文件,可以使用参数-amin -atime。下面是man手册中有关amin和atime的定义。 ?-amin n文件最后一次访问是在n分钟之内 ?-atime n文件最后一次访问是在n*24小时之内 执行下面例子中的命令,将会找到当前目录以及其子目录下,最近一次访问时间在1个小时(60分钟)之内的文件或目录 1 # find . -amin -60 同样的方式,执行下面例子中的命令,将会找到24小时(1天)内被访问了的文件(文件系统根目录/ 下) 1 # find / -atime -1 例3:查找一个小时内状态被改变的文件 (译者注:这里的改变更第1个例子的更改文件内容时间是不同概念,这里是更改的是文件inode的数据,比如文件的权限,所属人等等信息) 要查找文件的inode的更改时间,使用-cmin和-ctime选项 ?-cmin n文件的状态在n分钟内被改变 ?-ctime n文件状态在n*24小时内(也就是n天内)被改变 (译者注:如果上面的n为-n形式,则表示n分钟/天之内,n为+n则表示n分钟/天之前) 下面的例子在当前目录和其子目录下面查找一个小时内文件状态改变的文件(也就是60分钟内): 1 # find . -cmin -60 同样的道理,下面的例子在根目录/及其子目录下一天内(24小时内)文件状态被改变的文件列表: 1 # find / -ctime -1 例4:搜索仅仅限定于文件,不显示文件夹
Linux Find命令精通指南 作者:Sheryl Calish 简单介绍这一无处不在的命令的强大的方面以及混乱的方面。 2008年7月发布 Linux find命令是所有Linux命令中最有用的一个,同时也是最混乱的一个。它很难,因为它的语法与其他Linux命令的标准语法不同。但是,它很强大,因为它允许您按文件名、文件类型、用户甚至是时间戳查找文件。使用find命令,您不但可以找到具这些属性任意组合的文件,还可以对它找到的文件执行操作。 本文的目的是,通过概述find命令的用途和潜能,简化该命令的学习和使用。同时,它将针对find命令的某些最强大但最混乱的方面提供一个基本的指南和参考。 [注意:本文使用的find版本是GNU版本,因此,某些细节可能与其他版本的find有所不同。] 基本格式 开始之前,我们先来看一下find命令的基本结构: find start_directory test options criteria_to_match action_to_perform_on_results 在以下命令中,find将开始在当前目录(用“.”表示)中查找任何扩展名为“java”的文件:find.-name"*.java" 下面是该命令所找到的命令的缩略清单: find.-name"*.java" ./REGEXPvalidate/src/oracle/otnsamples/plsql/ConnectionManager.java ./REGEXPvalidate/src/oracle/otnsamples/plsql/DBManager.java .. [注意:如果您从本文剪切并粘贴来运行该find命令,您可能需要使用自己的键盘替换双引号(“”)才能得出正确的结果。] 以下命令将执行相同的操作。在这两种情况下,您都需要对通配符进行转义以确保它传递到find命令并且不由shell解释。因此,请将您的搜索字符串放到引号里,或者在它前面加上反斜线:
CD-----PING命令参数详解 前2天有个朋友在网问我关于ping命令ping完后参数代表什么?刚好今天有时间,我就整理了一下,发了出来,希望对大家有帮助!! PING命令参数详解 -a 将目标的机器标识转换为ip地址 -t 若使用者不人为中断会不断的ping下去 -c count 要求ping命令连续发送数据包,直到发出并接收到count个请求 -d 为使用的套接字打开调试状态 -f 是一种快速方式ping。使得ping输出数据包的速度和数据包从远程主机返回一样快,或者更快,达 到每秒100次。在这种方式下,每个请求用一个句点表示。对于每一个响应打印一个空格键。 -i seconds 在两次数据包发送之间间隔一定的秒数。不能同-f一起使用。 -n只使用数字方式。在一般情况下ping会试图把IP地址转换成主机名。这个选项要求ping打印IP地址 而不去查找用符号表示的名字。如果由于某种原因无法使用本地DNS服务器这个选项就很重要了。 -p pattern 拥护可以通过这个选项标识16 pad字节,把这些字节加入数据包中。当在网络中诊断与数据有关的错误时这个选项就非常有用。 -q 使ping只在开始和结束时打印一些概要信息。 -R 把ICMP RECORD-ROUTE选项加入到ECHO_REQUEST数据包中,要求在数据包中记录路由,这样当数据返回时 ping就可以把路由信息打印出来。每个数据包只能记录9个路由节点。许多主机忽略或者放弃这个选项。 -r 使ping命令旁路掉用于发送数据包的正常路由表。 -s packetsize 使用户能够标识出要发送数据的字节数。缺省是56个字符,再加上8个字节的ICMP 数据头,共64个ICMP数据字节。 -v 使ping处于verbose方式。它要ping命令除了打印ECHO-RESPONSE数据包之外,还打印其它所有 返回的ICMP数据包。 使用Ping 使用Ping测量丢包的最佳方法是向一个IP地址发送大量的Ping命令,然后你可以检查没有没有应答的次数,并把没有应答的次数作为丢包。没有应答的次数超过5%可能就值得担心了。 例:在一台Windows计算机上,在命令提示符后面输入如下命令就可以完成这个任务: Ping -n 6(IP地址或者域名,如https://www.wendangku.net/doc/913852846.html,)这个命令中的“-n”开关告诉发送ping命令的次数,