这同样是一个超级悲剧的事情,在同事家,连上了公司VPN,
准备上传代码,但SVN无论如何都告诉我,“俺找不到服务器啊”
这个。。。
我刚在宾馆就是可以连上的,而且速度也很快。
那就找原因吧。
同样是ipconfig -all一下,发现,妈呀,
这些人居然把路由的网段和公司内部网段设成了相同的
不由倒吸一口凉气,
你用固定IP也就罢了,麻烦一些我也忍了,
可以用DCHP为什么还要用同一个网段啊
哥哥们啊。。。
Learn and share.
这同样是一个超级悲剧的事情,在同事家,连上了公司VPN,
准备上传代码,但SVN无论如何都告诉我,“俺找不到服务器啊”
这个。。。
我刚在宾馆就是可以连上的,而且速度也很快。
那就找原因吧。
同样是ipconfig -all一下,发现,妈呀,
这些人居然把路由的网段和公司内部网段设成了相同的
不由倒吸一口凉气,
你用固定IP也就罢了,麻烦一些我也忍了,
可以用DCHP为什么还要用同一个网段啊
哥哥们啊。。。
由于公司项目需要外出,就在一家宾馆住下了,闲着无聊,就连上网线准备看看新闻。
把IP地址获取模式设为DHCP,IP也正常获取到了,192.168.1.???,但无论如何都连不上网
打电话向前台确认,他们百般保证,绝对可以上网。
于是ipconfig -all一下,发现,居然没有网关。
这个可是个大悲剧了。
查了整整半个小时,发现:
天啊,居然是因为,VMWare的一块网卡的地址竟然是192.168.1.1
面壁去了。。。
话说回来,这不是第一次了
前几个月在EMC测试产品的时候,
别人的笔记本都可以联网,就是我的没反应
同样是因为这块VMWare的虚拟网卡
继续面壁。。。
项目实施后,为了以防万一,决定每天夜里备份数据库
虽然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
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
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
1、压缩文件
#只归档不压缩 tar –cf OUT_FILE_NAME.tar PATH_TO_FOLDER #归档后用gzip压缩 tar –czf OUT_FILE_NAME.tar.gz PATH_TO_FOLDER #归档后用bzip2压缩 tar –cjf OUT_FILE_NAME.tar.bz2 PATH_TO_FOLDER #归档后用compress压缩 tar –cZf OUT_FILE_NAME.tar.Z PATH_TO_FOLDER
2、解压文件
#解压tar tar –xvf IN_FILE_NAME.tar #解压tar.gz tar -xzvf IN_FILE_NAME.tar.gz #解压tar.bz2 tar -xjvf IN_FILE_NAME.tar.bz2 #解压tar.Z tar -xZvf IN_FILE_NAME.tar.Z
1、GetHDInfo.vbs
这个脚本,是Google后找到的,虽然是VBS,但比网上绝大多数的代码,靠谱的多得多
'---------------------------------------------------
'Get the properties of all partitions on all drives,
'including USB drives.
'Core code from the Scripting Guy
'7.1.2012 FNL
'---------------------------------------------------
Set oWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set cDiskDrives = oWMIService.ExecQuery("SELECT * FROM Win32_DiskDrive")
For Each oDrive In cDiskDrives
WScript.echo "Disk #" & oDrive.Index & "(" & oDrive.InterfaceType & "): " _
& oDrive.Caption & ", Size=" & Format(oDrive.Size, False) & " MBytes"
WScript.echo "Part. Drive F/S Size(MBytes) Free(MBytes) Active Primary"
WScript.echo String(71, "-")
'WScript.Echo "ASSOCIATORS OF {Win32_DiskDrive.DeviceID=""" & Replace(oDrive.DeviceID, "\", "\\") & """} WHERE AssocClass = " & "Win32_DiskDriveToDiskPartition"
Set cPartitions = oWMIService.ExecQuery("ASSOCIATORS OF {Win32_DiskDrive.DeviceID=""" _
& Replace(oDrive.DeviceID, "\", "\\") & """} WHERE AssocClass = " & "Win32_DiskDriveToDiskPartition")
For Each oPartition In cPartitions
aPartition = Split(oPartition.DeviceID)
Set cLogicalDisks = oWMIService.ExecQuery _
("ASSOCIATORS OF {Win32_DiskPartition.DeviceID=""" & oPartition.DeviceID _
& """} WHERE AssocClass = Win32_LogicalDiskToPartition")
if oPartition.Bootable then sActive = "Yes" Else sActive = "No "
if oPartition.PrimaryPartition then sPrimary = "Yes" Else sPrimary = "No "
For Each oLogicalDisk In cLogicalDisks
For Each oVolume In cLogicalDisks
sLabel = Left(oVolume.VolumeName & Space(12), 12)
Next
With oLogicalDisk
sSpacer = Space(8 - Len(.FileSystem))
WScript.Echo " " & aPartition(3) & " " & .DeviceID & " " & sLabel _
& .FileSystem & sSpacer & Format(.Size, True) & " " _
& Format(.FreeSpace, True) & " " & sActive & " " & sPrimary
End With
Next
Next
WScript.Echo
Next
Function Format(n, bPad)
n = FormatNumber(n/1000000, 0, -1, 0, -1)
if bPad then Format = Space(7-Len(n)) & n Else Format = n
End Function
2、运行
@REM do not use wscript GetHDInfo.vbs @cscript GetHDInfo.vbs Microsoft (R) Windows Script Host Version 5.8 Copyright (C) Microsoft Corporation. All rights reserved. Disk #1(IDE): Hitachi HTS545032B9A302 ATA Device, Size=320,070 MBytes Part. Drive F/S Size(MBytes) Free(MBytes) Active Primary ----------------------------------------------------------------------- #1 D: WinAPP NTFS 319,862 182,455 No Yes Disk #0(IDE): Samsung SSD 850 EVO 500GB ATA Device, Size=500,105 MBytes Part. Drive F/S Size(MBytes) Free(MBytes) Active Primary ----------------------------------------------------------------------- #1 E: MacSSD HFS 256,114 89,747 No Yes #3 C: BOOTCAMP NTFS 242,999 45,934 Yes Yes Press any key to continue . . .
最近,用cp命令拷贝文件夹时,发现即使用了-f选项,覆盖文件夹时,仍然要一个文件一个文件的确认,吐血啊。
后来发现,我调用的cp命令其实是一个别名,用alias命令就可以看到了。
alias cp=’cp -i’
额,系统为了安全,默认强制大家在覆盖前,逐个进行确认。知道了原因,那解决问题就简单了。
方法一、用管道,对每个提醒直接进行确认
yes|cp -fr src dest
方法二、取消别名
unaslias cp
方法三、强制使用cp命令,而不是使用别名
\cp -fr src dest
~/a/
~/b/
如何将文件夹b合并到a
其实要先将b中文件拷贝到a中,然后删除b
cp -R -u ~/b ~/a rm -rf ~/b
设置环境变量,主要看你用的shell是哪一种:
echo $SHELL
比如我们要把/usr/xbin路径,添加到当前用户的PATH中去:
sh:
~/.shrc
PATH=${PATH}:/usr/xbin
export PATH
bash:
~/.bashrc
export PATH=${PATH}:/usr/xbin
csh,tcsh:
~/.cshrc,~/.tcshrc
set path=($path /usr/xbin)