About neohope

一直在努力,还没想过要放弃...

CMD常用命令03Windows实用命令

1.Tasklist

作用: 显示当前运行在本地或远程计算机上的应用程序、服务以及进程 ID (PID) 的列表

语法:TASKLIST [/S system [/U username [/P [password]]]] [/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH]

参数列表:
  /S   system          指定连接到的远程系统。
  /U   [domain/]user   指定应该在哪个用户上下文执行这个命令。
  /P   [password]      为提供的用户上下文指定密码。如果忽略,提示输入。
  /M   [module]        列出所有其中符合指定模式名的DLL模块的所有任务。如果没有指定模块名,则显示每个任务加载的所有模块
  /SVC                 显示每个进程中的服务。
  /V                   指定要显示详述信息。
  /FO   format         指定输出格式。有效值: "TABLE"、"LIST"、"CSV"。
  /NH                  指定栏标头不应该在输出中显示。只对 "TABLE" 和 "CSV" 格式有效。
  /?                   显示帮助/用法。

列出了系统的进程,包括PID,内存使用大小.
加上了参数/svc ,这样就列出了每个进程所调用的服务

2.Taskkill

作用:结束一个或多个任务或进程。可以根据进程 ID 或图像名来结束进程。

语法:TASKKILL [/S system [/U username [/P [password]]]] { [/FI filter] [/PID processid | /IM imagename] } [/F] [/T]

参数列表:
  /S   system          指定要连接到的远程系统。
  /U   [domain/]user   指定应该在哪个用户上下文执行这个命令。
  /P   [password]      为提供的用户上下文指定密码。如果忽略,提示输入。
  /F                   指定要强行终止进程。
  /PID process id      指定要终止的进程的PID。
  /IM   image name     指定要终止的进程的图像名。通配符 '*'可用来指定所有图像名。
  /T                   终止指定的进程和任何由此启动的子进程。
  /?                   显示帮助/用法。

3.Ntsd

第一步:打开进程管理器窗口,找到进程PID
第二步:输入ntsd -c q -p PID回车即可终止该进程。
只有System、SMSS.EXE和CSRSS.EXE进程不能被该命令杀死。前两个是纯内核态的,最后那个是Win32子系统,ntsd本身需要它。

4.ping

用来检测一帧数据从当前主机传送到目的主机所需要的时间

ping命令的格式如下:
ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-scount] [[-j host-list] | [-k host-list]] [-w timeout] destination-list

其中的参数说明如下:
-t 使当前主机不断地向目的主机发送数据,直到使用Ctrl-C中断;
-a 以IP地址格式(不是主机名形式)显示网络地址;
-n count 指定要做多少次ping,其中count为正整数值;
-l size 发送的数据包的大小; -f 设置回声分组不会由中间网关分组;
-i TTL 指定ping分组时限域,TTL是指在停止到达的地址前应经过多少个网关;
-v TOS 服务的类型; -r count 指出要记录路由的轮数(去和回);
-s count 指定当使用-r参数时,用于每一轮路由的时间;
-j host-list 指定希望分组的路由;
-k host-list 与-j参数基本相同,只是不能使用额外的主机;
-w timeout 指定超时时间间隔(单位为毫秒),缺省为1000;

一般我们使用得较多的参数为-t、-n、-w。 

5.ipconfig

用来显示主机内IP协议的配置信息。

ipconfig的命令格式如下:
ipconfig [/? | /all | /release [adapter] | /renew [adapter]]

其中的参数说明如下:
/? 显示ipconfig的格式和参数的英文说明;
/all 显示所有的配置信息;
/release 为指定的适配器(或全部适配器)释放IP地址(只适用于DHCP);
/renew 为指定的适配器(或全部适配器)更新IP地址(只适用于DHCP)。

使用不带参数的ipconfig命令可以得到以下信息:IP地址、子网掩码、默认网关。
而使用ipconfig /all,则可以得到更多的信息:主机名、DNS服务器、节点类型、网络适配器的物理地址、主机的IP地址、子网掩码以及默认网关等。

6.tracert

判定数据包到达目的主机所经过的路径、显示数据包经过的中继节点清单和到达时间。

tracert命令的格式如下:
tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name 其中的

参数说明如下:
-d 不解析主机名;
-h maximum_hops 指定搜索到目的地址的最大轮数;
-j host-list 沿着主机列表释放源路由; -w timeout 指定超时时间间隔(单位毫秒)。

7.netstat

显示当前活动的网络连接的详细信息,如协议类型、当前主机与远端相连主机的IP地址以及它们之间的连接状态等。

netstat的命令格式如下:
netstat [-a] [-e] [-n] [-s] [-p proto] [-r] [interval] 其中的参数说明如下:

-a 显示所有主机的端口号;
-e 显示以太网统计信息;
-n 以数字表格形式显示地址和端口;
-p proto 显示特定的协议的具体使用信息;
-r 显示本机路由表的内容;
-s 显示每个协议的使用状态(包括TCP、UDP、IP);
interval 重新显示所选的状态,每次显示之间的间隔数(单位秒),按Ctrl+C中止重新显示。

8、arp

arp的命令格式如下:
arp -s inet_addr eth_addr [if_addr]
arp -d inet_addr [if_addr]
arp -a [inet_addr] [-N if_addr]

参数说明如下:
inet_addr IP地址;
eth_addr 以太网卡地址;
-a 显示某个IP地址的网卡地址(不加IP地址,显示所有已激活的IP地址的网卡地址)(使用该参数前应该先ping通某一个IP地址);
-d 删除指定IP地址的主机;
-s 增加主机和与IP地址相对应的以太网卡地址。

9.Fixmbr

重新构造主引导扇区。只修改主引导扇区记录,对其他扇区不进行写操作。

其基本命令格式如:
Fixmbr[Drive][/A][/D][/P][/Z][/H]

/A:Active DOS partition(激活基本DOS分区)
/D:Display MBR(显示主引导记录内容)
/P:Display partition(显示DOS分区的结构)
/Z:Zero MBR (将主引导记录区清零)
/H:Help (帮助信息)

如果直接键入FixMbr后按回车键,缺省的情况下将执行检查主引导区结构的操作。如果发现系统不正常,将出现是否进行修复的提示。
回答Yes后将搜索分区,当搜索到相应的分区以后,系统会提示是否修改主引导区,回答YES则会开始修复。如果搜索的结果不对,可使
用/Z开关符,重新启动系统将主引导区恢复到原来的状态。

10.Diskpart

利用它可实现对硬盘的分区管理,包括创建分区、删除分区、合并(扩展)分区。

Active:将一个分区标为 Aactive,让它成为系统盘。
Delete:删除分区。
Exit:退出Diskpart状态。
Extend:将分区的容量扩大。
Help:显示帮助信息。
List:列出磁盘或分区。
Select:选择要操作的对象,如一个磁盘或分区等。

修复Windows系统

我们在平时操作电脑的过程中可能会因为某个误操作而丢失了一些重要的系统文件,系统因此变得非常不稳定,总是出现错误提示
,如果是为此而重新安装系统的话,那必将浪费你好长的时间,其实使用SFC文件检测器命令就可以轻松地帮你检测并修复受损的系统文
件。
  
  具体方法:插入系统安装光盘,然后在命令提示符窗口中输入“sfc /scannow”命令并回车,这时sfc文件检测器将立即扫描所有受
保护的系统文件。在大约几分钟的时间里,SFC会检测并修复好受保护的系统文件。
  
  小提示:如果身边没有Windows XP安装盘,但以前在硬盘上备份了安装盘文件的话,可以通过下面的小小设置即可让文件检测器从硬
盘上的安装文件中来恢复系统文件。

展开“HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Setup”子键,然后在右侧窗口中修改Installation

Sources、ServicePackSourcePath和SourcePath三个键值为硬盘上的系统安装程序路径,例如Windows XP的安装原文件存放在E盘/CDXP

文件夹中,那么修改以上三个键的键值为“E:/CDXP”。这样再使用SFC命令时,则可以直接使用硬盘上的安装文件来恢复系统而不需要
插入安装光盘。

VPN有效,SVN连不上

这同样是一个超级悲剧的事情,在同事家,连上了公司VPN,
准备上传代码,但SVN无论如何都告诉我,“俺找不到服务器啊”

这个。。。

我刚在宾馆就是可以连上的,而且速度也很快。
那就找原因吧。

同样是ipconfig -all一下,发现,妈呀,
这些人居然把路由的网段和公司内部网段设成了相同的

不由倒吸一口凉气,
你用固定IP也就罢了,麻烦一些我也忍了,
可以用DCHP为什么还要用同一个网段啊

哥哥们啊。。。

能获取IP却连不上互联网

由于公司项目需要外出,就在一家宾馆住下了,闲着无聊,就连上网线准备看看新闻。
把IP地址获取模式设为DHCP,IP也正常获取到了,192.168.1.???,但无论如何都连不上网
打电话向前台确认,他们百般保证,绝对可以上网。

于是ipconfig -all一下,发现,居然没有网关。
这个可是个大悲剧了。

查了整整半个小时,发现:
天啊,居然是因为,VMWare的一块网卡的地址竟然是192.168.1.1

面壁去了。。。

话说回来,这不是第一次了
前几个月在EMC测试产品的时候,
别人的笔记本都可以联网,就是我的没反应
同样是因为这块VMWare的虚拟网卡

继续面壁。。。

CMD常用命令02定期备份Oracle

项目实施后,为了以防万一,决定每天夜里备份数据库
虽然Oracle本身就有自动备份的功能,但我仍然不放心于是用bat和windows的任务计划进行了备份

REM HANSEN 2011-03-31
REM 用于备份Oracle数据库
color 2

set FilePath=S:/Backup/
set UserName=user
set PassWord=pwd
set ServiceName=orcl

if not exist "%FilePath%" (exit)

set FileName=%DATE:~0,10%-%TIME:~0,8%
set FileName=%FileName::=-%

set FileName=%FileName: =0%
set DBFile=%FilePath%%FileName%.dmp
set LogFile=%FilePath%%FileName%.log

echo ORACLE数据库备份开始
echo %DATE:~0,10% %TIME:~0,8%
echo ORACLE数据库备份数据保存到%DBFile%
echo ORACLE数据库备份日志保存到%LogFile%

exp %UserName%/%PassWord%@%ServiceName% file=%DBFile% log=%LogFile% compress=y direct=n rows=y 
owner='%UserName%' consistent=n constraints=y grants=y indexes=y triggers=y

另外又加了个定期删除的bat,但这个有些问题的,就是只考虑了备份文件的创建时间,并没有考虑到要保留几个备份
换句话说,当连续7天备份失败后,就没有备份了,所以请修改一下再用

Rem Delete Files Older Than One Week
set FilePath=E:/Backup/
forfiles /p %FilePath% /s /m *.dmp /d -7 /c "cmd /c del @file
forfiles /p %FilePath% /s /m *.log /d -7 /c "cmd /c del @file

Linux常用命令10Vim常用操作

0.基本操作
0.1多行复制
0.1.1、复制方法一
A、将光标移动到要复制的起始行
B、如果复制1行,则按下yy,如果是复制n行,则按下nyy
C、光标移动到粘贴地点,按下p

0.1.2、复制方法二
A、ESC,:进入命名模式
B、start_line_no,end_lin_no co target_line_no

0.1.3、复制方法三(方法二+标签)
A、将光标移动到要复制的起始行,输入ma
B、将光标移动到要复制的结束行,输入mb
C、将光标移动到要复制的目标行,输入mc
D、ESC,:进入命名模式
E、’a,’b co ‘c

0.1.4、剪切方法一
A、将光标移动到要剪切的起始行
B、如果剪切1行,则按下dd,如果是剪切n行,则按下ndd
C、光标移动到粘贴地点,按下p

0.1.5、剪切方法二
A、ESC,:进入命名模式
B、start_line_no,end_lin_no m target_line_no

0.1.6、剪切方法三(方法二+标签)
A、将光标移动到要剪切的起始行,输入ma
B、将光标移动到要剪切的结束行,输入mb
C、将光标移动到要剪切的目标行,输入mc
D、ESC,:进入命名模式
E、’a,’b m ‘c

1.正则表达式
1.1.行首、行尾及空格
1.1.1 符号具体含义

^表示行首
$表示行尾
\s表示空格

1.1.2 应用举例

在全局范围内删除开始空格
:%s/^\s\+/

删除末尾空格
:%s/\s\+$/

删除空行
:g/^$/d

删除空白行
:g/^\s\+$/d

删除-开始的行
:g/^-/d

2.Table与空格互转
2.1、空格转TAB

:set ts=8
:set expandtab
:%retab!

2.2、TAB转空格

:set ts=8
:set noexpandtab
:%retab!

3.删除重复行
3.1、方法一

先排序
:sort
然后删除的重复项的后面一项
:g/\%(^\1$\n\)\@<=\(.*\)$/d

3.2、方法二

先排序
:sort
然后删除重复项的前面一项
:g/^\(.*\)$\n\1$/d

3.3、方法三

先排序
:sort
然后将所有重复记录替换为第一条
:%s/^\(.*\)\(\n\1\)\+$/\1/

4.奇偶行
4.1、删除奇数行

%s/\(^.*$\)\n\(^.*$\)/\1

4.2、删除偶数行

%s/\(^.*$\)\n\(^.*$\)/\2

4.3、奇偶行合并,以tab分隔

%s/\(^.*$\)\n\(^.*$\)/\1\t\2

%s/\n\(.*\n\)/\t\1

5.生成行号
5.1、方法1

:r !seq 1 100

5.2、方法2

:let n=0 | g/^/s//\=n/|let n+=1 

6、每行首字母大写

%s/^\([a-z]\)/\U\1/

7.将行调整为固定宽度

:s/\v(.{80})/\1\r/g

手动删除Windows服务

步骤:

1.运行service.msc运用服务属性定位可执行文件位置
删除该文件
2.运行regedit定位到
/HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services
删除相应注册表项
3.重新启动

说明:
1.适用于无法删除的非系统自带服务选项
2.如果有卸载程序请首先使用卸载程序
3.有些服务是有移除选项的
例如:-remove
可以google一下^0^

CMD常用命令01%1的用法两则

1.新建个bat文件
然后在里面写上:
attrib +h +s %1
然后把任意文件或文件夹拖放到上面,
就可以把其设成系统+隐藏属性了。

2.新建鼠标右键菜单
名称:用记事本打开
命令:notepad %1
这样就能随时用记事本打开文件了。

还有,不仅%1呢,%2,%3都可以的,
比如一次想把很多文件设成隐藏属性时,
一起拖拽到文件图标上就好了,自己试试吧。

attrib +h +s %1
attrib +h +s %2
attrib +h +s %3
attrib +h +s %4
attrib +h +s %5
attrib +h +s %6
attrib +h +s %7
attrib +h +s %8
attrib +h +s %9

一个有趣的VC6题目

在VC6 Debug环境下,要求填补一段代码,使输入与输出一致。

    #Include <Stdio.h>  
    void test()  
    {  
        int t;  
        scanf("%d", &t);  
       /*  
       在这里填写代码…… 
       */  
    }  
    int main()  
    {  
        int m;  
        test();  
        printf("%d", m);  
    }  

方法一:

    int* pt = &t;  
    pt += 22;  
    *pt = t  

方法二:

    #Include <windows.h>  
    DWORD addrEbp;  
    _asm  
    {  
        mov addrEbp,ebp;  
    }  
    DWORD *pm=(DWORD *)(addrEbp + 0x80-0x28 -4);  
    *pm=t;  

两种方法都是直接修改了内存,呵呵,还是蛮有意思的啦。