Linux运维知识点

批量创建文件:touch student{1..1000}
>    表示覆盖原来的文件进行添加
>>   在原来的文件内容上走最后面进行内容的追加

xargs -n 2 <  sjf.txt (将文件的内容以两个进行分组,两两作为一行的输出)

tr " " "\n" < sjf.txt   将文件中的空格用换行进行输出


echo 123 1>a.txt 2>b.txt
如果是正常的没错误那么123将放入a.txt里面,如果出现错误错误将会出现在b.txt里面


seq 100 >> ett.txt  seq表示序列  生成1100数字放入ett.txt

# 打印20到30行的数据
sed 流编辑器
sed -n "20,30"p ett.txt   -n的作用是取消默认输出 不加-n打印全部 p打印
awk "NR>19 && NR<31" ett.txt  

grep过滤
grep print sjf.txt 过滤文件中含有print的内容
grep -v print sjf.txt 加上-v就可以过滤print之外的内容

grep 20 -A 10 ett.txt  打印当前行之后的10行
grep 20 -C 5 ett.txt   打印当前行的前后各五行
grep 30 -B 10 ett.txt  打印当前行的前10
sed的使用
sed "s#(需要替换的内容)#(替换后的内容)#g" old.txt

[root@localhost data]# echo 'oldboy oldgirl' >>old.txt
[root@localhost data]# cat old.txt 
oldboy oldgirl
[root@localhost data]# sed "s#oldgirl#print#g" old.txt 
oldboy print
[root@localhost data]# cat old.txt 
oldboy oldgirl

上面只是输出改了 加上 -i才可以改内容
[root@localhost data]# sed -i "s#oldgirl#print#g" old.txt 
[root@localhost data]# cat old.txt 
oldboy print

替换data文件夹下面的.sh里面的oldboy为print
[root@localhost data]# find /data -type f -name "*.sh" | xargs sed -i "s#oldboy#print#g"
[root@localhost data]# find /data -type f -name "*.sh"|xargs cat


mkdir -pv test/{1..3}/{4..6} -pv查看创建的过程




Ctrl + a 移动光标到行开头
Ctrl + e 移动光标到行结尾
Ctrl + u 剪切光标前面的内容
Ctrl + k 剪切光标后面的内容
ssh连接不上的原因
1.服务端防火墙阻挡
/etc/init.d/iptables stop (临时关闭开机自启)
/etc/init.d/iptables status(查看防火墙状态)
永久关闭防火墙: chkconfig iptables off(开机不启动)


2.端口没开放,服务器没有监听你连接的端口
netstat -lntup|grep 22 
netstat -lntup|grep sshd
/etc/init.d/sshd restart


很多服务的启动都在、etc/init.d 下面

网卡的配置命令: cat /etc/sysconfig/network-scripts/ifcfg-eth0
UUID网卡的唯一标识

route -n 查看网关
cat /etc/resolv.conf   查看DNS
/etc/init.d/network restsrt 重启所有网卡



更改主机名:
hostname sjf(主机名)   临时改动

长期修改:
cat /etc/sysconfig/network
sed -i "s#HOSTNAME=old#HOSTNAME=sjf#g" /etc/sysconfig/network


/etc/fstab:实现开机要挂载的文件系统的一个文件
/etc/rc.local 用于存放开机自启动程序命令的文件
chkconfig --list  查看所有运行级别对应的服务
chkconfig --list|grep "3:on"  查看3级别的服务   on表示自动启动

chkconfig sshd off 默认情况下关闭2 3 4 5 级别
清除日志脚本
#/bin/bash
#清除日志脚本,版本2

LOG_DIR = /var/log
ROOT_UID = 0      # $UID为0的时候,用户才具有root用户的权限

# 要使用root用户来运行
if ["$UID" -ne "$ROOT_UID"]
then
	echo "Must be root to run this script."
	exit 1
	
fi 
cd $LOG_DIR || {
	echo "Cannot change to necessary directory." > &2
	exit 1

}
cat /dev/null > messages && echo "Logs cleaned up."
exit 0

# 退出之前返回0表示成功,返回1表示失败
man test
-n 字符串的长度不为0
-z 字符串的长度为0
string1 = string2 判断字符串的长度是否相等

[root@localhost data]# [ -n "abc" ]&& echo 1||echo 0
1
[root@localhost data]# [ -n " " ]&& echo 1||echo 0
1
[root@localhost data]# [ -n "" ]&& echo 1||echo 0
0
[root@localhost data]# [ -z "" ]&& echo 1||echo 0
1
[root@localhost data]# [ -z "fsdf" ]&& echo 1||echo 0
0
编写shell脚本 vi menu.sh
执行脚本 sh menu.sh


menu(){ 
cat << END 
    1.[install lamp] 
    2.[install lnmp] 
    3.[exit] 
    pls input the num you want:

END
}
menu
read num

[ "$num" = "1" ]&&{
   echo "start installing lamp."
   [ -x server/scripts/lamp.sh ]|| exit 2
   /bin/sh/server/scripts/lamp.sh
   exit 0
}
[ "$num" = "2" ]&&{
   echo "start installing lnmp."
   [ -x server/scripts/lnmp.sh ]|| exit 2
   /bin/sh/server/scripts/lnmp.sh
   exit 0
}
[ "$num" = "3" ]&&{
   echo "byebye"
   exit 0
}

echo "Input Error"
exit 1
运算符说明举例单词
-eq等于[ a -eq b ] 返回 falseequal
-ne不等于[ a -ne b ] 返回 truenot equal
-gt大于[ a -gt b ] 返回 falsegreater than
-lt小于[ a -lt b ] 返回 trueless than
-ge大于等于[ a -ge b ] 返回 falsegreater equal
-le小于等于[ a -le b ] 返回 trueless equal
bc命令可以用于整数也可以用于小数计算
[root@local data]# i=2
[root@local data]# t=`echo $i+1|bc`
[root@local data]# echo $t
3

[root@local data]# echo "5.5 5.6" |awk '{print ($2-$1)}'
0.1

[root@local data]# echo `seq -s '+' 10` = `seq -s "+" 10|bc`
1+2+3+4+5+6+7+8+9+10 = 55


S[]的基本用法
[root@local data]# i=1
[root@local data]# i=$[$i+3]
[root@local data]# echo $i
4
[root@local data]# i=$[i+3]
[root@local data]# echo $i
7


shell数值运算的方法
expr  (())  let  bc  $[]  awk  typest
read [参数] [变量名]
read 有两个参数
-p  prompt  设置提示信息
-t  timeout 设置等待时间(超过时间自动退出)


[root@local data]# read -p "pls num" num
pls num33333
[root@local data]# read -p "pls num:" num
pls num:3333
[root@local data]# read -t 2 -p "pls num:" num
pls num:[root@local data]# 
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值