liunx
cut
cut对字符串切割 echo $a | cut -c -n 输出0-n的字符串;
cut -d “.” -f2 输出以点号分割后面的字符,如果是 -f1则是分隔符前面的数
sed
sed -i ‘/x/d’ a.txt
删除a.txt有x的行。没有-i的话就是对输出内容的删除
awk
awk 选项’{动作}’
awk ‘{print $1\t $3}’输出用空格分割的文本,一列和3列
##for
for((i=1;i<=a;i++))
do
程序内容
done
while or until
while()/until
done
until直到超过接结束
case
case in
1|2|3) echo “aaaa”;;
北京|重庆) ;;
esac
在哪个条件里就输出后面的语句,用两个,冒号分割结尾
随机数
date 产生
date +%s%N 产生精确兆级时间点
date +%s可以直接加上自己的数字字母或者汉字
date +%(a,b,~z) 百分号后面接不同的字母输出内容不同
$RANDOM
echo $RANDOM 后面就能产生随机数了
多调节连接符
[ $a -eq 1 -a $b -eq 1 -a $c -eq 1 ]&&echo 1 || echo 2
2
==注意 -a 和 -o 的区别 ==
-a是同时满足,-o是有一满足就正确
[ $a -eq 1 -a $b -eq 1 -o $c -eq 5 ]&&echo 1 || echo 2
1
grep
多条件过滤
[root@root sh]#
满足之一筛选
grep -E
cat /etc/profile | grep -E ‘java|mysql’
JAVA_HOME=/usr/local/java/jdk-1.8.0
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:/usr/local/mysql/bin
全部满足
grep -a|grep -a |grep -a
[root@root sh]#
cat test.txt |grep 45|grep 45
17325871457
13326049945
13326054555
[root@root sh]# cat test.txt |grep 45|grep 32
13326054555
13326054598
[root@root sh]# cat test.txt |grep 45|grep 32|grep 9
13326049945
重定向
输出重定向
覆盖: >
追加 : >>
输入重定向
定向到文件
<
<<
[root@root sh]# cat <<EOF
alvin
lxlxllds
EOF
alvin
lxlxllds
使用开头和结束相等
[root@root sh]# cat <<a
sad
safsa
a
sad
safsa
ls -a 1>>a.txt 2>>b.txt
一般用法把0边表示标准输出,1表示正确输出,2表示错误语句
这句话就是命令正确追加到a.txt,错误追加到b.txt
服务管理
#服务分类
服务 | 安装位置 |
---|---|
RPM默认安装包 | 哪里合适安在哪,系统默认 |
源码包安装 | /usr/local/,不产生垃圾文件 |
导管 | $1 |
类型 | 磁盘 |
---|---|
独立服务 | 基于内存安装,消耗内存 |
xinetd | 不消耗内存,启动慢 |