IdiotSky


  • Home

  • Categories

  • About

  • Archives

  • Tags

  • Books

  • Search

linux iptables详解

Posted on 11 Jun 14 | In linux命令

iptables简介

netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。

iptables基础

规则(rules)其实就是网络管理员预定义的条件,规则一般的定义为“如果数据包头符合这样的条件,就这样处理这个数据包”。规则存储在内核空间的信息 包过滤表中,这些规则分别指定了源地址、目的地址、传输协议(如TCP、UDP、ICMP)和服务类型(如HTTP、FTP和SMTP)等。当数据包与规 则匹配时,iptables就根据规则所定义的方法来处理这些数据包,如放行(accept)、拒绝(reject)和丢弃(drop)等。配置防火墙的 主要工作就是添加、修改和删除这些规则。

Read more »

Linux的free命令详解

Posted on 10 Jun 14 | In linux命令

属性讲解

执行下面命令

1
$ free

结果(默认单位为KB)

1
2
3
4
             total       used       free     shared    buffers     cached
Mem: 24677460 23276064 1401396 0 870540 12084008
-/+ buffers/cache: 10321516 14355944
Swap: 25151484 224188 24927296

Read more »

SSH免密码登陆以及穿越跳板机

Posted on 27 Mar 14 | In linux命令

免密码直连 [user@hostA ~] $ssh hostB

STEP1. 在hostA上生成RSA公钥私钥(在~/.ssh/下生成RSA私钥id_rsa,公钥id_rsa.pub)

1
[user@hostA ~]$ ssh-keygen -t rsa

STEP2. 将hostA的公钥传给hostB机器(在hostB机器的.ssh/authorized_keys里面添加A机器的id_rsa.pub)

方法一:使用 ssh-copy-id工具

1
[user@hostA ~]$ ssh-copy-id -i .ssh/id_rsa.pub hostB

方法二:人肉拼接

1
2
[user@hostA ~]$ scp .ssh/id_rsa.pub hostB:~/.ssh/temp
[user@hostB ~]$ cat .ssh/temp >> .ssh/authorized_keys

Read more »

为什么要使用SLF4J而不是Log4J

Posted on 27 Mar 14 | In java

每一个Java程序员都知道日志对于任何一个Java应用程序,尤其是服务端程序是至关重要的,而很多程序员也已经熟悉各种不同的日志库如java.util.logging、Apache log4j、logback。但如果你还不知道SLF4J(Simple logging facade for Java)的话,那么是时候去在你项目中学习使用SLF4J了。
在这篇文章中,我们将学习为什么使用SLF4J比log4j或者java.util.logging要优秀。

不管怎样,让我们回到这个话题,SLF4J不同于其他日志类库,与其它有很大的不同。SLF4J(Simple logging Facade for Java)不是一个真正的日志实现,而是一个抽象层( abstraction layer),它允许你在后台使用任意一个日志类库。如果是在编写供内外部都可以使用的API或者通用类库,那么你真不会希望使用你类库的客户端必须使用你选择的日志类库。

如果一个项目已经使用了log4j,而你加载了一个类库,比方说 Apache Active MQ——它依赖于于另外一个日志类库logback,那么你就需要把它也加载进去。但如果Apache Active MQ使用了SLF4J,你可以继续使用你的日志类库而无语忍受加载和维护一个新的日志框架的痛苦。

总的来说,SLF4J使你的代码独立于任意一个特定的日志API,这是一个对于开发API的开发者很好的思想。虽然抽象日志类库的思想已经不是新鲜的事物而且Apache commons logging也已经在使用这种思想了,但现在SLF4J正迅速成为Java世界的日志标准。让我们再看看几个使用SLF4J而不是log4j、logback或者java.util.logging的理由。

Read more »

如何判断Javascript对象是否存在

Posted on 26 Mar 14 | In javascript

javascript 设计不严谨,就判断一个Javascript对象是否存在,有超过50种写法。 这里列举些常用的,并总结下。。

第一种

1
2
3
  if (!myObj) {
    myObj = { };
  }

但是,运行这段代码,浏览器会直接抛出ReferenceError错误,导致运行中断。请问错在哪里?
对了,if语句判断myObj是否为空时,这个变量还不存在,所以才会报错。改成下面这样,就能正确运行了。

Read more »

Linux-dd命令详解

Posted on 01 Mar 14 | In linux命令

dd命令

dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
参数注释:

  1. if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >
  2. of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >
  3. ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。
  4. obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。
  5. bs=bytes:同时设置读入/输出的块大小为bytes个字节。
  6. cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。
  7. skip=blocks:从输入文件开头跳过blocks个块后再开始复制。
  8. seek=blocks:从输出文件开头跳过blocks个块后再开始复制。注意:通常只用当输出文件是磁盘或磁带时才有效,即备份到磁盘或磁带时才有效。
  9. count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。
  10. conv=conversion:用指定的参数转换文件。
    • ascii:转换ebcdic为ascii
    • ebcdic:转换ascii为ebcdic
    • ibm:转换ascii为alternate ebcdic
    • block:把每一行转换为长度为cbs,不足部分用空格填充
    • unblock:使每一行的长度都为cbs,不足部分用空格填充
    • lcase:把大写字符转换为小写字符
    • ucase:把小写字符转换为大写字符
    • swab:交换输入的每对字节
    • noerror:出错时不停止
    • notrunc:不截短输出文件
    • sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。

块大小可以使用的计量单位表

单元大小 代码
字节(1B) c
字节(2B) w
块(512B) b
千字节(1024B) k
兆字节(1024KB) M
吉字节(1024MB) G

例如:

1
$ dd if=/dev/zero of=sun.txt bs=1M count=1 #设置块大小为1mb

Read more »

Linux硬盘分区相关命令

Posted on 01 Mar 14 | In linux命令

分区fdisk

fdisk命令参数介绍

fdisk -l 显示所有分区详细信息
fdisk [设备名]进入交互模式,以下是交互参数:

  • p、打印分区表。
  • n、新建一个新分区。
  • d、删除一个分区。
  • q、退出不保存。
  • w、把分区写进分区表,保存并退出。
Read more »

maven resource 记录

Posted on 20 Feb 14 | In java

今天遇到maven打包的时候发现在main/java里面的xml没有打包进jar上。

Read more »

jenkins + git+maven做持续集成

Posted on 20 Feb 14 | In java
  1. 下个jenkins,官网去下 http://jenkins-ci.org/,里面提供war包下载,直接部署到tomcat什么上面吧。
    Read more »

Linux netstat命令详解

Posted on 20 Feb 14 | In linux命令

mark and index for searching 👿

简介

Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。

输出信息含义

执行netstat后,其输出结果为

1
2
3
4
5
6
7
8
9
10
11
# netstat|more
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 10.0.2.15:ssh 10.0.2.2:52091 ESTABLISHED
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix 11 [ ] DGRAM 11021 /dev/log
unix 2 [ ] DGRAM 11556 @/org/freedesktop/hal/udev_event
unix 2 [ ] DGRAM 8986 @/org/kernel/udev/udevd
unix 3 [ ] STREAM CONNECTED 17777
unix 3 [ ] STREAM CONNECTED 17776
Read more »
1…14151617
ejunjsh

ejunjsh

code freak

164 posts
25 categories
154 tags
RSS
GitHub Weibo Email FB Page
0%
© 2014 — 2019 ejunjsh
Powered by Hexo
|
Theme — NexT.Gemini