zoukankan      html  css  js  c++  java
  • 几个重要的shell命令:diff patch tar find grep

      diff diir_1.0/ dir_2.0/ -urNB > dir_2.0.patch 

    u:union以合并的格式来输出文件的差异信息

    r:递归的对比所有的子目录下的文件

    U:将不存在的文件视为空文件

    B:忽略空行引起的差异

    ~/dir_1.0$ patch -p1< ../dir_2.0.patch

    -p1的意思是忽略补丁文件中的路径一级分量:比如补丁是在home目录生成的,home目录下有dir_1.0/ dir_2.0/两个目录。

    打补丁的时候进入了dir_1.0/这个目录,我就需要忽略进入的这一级目录。

    tar
    ==================
    作用:压缩、解压、释放、归档文件
    用法:
    -------------
    1. 解压
    tar -xjvf a.tar.bz2 :以bz2格式解压到当前目录
    tar -xzvf a.tar.gz :以gz 格式解压到当前目录

    tar -xjvf a.tar.bz2 -C /tmp:以bz2格式解压到/tmp
    tar -xzvf a.tar.gz -C /tmp:以gz 格式解压到/tmp


    2. 压缩
    tar -cjvf a.tar.bz2 dir1/ file :以bz2格式,将dir1/和file压缩成a.tar.bz2
    tar -czvf a.tar.gz dir1/ file :以gz 格式,将dir1/和file压缩成a.tar.gz

    grep (支持正则表达式)
    ============================
    作用:在文件中,查找字符串
    用法:
    grep 'apple' file -nw (在file中,全文匹配地查找字符串apple,找到之后打印出其行号)
    grep 'apple' dir/ -rHnw (在dir/目录下,全文匹配递归地查找字符串apple,找到之后打印出其所在文件名及行号)
    grep 'apple.*' dir/ -rHnw (在dir/目录下,全文匹配递归地查找以apple为开头的字符串,找到之后打印出其所在文件名及行号,注意:'apple.*'此处是正则表达式)

    find
    ===============
    作用:在指定目录下,查找文件
    用法:
    find dir/ -name "apple.c" (在dir/下找到名字为apple.c的文件)
    find dir/ -name "*.c" (在dir/下找到名字后缀为.c的文件,注意:"*.c"此处是shell通配符)

  • 相关阅读:
    我用柔软打败你
    【记录】ASP.NET URL 特殊字符
    再次记录 Visual Studio 2015 CTP 5 的一个坑
    【记录】ASP.NET MVC View 移动版浏览的奇怪问题
    升级 Visual Studio 2015 CTP 5 的坑、坑、坑
    OWIN 中 K Commands 与 OwinHost.exe 相等吗?
    OWIN 中 K Commands(OwinHost.exe)与 Microsoft.AspNet.Hosting 的角色问题
    深入理解 OWIN 中的 Host 和 Server
    【续集】在 IIS 中部署 ASP.NET 5 应用程序遭遇的问题
    delete
  • 原文地址:https://www.cnblogs.com/defen/p/5186683.html
Copyright © 2011-2022 走看看