日历
| |||||||||
| 日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
| 1 | 2 | 3 | 4 | 5 | 6 | ||||
| 7 | 8 | 9 | 10 | 11 | 12 | 13 | |||
| 14 | 15 | 16 | 17 | 18 | 19 | 20 | |||
| 21 | 22 | 23 | 24 | 25 | 26 | 27 | |||
| 28 | 29 | 30 | |||||||
搜索标题
统计信息
- 访问量: 540
- 日志数: 19
- 建立时间: 2007-12-17
- 更新时间: 2008-01-21
我的最新日志
-
SQL基础及提高 | SQL备忘录
2008-1-21
SQL语句虽然简单,但还是很容易遗忘。看到这篇文章整理的不错,故转帖一下。原始出处已杳。来源为ChinaUnix的blog
SQL语句先前写的时候,很容易把一些特殊的用法忘记,我特此整理了一下SQL语句操作。
一、基础1、说明:创建数据库
CREATE DATABASE database-name
2、说明:删除数据库
drop database dbname
3、说明:备份sql server
--- 创建 备份数据的 device
USE master
EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
--- 开始 备份
BACKUP DATABASE pubs TO testBack
4、说明:创建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
根据已有的表创建新表:
A:create table tab_new like tab_old (使用旧表创建新表)
B:create table tab_new as select col1,col2… from tab_old definition only
5、说明:删除新表
drop table tabname
6、说明:增加一个列
Alter table tabname add column col type
注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。
7、说明:添加主键: Alter table tabname add primary key(col)
说明:删除主键: Alter table tabname drop primary key(col)
8、说明:创建索引:create [unique] index idxname on tabname(col….)
删除索引:drop index idxname
注:索引是不可更改的,想更改必须删除重新建。
9、说明:创建视图:create view viewname as select statement
删除视图:drop view viewname
10、说明:几个简单的基本的sql语句
选择:select * from table1 where 范围
插入:insert into table1(field1,field2) values(value1,value2)
删除:delete from table1 where 范围
更新:update table1 set field1=value1 where 范围
查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料!
排序:select * from table1 order by field1,field2 [desc]
总数:select count as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1
11、说明:几个高级查询运算词
A: UNION 运算符
UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。
B: EXCEPT 运算符
EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。
C: INTERSECT 运算符
INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。
注:使用运算词的几个查询结果行必须是一致的。
12、说明:使用外连接
A、left outer join:
左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行。
SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
B:right outer join:
右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。
C:full outer join:
全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。二、提升
1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用)
法一:select * into b from a where 1<>1
法二:select top 0 * into b from a2、说明:拷贝表(拷贝数据,源表名:a 目标表名:b) (Access可用)
insert into b(a, b, c) select d,e,f from b;3、说明:跨数据库之间表的拷贝(具体数据使用绝对路径) (Access可用)
insert into b(a, b, c) select d,e,f from b in ‘具体数据库’ where 条件
例子:..from b in '"&Server.MapPath(".")&"\data.mdb" &"' where..4、说明:子查询(表名1:a 表名2:b)
select a,b,c from a where a IN (select d from b ) 或者: select a,b,c from a where a IN (1,2,3)5、说明:显示文章、提交人和最后回复时间
select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b6、说明:外连接查询(表名1:a 表名2:b)
select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c7、说明:在线视图查询(表名1:a )
select * from (SELECT a,b,c FROM a) T where t.a > 1;8、说明:between的用法,between限制查询数据范围时包括了边界值,not between不包括
select * from table1 where time between time1 and time2
select a,b,c, from table1 where a not between 数值1 and 数值29、说明:in 的使用方法
select * from table1 where a [not] in (‘值1’,’值2’,’值4’,’值6’)10、说明:两张关联表,删除主表中已经在副表中没有的信息
delete from table1 where not exists ( select * from table2 where table1.field1=table2.field1 )11、说明:四表联查问题:
select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where .....12、说明:日程安排提前五分钟提醒
SQL: select * from 日程安排 where datediff('minute',f开始时间,getdate())>513、说明:一条sql 语句搞定数据库分页
select top 10 b.* from (select top 20 主键字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主键字段 = a.主键字段 order by a.排序字段14、说明:前10条记录
select top 10 * form table1 where 范围15、说明:选择在每一组b值相同的数据中对应的a最大的记录的所有信息(类似这样的用法可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排名,等等.)
select a,b,c from tablename ta where a=(select max(a) from tablename tb where tb.b=ta.b)16、说明:包括所有在 TableA 中但不在 TableB和TableC 中的行并消除所有重复行而派生出一个结果表
(select a from tableA ) except (select a from tableB) except (select a from tableC)17、说明:随机取出10条数据
select top 10 * from tablename order by newid()18、说明:随机选择记录
select newid()19、说明:删除重复记录
Delete from tablename where id not in (select max(id) from tablename group by col1,col2,...)20、说明:列出数据库里所有的表名
select name from sysobjects where type='U'21、说明:列出表里的所有的
select name from syscolumns where id=object_id('TableName')22、说明:列示type、vender、pcs字段,以type字段排列,case可以方便地实现多重选择,类似select 中的case。
select type,sum(case vender when 'A' then pcs else 0 end),sum(case vender when 'C' then pcs else 0 end),sum(case vender when 'B' then pcs else 0 end) FROM tablename group by type
显示结果:
type vender pcs
电脑 A 1
电脑 A 1
光盘 B 2
光盘 A 2
手机 B 3
手机 C 323、说明:初始化表table1
TRUNCATE TABLE table1
24、说明:选择从10到15的记录
select top 5 * from (select top 15 * from table order by id asc) table_别名 order by id desc三、技巧
1、1=1,1=2的使用,在SQL语句组合时用的较多
“where 1=1” 是表示选择全部 “where 1=2”全部不选,
如:
if @strWhere !=''
begin
set @strSQL = 'select count(*) as Total from [' + @tblName + '] where ' + @strWhere
end
else
begin
set @strSQL = 'select count(*) as Total from [' + @tblName + ']'
end我们可以直接写成
set @strSQL = 'select count(*) as Total from [' + @tblName + '] where 1=1 安定 '+ @strWhere2、收缩数据库
--重建索引
DBCC REINDEX
DBCC INDEXDEFRAG
--收缩数据和日志
DBCC SHRINKDB
DBCC SHRINKFILE3、压缩数据库
dbcc shrinkdatabase(dbname)4、转移数据库给新用户以已存在用户权限
exec sp_change_users_login 'update_one','newname','oldname'
go5、检查备份集
RESTORE VERIFYONLY from disk='E:\dvbbs.bak'6、修复数据库
ALTER DATABASE [dvbbs] SET SINGLE_USER
GO
DBCC CHECKDB('dvbbs',repair_allow_data_loss) WITH TABLOCK
GO
ALTER DATABASE [dvbbs] SET MULTI_USER
GO7、日志清除
SET NOCOUNT ON
DECLARE @LogicalFileName sysname,
@MaxMinutes INT,
@NewSize INT
USE tablename -- 要操作的数据库名
SELECT @LogicalFileName = 'tablename_log', -- 日志文件名
@MaxMinutes = 10, -- Limit on time allowed to wrap log.
@NewSize = 1 -- 你想设定的日志文件的大小(M)-- Setup / initialize
DECLARE @OriginalSize int
SELECT @OriginalSize = size
FROM sysfiles
WHERE name = @LogicalFileName
SELECT 'Original Size of ' + db_name() + ' LOG is ' +
CONVERT(VARCHAR(30),@OriginalSize) + ' 8K pages or ' +
CONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + 'MB'
FROM sysfiles
WHERE name = @LogicalFileName
CREATE TABLE DummyTrans
(DummyColumn char (8000) not null)
DECLARE @Counter INT,
@StartTime DATETIME,
@TruncLog VARCHAR(255)
SELECT @StartTime = GETDATE(),
@TruncLog = 'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ONLY'DBCC SHRINKFILE (@LogicalFileName, @NewSize)
EXEC (@TruncLog)
-- Wrap the log if necessary.
WHILE @MaxMinutes > DATEDIFF (mi, @StartTime, GETDATE()) -- time has not expired
AND @OriginalSize = (SELECT size FROM sysfiles WHERE name = @LogicalFileName)
AND (@OriginalSize * 8 /1024) > @NewSize
BEGIN -- Outer loop.
SELECT @Counter = 0
WHILE ((@Counter < @OriginalSize / 16) AND (@Counter < 50000))
BEGIN -- update
INSERT DummyTrans VALUES ('Fill Log')
DELETE DummyTrans
SELECT @Counter = @Counter + 1
END
EXEC (@TruncLog)
END
SELECT 'Final Size of ' + db_name() + ' LOG is ' +
CONVERT(VARCHAR(30),size) + ' 8K pages or ' +
CONVERT(VARCHAR(30),(size*8/1024)) + 'MB'
FROM sysfiles
WHERE name = @LogicalFileName
DROP TABLE DummyTrans
SET NOCOUNT OFF8、说明:更改某个表
exec sp_changeobjectowner 'tablename','dbo'9、存储更改全部表
CREATE PROCEDURE dbo.User_ChangeObjectOwnerBatch
@OldOwner as NVARCHAR(128),
@NewOwner as NVARCHAR(128)
ASDECLARE @Name as NVARCHAR(128)
DECLARE @Owner as NVARCHAR(128)
DECLARE @OwnerName as NVARCHAR(128)DECLARE curObject CURSOR FOR
select 'Name' = name,
'Owner' = user_name(uid)
from sysobjects
where user_name(uid)=@OldOwner
order by nameOPEN curObject
FETCH NEXT FROM curObject INTO @Name, @Owner
WHILE(@@FETCH_STATUS=0)
BEGIN
if @Owner=@OldOwner
begin
set @OwnerName = @OldOwner + '.' + rtrim(@Name)
exec sp_changeobjectowner @OwnerName, @NewOwner
end
-- select @name,@NewOwner,@OldOwnerFETCH NEXT FROM curObject INTO @Name, @Owner
ENDclose curObject
deallocate curObject
GO
10、SQL SERVER中直接循环写入数据
declare @i int
set @i=1
while @i<30
begin
insert into test (userid) values(@i)
set @i=@i+1
end小记存储过程中经常用到的本周,本月,本年函数
Dateadd(wk,datediff(wk,0,getdate()),-1)
Dateadd(wk,datediff(wk,0,getdate()),6)Dateadd(mm,datediff(mm,0,getdate()),0)
Dateadd(ms,-3,dateadd(mm,datediff(m,0,getdate())+1,0))Dateadd(yy,datediff(yy,0,getdate()),0)
Dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))上面的SQL代码只是一个时间段
Dateadd(wk,datediff(wk,0,getdate()),-1)
Dateadd(wk,datediff(wk,0,getdate()),6)
就是表示本周时间段.
下面的SQL的条件部分,就是查询时间段在本周范围内的:
Where Time BETWEEN Dateadd(wk,datediff(wk,0,getdate()),-1) AND Dateadd(wk,datediff(wk,0,getdate()),6)
而在存储过程中
select @begintime = Dateadd(wk,datediff(wk,0,getdate()),-1)
select @endtime = Dateadd(wk,datediff(wk,0,getdate()),6) -
Windows 2k/2003 Server基本网络命令
2008-1-21
1.最基本,最常用的,测试物理网络的
ping 192.168.10.88 -t ,参数-t是等待用户去中断测试
2.查看DNS、IP、Mac等
A.Win98:winipcfg
B.Win2000以上:Ipconfig/all
C.NSLOOKUP:如查看河北的DNS
C:\>nslookup
Default Server: ns.hesjptt.net.cn
Address: 202.99.160.68
>server 202.99.41.2 则将DNS改为了41.2
> pop.pcpop.com
Server: ns.hesjptt.net.cn
Address: 202.99.160.68
Non-authoritative answer:
Name: pop.pcpop.com
Address: 202.99.160.212
3.网络信使
Net send 计算机名/IP|* (广播) 传送内容,注意不能跨网段
net stop messenger 停止信使服务,也可以在面板-服务修改
net start messenger 开始信使服务
4.探测对方对方计算机名,所在的组、域及当前用户名
ping -a IP -t ,只显示NetBios名
nbtstat -a 192.168.10.146 比较全的
5.netstat -a 显示出你的计算机当前所开放的所有端口
netstat -s -e 比较详细的显示你的网络资料,包括TCP、UDP、ICMP 和 IP的统计等
6.探测arp绑定(动态和静态)列表,显示所有连接了我的计算机,显示对方IP和MAC地址
arp -a
7.在代理服务器端
捆绑IP和MAC地址,解决局域网内盗用IP:
ARP -s 192.168.10.59 00-50-ff-6c-08-75
解除网卡的IP与MAC地址的绑定:
arp -d 网卡IP
8.在网络邻居上隐藏你的计算机
net config server /hidden:yes
net config server /hidden:no 则为开启
9.几个net命令
A.显示当前工作组服务器列表 net view,当不带选项使用本命令时,它就会显示当前域或网络上的计算机上的列表。
比如:查看这个IP上的共享资源,就可以
C:\>net view 192.168.10.8
在 192.168.10.8 的共享资源
资源共享名 类型 用途 注释
--------------------------------------
网站服务 Disk
命令成功完成。
B.查看计算机上的用户帐号列表 net user
C.查看网络链接 net use
例如:net use z: \\192.168.10.8\movie 将这个IP的movie共享目录映射为本地的Z盘
D.记录链接 net session
例如:
C:\>net session
计算机 用户名 客户类型 打开空闲时间
-------------------------------------------------------------------------------
\\192.168.10.110 ROME Windows 2000 2195 0 00:03:12
\\192.168.10.51 ROME Windows 2000 2195 0 00:00:39
命令成功完成。
10.路由跟踪命令
A.tracert pop.pcpop.com
B.pathping pop.pcpop.com 除了显示路由外,还提供325S的分析,计算丢失包的%
11.关于共享安全的几个命令
A.查看你机器的共享资源 net share
B.手工删除共享
net share c\$ /d
net share d\$ /d
net share ipc\$ /d
net share admin\$ /d
注意\$后有空格。
C.增加一个共享:
c:\net share mymovie=e:\downloads\movie /users:1
mymovie 共享成功。
同时限制链接用户数为1人。
12.在DOS行下设置静态IP
A.设置静态IP
CMD
netsh
netsh>int
interface>ip
interface ip>set add "本地链接" static IP地址 mask gateway
B.查看IP设置
interface ip>show address
Arp
显示和修改“地址解析协议 (ARP)”缓存中的项目。ARP 缓存中包含一个或多个表,它们用于存储 IP 地址及其经过解析的以太网或令牌环物理地址。计算机上安装的每一个以太网或令牌环网络适配器都有自己单独的表。如果在没有参数的情况下使用,则 arp 命令将显示帮助信息。
语法
arp [-a [InetAddr] [-N IfaceAddr]] [-g [InetAddr] [-N IfaceAddr]] [-d InetAddr [IfaceAddr]] [-s InetAddr EtherAddr [IfaceAddr]]
参数
-a [InetAddr] [-N IfaceAddr]
显示所有接口的当前 ARP 缓存表。要显示指定 IP 地址的 ARP 缓存项,请使用带有 InetAddr 参数的 arp -a,此处的 InetAddr 代表指定的 IP 地址。要显示指定接口的 ARP 缓存表,请使用 -N IfaceAddr 参数,此处的 IfaceAddr 代表分配给指定接口的 IP 地址。-N 参数区分大小写。
-g [InetAddr] [-N IfaceAddr]
与 -a 相同。
-d InetAddr [IfaceAddr]
删除指定的 IP 地址项,此处的 InetAddr 代表 IP 地址。对于指定的接口,要删除表中的某项,请使用 IfaceAddr 参数,此处的 IfaceAddr 代表分配给该接口的 IP 地址。要删除所有项,请使用星号 通配符代替 InetAddr。
-s InetAddr EtherAddr [IfaceAddr]
向 ARP 缓存添加可将 IP 地址 InetAddr 解析成物理地址 EtherAddr 的静态项。要向指定接口的表添加静态 ARP 缓存项,请使用 IfaceAddr 参数,此处的 IfaceAddr 代表分配给该接口的 IP 地址。
/?
在命令提示符显示帮助。
注释
InetAddr 和 IfaceAddr 的 IP 地址用带圆点的十进制记数法表示。
物理地址 EtherAddr 由六个字节组成,这些字节用十六进制记数法表示并且用连字符隔开(比如,00-AA-00-4F-2A-9C)。
通过 -s 参数添加的项属于静态项,它们不会 ARP 缓存中超时。如果终止 TCP/IP 协议后再启动,这些项会被删除。要创建永久的静态 ARP 缓存项,请在批处理文件中使用适当的 arp 命令并通过“计划任务程序”在启动时运行该批处理文件。
只有当网际协议 (TCP/IP) 协议在 网络连接中安装为网络适配器属性的组件时,该命令才可用。
范例
要显示所有接口的 ARP 缓存表,可键入:
arp -a
对于指派的 IP 地址为 10.0.0.99 的接口,要显示其 ARP 缓存表,可键入:
arp -a -N 10.0.0.99
要添加将 IP 地址 10.0.0.80 解析成物理地址 00-AA-00-4F-2A-9C 的静态 ARP 缓存项,可键入:
arp -s 10.0.0.80 00-AA-00-4F-2A-9C
Rsh
在运行 RSH 服务的远程计算机上运行命令。Windows XP 和 Windows 2000 不提供 RSH 服务。Windows 2000 Server Resource Kit 提供名为 Rshsvc.exe 的 RSH 服务。使用不带参数的 rsh 显示帮助。
语法
rsh [Host] [-l UserName] [-n] [Command]
参数
Host
指定运行 command 的远程计算机。
-l UserName
指定远程计算机上使用的用户名。在省略情况下,使用当前登录用户的名称。
-n
将 rsh 的输入重定向到 NULL 设备。这防止本地计算机命令结果的显示。
Command
指定要运行的命令。
/?
在命令提示符显示帮助。
注释
标准操作
rsh 命令将标准输入复制到远程 command,将远程 command 的标准输出复制到其标准输出,将远程 command 的标准错误复制到其标准错误。Rsh 通常在远程命令终止时终止。
使用重定向符号
为了使重定向在远程计算机上发生,要以引号引住重定向符号(例如 ">>")。如果不使用引号,重定向会在本地计算机发生。例如,以下命令将远程文件“RemoteFile”附加到本地文件“LocalFile”中:
rsh othercomputer cat remotefile >> localfile
以下命令将远程文件 Remotefile 附加到远程文件 otherremotefile 中:
rsh othercomputer cat remotefile ">>" otherremotefile
使用 rsh
在使用已登录到某个域并且运行 Windows XP Professional 的计算机时,该域的主域控制器必须可用于确认用户名或 rsh 命令失败。
.rhosts 文件
.rhosts 文件通常许可 UNIX 系统的网络访问权限。.rhosts 文件列出可以访问远程计算机的计算机名及关联的登录名。在正确配置了 .rhosts 文件的远程计算机上运行 rcp、rexec 或 rsh 命令时,您不必提供远程计算机的登录和密码信息。
.rhosts 文件是一个文本文件,该文件中每一行为一个条目。条目由本地计算机名、本地用户名和有关该条目的所有注释组成。每个条目均由制表符或空格分开,注释用符号 (#) 打头。例如:
host7 #This computer is in room 31A
.rhosts 文件必须在远程计算机的用户主目录中。有关远程计算机 .rhosts 文件特定执行的详细信息,请参阅远程系统的文档。
只有当网际协议 (TCP/IP) 协议在 网络连接中安装为网络适配器属性的组件时,该命令才可用。
范例
要以名称 admin1 在远程计算机 vax1 上执行 telcon 命令,请键入:
rsh vax1 -l admin1 telcon
Tftp
向运行平凡文件传输协议 (TFTP) 服务或 daemon 的远程计算机(尤其是运行 UNIX 的计算机)传输文件或从运行平凡文件传输协议 (TFTP) 服务或 daemon 的远程计算机(尤其是运行 UNIX 的计算机)传输文件。
语法
tftp [-i] [Host] [{get | put}] [Source] [Destination]
参数
-i
指定二进制图像传送模式(也称为八进制模式)。在二进制图像模式下,文件以一个字节为单位进行传输。在传送二进制文件时使用该模式。如果省略了 -i,文件将以 ASCII 模式传送。这是默认的传送模式。该模式将行尾 (EOL) 字符转换为指定计算机的适当格式。传送文本文件时使用该模式。如果文件传送成功,将显示数据传输率。
Host
指定本地或远程计算机。
put
将本地计算机上的 Destination 文件传送到远程计算机上的 Source 文件。因为 TFTP 协议不支持用户身份验证,所以用户必须登录到远程计算机,同时文件在远程计算机上必须可写。
get
将远程计算机上的 Destination 文件传送到本地计算机上的 Source 文件。
Source
指定要传送的文件。
Destination
指定将文件传送到的位置。如果省略了 Destination,将假定它与 Source 同名。
/?
在命令提示符显示帮助。
注释
使用 get 参数
如果将本地计算机上的文件 FileTwo 传送到远程计算机上的文件 FileOne,则指定 put。如果将远程计算机上的文件 FileTwo 传送到远程计算机上的文件 FileOne,则指定 get。
Windows XP 或 Windows 2000 不提供一般用途的 TFTP 服务器。Windows 2000 提供的 TFTP 服务器服务只为 Windows XP 和 Windows 2000 客户端计算机提供远程引导功能。
只有当网际协议 (TCP/IP) 协议在 网络连接中安装为网络适配器属性的组件时,该命令才可用。
范例
要从本地计算机将文件 Users.txt 传送到远程计算机 vax1 上的 Users19.txt,请键入:
tftp vax1 put users.txt users19.txt
Nbtstat
显示本地计算机和远程计算机的基于 TCP/IP (NetBT) 协议的 NetBIOS 统计资料、NetBIOS 名称表和 NetBIOS 名称缓存。Nbtstat 可以刷新 NetBIOS 名称缓存和注册的 Windows Internet 名称服务 (WINS) 名称。使用不带参数的 nbtstat 显示帮助。
语法
nbtstat [-a RemoteName] [-A IPAddress] [-c] [-n] [-r] [-R] [-RR] [-s] [-S] [Interval]
参数
-a remotename
显示远程计算机的 NetBIOS 名称表,其中,RemoteName 是远程计算机的 NetBIOS 计算机名称。NetBIOS 名称表是运行在该计算机上的应用程序使用的 NetBIOS 名称列表。
-A IPAddress
显示远程计算机的 NetBIOS 名称表,其名称由远程计算机的 IP 地址指定(以小数点分隔)。
-c
显示 NetBIOS 名称缓存内容、NetBIOS 名称表及其解析的各个地址。
-n
显示本地计算机的 NetBIOS 名称表。Registered 中的状态表明该名称是通过广播或 WINS 服务器注册的。
-r
显示 NetBIOS 名称解析统计资料。在配置为使用 WINS 的 Windows XP 计算机上,该参数将返回已通过广播和 WINS 解析和注册的名称号码。
-R
清除 NetBIOS 名称缓存的内容并从 Lmhosts 文件中重新加载带有 #PRE 标记的项目。
-RR
重新释放并刷新通过 WINS 注册的本地计算机的 NetBIOS 名称。
-s
显示 NetBIOS 客户和服务器会话,并试图将目标 IP 地址转化为名称。
-S
显示 NetBIOS 客户和服务器会话,只通过 IP 地址列出远程计算机。
Interval
重新显示选择的统计资料,可以中断每个显示之间的 Interval 中指定的秒数。按 CTRL+C 停止重新显示统计信息。如果省略该参数, netstat 将只显示一次当前的配置信息。
/?
在命令提示符显示帮助。
注释
Nbtstat 命令行参数区分大小写。
下表列出了由 Nbtstat 生成的列标题。 标题 说明
Input 接收的字节数。
Output 发送的字节数。
In/Out 该连接是否从计算机(传出)或者其他计算机到本地计算机(传入)。
Lift 名称表缓存项在被清除之前所存留的时间。
Local Name 本地 NetBIOS 名称与连接相关联。
Remote Host 与远程计算机相关的名称或 IP 地址。
<03> 转化为十六进制的 NetBIOS 名称的最后一个字节。每个 NetBIOS 名称长度均为 16 个字符。由于最后一个字节通常有特殊的意义,因为相同的名称(只有最后一个字节不同)可能在一台计算机上出现几次。例如,<20> 在 ASCII 文本中是一个空格。
Type 名称类型。名称可以是单个名称,也可以是组名称。
Status 远程计算机上是否在运行 NetBIOS 服务(“已注册”),或同一计算机名是否已注册了相同的服务(“冲突”)。
State NetBIOS 连接的状态。
下表列出了可能的 NetBIOS 连接状态。 状态 说明
已连接 会话已建立。
关联 连接的终结点已经被创建并与 IP 地址关联。
正接听 该终结点对内向连接可用。
空闲 该结束点已被打开单不能接收连接。
正在连接 会话处于连接阶段。在此阶段正在解析所选目标的由名称到 IP 地址的映射。
接受 入站会话当前正在被接受,将在短期内连接。
重新连接 会话将试图重新连接(如果第一次连接失败)。
出站 会话正处于连接阶段。此阶段正在创建 TCP 连接。
入站 入站会话在连接期。
正在断开 会话正在断开连接。
已中断连接 本地计算机已断开连接,并正等待远程系统的确认。
只有当网际协议 (TCP/IP) 协议在 网络连接中安装为网络适配器属性的组件时,该命令才可用。
范例
要显示 NetBIOS 计算机名为 CORP07 的远程计算机的 NetBIOS 名称表,请键入:
nbtstat -a CORP07
要显示所分配 IP 地址为 10.0.0.99 的远程计算机的 NetBIOS 名称表,请键入:
nbtstat -A 10.0.0.99
要显示本地计算机的 NetBIOS 名称表,请键入:
nbtstat -n
要显示本地计算机 NetBIOS 名称缓存的内容,请键入:
nbtstat -c
要清除 NetBIOS 名称缓存并重新装载本地 Lmhosts 文件中带标记 #PRE 的项目,请键入:
nbtstat -R
要释放通过 WINS 服务器注册的 NetBIOS 名称并对其重新注册,请键入:
nbtstat -RR
要每隔 5 秒以 IP 地址显示 NetBIOS 会话统计资料,请键入:
nbtstat -S 5
Netstat
显示活动的 TCP 连接、计算机侦听的端口、以太网统计信息、IP 路由表、IPv4 统计信息(对于 IP、ICMP、TCP 和 UDP 协议)以及 IPv6 统计信息(对于 IPv6、ICMPv6、通过 IPv6 的 TCP 以及通过 IPv6 的 UDP 协议)。使用时如果不带参数,netstat 显示活动的 TCP 连接。
语法
netstat [-a] [-e] [-n] [-o] [-p Protocol] [-r] [-s] [Interval]
参数
-a
显示所有活动的 TCP 连接以及计算机侦听的 TCP 和 UDP 端口。
-e
显示以太网统计信息,如发送和接收的字节数、数据包数。该参数可以与 -s 结合使用。
-n
显示活动的 TCP 连接,不过,只以数字形式表现地址和端口号,却不尝试确定名称。
-o
显示活动的 TCP 连接并包括每个连接的进程 ID (PID)。可以在 Windows 任务管理器中的“进程”选项卡上找到基于 PID 的应用程序。该参数可以与 -a、-n 和 -p 结合使用。
-p Protocol
显示 Protocol 所指定的协议的连接。在这种情况下,Protocol 可以是 tcp、udp、tcpv6 或 udpv6。如果该参数与 -s 一起使用按协议显示统计信息,则 Protocol 可以是 tcp、udp、icmp、ip、tcpv6、udpv6、icmpv6 或 ipv6。
-s
按协议显示统计信息。默认情况下,显示 TCP、UDP、ICMP 和 IP 协议的统计信息。如果安装了 Windows XP 的 IPv6 协议,就会显示有关 IPv6 上的 TCP、IPv6 上的 UDP、ICMPv6 和 IPv6 协议的统计信息。可以使用 -p 参数指定协议集。
-r
显示 IP 路由表的内容。该参数与 route print 命令等价。
Interval
每隔 Interval 秒重新显示一次选定的信息。按 CTRL+C 停止重新显示统计信息。如果省略该参数,netstat 将只打印一次选定的信息。
/?
在命令提示符显示帮助。
注释
与该命令一起使用的参数必须以连字符 (-) 而不是以短斜线 (/) 作为前缀。
Netstat 提供下列统计信息:
Proto
协议的名称(TCP 或 UDP)。
Local Address
本地计算机的 IP 地址和正在使用的端口号。如果不指定 -n 参数,就显示与 IP 地址和端口的名称对应的本地计算机名称。如果端口尚未建立,端口以星号(*)显示。
Foreign Address
连接该插槽的远程计算机的 IP 地址和端口号码。如果不指定 -n 参数,就显示与 IP 地址和端口对应的名称。如果端口尚未建立,端口以星号(*)显示。
(state)
表明 TCP 连接的状态。可能的状态如下:
CLOSE_WAIT
CLOSED
ESTABLISHED
FIN_WAIT_1
FIN_WAIT_2
LAST_ACK
LISTEN
SYN_RECEIVED
SYN_SEND
TIMED_WAIT
有关 TCP 连接状态的信息,请参阅 RFC 793。
只有当网际协议 (TCP/IP) 协议在 网络连接中安装为网络适配器属性的组件时,该命令才可用。
范例
要想显示以太网统计信息和所有协议的统计信息,请键入下列命令:
netstat -e -s
要想仅显示 TCP 和 UDP 协议的统计信息,请键入下列命令:
netstat -s -p tcp udp
要想每 5 秒钟显示一次活动的 TCP 连接和进程 ID,请键入下列命令:
nbtstat -o 5
要想以数字形式显示活动的 TCP 连接和进程 ID,请键入下列命令:
nbtstat -n -o
Runas
允许用户用其他权限运行指定的工具和程序,而不是用户当前登录提供的权限。
语法
runas [{/profile|/noprofile}] [/env] [/netonly] [/smartcard] [/showtrustlevels] [/trustlevel] /user:UserAccountName program
参数
/profile
加载用户的配置文件。/profile 是默认值。
/no profile
/noprofile 指定不加载用户的配置文件。这使应用程序载入的更加快速,但是在一些应用程序中也会引起错误。
/env
指定当前使用的网络环境,而不是用户的本地环境。
/netonly
指明指定的用户信息只用于远程访问。
/smartcard
/smartcard 表示凭据是否是由智能卡提供的。
/showtrustlevels
列出 /trustlevel 开关项。
/trustlevel
指定应用程序运行所在的授权级别。使用 /showtrustlevels 查看可用的信任级别。
/user:UserAccountName
指定在其下运行程序的用户帐户的名称。用户帐户的格式应是 user@domain 或 domain\user。
程序
指定要用在 /user 中指定的帐户运行的程序或命令。
/?
在命令提示符显示帮助。
注释
管理员可以使用一个权限受限制的帐户执行日常、非管理性的任务,只有在执行特定管理任务时,才使用一个权限更大的帐户。要不经过注销再重新登录就完成这样的任务,可以用一般帐户登录,然后使用 runas 命令来运行需要更大权限的工具。
有关 runas 命令的使用范例,请参阅“相关主题”。
尽管 runas 通常由 Administrator 帐户使用,但并非仅限于 Administrator 帐户。任何拥有多个帐户的用户均可以利用备用凭据,使用 runas 运行程序、MMC 控制台或“控制面板”项。
如果要在计算机上使用 Administrator 帐户,对于 /user:,键入下列参数之一:
/user:AdministratorAccountName@ComputerName
/user:ComputerName\AdministratorAccountName
如果想以域管理员身份使用这个命令,键入下列参数之一:
/user:AdministratorAccountName@DomainName
/user
omainName\AdministratorAccountName
runas 命令允许您运行程序 (*.exe)、保存的 MMC 控制台 (*.msc)、程序和保存的 MMC 控制台的快捷方式及“控制面板”项。作为另一组(例如“Users”或“Power Users”组)的成员登录到计算机时,可以以管理员的身份运行。
可以使用 runas 命令来启动任何程序、MMC 控制器或“控制面板”项。只要提供适当的用户帐户和密码信息,用户帐户就具有登录到计算机的能力,并且程序、MMC 控制台、“控制面板”项在系统中及对该用户帐户均可用.
runas 命令允许您管理其他域的服务器(运行工具的计算机和要管理的服务器在不同的域中)。
如果尝试使用 runas 从网络位置启动程序、MMC 控制台或“控制面板”项,可能会因为用来连接网络共享的凭据与用来启动程序的凭据不同而失败。后者的凭据可能无法访问同一网络共享。
有些项,例如“打印机”文件夹和桌面项,间接由 Windows 2000 打开,而不能使用 runas 命令启动。
如果 runas 命令失败,则可能是没有运行 RunAs 服务或使用的用户帐户无效。要检查 RunAs 服务的状态,请在“计算机管理”中单击“服务和应用程序”,然后单击“服务”。要测试用户帐户,请尝试使用该帐户登录合适的域。
范例
要在本地计算机上以管理员身份启动 Windows 2000 命令提示行实例,请键入:
runas /user:localmachinename\administrator cmd
系统提示时,键入管理员密码。
要使用名为 companydomain\domainadmin 的域管理员帐户启动“计算机管理”管理单元实例,请键入:
runas /user:companydomain\domainadmin "mmc %windir%\system32\compmgmt.msc"
当提示时,键入帐户密码。
要使用名为 domain.microsoft.com 的域中的域管理员帐户 user 启动“记事本”实例,请键入:
runas /user:user@domain.microsoft.com "notepad my_file.txt"
当提示时,键入帐户密码。
要启动命令提示符行窗口、保存的 MMC 控制台、控制面板项或管理其他地点服务器的程序的一个实例,请键入:
runas /netonly /useromain\username "command"
domain\username 必须是有足够权限管理服务器的用户。当提示时,键入帐户密码。
Route
在本地 IP 路由表中显示和修改条目。使用不带参数的 route 可以显示帮助。
语法
route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]]
参数
-f
清除所有不是主路由(网掩码为 255.255.255.255 的路由)、环回网络路由(目标为 127.0.0.0,网掩码为 255.255.255.0 的路由)或多播路由(目标为 224.0.0.0,网掩码为 240.0.0.0 的路由)的条目的路由表。如果它与命令之一(例如 add、change 或 delete)结合使用,表会在运行命令之前清除。
-p
与 add 命令共同使用时,指定路由被添加到注册表并在启动 TCP/IP 协议的时候初始化 IP 路由表。默认情况下,启动 TCP/IP 协议时不会保存添加的路由。与 print 命令一起使用时,则显示永久路由列表。所有其它的命令都忽略此参数。永久路由存储在注册表中的位置是 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes。
Command
指定要运行的命令。下表列出了有效的命令。 命令 目的
add 添加路由
change 更改现存路由
delete 删除路由
print 打印路由
Destination
指定路由的网络目标地址。目标地址可以是一个 IP 网络地址(其中网络地址的主机地址位设置为 0),对于主机路由是 IP 地址,对于默认路由是 0.0.0.0。
mask subnetmask
指定与网络目标地址相关联的网掩码(又称之为子网掩码)。子网掩码对于 IP 网络地址可以是一适当的子网掩码,对于主机路由是 255.255.255.255 ,对于默认路由是 0.0.0.0。如果忽略,则使用子网掩码 255.255.255.255。定义路由时由于目标地址和子网掩码之间的关系,目标地址不能比它对应的子网掩码更为详细。换句话说,如果子网掩码的一位是 0,则目标地址中的对应位就不能设置为 1。
Gateway
指定超过由网络目标和子网掩码定义的可达到的地址集的前一个或下一个跃点 IP 地址。对于本地连接的子网路由,网关地址是分配给连接子网接口的 IP 地址。对于要经过一个或多个路由器才可用到的远程路由,网关地址是一个分配给相邻路由器的、可直接达到的 IP 地址。
metric Metric
为路由指定所需跃点数的整数值(范围是 1 ~ 9999),它用来在路由表里的多个路由中选择与转发包中的目标地址最为匹配的路由。所选的路由具有最少的跃点数。跃点数能够反映跃点的数量、路径的速度、路径可靠性、路径吞吐量以及管理属性。
if Interface
指定目标可以到达的接口的接口索引。使用 route print 命令可以显示接口及其对应接口索引的列表。对于接口索引可以使用十进制或十六进制的值。对于十六进制值,要在十六进制数的前面加上 0x。忽略 if 参数时,接口由网关地址确定。
/?
在命令提示符显示帮助。
注释
路由表中 跃点数 一列的值较大是由于允许 TCP/IP 根据每个 LAN 接口的 IP 地址、子网掩码和默认网关的配置自动确定路由表中路由的跃点数造成的。默认启动的自动确定接口跃点数确定了每个接口的速度,调整了每个接口的路由跃点数,因此最快接口所创建的路由具有最低的跃点数。要删除大跃点数,请在每个 LAN 连接的 TCP/IP 协议的高级属性中禁用自动确定接口跃点数。
如果在 systemroot\System32\Drivers\Etc 文件夹的本地网络文件中存在适当的条目,名称可以用于 Destination。只要名称可以通过“域名系统” (DNS) 查询这样的标准主机名解析技术分解为 IP 地址,就可以将其用于 Gateway,DNS 查询使用存储在 systemroot\System32\Drivers\Etc 文件夹下的本地主机文件和 NetBIOS 名称解析。
如果是 print 或 delete 命令,可以忽略 Gateway 参数,使用通配符来表示目标和网关。Destination 的值可以是由星号 指定的通配符。如果指定目标含有一个星号 或问号 (?),它被看作是通配符,只打印或删除匹配的目标路由。星号代表任意一字符序列,问号代表任一字符。例如, 10.*.1, 192.168.*、 127.* 和 *224* 都是星号通配符的有效使用。
使用了无效的目标和子网掩码(网掩码)值的组合,会显示“Route:bad gateway address netmask”错误消息。目标中有一位或多位设置为 1,而其在子网掩码中的对应位设置为 0 时会发生这个错误。可以通过二进制表示法表示目标和子网掩码来检查这种情况。以二进制表示的子网掩码包括表示目标网络地址部分的一连串的 1 和表示目标主机地址部分的一连串的 0 两个部分。查看目标以确定目标的主机地址部分(由子网掩码所定义)是否有些位设置成了 1。
只有 Windows NT 4.0、Windows 2000、Windows Millennium Edition 和 Windows XP 的 route 命令支持 -p 参数。Windows 95 或 Windows 98 的 route 命令不支持该参数。
只有当网际协议 (TCP/IP) 协议在 网络连接中安装为网络适配器属性的组件时,该命令才可用。
范例
要显示 IP 路由表的完整内容,请键入:
route print
要显示 IP 路由表中以 10. 开始的路由,请键入:
route print 10.*
要添加默认网关地址为 192.168.12.1 的默认路由,请键入:
route add 0.0.0.0 mask 0.0.0.0 192.168.12.1
要添加目标为 10.41.0.0,子网掩码为 255.255.0.0,下一个跃点地址为 10.27.0.1 的路由,请键入:
route add 10.41.0.0 mask 255.255.0.0 10.27.0.1
要添加目标为 10.41.0.0,子网掩码为 255.255.0.0,下一个跃点地址为 10.27.0.1 的永久路由,请键入:
route -p add 10.41.0.0 mask 255.255.0.0 10.27.0.1
要添加目标为 10.41.0.0,子网掩码为 255.255.0.0,下一个跃点地址为 10.27.0.1,跃点数为 7 的路由,请键入:
route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 metric 7
要添加目标为 10.41.0.0,子网掩码为 255.255.0.0,下一个跃点地址为 10.27.0.1,接口索引为 0x3 的路由,请键入:
route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 if 0x3
要删除目标为 10.41.0.0,子网掩码为 255.255.0.0 的路由,请键入:
route delete 10.41.0.0 mask 255.255.0.0
要删除 IP 路由表中以 10. 开始的所有路由,请键入:
route delete 10.*
要将目标为 10.41.0.0,子网掩码为 255.255.0.0 的路由的下一个跃点地址由 10.27.0.1 更改为 10.27.0.25,请键入:
route change 10.41.0.0 mask 255.255.0.0 10.27.0.25 -
软件测试案例与实践教程
2007-12-17
本书通过一个文件检索的小项目,以实例的方式指导读者如何从开发的需求设计文档入手,逐步完成从单元测试到集成测试,再到系统测试的所有测试工作。该书涵盖了测试计划、测试设计、测试用例、测试用例脚本、测试执行到测试报告等在实际测试工作中都会接触到的内容。对想要快速上手从事软件测试工作的人员来讲,是一本很好的工作指导书。
-
软件测试自动化
2007-12-17
作 者:[美]Elfriede Dustin/著
出版社:清华大学出版社
图书简介:
虽然这本书国内也出了影印版,但是个人感觉中文版的质量还是不错的,从中也可以看出译者有着很深的软件工程实践功底。作为一本实践经验性的著作,书中涵盖了从测试过程到测试管理,从测试方法到测试技术,以及自动化测试方面的内容,所以要求读者应当具有相当的软件测试实际工作经验,否则只有理论知识恐怕也很难理解其中的一些做法,“知其然”却无法“知其所以然”。建议先看过上面介绍的四本书(或者至少前三本)并有了一些实际测试的经验以后,再来阅读这本书效果会好一些。你会在阅读的过程中发现,原来很多测试工作开展时遇到的难题可以这样解决,原来测试工作可以通过这样来提高效率…… 虽然这本书的内容并没有特别的依赖于某些测试工具,不过看的出作者和译者的工作大都是基于RUP的,所以如果读者有这方面的了解和实践经验,阅读起来效果会更好一些。 -
测试的书籍
2007-12-17
软件测试(原书第2版)
2007-06-23 15:37:39
主要特点:
◆使用了独立于具体编程语言的伪代码
◆将UML集成到面向对象测试中
◆提供了大量的图表和案例研究
◆专门讲述了GUI测试方面的内容 本书是经典的软件测试教材,是ACM&IEEE编制“软件工程知识体系”(SWEBOK)的主要参考文献之一,并已被国际众多大学选作教材。书中全面地介绍了软件测试的基础知识和方法,很好地做到了理论与实践相结合。
本书全面地介绍了软件测试的基础知识和方法。通过问题、图表和案例研究,对软件测试数学问题和技术进行了深入的研究,并在例子中以更加通用的伪代码取代了过时的Pascal代码,从而使内容独立于具体的程序设计语言。本书还介绍了面向对象测试的内容,并完善了GUI测试内容。
本书是ACM与IEEE计算机学会“软件工程知识体系”主要引用文献,并是国际众多大学的教材。 本书适合作为相关专业高校教材,也可用于读者自学。 -
职场潜规则
2007-12-17
据《新闻晨报》人才周刊和前程无忧联合进行的“职场潜规则知多少”的调查显示,所有的人都承认有违背本意顺应公司潜规则的经历,但大部分人对职场的潜规则了解不多。
10个在职场中运行的潜规则
据调查,受访者普遍认为潜规则主要作用在企业的“内部管理”、“薪酬福利”和“人际关系”三方面。职场潜规则是企业内只可意会不可言传的运行规则,它引导甚至制约企业员工的言行和价值判断。
调查发现,75.5%的人表示“企业不会允许夫妻在同一公司工作”,63.1%的人认为“销售是公司最强势的部门,销售的意见和要求最受到重视”。
职场中,最主流的潜规则是“老板说了算”,97.3%的人表示“企业里个人的前途首先取决于老板的喜恶而不是业绩”。90.2%的受访者说“公司里只可暗斗,恩怨不能放在台面上”。88.3%的人说“企业里完全不存在人人平等,同等职位男性比女性收入高”,85.1%的人表示“企业里面有派系,站对队伍比做好事情重要得多”……
近80%的人对潜规则不够了解
在职场中,员工常常感到,有一种无形的力量在左右着自己的方向,却又触摸不着,琢磨不透。调查显示,没有人声称对企业潜规则百分之百地了解,游刃有余地运用,只有20%的人觉得自己比较了解企业的潜规则,能适应企业的潜规则,近80%的人认为自己对潜规则不够了解。其中,45.8%的人认为对潜规则一知半解,27.1%的人对企业潜规则知之甚少,无法猜透,7.6%的人对企业潜规则毫不了解,无从把握。
职场潜规则不可回避
前程无忧的职业顾问指出,潜规则的客观存在是不可回避的。一些潜规则因企业文化、领导人的不同而大相径庭。比如日韩企业相对偏重员工的合作和忍让,欧美企业鼓励个人能力的发挥和相互竞争。还有一些潜规则是职场中约定俗成的,比如越级汇报的下属在哪里都不会被容忍,员工加班后休假的安排必须以不影响工作任务为前提。
潜规则的最大特性是不稳定,它主要伴随着企业高层管理者的管理特性而形成。如果老板对成本控制比较敏感,那么公司就会以“成本优先"作为管理和考核标准;如果老板喜欢独断,那么公司内部就比较崇尚遵从。所以对企业而言,需通过持续有效力的管理制度,使潜规则帮助完善现有的沉稳制度,使之逐步转变为显性规则,而作为员工,需深入了解企业文化及其背景下的潜规则,同时避免那些和社会法律伦理相悖的“灰色规则”,减少职业风险,学会善用潜规则,为自己职业发展创造良好环境。(
职场上不得不知的六个潜规则与白纸黑字、公众认可的显规则不同,潜规则恰如摆不上桌面的小菜,从不会大鸣大放地写在告示板上,却需要你明心亮眼地默默参透,才能避免接二连三的尴尬糗事。
潜规则1 不要苛求百分百的公平
显规则告诉我们要在公平公正的原则下做事,潜规则却说不能苛求上司一碗水端平,尤其是老板更有特权。
孙小明刚进公司做计划部主管时,除了工资,就没享受过另类待遇。一个偶然的机会她得知行政主管赵平的手机费竟实报实销,这让她很不服气!想那赵平天天坐在公司里,从没听她用手机联系工作,凭什么就能报通讯费?不行,她也要向老板争取!于是孙小明借汇报工作之机向老板提出申请,老板听了很惊讶,说后勤人员不是都没有通讯费吗?“可是赵平就有呀!她的费用实报实销,据说还不低呢。
”老板听了沉吟道:“是吗?我了解一下再说。”
这一了解就是两个月,按说上司不回复也就算了,而且孙小明每月才一百多块钱的话费,争来争去也没啥意思。可是偏偏她就和赵平较上劲了,见老板没动静,她又生气又愤恨,终于忍不住和同事抱怨,却被人家一语道破天机:“你知道赵平的手机费是怎么回事?那是老板小秘的电话,只不过借了一下赵平的名字,免得当半个家的老板娘查问。就你傻,竟然想用这事和老板论高低,不是找死吗?”
孙小明吓出一身冷汗,暗暗自责不懂高低深浅!怪不得老板见了自己总皱眉头!从此她再也不敢提手机费的事,看赵平的时候也不眼红了。
场外提示:
一味追求公平往往不会有好结果,“追求真理”的正义使者也容易讨人嫌,有时候,你所知道的表象,不一定能成为申诉的证据或理由,对此你不必愤愤不平,等你深入了解公司的运作文化,慢慢熟悉老板的行事风格,也就能够见惯不怪了。潜规则2 莫和同事金钱往
显规则告诉我们同事间要互相帮助团结友爱,潜规则却说不是谁都可以当成借钱人。
一种叫做“同事”的人际关系,阻碍了职场里的资金往来。
客户主任SUNNY就曾当了一次尴尬的杨白劳!那次时值月底,正是她这种月光女神最难捱的痛苦时光,偏偏又赶上交房租,囊中羞涩的SUNNY只好向同事LILY求助,第一次开口借钱,LILY自然不好拒绝,很痛快地帮她解了燃眉之急,可是3000块钱也不是一时就能还清的,拮据的SUNNY只好一次次厚着脸皮请人家宽限,最后一次,LILY回答SUNNY说不着急,前几天给女儿交学琴费倒是用钱,不过我已经想了办法。SUNNY没心没肺地连声道谢,过后就被“好事者”指出其实人家是在暗示你还钱呢,再说了,你满身名牌会还不起这3000块钱?谁信?话里话外都在影射SUNNY的赖账。SUNNY心里别提多么不舒服了,第二天马上找到同学拆墙补洞,才算暂把这一层羞给遮住,至于日后是否留下不良口碑,SUNNY却是想也不敢想了。
场外提示:
的确,谁让这年头时兴本末倒置,欠账的是爷,赊账的是孙子呢!“同事”是以挣钱和事业为目的走到一起的革命战友,尽管比陌生人多一份暖,但终究不像朋友有着互相帮衬的道义,离开了办公室这一亩三分地,还不是各自散去奔东西。
所以如果不想和同事的关系错位或变味,就不要和同事借钱。潜规则3 闲聊天也要避开上司的软肋
显规则告诉我们“言及莫论人非”,
潜规则将其深化成“言及莫论人”,因为少了一个“非”字,也就少了失言的机会。
总公司的市场经理MONICA初次来办事处指导工作,中午请部门同事一起吃饭,席间谈起一位刚刚离职的副总王琳,入职不久的LINDA说王琳脾气不好,很难相处。MONICA说是吗,是不是她的工作压力太大造成心情不好?LINDA说我看不是,三十多岁的女人嫁不出去,既没结婚也没男朋友,老处女都是这样心理变态。
闻听此言,刚才还争相发言的人都闭上了嘴巴。因为,除了LINDA,那些在座的老员工可都知道:MONICA也是待字闺中的老姑娘!好在一位同事及时扭转话题,才抹去MONICA隐隐的难堪,而事后得知真相的LINDA则为这句话悔青了肠子。
场外提示:
都说言多必失,可言少也不一定没有失误,如果在错误的时间错误的地点和错误的对象说了一句涉及到具体人事的大实话,那后果真的堪比失言。
潜规则4 不要得罪平庸的同事
显规则告诉我们努力敬业的同事值得尊重和学习,潜规则却拓宽了“努力”与“敬业”的外延,说懒散闲在的同事也不能得罪。
原以为外企公司的人各个精明强干,谁知过关斩将的魏莹拿到门票进来一看,哈哈!不过如此:前台秘书整天忙着搞时装秀,销售部的小张天天晚来早走,3个月了也没见他拿回一个单子,还有统计员秀秀,整个一个吃闲饭的,每天的工作只有一件:统计全厂203个员工的午餐成本。
天!魏莹惊叹:没想到进入了E时代,竟还有如此的闲云野鹤。
那天去行政部找阿玲领文具,小张陪着秀秀也来领,最后就剩了一个文件夹,魏莹笑着抢过说先来先得。秀秀可不高兴了,她说你刚来哪有那么多的文件要放?魏莹不服气,“你有?每天做一张报表就啥也不干了,你又有什么文件?”一听这话秀秀立即拉长了脸,阿玲连忙打圆场,从魏莹怀里抢过文件夹递给了秀秀。
魏莹气哼哼地回到座位上,小张端着一杯茶悠闲地进来:“怎么了MEIMEI,有什么不服气的?我要是告诉你秀秀她小姨每年给咱们公司500万的生意……”然后打着呵欠走了。
下午,阿玲给魏莹送来一个新的文件夹,一个劲儿向魏莹道歉,她说她得罪不起秀秀,那是老总眼里的红人,也不敢得罪小张,因为他有广泛的社会关系,不少部门都得请他帮忙呢,况且人家每年都能拿回一两个政府大单。魏莹说那你就得罪我呗,阿玲吓得连连摆手:不敢不敢,在这里我谁也得罪不起呀。
魏莹听了,半天说不出话来。
场外提示:
其实稍动脑筋魏莹就会明白:老板不是傻瓜,绝不会平白无故地让人白领工资,那些看似游手好闲的平庸同事,说不定担当着救火队员的光荣任务,关键时刻,老板还需要他们往前冲呢。所以,千万别和他们过不去,实际上你也得罪不起。潜规则5 给上司预留指导的空间
显规则告诉我们升职加薪需要自己努力工作靠真实才干获得,
潜规则却说做事要多请示上司,功劳要想着分给上司一半,莫要埋没领导的支持和指导。
人力资源专员袁晓敏入职3年,能干又努力,工作认真做事漂亮,人缘佳,但奇怪的是尽管工作出色,可仍旧原地踏步,难上青云,倒是那些不如她的同事却接二连三地升了职。
没错,她袁晓敏是能干,但上司就是不喜欢她。为什么?在小节上从不顾及上司感受:比如每次开会老板都指定袁晓敏做会议记录,袁晓敏整理出来后从来不会让直接主管李虹过目就直接上交老板,因为老板夸她有生花的文案整理功夫呀;她帮其他的部门做事,从不事先请示李虹是否还有更重要的工作分配她做,就自行接下,也不管这事会不会留下什么隐患,所以她是得到了好口碑,李虹倒显得有些小气。部门要买个投影仪,李虹让她询价做性价比,然后准备购买一台,袁晓敏拿到供应商资料后多方比较,自作主张就订了货,还对李虹说出一大串理由,好像她做事是多么的圆满。
在看到又一个同事加薪升职后,袁晓敏叹道:唉,上司真是瞎了眼了。
场外提示:
其实上司一点也不瞎,人家心里亮堂着呢。不管你承认不承认,那些表现出色,从不出事,也不需要老板来指点的人,并不一定能得到重用和认可,甚至上司并不喜欢,因为面对你的完美,上司无法发挥他的指导,无法显示他的才干,而你也就不会和进步或改正什么的词挂钩,这时候,完美就是你的缺点;倒是那些大错不犯小错不断又喜欢和上司接近的人却容易获得更多的机会,因为他给老板预留了发挥的空间,让上司很有成就感,即便日后升了职也会被骄傲地冠名为“我培养出来的”。有时候,满足一下上司的虚荣心也算剑走偏锋的一招。潜规则6 用脑子听话
显规则告诉我们要用耳朵听话,用嘴巴沟通,潜规则却说要用脑子听话,用眼神沟通。
刘婷是行政部职员,初来乍到,一身稚气,不知公司两位高层徐副总和王副总是面和心不和,徐副总同意的事,王副总有意见,反之亦然。公司不大,所以行政部有时候也兼做些类似秘书的工作。那次给老板写年终报表分析,王副总让刘婷先按他设计的表格做报告,过两天徐副总问刘婷有没有什么格式,刘婷就把给王副总的那份报告给了他参考,此举让王副总非常不快,嘴上没说什么,却冷冷地把刘婷叫进来让她按自己的思路重新设计表格、重新做报表,还开玩笑般不冷不热地加了一句“这可是有知识产权的,要保密哟”,闹得刘婷一头雾水。后经资深高人点化,才知原来二总相争已非一日,大到争权争利争人缘,小到争外出公车的品牌,都要显出个人的身价。所以身为他们的下属,一定要口风严,都不能得罪,徐副总的话没错,王副总的意见也没错,这时候你不光要用耳朵,还要用脑子。
刘婷这才知道自己碰到了只可意会不可言传的事,暗叹公司的运作与生存艺术实在不同凡响,身为下属向左走还是向右走,就看脑子做出的判断对不对了。
赵丽丽是王副总的小表妹,那次在给客户做培训时不小心砸坏一个价值8000元的机头,当着徐副总的面,王副总皱着眉头严厉地对刘婷说:要查,要按公司规定罚款,决不能敷衍了事。刘婷这次可学乖了,先是查找能够遵循的公司制度,然后给行政部出了个方案:扣发一个月奖金。奖金嘛,一个月不到1000块,当然比不上8000元的机头钱。刘婷执行的方案是:非故意损坏的要酌情惩罚,情节严重的要照价赔偿。人家赵丽丽把机头弄坏的时候,可是哭得梨花带雨,这谁都看见了,这怎么也不能说是情节严重吧,所以刘婷就建议酌情惩罚了。
事后王副总也追问刘婷的解决方案,还打着官腔问惩罚力度是不是不够,刘婷巧妙地述说了上述理由,王副总没再说话,挥挥手让刘婷走了,不过接下来的日子,和刘婷说话的时候总是那么和颜悦色,让她感到特别的舒服。
场外提示:
潜规则暗示了公司的一种潜在文化和行事规则,往往只有老员工们才能深刻领会。如果对此尚不了解,那么不妨多请教资深同事,同时记住:你既不能把自己的上司不当回事,也不能把他们的话真正当回事,执行起来也得有弹性,有时你的确需要装糊涂。
TIPS1 遵守潜规则的必备素质:
* 懂得上司的心理和行事习惯;
* 熟悉公司文化和运作方式;
* 懂得难得糊涂的拿捏尺度。
TIPS2 几种心照不宣的潜规则:
1. 上司的喜好有时高于制度;
2. 别和老板谈公正;
3. 不能抢了上司的风头;
4. 太露锋芒的人容易没饭吃;
5. 给上司预留指导和发挥的空间;
6. 适时的巴结也算一种沟通技巧;
7. 尽早投靠新上司;
8. 把握好潜规则的分寸


