当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪linux iptables 开启关闭端口的方法      使用iptables开启或关闭指定端口,举例如下: linux系统下,81端口一般情况下是关闭的。 开启81端口:   代码如下: iptables -I INPUT -i eth0 -p tcp --dport 81 -j ACCEPT iptables -I OUTPUT -o eth0 -p tcp --sport 81 .........
    ▪有关I/O重定向的详细教程      本文中介绍的内容对学习Shell programming非常重要,I/O重定向在linux系统是一块非常重要的知识。 1、基本概念   a、I/O重定向通常与 FD有关,shell的FD通常为10个,即 0~9;   b、常用FD有3个,为0.........
    ▪linux忘记root密码的解决办法(图文)         输入:”e“,进入如下界面 进入以”kernel“开头的那一行,然后输入 "e"; 在quiet后面输入"single"(进入单用户维护模式)然后回车,进入: 按”b“即可;   这样进入系统是不需要登陆.........

[1]linux iptables 开启关闭端口的方法
    来源: 互联网  发布时间: 2013-12-24

使用iptables开启或关闭指定端口,举例如下:

linux系统下,81端口一般情况下是关闭的。

开启81端口:  

代码如下:
iptables -I INPUT -i eth0 -p tcp --dport 81 -j ACCEPT
iptables -I OUTPUT -o eth0 -p tcp --sport 81 -j ACCEPT

关闭81端口:  

代码如下:
iptables -I INPUT -i eth0 -p tcp --dport 81 -j DROP
iptables -I OUTPUT -o eth0 -p tcp --sport 81 -j DROP

您可能感兴趣的文章:
iptables 日志维护的方法分享
解析 iptables常用规则设置
iptables防火墙之limit限制方法分享
linux下关闭iptables防火墙及selinux的方法
使用iptables屏蔽IP段的方法举例
配置 iptables 静态防火墙
iptables实现路由转发的例子
iptables防火墙配置一例
iptables配置实例详解
一个实用的iptables shell脚本
iptables实例收藏
linux iptables入门教程

    
[2]有关I/O重定向的详细教程
    来源: 互联网  发布时间: 2013-12-24

本文中介绍的内容对学习Shell programming非常重要,I/O重定向在linux系统是一块非常重要的知识。

1、基本概念
  a、I/O重定向通常与 FD有关,shell的FD通常为10个,即 0~9;
  b、常用FD有3个,为0(stdin,标准输入)、1(stdout,标准输出)、2(stderr,标准错误输出),默认与keyboard、monitor、monitor有关;
  c、用 < 来改变读进的数据信道(stdin),使之从指定的档案读进;
  d、用 > 来改变送出的数据信道(stdout, stderr),使之输出到指定的档案;
  e、0 是 < 的默认值,因此 < 与 0<是一样的;同理,> 与 1> 是一样的;
  f、在IO重定向 中,stdout 与 stderr 的管道会先准备好,才会从 stdin 读进资料;
  g、管道“|”(pipe line):上一个命令的 stdout 接到下一个命令的 stdin;
  h、tee 命令是在不影响原本 I/O 的情况下,将 stdout 复制一份到档案去;
  i、bash(ksh)执行命令的过程:分析命令-变量求值-命令替代(``和$( ))-重定向-通配符展开-确定路径-执行命令;
  j、( )  将 command group 置于 sub-shell 去执行,也称 nested sub-shell,它有一点非常重要的特性是:继承父shell的Standard input, output, and error plus any

other open file descrīptors。
  k、exec 命令:常用来替代当前 shell 并重新启动一个 shell,换句话说,并没有启动子 shell。使用这一命令时任何现有环境都将会被清除,。exec 在对文件描述符进行操作的时候,也只有在这时,exec 不会覆盖你当前的 shell 环境。

2、基本IO
  cmd > file                    把 stdout 重定向到 file 文件中
  cmd >> file                   把 stdout 重定向到 file 文件中(追加)
  cmd 1> fiel                   把 stdout 重定向到 file 文件中
  cmd > file 2>&1               把 stdout 和 stderr 一起重定向到 file 文件中
  cmd 2> file                   把 stderr 重定向到 file 文件中
  cmd 2>> file                  把 stderr 重定向到 file 文件中(追加)
  cmd >> file 2>&1              把 stderr 和 stderr 一起重定向到 file 文件中
  cmd < file >file2             cmd 命令以 file 文件作为 stdin,以 file2 文件作为 stdout
  cat <>file                    以读写的方式打开 file
  cmd < file                    cmd 命令以 file 文件作为 stdin
  cmd << delimiter              Here document,从 stdin 中读入,直至遇到delimiter 分界符

3、进阶IO
  >&n                使用系统调用 dup (2) 复制文件描述符 n 并把结果用作标准输出
  <&n                标准输入复制自文件描述符 n
  <&-                关闭标准输入(键盘)
  >&-                关闭标准输出
  n<&-               表示将 n 号输入关闭
  n>&-                        表示将 n 号输出关闭
上述所有形式都可以前导一个数字,此时建立的文件描述符由这个数字指定而不是缺省的 0 或 1。如:
  ... 2>file        运行一个命令并把错误输出(文件描述符 2)定向到 file。
  ... 2>&1                运行一个命令并把它的标准输出和输出合并。(严格的说是通过复制文件描述符 1 来建立文件描述符 2 ,但效果通常是合并了两个流。)

  2>&1说明:2>&1 也就是 FD2=FD1 ,这里并不是说FD2 的值 等于FD1的值,因为 > 是改变送出的数据信道,通俗的说是:把stderr并到stdout。
  但使用类似 cmd 1>&3 这样的形式时,原理相同,但往往不同于 2>&1 和 1>&2 通常用来合并的作用。
    
    注意:普通cmd命令的cmd n>&n 和exec n>&n 是有区别的。

    exec 0<infilename                # 打开文件infilename作为 stdin
    exec 1>outfilename               # 打开文件outfilename作为stdout
    exec 2>errfilename               # 打开文件 errfilename作为 stderr
    exec 0<&-                        # 关闭 FD0
    exec 1>&-                        # 关闭 FD1
    exec 5>&-                        # 关闭 FD5

问:
如果关闭了 FD0、FD1、FD2,其后果是什么?
恢复 FD0、FD1、FD2与 关闭FD0、FD1、FD2 有什么区别?代码分别是什么?
打开了FD3~FD9,我们用完之后,你觉得是将他们关闭还是恢复?

下面是提示(例子来源于CU):
  exec 6>&2 2>ver        # FD2(本来往monitor送的) 定向到文件ver
  command >>dev/null &   #丢弃FD1(stdout)
  exec 2>&6              # 恢复 FD2

4、简单举例(其中 yes.txt存在,no.txt不存在)
  a、stdout 和stderr 都通过管道送给egrep了:
    (ls yes.txt 2>&1;ls no.txt 2>&1) 2>&1|egrep \* >file
    (ls yes.txt;ls  no.txt) 2>&1|egrep \* >file

这个例子就是让大家:理解 命令执行顺序 和 管道“|”
在命令执行前,先要进行重定向的处理,并将把 nested sub-shell 的stdout 接到 egrep 命令的 stdin。
nested sub-shell ,在 ( ) 中的两个命令可以看作一个命令。其 stdout(FD1) 通过 “|” 作为 egrep 的 stdin,再加上 2>&1 时,初始 stdout 和 stderr 都往管道 “|” 送。

b、没有任何东西通过管道送给egrep,全部送往monitor。
 (ls yes.txt 2>&1;ls no.txt 2>&1) >&2|egrep \* >file
虽然在()里面将 FD2转往FD1,但在()外,遇到 >&2 ,结果所有的都送到monitor。

5、中阶例子(其中 you 这个文件是存在的,no 和 wu 这两个文件不存在)
r2007兄的:http://bbs.chinaunix.net/forum/viewtopic.php?t=221848&show_type=new&sid=cf30398c911e0d2b16313c6922123f67

条件:stderr通过管道送给egrep,正确消息仍然送给monitor(不变)

  exec 4>&1;(ls you no 2>&1 1>&4 4>&-;ls wu 2>&1 1>&4 4>&-)|egrep \* >file;exec 4>&-
  或者
  exec 4>&1;(ls you no;ls wu) 2>&1 1>&4 4>&-|egrep \* >file;exec 4>&-

r2007 兄在其贴已有详细说明,如果加两个条件:
  (1)要求cmd1和cmd2并行运行;
  (2)将cmd1的返回值赋给变量 ss。

则为:
  exec 3>&1;exec 4>&1
  ss=$(((ls you no 2>&1 1>&3 3>&-;echo $? >&4)|egrep \* >file) 4>&1)
  exec 3>&-;exec 4>&-

说明:
  exec 3>&1;4>&1
  ### 建立FD3,是用来将下面ls那条语句(子shell)中的FD1 恢复到正常FD1,即输出到monitor,你可以把FD3看作最初始的FD1的硬盘备份(即输出到monitor);
  ### 建立FD4,到时用作保存ls的返回值(echo $?),你可以将FD4看作你考试时用于存放计算“echo $?”的草稿纸;

  (ls you no 2>&1 1>&3 3>&-;echo $? >&4)
  ### 大家还记得前面说的子shell和管道吧。这条命令首先会继承FD0、FD1、FD2、FD3、FD4,它位于管道前,所以在运行命令前会先把子shell自己的FD1和管道“|”相连。
  但是我们的条件是stderr通过管道送往egrep,stdout仍然输出到monitor。
  于是通过2>&1,先把 子shell的FD1 的管道“送给”FD2,于是子shell中的stderr送往管道“|”;
  再通过 1>&3,把以前的“硬盘备份”恢复给子shell的FD1,于是子shell中的FD1变成送到monitor了。
  再通过3>&- ,将3关闭;
  接着运行echo $? ,本来其输出值应该送往管道的,通过 >&4 ,将 输出 送往 “草稿纸”FD4,留以备用。

  ((ls you no 2>&1 1>&3 3>&-;echo $? >&4)|egrep \* >file)
  于是,stderr 通过管道送给 egrep ,stdout 送给monitor,但是,还有 FD4,它送到哪去了?
  $(((ls you no 2>&1 1>&3 3>&-;echo $? >&4)|egrep \* >file) 4>&1)
  最后的 4>&1 ,就是把FD4 重定向到 FD1。但由于其输出在 $( )中,其值就赋给变量ss了。

  最后一行关闭 FD3、FD4。


    
[3]linux忘记root密码的解决办法(图文)
    来源: 互联网  发布时间: 2013-12-24
 
输入:”e“,进入如下界面
进入以”kernel“开头的那一行,然后输入 "e";
在quiet后面输入"single"(进入单用户维护模式)然后回车,进入:

按”b“即可;
 
这样进入系统是不需要登陆的,然后输入”passwd“命令修改密码即可。

    
最新技术文章:
▪linux系统中的列出敏感用户的脚本代码
▪a10 config backup for aXAPI
▪一键备份gitolite服务器的Shell脚本
▪nagios 分发文件实现代码
▪阿里云云服务器Linux系统更新yum源Shell脚本
▪一个监控LINUX目录和文件变化的Shell脚本分享
▪Linux下实现SSH免密码登录和实现秘钥的管理、...
▪Shell正则表达式之grep、sed、awk实操笔记
▪3个备份系统文件并邮件发送的Shell脚本分享
▪CentOS 6.3下给PHP添加mssql扩展模块教程
▪监控网站是否可以正常打开的Shell脚本分享
▪shell脚本编程之if语句学习笔记
▪shell脚本编程之循环语句学习笔记
▪shell脚本编程之case语句学习笔记
▪Shell脚本实现的阳历转农历代码分享
▪Shell脚本实现复制文件到多台服务器的代码分...
▪Shell脚本实现批量下载网络图片代码分享
▪Shell脚本实现检测文件是否被修改过代码分享
▪Shell脚本数组用法小结
▪Shell脚本批量重命名文件后缀的3种实现
▪C语言实现的ls命令源码分享
▪Linux下查找后门程序 CentOS 查后门程序的shell脚...
▪Shell 函数参数
▪linux shell 自定义函数方法(定义、返回值、变...
▪Shell实现判断进程是否存在并重新启动脚本分...
▪Shell脚本break和continue命令简明教程
▪Shell脚本函数定义和函数参数
▪让代码整洁、过程清晰的BASH Shell编程技巧
▪shell常用重定向实例讲解
▪awk中RS、ORS、FS、OFS的区别和联系小结
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3