BASH文件操作

文件状态:stat

适用于文件系统的格式代码:

文件属性:chattr

chattr +属性代码 filename

chattr =属性代码 filename

chattr - 属性代码 filename

属性代码有:AaDdijsSu

常用的如图:

比较文件不同:diff

如甲乙都有filentest源码,甲先拷贝了filentest文件为B,并且修改B,那么使用下面的命令,生成和源文件的差异文件到B.patch

diff -u filentest B  >  B.patch

-u指采用“unified context”的diff格式

乙拿到B.patch文件后,将这个差异文件和源文件filentest放在一个目录下,使用命令:

patch -p0 < newdiff.patch就可以获得甲手里修改过的B文件。

如果是多个文件夹,使用diff -uNr dirA dirB  > diff.new

将diff.new放在源码目录同一层,使用patch -p1 < ../diff.new

搜寻文件内容:grep

 grep -q keyword filename

  如果文件内含有相关关键字,$?返回0,否则返回非0

grep -qe keyword filename

  -e使用样式来搜寻文件内容

grep -qE keyword filename

  -E使用扩展的样式

  

建立临时文件:mktemp

直接使用mktemp,会在/tmp下建立一个名字为tmp.xxxxxxxxxx 的文件,后面的xx表示随机字符

使用-t选项,决定临时盘的位置

mktemp -t /root/tmp/ 

使用-d选项,则使用的是暂存目录

mktemp -t /root/tmp

 

复制文件

cp -pf filename /tmp 

-p 保持原有属性   -f 递归文件夹下的所有文件

cp -a filename /tmp

将filename中的所有文件,复制到tmp文件夹下,并携带属性

 

原文地址:https://www.cnblogs.com/agostop/p/2727120.html