-
文件安全和权限
-
符号模式 chmod命令的一般格式为: chmod [who] operator [permission] filename
-
who的含义是:
-
u 文件属主权限。
-
g 同组用户权限。
-
o 其他用户权限。
-
a 所有用户(文件属主、同组用户及其他用户)。
-
-
operator的含义:
-
+ 增加权限。
-
- 取消权限。
-
= 设定权限。
-
-
permission的含义:
-
r 读权限。
-
w 写权限。
-
x 执行权限。
-
s 文件属主和组 set-ID。
-
t 粘性位*。
-
l 给文件加锁,使其他用户无法访问。
-
-
u,g,o 针对文件属主、同组用户及其他用户的操作
-
-
绝对模式 chmod命令绝对模式的一般形式为: chmod [mode] file 其中mode是一个八进制数。
-
改变文件所有者 :chown [选项]... [所有者][:[组]] 文件...
-
改变文件所在组:chgrp [选项]... 用户组 文件...
-
查找用户和所在组信息:id [OPTION]... [USER]
-
查看文件缺省模式:umask 一般为0022 目录755 文件644
-
设置文件缺省模式:umask [模式]
-
创建软连接:ln [-s] source_path target_path
-
-
find 和 xargs
-
find 用法: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
-
默认路径为当前目录;默认表达式为 -print
-
find ~ -name "*.txt"
-
find . -name "[a-z][a-z][0--9][0--9].txt" -print
-
find . -perm 755
-
exec/ok .....
-
-
find 和 xargs
-
在整个系统中查找内存信息转储文件 (core dump) ,然后把结果保存到 /tmp/core.log 文件中: find . -name "core" -print | xargs echo "" >/tmp/core.log
-
在/apps/audit目录下查找所有用户具有读、写和执行权限的文件,并收回相应的写权限: find /apps/audit -perm -7 -print | xargs chmod o-w
-
用grep命令在所有的普通文件中搜索device这个词: find / -type f -print | xargs grep "device"
-
用grep命令在当前目录下的所有普通文件中搜索 DBO这个词:find . -name \ *-type f -print | xargs grep "DBO"
-
-
-
文件名置换
-
* 匹配文件名中的任何字符串,包括空字符串。
-
? 匹配文件名中的任何单个字符。
-
[...] 匹配[ ]中所包含的任何字符。
-
[!...] 匹配[ ]中非感叹号!之后的字符。
-
-
命令执行顺序
-
使用 && 一般形式为:命令1 && 命令2
-
使用 | | 一般形式为:命令1 || 命令2
-
用()和{ }将命令结合在一起
-
既可以在当前shell 也可以在子shell中执行一组命令。为了在当前shell中执行一组命令,
-
可以用命令分隔符隔开每一个命令,并把所有的命令用圆括号()括起来。
-
它的一般形式为:(命令1;命令2;. . .)
-
如果使用{ }来代替(),那么相应的命令将在子 shell而不是当前shell中作为一个整体被执行,只有在{ }中所有命令的输出作为一个整体被重定向时,其中的命令才被放到子shell中执行,否则在当前shell执行。它的一般形式为:{命令1;命令2;. . . }
-
-
-
文本过滤--正则表达式
-
^ 只匹配行首
-
$ 只匹配行尾
-
* 一个单字符后紧跟*,匹配0个或多个此单字符
-
[ ] 匹配[ ]内字符。可以是一个单字符,也可以是字符序列。可以使用 -表示[ ]内字符序列范围,如用[ 1 - 5 ]代替[ 1 2 3 4 5 ]
-
\ 用来屏蔽一个元字符的特殊含义。因为有时在 s h e l l中一些元字符有特殊含义。\可以使其失去应有意义
-
. 匹配任意单字符
-
pattern \ { n \ } 用来匹配前面p a t t e r n出现次数。n为次数
-
pattern \ { n,\ } m 含义同上,但次数最少为n
-
pattern\ { n,m \ } 含义同上,但p a t t e r n出现次数在n与m之间
-
-
grep
-
用于文本查找 以及 命令执行结果过滤(个人使用上觉得)
-
grep一般格式为:grep [选项] 基本正则表达式 [文件] 这里基本正则表达式可为字符串
-
双引号引用,一是以防被误解为 shell命令,二是可以用来查找多个单词组成的字符串
-
grep选项 常用的grep选项有:
-
-c 只输出匹配行的计数。
-
-i 不区分大小写(只适用于单字符)。
-
-h 查询多文件时不显示文件名。
-
-l 查询多文件时只输出包含匹配字符的文件名。
-
-n 显示匹配行及行号。
-
-s 不显示不存在或无匹配文本的错误信息。
-
-v 显示不包含匹配文本的所有行
-
-
常用的grep选项例子:
-
查询多个文件 grep "sort"*.doc
-
行匹配 grep -c "48"data.f
-
行数 grep -n "48"data.f
-
显示非匹配行 grep -v "48"data.f
-
精确匹配 grep "48<tab>"data.f
-
大小写敏感 grep -i "sept"data.f
-
-
grep和正则表达式
-
模式范围 grep "48[34]"data.f
-
不匹配行首 grep "^[^48]"data.f
-
设置大小写 grep "[Ss]ept"data.f
-
匹配任意字符 grep "K...D"data.f
-
日期查询 grep "[0-9]\{3\}[8]"data.f
-
范围组合 grep "[0-9][0-5][0-6]"data.f
-
模式出现机率 grep "4\{2,/}" data.f
-
使用grep匹配“与”或者“或”模式 grep -E "219|216" data.f
-
空行 grep "^$" myfile
-
匹配特殊字符 grep "\." myfile
-
查询格式化文件名 grep "[^a-z]\{1,6/}\.[^A-Z]\{1,2/}" myfile
-
查询IP地址 grep “[0-9]\{3\}\.[0-0\{3\}\.]” ipfile
-
使用ps命令 ps ax | grep "named"
-
-
-
systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。
-
启动一个服务:systemctl start firewalld.service
-
关闭一个服务:systemctl stop firewalld.service
-
重启一个服务:systemctl restart firewalld.service
-
显示一个服务的状态:systemctl status firewalld.service
-
在开机时启用一个服务:systemctl enable firewalld.service
-
在开机时禁用一个服务:systemctl disable firewalld.service
-
查看服务是否开机启动:systemctl is-enabled firewalld.service
-
查看已启动的服务列表:systemctl list-unit-files|grep enabled
-
查看启动失败的服务列表:systemctl --failed
-
-
配置firewalld-cmd
-
查看版本: firewall-cmd --version
-
查看帮助: firewall-cmd --help
-
显示状态: firewall-cmd --state
-
查看所有打开的端口: firewall-cmd --zone=public --list-ports
-
更新防火墙规则: firewall-cmd --reload
-
查看区域信息: firewall-cmd --get-active-zones
-
查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
-
拒绝所有包:firewall-cmd --panic-on
-
取消拒绝状态: firewall-cmd --panic-off
-
查看是否拒绝: firewall-cmd --query-panic
-
-
配置端口
-
添加:firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
-
-
重新载入:firewall-cmd --reload
-
查看:firewall-cmd --zone= public --query-port=80/tcp
-
删除:firewall-cmd --zone= public --remove-port=80/tcp --permanent