awk实例操作学习记录
- Published in CentOS 6
- May 31, 2013
awk '/^root/ { print }' /etc/passwd 打印以root开头的行
awk '/^root/ { print }' /etc/passwd 打印以root开头的行
简单来说netsh winsock reset命令含义是重置 Winsock 目录。如果一台机器上的Winsock协议配置有问题的话将会导致网络连接等问题,就需要用netsh winsock reset命令来重置Winsock目录借以恢复网络。
winsock是windows网络编程接口,从Windows XP SP2开始内置了一条命令使用netsh能够对该接口进行修复。
netsh是一个能够通过命令行操作几乎所有网络相关设置的接口。比如设置IP,DNS,网卡,无线网络等。
netsh winsock reset:
先进入netsh
然后进入winsock这个部件
对winsock这个部件执行reset命令。
效果就是重置Winsock。对于一些WinSock被破坏导致的问题有奇效。在netsh出现之前,对于WinSock问题的修复是非常繁琐的。
perl -ne 'print unless $a{$_}++' file > out put file
awk '{a[$1]} END {for(i in a) print i}' filename > out put file
sort myfile.txt | uniq > out put file
awk '!_[$0]++' file
ruby -00 -ne 'puts $_.split("\n").uniq' file
perl -ne 'print unless $a{$_}++' file
sed '$!N; /^\(.*\)\n\1$/!P; D'
UE可以处理几乎任意大小的文件,当你想阅读GB级别的LOG文件时,UE时很好的选择。
1.关闭行号显示
关闭行号显示可以让你更快的打开一个大型文件。
2.不使用临时文件
不使用临时文件可以减少加载大型文件的时间。你可以设置阈值来合理使用这个功能。
3.关闭文件检测和转换
最后,关闭文件检测和转换功能,就能快捷的打开大型文件了。
设置好以后,我们用一个4GB的文件来做测试。
这是我们要打开的文件:
用UE打开:
. F5 K* K2 s1 I ` @
) o/ j6 D% k. B0 x, T
# u( b O0 b4 s0 w7 |
- R* `5 L) q! I( E% [
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
解决办法非常简单:
#vim /web/apache/conf/httpd.conf (在这里/web/apahce是我安装apache的目录,你默认安装的话应该是/usr/local/apache2/icons)
找到#ServerName www.example.com:80 把#去掉,再重启apache即可没事了。
现象:
這個問題應該是沒有在 /etc/httpd/conf/httpd.conf 中設定 ServerName
最简单的,修改httpd.conf文件,增加:
ServerName www.example.com:80
我的改为:
再次启动就正常了!
------------------------------------------------------------------------------------------------------------------------------------------------------------
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
httpd (pid 7907) already running
修改:去掉注释即可。
# If your host doesn't have a registered DNS name, enter its IP address here.
#
ServerName www.example.com:8080
解决方案:
进入apache的安装目录:
Windows : D:\Program Files\Apache Software Foundation\Apache2.2\conf
linux : /usr/local/apache/conf
用记事本打开httpd.conf
将里面的#ServerName localhost:80注释去掉即可。
再执行httpd
然后可以通过浏览器访问http://localhost:80,如果页面显示“It works!”,即表示apache已安装并启动成功。
错误:[warn] NameVirtualHost *:80 has no VirtualHosts
原因:定义了多个NameVirtualHost
解决:Ubuntu之前的版本定义在/etc/apache2/sites-available/default, 8.04后在/etc/apache2/ports.conf
故可以将/etc/apache2/ports.conf中的NameVirtualHost *:80注释掉
这个问题的本质是在没有定义域名是一个端口只能对应一个虚拟主机,将NameVirtualHost *:80改为其他端口也可以解决
如果有多个不同的域名的话,用同样的端口也可以
为什么要使用ntpd而不是ntpdate?
原因很简单,ntpd是步进式的逐渐调整时间,而ntpdate是断点更新,比如现在服务器时间是9.18分,而标准时间是9.28分,ntpd会在一段时间内逐渐的把时间校准到与标准时间相同,而ntpdate会立刻把时间调整到9.28分,如果你往数据库内写入内容或在其他对时间有严格要求的生产环境下,产生的后果会是很严重的。(注:当本地时间与标准时间相差30分钟以上是ntpd会停止工作)
1.首先主机启动NTP。
2.客户端会向NTP服务器发送调整时间的message。
3.然后NTP server会送出当前的标准时间给client
4.client接受来自server的时间后,会根据这个信息来调整自己的时间。这样就实现了网络对时。
NTP这个deamon采用了123端口。(UDP)
“当我们要利用Tim server来进行实践的同步更新时,就需要使用NTP软件提供的ntpdate来连接端口123”
1./etc/ntp.conf
linux各版本虽然目录不同,但文件名相同。可以用which ntp.conf 或者locate ntp.conf来查找。这是NTP唯一的一个设置文件。
2./usr/share/zoneinfo/
这个里面规定了这个主要时区的时间设置文件。
3./etc/sysconfig/clock
这个文件是linux的主要时区设置文件,每次开机后linux会自动读取这个文件来设置系统所默认的显示时间,可以看看它里面到底设置了什么:
cat /etc/sysconfig/clock # The ZONE parameter is only evaluated by system-config-date. # The timezone of the system is defined by the contents of /etc/localtime. ZONE="Asia/Shanghai" UTC=true ARC=false
4./etc/localtime
本地端时间配置文件。
5./bin/date
这个是时间的修改命令,除了输出时间,还可以修改时间。
6./sbin/hwclock
因为linux系统上面BIOS时间与linux系统时间是分开的,所以使用date这个指令调整了时间之后,还需要使用hwclock才能将修改过的时间写入BIOS中。
7./usr/sbin/ntpd
这是NTP的daemon文件,需要启动它才能提供NTP服务,这个命令会读取/etc/ntp.conf里面的设置。
8./usr/sbin/ntpdate
这是client用来连接NTP Server的主要执行文件,如果您不想启用NTP,只想启用NTP Client功能的话,可以只应用此命令。
9,/usr/sbin/ntptrace
可以用来追踪某台时间服务器的时间对应关系。
1、设置时区
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
2、安装ntpd服务
yum -y install ntp
3、配置ntpd
vi /etc/ntp.conf
restrict default kod nomodify notrap nopeer noquery # restrict -6 default kod nomodify notrap nopeer noquery #针对ipv6设置 # 允许本地所有操作 restrict 127.0.0.1 restrict -6 ::1 # 允许的局域网络段或单独ip restrict 10.0.0.0 mask 255.0.0.0 nomodify motrap restrict 192.168.0.0 mask 255.255.255.0 nomodify motrap restrict 192.168.1.123 mask 255.255.255.255 nomodify motrap # 使用上层的internet ntp服务器 restrict cn.pool.ntp.org restrict 1.cn.poo.ntp.org restrict 0.asia.pool.ntp.org restrict 3.asia.pool.ntp.org server cn.pool.ntp.org prefer server 1.cn.poo.ntp.org server 0.asia.pool.ntp.org server 3.asia.pool.ntp.org # 如果无法与上层ntp server通信以本地时间为标准时间 server 127.127.1.0 # local clock fudge 127.127.1.0 stratum 10 # 计算本ntp server 与上层ntpserver的频率误差 driftfile /var/lib/ntp/drift # Key file containing the keys and key identifiers used when operating # with symmetric key cryptography. keys /etc/ntp/keys #日志文件 logfile /var/log/ntp.log
修改/etc/sysconfig/ntpd:
# Drop root to id 'ntp:ntp' by default. OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid" # Set to 'yes' to sync hw clock after successful ntpdate SYNC_HWCLOCK=yes #make no into yes; BIOS的时间也会跟着修改 # Additional options for ntpdate NTPDATE_OPTIONS=""
运行ntp
service ntpd start/stop/restart
查看ntp的端口
应该看到123端口
netstat -unlnp
查看ntp服务器有无和上层连通
# ntpstat
synchronised to NTP server () at stratum 2 time correct to within 74 ms polling server every 128 s
注意:此命令出现上述synchronised结果比较慢,我的用了大概5分钟。
查看ntp服务器与上层间的联系
# ntptrace -n 127.0.0.1
127.0.0.1: stratum 3, offset -0.001095, synch distance 0.532610 116.193.83.174: timed out, nothing received
查看ntp服务器与上层ntp服务器的状态
# ntpq -p
其中:
remote - 本机和上层ntp的ip或主机名,“+”表示优先,“*”表示次优先 refid - 参考上一层ntp主机地址 st - stratum阶层 when - 多少秒前曾经同步过时间 poll - 下次更新在多少秒后 reach - 已经向上层ntp服务器要求更新的次数 delay - 网络延迟 offset - 时间补偿 jitter - 系统时间与bios时间差
如果所有远程服务器的jitter值是4000并且delay和reach的值是0,那么说明时间同步是有问题的
可能的原因是防火墙阻断了与server之间的通讯,即123端口是否正常开放;
此外每次重启NTP服务器之后大约要3-5分钟客户端才能与server建立正常的通讯连接,否则你在客户端执行“ntpdate 服务器ip”的时候将返回:
27 Jun 10:20:17 ntpdate[21920]: no server suitable for synchronization found
我采用了一个很笨的办法来手动启动ntpd,而不是把ntpd加入服务,写一个简单的脚本
vi ntpstart.sh
ntpdate cn.pool.ntp.org ntpdate cn.pool.ntp.org service ntpd start
然后加入/etc/rc.local
/shpath/ntpstart.sh
这是因为我有一台服务器启动后的时间总是与标准时间差别很大,每次启动后ntpd要花很多时间才能把时间校准,所以我是先在系统启动后ntpdate更新两次,然后再启动ntpd服务,在freebsd里好像有修改配置文件,让时间服务器在系统启动之前启动的,centos还没仔细琢磨
方法1.使用ntpdate与上面配置的时间服务器定时同步,不推荐此方法
方法2.安装ntpd,指定时间server为上面配置的服务器地址,推荐
更详细的介绍参见台湾 鸟哥的Linux私房菜
中国国家授时中心(陕西西安) 210.72.145.44
上海: 61.129.66.79 (t2.hshh.org) 61.129.42.44 (ntp.fudan.edu.cn) 202.120.2.101 (ntp.sjtu.edu.cn)
浙江 218.75.4.130 (t1.hshh.org)
内蒙古 218.21.130.42 (t1.hshh.org)
香港: 137.189.11.66 (clock.cuhk.edu.hk ) 137.189.11.128 (ntp.cuhk.edu.hk )
台湾: 220.130.158.52(time.stdtime.gov.tw) 220.130.158.72(Clock.stdtime.gov.tw)
220.130.158.51(tick.stdtime.gov.tw) 220.130.158.54(watch.stdtime.gov.tw)
asia.pool.ntp.org, 更多亚洲服务器请参考 http://www.pool.ntp.org/zone/asia
cn.pool.ntp.org, 更多中国服务器请参考 http://www.pool.ntp.org/zone/cn
tw.pool.ntp.org, 更多中国台湾服务器请参考 http://www.pool.ntp.org/zone/tw
hk.pool.ntp.org, 更多中国香港服务器请参考 http://www.pool.ntp.org/zone/hk
12/02/15补充:
取消ntpd自动启动,在系统启动时,指定ntpdate远程标准时间服务器两次,然后service ntpd start
好像也可以修改rc.conf或者加上一堆什么参数来实现,我偷懒用这个笨办法来保证时间的准确了
http://www.crsay.com/wiki/wiki.php/server/centos/ntp-set
1、下载量产工具(本帖提供绿色中文版下载)解压,展开工具目录。
2、运行InfUpdate工具输入VID&PID号,点击ADD加入后关闭窗口。
3、运行DtMPTool.exe出现量产工具主界面,见下图:
4、插入U盘后工具会辨认出U盘,如果没发现U盘,请点击“刷新”或“枚举端口”就能找到U盘,见下图:
5、点击“设置”输入密码123后点击“确定”出现参数设置界面。
A、“厂商信息”页面设置如下图:
“厂商信息”栏参数除VID&PID外可随意修改,VID&PID最好别改,若你执意要改则应按十六进制规范填写。“QC项目”栏选“自动侦测”,“磁盘类型”栏可选自己喜欢的,“可除去的”为ZIP,“本地”为HDD。
B、“参数输入”页面可按下图设置:
可以选择自己喜欢的序列号,选“本地”项后就可以输入序列号。第一次量产时“mass production”栏的“开卡之前”项应选“Rebuild Bad Block”模式,因为量产工具对第一次量产的U盘要进行坏块标注,否则量产会失败。因该模式必须扫描整个U盘,所以花费的时间较长,请耐心等待。再次量产时可选“正常”以便节省时间。“开卡之后”项选“没有”。
C、“分区设置”页面设置如下图:
勾选“公共分区I”和“公共分区II”的“分区选项”,“公共分区I”容量大小选“自动”。请注意:量产CDROM时“文件位置”栏的“公共分区II”项应点选“File”,调入镜像时有两种格式可供选择(dgo&iso)。“加密分区”&“隐藏分区”本人认为没有太大的意义,读者可自行研究。
设置好后点击“确定”按钮保存配置文件退出,点击“开始”按钮开始量产。量产成功时会出现下图:
关闭主界面,拔插U盘后在“我的电脑”里就可以见到刚才量产的USBROM和U盘分区了,见下图:
6、注意事项
A、如果量产失败,请双击鲜红色横条打开“出错信息表”,可根据出错信息对设置参数进行调整。
B、量产成功后有可能会出现找不到U盘分区的情况,这时可右击“我的电脑”点“管理”打开“磁盘管理”后重建U盘分区即可。
C、想量产CDROM时,为提高U盘性能,量产前先用本帖提供的“一键4K扇区对齐”工具优化U盘,因为CDROM的只读特性,量产后再优化时对提高性能没有帮助。
D、如果多次量产都失败时,请使用本帖提供的检测工具检测你的U盘,看看U盘的Flash型号在量产工具的Flash列表中有没有,如果没有就不要再浪费时间了,等待更新版本的量产工具吧。
E、本帖提供的量产工具为绿色中文版,适合联阳的IT-1167~1171等主控U盘。
F、因该U盘的工作电流较大,量产时请不要使用USB延长线,最好使用背面端口。