Chinaunix首页 | 论坛 | 博客
  • 博客访问: 20672
  • 博文数量: 6
  • 博客积分: 227
  • 博客等级: 入伍新兵
  • 技术积分: 75
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-09 09:54
个人简介

专注、细致

文章分类
文章存档

2012年(6)

最近访客

分类: LINUX

2012-09-16 11:42:26

7.1  输入输出重定向
      “>”输出重定向  可以将输出信息输出到指定的文件或地方,并且覆盖原有全部内容(将屏幕上的输出重定向到其他的地方)
     “>>”输出追加命令   追加命令不会覆盖原有内容,而是在原有内容后另起一行写入(同上)
        标准输入         0
        标准输出         1
        错误的输出      2                                 (  ll /dev/std*)
     cat   sxkeji   sxkeji1  1>right.txt  2>err.txt
      "&>" 命令将“标准输出1、错误输出2”合并后重定向输出,同样会覆盖原有信息
    patch  \u6253\u8865\u4e01\u4fee\u8865\u6587\u4ef6  
          \u8ba9\u7528\u6237\u5229\u7528\u8bbe\u7f6e\u8865\u4e01\u6587\u4ef6\u7684\u65b9\u5f0f\uff0c\u4fee\u6539\u548c\u66f4\u65b0\u6587\u4ef6
       如:cat  sxkj  cc  &>test
       "&>"命令的另一种写法:“1>test  2>&1”
      "<"导入命令    可以导入一个文件给命令执行
     [root@cc ~]# wc      10  13 452
    其中 ,10代表行数       13代表单词数    452字节数
     find . |cpio -co > /linux.cpio     其中的cpio是一个备份(灾备)文件的命令
      cpio -t
    “/dev/null”  
        null 意思是“无效的、无价值的、等于0的 ”  ,“/dev/null”就像是一个黑洞,只能写入,无法读取,(其中的内容永远丢失)

    “/dev/zero”
          也是一个伪文件,是系统的零发生器(主要用处是创建一个指定长度,当我们需要产生一些较大文件用于测试时,可以用这个零产生设备文件)
    dd if=/dev/zero of=/root/cc/abc bs=1M count=28  (dd也是一个备份工具)(if=input    of=output     bs为block块      是基本存储单位      count 是块的总数)
 
7.2管道及相关配套命令
   echo
          在屏幕上显示一段文字或者指定内容(标准输出)若不要自动换行,则加上 -n
         
       [root@cc ~]# cat dehuason.sh
       #!/bin/bash
       echo "请输入你给刘德华的儿子推荐的名字"
       read dhson_name
       echo 刘德华的儿子的名字是$dhson_name

      read dhson_name的作用是接收屏幕上的内容,然后将接收的内容给后面变量dhson_name,变量名可以自己定义。
      echo $?  上一条命令的执行结果,如果为0代表上一条命令执行成功,非0执行失败([root@cc ~]# echo $?            0        [1]+  Exit 1                  vncviewer 192.168.0.254 表示成功了)
      echo $var    查看变量值,var为定义的变量
      echo  $[8+9]\echo $((8+9))      计算功能,计算两个值的算术运算结果(可以是-、+、*、/)
        "  "、'   ' 、\、  (“ ”显示是变量值替换了变量、‘ ’显示是直接显示变量,不显示变量值、\为转义字符)
      “-e”    选项处理由\表示的转义,否则不处理
      let  a=8+9     echo   $a   设置变量为算术表达式,并且计算
      bc    算术计算,结果取整数


  |   管道符号
         经常用来将管道前面的某个命令或者程序的输出,提供给管道后面另一个命令或者程序作为输入(cat   /etc/hosts | grep 127  将文件…中包含127的行整行显示 (其中grep 是一行一行的查找,找到后整行输出))
   

"seq"  打印出一串有序的数字
          -f  指定打印的格式   (seq  -f  %03g  98  102    表示从98到102的书数,格式为3个字符)
          -s  指定分隔符,默认为回车作为分隔符( seq   -s"-"  2  4   输出2到4之间的分隔符为-)
         -w  指定输出宽度,不足的用0补齐( seq  -w  8 11    输出8到11宽度以11为标准,个位数前面补0)

 “xargs” 构造参数列表
           将前面一个命令产生的输出:文件列表、字符串列表,以参数的形式输出(seq    3   8|xargs   )

    tr(处理后并不破坏原文件)
          -c    取指定的字符串的补集,替换此字符串
          -d    删除所有指定的字符
          -s    删除所有重复的字符序列,之保留其中的一个

          tr -s "a-z""A-Z""0-9"@#$          tr -d ":"sxkj8    删除所有的:,并重定向到sxkj8里面
          tr -d ":/"sxkj9  同时删除所有的:/ ,并且重定向到sxkj9里面
          tr -d -c "A-Z"          tr  "a-z"  "A-Z"          tr    -c    "[a-zA-Z]"    "\n" 
         [root@cc ~]# tr "\40"  "\t"          root    x       0       0       root    /root   /bin/bash
          bin     x       1       1       bin     /bin    /sbin/nologin(\40 代表空格   \t代表tab键)
   
          seq 1 150|xargs|tr " " "+"|bc      首先生成一列数字,将输出传递给xargs,夹着列数字以参数的形式列出,以空格隔开,然后传给tr用+好取代空格,最后将输出传给bc计算

7.3排序功能相关命令
  sort  命令(也是不改变原来的文件)
       对文本按照指定的规则进行排序,对已排序的文件进行合并,并检查文件来确定他们是否一排序
          -u    排序之后去除重复行   
          -f     不区分大小写字母排序
          - r    逆序输出排序结果
          -t    指定分隔符标志
          -k   指定字段进行排序

      sort -u -f sxkj9    去除文件中重复的字符
      sort -u -r -f sxkj9
      sort -k3 sxkj4
      sort -t : -k4  new_sxkj4

  uniq
       删除文件中的重复行(一般是相邻的重复行)
          -d    只显示重复行
          -u    只显示不重复行
          -c    输出时统计每行重复出现的次数,标记在行首

7.4数据提取及过滤
      cut  命令
            按列截取文件中的内容
            cut命令的默认分隔符是tab   -d是指定分隔符号     
            sort默认分隔符是空格   -t  是指定分隔符号
                  
            -d   按字节截取文件中的每行指定内容
            -c   按字符截取文件中的每行内容
            -f    按字段截取文件中每行内容
            -s   不显示不包含分隔符的行,有利于去掉注释行

           cut   -c     1-4    sxkj4
           cut   -c   1-4,5-7    sxkj4    切割每一列的第1 -4,5-7字符
           cut    -d" "   -f3    sxkj4
            
           tr   -s    " "   < /var/log/messages|cut     -d" "     -f3|sort     -u|wc    -l

     grep
            在一个或者多个文件中搜索“字符串”模板。一行行的找,整行输出(如果模板包括空格,则必须被引用,搜索结果送到屏幕,不改变原文件的内容)
                ^  行首(放在查找词的前面)    $ 行尾(放在查找词的后面)    . 除了换行以外的任意单个字符    *  前导字符的零个或者多个
             -i    不区分大小写
             -v   显示不匹配的行
             -n   显示匹配的行及其行号

                   cat   passwd|grep    "^[rm]"   查找以r或者m的行
                   cat   passwd|grep    "[rm]oot"   查找包含room或者moot的行(cat   passwd  |grep   "^[^rmu]")

                   grep 127 passwd 或者 cat passwd |grep 127       在文件passwd中查找含有127的行并显示              
                   cat passwd |more|grep ^m   在文件中查找以m开头的行
                   cat passwd |more|grep $m    在文件中查找以m结尾的行
                   grep "tang....sui" a.txt   或者   grep "tang.*sui" a.txt      (主要是用到 .  和  .*)
 
      wc
           统计文件里的单词数量等信息
          -l    统计行数
          -w   文件的单词数
          -c    文件的字节数

7.5  文件的差异对比和补丁生成及打补丁
   diff   找出两个文件的不同点
       diff   -u    jysg     jysg2    比较两文件的不同(先是源文件,再接目标文件)(-u  比较文件,输出差异)
       diff -u jysg jysg2 >>jysg1-2.patch   打补丁文件jysg1-2.patch
       diff -uNr qq1 qq2   目录的比较
       diff  -Nur  qq1 qq2>qq.patch  (给目录打补丁,加上-Nur保证把里面的子目录一起实现)
        -r    选项目录中的子目录
       -N   让只在一个目录下有的文件与一个空文件比较

        patch jysg        patch  p1









阅读(1131) | 评论(0) | 转发(0) |
0

上一篇:useradd 命令使用

下一篇:没有了

给主人留下些什么吧!~~