几个重要的shell命令:diff patch tar find grep
2016-02-11 21:40
786 查看
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通配符)
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通配符)
相关文章推荐
- linux下面tomcat挂掉后重新启动的shell脚本
- 解决用xshell连接cygwin出现The remote SSH server rejected X11 forwarding request的错误
- PowerShell 字符串的几种类型判断
- shell程序设计(三)
- ./bash_script.sh后面传参数
- Linux学习笔记(5)----shell默认的版本bash及变量的设置
- [ShellExtension]属性页扩展-IShellPropSheetExt实现
- shell程序设计(一)
- shell
- [ShellExtension]上下文扩展-IContextMenu实现
- [ShellExtension]图标扩展-IShellIconlayIdentifier实现
- Linux中执行shell脚本的4种方法总结
- linux shell
- PowerShell脚本:随机密码生成器
- shell grep常用选项
- NC / Netcat - 反弹Shell
- bash - filename=${1:-/etc/hosts} 和 filename=/etc/hosts 的区别
- Linux Shell 工作原理
- Use PowerShell Invoke-Command for Remoting
- 解决shell脚本中 echo 怎么写入换行到文件