Linux文件权限
Linux系统是由文件组成的,其一切皆文件的哲学理念一直在Linux系统中有所体现,那么用户或者进程对于文件的访问权限也是有限制的。对于文件来说有read,write,excute,读写执行等权限,其文件的访问权限应用的模型是,先应用文件的属主权限,其次是属组,然后是其他权限。
文件权限显示使用ls -l查看,其中有10位表示,第一位表示文件类型,之后的9位:前三位为属主权限,中三位为属组权限,后三位为其他权限;
权限的组合机制,也可用数字来表示:
---:000,用0表示;
--x:001,用1表示;
-w-:010,用2表示;
-wx:011,用3表示;
r--:100,用4表示;
r-x:101,用5表示;
rw-:110,用6表示;
rwx:111,用7表示;
664:表示rw-rw-r--,755:表示rwxr-xr-x,644:表示rw-r--r--。
umask命令:文件权限的反向掩码,遮罩码;执行umask命令可查看当前文件权限的反向掩码;
创建文件使用666-umask;创建目录使用777-umask;创建文件之所以使用666是因为默认文件是不具有执行权限的,如果减得结果有执行权限,那么就向前加1;umask UMASK表示设置umask码,仅对当前shell生效;
修改权限使用chmod命令,修改属主属组,使用chown命令;
chmod [options] MODE ... FILE ...
chmod -R:表示递归修改,一般用于目录,及目录下的所有文件;
MODE:赋权表示法,一般可以用=,+,-等,后跟权限位表示,例如:u=r,g+w,o-r等此类,=后如果不加权限位,表示没有任何权限;也可使用八进制权限表示法,数字来代表MODE;
chown [options] [OWNER] [:[GROUP]] FILE...
chown -R:表示递归修改,其中使用:表示隔开属主与属组,也可以用点号表示;属主与属组可写也可不全写,分隔符之前的表示只改属主,之后的表示只改属组;例如 chown user: a.txt;chown .gruops a.txt;
grep用法
grep实际上就是Linux系统的文本过滤器,正确使用好正则表达式,grep会用的得心应手;
正则表达式是由一类特殊字符及文本字符所编写的模式,其中有些字符不表示其字面意义,而是用于表示控制或通配的功能;
正则表达式则有基本的和扩展的之分,只是在匹配模式上有所不同;
grep则也有egrep,fgrep等三种,egrep表示支持扩展的正则表达式,fgrep则表示不支持,其查询速度和性能更好些;
grep [options] /PATTERN/ FILE
grep的选项有以下几种:
--color=auto:匹配到的文本着色高亮显示;
-i:忽略字符大小写;
-o:仅显示匹配到的字符串本身;
-v:显示不能够被模式匹配到的内容;
-q:静默模式,不输出任何匹配信息;
-E:表示支持扩展的正则表达式匹配模式查询,相当于egrep;
-F:表示使用fgrep;
-A #:(after)匹配到的行的后#行,默认是两行;
-B #:(befor)匹配到的行的前#行,默认也是两行;
-C #:(context)匹配到的行的上下#行,默认也是两行;
这里说下基本的正则表达式和扩展的区别: