本节内容:
dos文件转unix文件的方法
1,在unix中使用dos2unix命令
dos2unix [-kn] file [newfile]
参数:
-k : 保留该文件原来的mtime时间格式(不更新文件上次内容经过修改的时间)
-n : 保留原来的旧文件,将转换后的内容输出到新文件,如:dos2unix -n old new
2,在windows中用ultraedit把^p替换为^n
参考文章:dos文件在linux中显示^M问题的解决方法
在linux系统中,/etc/hosts.allow和/etc/hosts.deny两个文件是控制远程访问设置的,可以配置允许或拒绝某个ip、ip段的客户访问linux的某项服务。
如果请求访问的主机名或IP不包含在/etc/hosts.allow中,那么tcpd进程就检查/etc/hosts.deny。
1,确认请求访问的主机名或IP,是否包含在hosts.deny文件中,包含,则访问被拒绝;
2,否则,如果不包含在/etc/hosts.allow中,又不包含在/etc/hosts.deny中,那么此访问也被允许。
daemon list 服务进程名列表,如telnet的服务进程名为in.telnetd
client list 访问控制的客户端列表,可以写域名、主机名或网段,如.trubolinux.com.cn或者192.168.1.
option 可选选项,这里可以是某些命令,也可以是指定的日志文件
例子:hosts.allow
vsftpd:192.168.0.
sshd:192.168.0.0/255.255.255.0
/etc/hosts.allow里第一行vpser.net表示,只有vpser.net这个域里的主机允许访问TELNET服务,注意vpser.net前面的那个点(.)。
/etc/hosts.allow里第二行表示,只有192.168.0这个网段的用户允许访问FTP服务,注意0后面的点(.)。
/etc/hosts.allow里第三行表示,只有192.168.0这个网段的用户允许访问SSH服务,注意这里不能写为192.168.0.0/24。虽然在CISCO路由器种这两中写法是等同的。
在/etc/hosts.deny里加上:
sshd:203.215.252.189
sshd:219.143.200.169
sshd:60.12.193.134
sshd:201.83.220.44
sshd:c953dc2c.virtua.com.br
sshd:gera125.server4you.de
如此这些就拒绝了这些地址访问本机的ssh服务了。
另外,有兴趣的朋友还可以研究下linux的iptables防火墙,也是相当强的。
有关iptables的文章,请参考:
CentOS5.7 iptables防火墙配置实例
linux下iptables防火墙的配置详解
linux下iptables封锁IP方法详解
linux中iptables防火墙配置实例分享
生产环境中企业iptables配置实例
Linux下 iptables 配置实例 分享
linux中iptables防火墙配置实例详解
linux下iptables防火墙配置笔记
阿里云centos主机配置iptables防火墙遇到的一些问题
使用iptables屏蔽IP段的方法举例
iptables 防火墙配置一例
iptables 实用教程
配置 iptables 静态防火墙
iptables防火墙配置一例
iptables配置实例详解
iptables实例收藏
linux iptables入门教程
有时在维护linux系统时,会遇到这样的情况,以为内存用了90%:
Mem: 4146788k total, 3825536k used, 321252k free, 213488k buffers
Swap: 2650684k total, 80k used, 2650604k free, 3006404k cached
很多人用惯了Windows。Windows下,可以使用任务管理器查看当前进程对于内存的消耗情况。
Windows物理内存总是留下一定的空间,就算此时物理内存有空闲时,也会让某些程序去使用虚拟内存,目的是在Windows下启动新程序时,直接分配空闲的物理内存,这样子新程序启动速度就较快,而Linux则不然。
而在Linux下,使用top命令看到内存占用情况:
Mem: 4146788k total, 3825536k used, 321252k free, 213488k buffers
Swap: 2650684k total, 80k used, 2650604k free, 3006404k cached
这里的结果显示使用了3.8G的used,占用率达到90%。
看看free的结果,还可以对比分析:
total used free shared buffers cached
Mem: 4049 3784 265 0 208 2939
-/+ buffers/cache: 636 3413
Swap: 2588 0 2588
虽然MEM显示了3.7G左右的used,但是(-/+ buffers/cache)减去buffers和cache的结果可以看到,当前进程实际占用内存是636M,而可用空闲(free)内存为3.4G。
理解:
在linux的内存分配机制中,优先使用物理内存,当物理内存还有空闲时(还够用),不会释放其占用内存,就算占用内存的程序已经被关闭了,该程序所占用的内存用来做缓存使用,对于开启过的程序、或是读取刚存取过得数据会比较快。
以上的例子:
使用了4G的内存,3.7G被占用,但是buuffer和cached部分作为缓存,可以使用命中率的方式提高使用效率,而且这部分缓存是根据指令随时可以释放的,可以认为这部分内存没有实际被使用,也可以认为它是空闲的。
因此,查看目前进程正在实际被使用的内存,是used-(buffers+cache),也可以认为如果swap没有大量使用,mem还是够用的,只有mem被当前进程实际占用完(没有了buffers和cache),才会使用到swap的。
希望以上的内容,有助于大家日常分析系统内存的占用问题,以找到切入点,快速解决问题。