10.6.2 Shell基础-环境变量配置文件-作用
/etc 下的环境变量对所有用户都生效
最后一个是未登陆(输入密码)直接切换bash shell定义文件
10.6.3 Shell基础-环境变量配置文件-其他配置文件和登录信息
注销时生效: ~/.bash_logoout
历史命令: ~/.bash_history
shell登陆提示信息
1. /etc/issue (只对本地用户生效,远程不生效)
2. /etc/issue.net 远程登陆
开启方法:
/etc/ssh/sshd_config ---》 找Banner 改为 Banner /etc/issue.net ----》重启sshd服务
3.都可以看到的信息 /etc/motd
11.1 Shell编程-正则表达式
通配符:针对文件名(不认识通配符)完全匹配
正则表达式:针对文件中的字符串 包含匹配
a* 任意字符
aa* 一个a
aaa* 2个连续的a
. 相当通配符的?
.* 相当通配符的*
^$ 空白行
11.2.1 Shell编程-字符截取命令-cut命令
提取列(段),配合grep使用
cut -d ":" -f 1,2 /etc/passwd
-d 指定分界符,默认是TAB制表符
-f 指定第几列
缺点:对空格分隔提取不好
11.2.2 Shell编程-字符截取命令-printf命令
printf '输出类型输出格式' 输出内容 (可以输出行列)
%ns 输出字符串 N为个数,不带n为1个 一个字符串可以单一字母也可以是长串字母
%ni 输出整数
%m.nf 输出浮点数 %8.2f 带表2位小数,6位整数
输出格式包括
printf '%s %s\n' 1 2 3 4 5 6
1 2
3 4
5 6
2个字符空格再换行
printf '%s' $(cat aa.txt)
只能输出 自定义或者命令输出给变量,不能直接输出文件
11.2.3 Shell编程-字符截取命令-awk命令
awk '条件{动作1}...' 文件名 可以识别df -h 里的空格
说明:可以直接处理文件,类似已经用过cat
条件: x>=10
动作:格式化输出printf 或流程控制
例:成绩表
awk '{printf $2 "\t" $6"\n" }' 文件名
说明: 输出 第2列 制表符 第6列 换行
print比printf 最后多了个换行,省去了后者要输入"\n"
df -h | grep sda1 | awk '{print $5}' | cut -d "%" -f 1
截取 12% 中的 12
BEGIN:
awf 'BEGIN{print "this is test} {print $2 "\t" s6}' 成绩.txt
输出成绩前先输出“this is test“
END: 所有数据执行完后执行END里面的命令
FS内置变量(分隔符)
awk默认分隔符是空格或者制表符,用{FS=":"}这个可以指定分隔符
11.2.4 Shell编程-字符截取命令-sed命令
sed 有别于vim,用以支持命令输出结果的删除,替换(支持管道符) (类似数据库操作里的字段处理)
sed [选项]'[动作] 文件名
-n 只输出sed命令处理过的结果
-e 允许执行多条sed命令
-i 结果保存到文件里
sed '2p' /etc/passwd
打印第2行,其它的内容也会重新打印一遍;加-n 只输出第2行
sed '2,10d' /etc/passwd
删除2-4行
sed '2a nihao' /etc/passwd
第二行后追加,写成2i 为第二行前插入
sed '2c no list' /etc/passwd
全行替换成no list
sed '3s/99/55/g' 成绩单
把第3行的99分换成55分
sed -e 's/99/55/g ; s/88/55/g' 成绩单
多次替换
11.3 Shell编程-字符处理命令
sort 选项 文件名 (排序)
-r 取反
sort -t ":" -k 3,3 -n /etc/passwd
按第3个段UID数值大小进行排序
wc /etc/passwd 统计命令
行 单词 字符个数
-l -w -m
11.4 Shell编程-条件判断
2种判断格式:
test -e /etc/passwd
[ -e /etc/passwd ]
查看echo $?
[ -r /etc/passwd ] && echo "yes" || echo "no"
服务分类:1. RPM包默认安装的服务 A.独立服务(常驻内存) B.基于xinetd服务(通过调用常驻内存的xinetd访问相关服务)
2.源码包安装的服务
RPM包自启动状态查看:chkconfig --list
12.2.1 Linux服务管理-RPM服务的管理-独立服务管理
RPM包安装位置: