#####定时任务
rpm -qa cronie
/etc/init.d/crond status chkconfig中管理
日志 /var/log/cron
定时任务中-命令或脚本结果(正确和错误)定向到黑洞(>/dev/null 2>&1)或追加到文件中
否则:1.若邮件的软件没有开启------大量小文件堆积在/var/spool/postfix/maildrop/中 ------inode满
2.若邮件开启了------定时任务会不断的给root用户发邮件
you have new mail in /var/spool/mail/root
关闭邮件服务:/etc/inti.d/postfix stop
文件夹中有大量小文件:1.ls |xargs rm 2.删除文件所在的目录(记录好权限和所有者)
找到含大量文件的文件夹:find -type d -size +1M
###让一个命令或脚本开机自启动
1./etc/rc.local
2.通过chkconfig中管理
如何让一个脚本被chkconfig管理
vim /etc/init.d/oldboy 在文件的第一行添加 #chkconfig: 2345 99 99
chmod +x /etc/init.d/oldboy(可能实际上不需要)
chkconfig --add oldboy (不用写路径,因为这种文件只能放在/etc/init.d下)
添加完成后,观察/etc/rc3.d/下的文件
chkconfig oldboy on时:出现S99oldboy->../init.d/oldboy 该99为脚本中第一个99,为开机启动顺序。
chkconfig oldboy off时:出现K99oldboy->../init.d/oldboy 该99为脚本中第二个99,为关闭时关闭顺序。
#手工删除软链接Kxxx后,建立软链接 ln -x Sxxxxx,发现服务从关闭变为开启。
############################################################################################################
#####用户管理
/sbin/nologin 虚拟用户专属 无法登陆
/etc/skel/下是建立用户时家目录默认会有的文件。
/etc/skel/.bash_logout ===用户退出会运行里面的命令。
#登陆时报错 -bash-4.1$时: 可能是家目录下的环境变量相关的隐藏文件 被删除了
#解决:从/etc/skel复制: cp /etc/skel/.bash* ~
###添加用户
useradd -u UID -g 组 -s shell (-M不创建家) 用户名
usermod 修改用户信息。参数和useradd一样。
###为用户添加密码
echo '123456'|passwd --stdin oldboy
history -c删除历史文件,否则别人可以从历史文件看到密码。
###为文件加“指纹”
md5sum oldboy.txt >police.log 生成秘钥并写入文件中。
md5sum -c police.log 检查oldboy.txt文件是否被改变。(可在crond中定时执行)
在网上下载东西的时候常常看见md5sum.txt的文件,就是网站为了防止文件被别人篡改放出的,下载后可以自行比对。
###sudo
作业:
1.批量添加10个用户stu01..stu10,并设置8位随机密码(禁止使用for,while等循环)
2.安装htop,iotop,iftop,了解什么是yum源。
#####################################################################################################################
#####磁盘介绍
rpm = round per minute
5400 7200
扇区=512KB
磁头(head)
柱面大小=单元块的大小
总大小=柱面数*柱面大小=磁道数量(磁头数量)*磁道大小=扇区数量*扇区大小=512KB
1TB=1024GB=1024^2MB=1024^3KB=1024^4Byte=8bit
byte字节 bit位
#硬盘厂商实际是按1000算而不是1024
#awk算数 awk 'BEGIN{print 512*63*255*1305/1000^3}'
###磁盘分区
fdisk -l
fdisk /dev/sdx
partprobe /dev/sdx 通知系统/dev/sdx硬盘的磁盘分区表变化了。
mkfs.ext4 /dev/sdb1 格式化创建文件系统。
# tune2fs -c 0 -i 0 /dev/sdb1 关闭磁盘分区的自动检查
#永久挂载 1./etc/rc.local 2./etc/fstab
##parted(适用与大于2TB的磁盘,实时修改,慎用!)
parted /dev/sdb
p[rint] 显示磁盘分区表信息
mklabel 创建磁盘分区表 msdos(即mbr)或者gpt
mkpart 创建分区
rm 删除分区
q 退出(因为实时保存,所以不涉及到保存并退出)
mklabel gpt
mkparted primary 0 30
###增加swap
dd if=/dev/zero of=/tmp/100swap bs=10M count=10
mkswap /tmp/100swap file /tmp/100swap
swapon /tmp/100swap
swapon -s 查看swap组成
free -h
#swap永久生效
1./etc/rc.local swapon /tmp/100swap
2./etc/fstab /tmp/100swap swap swap default 0 0
#free -h看内存时 看-/+ buffers/cache那一行。 (linux特点:会将使用过的命令和数据临时存放在内存中 cache和buffer)
dumpe2fs 显示文件系统信息
resize2fs 调整ext2-4文件系统的大小
fsck 检查并修复Linux文件系统
-a
dd 复制或转换文件
od 查看二进制文件的内容
-xa od -xa /tmp/512.bin
swapoff 关闭交换分区
sync 刷新文件系统缓冲区
##########################################################################################################################
#################################################第二章###################################################################
#####三剑客之sed
p 打印模式空间内容
-n 取消默认输出 (!!!!!-n一定不要与-i一起用,会改变源文件)
###查询连续多行文本
#数字地址范围--推荐
2,4 显示第二行到第四行的内容,包含第二行和第四行。
#正则地址范围--模糊,容易找多。
sed -n '/oldboy/,/^104/p' person.txt
###过滤多个字符串
-r 让sed支持扩展正则表达式 (|、())
sed -rn '/oldboy|yy/p' person.txt
#sed里面的正则字符左右必须有“/".如 /oldboy/
sed通过正则表达式过滤 = egrep
###查询指定多行
sed '2p;4p;10p;30p' person.txt
###增加单行文本
#a 追加append 在指定行后添加一行或多行文本
#i 插入insert 在指定行前添加一行或多行文本
sed '2a 106,xiaoyu,CXO' person.txt
sed '2i 106,xiaoyu,CXO' person.txt
###增加多行文本
\n 表示换行符
106,xiaoyu,CXO\n107\n108\n109
sed '2a 106,xiaoyu,CXO\n107\n108\n109' person.txt
###删除文件内容
d 删除文件内容
$ 代表文件的最后一行
sed '2,$d' person.txt 删除第二行到最后一行
企业案例:不显示文件中的空行
sed '/^$/d' person.txt
sed -n '/^$/!p' person.txt
awk '!/^$/' person.txt
!sed在命令字符前,awk在条件前。
###文本替换
\ 特殊符号用反斜线取消特殊含义
s 单独使用替换第一个匹配的内容
g 全局替换
-i 修改文件
-i.bak 自动备份文件
###变量替换
'' 原样输出
"" 特殊符号会被解析
###反向引用
\1~\9 最多引用9个。
sed -r '()'
企业案例:系统开机启动项优化。
除了5个服务以外都关闭 crond sshd network sysstat rsyslog
###总结:
sed -n -r -i p/a/i/d/s###g
##########################################################################################################################
#####三剑客之awk
awk -F ":" 'NR==2{print $1,$2}' /etc/passwd
awk 参数 '条件{干啥}' 文件
模式匹配:模式与动作
通过正则表达式作为模式
mkdir -p /server/files/
cat >>/server/files/reg.txt<<EOF
Zhang Dandan 41117397 :250:100:175
Zhang Xiaoyu 390320151 :155:90:201
Meng Feixue 80042789 :250:60:50
Wu Waiwai 70271111 :250:80:75
Liu Bingbing 41117483 :250:100:175
Wang Xiaoai 3515064655 :50:95:135
Zi Gege 1986787350 :250:168:200
Li Youjiu 918391635 :175:75:300
Lao Nanhai 918391635 :250:100:175
EOF
awk '$3~/[15]$/{print $1,$2}' reg.txt 第三列最后一位是1或者5的人的全名。
###替换
gsub(//,"",$n)
awk '$2~/Xiaoyu/{gsub(/:/,"$");print}' reg.txt
#BEGIN{}
里面的内容会在awk读取文件前执行
###END{}
里面的内容,会在awk读取完文件的最后一行后执行!(常用)
###i=i+1统计
awk '/^$/{i=i+1}END{ print i} ' /etc/services
i=i+1 == i++
#awk数组-统计与计算
企业面试问题:(百度和sohu面试题)
处理以下文件内容,将域名取出并根据域名进行计数排序处理:(百度和sohu面试题)
http://www.etiantian.org/index.html
http://www.etiantian.org/1.html
http://post.etiantian.org/index.html
http://mp3.etiantian.org/index.html
http://www.etiantian.org/3.html
http://post.etiantian.org/2.html
文件 url.txt
awk -F '[./]+' '{h[$2]++}END{for(pol in h)print pol,h[pol]}' url.txt
###总结:
i=i+1 == i++
i=i+$n == i+=$n
awk 通过正则作为模式
BEGIN、END
作业:通过awk同时分析出secure文件中每个用户被每个ip破解的次数
##########################################################################################################################
#####shell编程
格式:
#!/bin/bash
#desc:
#author:
#time:
#version:
$1: 第一个参数
$2: 第二个参数
$n: 第n个参数
$#: 参数的个数
$?: 显示上一个命令的执行结果 0正确 1错误
###read
read -p "intput x,y" x y
###条件表达式
[ -d /oldboy ]
[ -f /oldboy/oldboy.txt ]
[ 10 -gt 9 ] great than >
[ 10 -ge 9 ] great equal >=
[ 10 -eq 10 ] equal ==
[ 10 -ne 9 ] not equal !=
[ 9 -lt 90 ] less than <
[ 9 -le 90 ] less equal <=
[ -d /oldboy ] == test -d /oldboy
man test
###if判断
if [ $1 -gt $2 ];then
echo $1 bigger than $2
else
echo $1 not bigger than $2
fi
如果 [ $1 -gt $2 ];然后
echo $1 bigger than $2
那么
echo $1 not bigger than $2
果如
if [ $num1 -gt $num2 ];then
echo $num1 greater than $num2
elif [ $num1 -lt $num2 ];then
echo $num1 less than $num2
else
echo $num1 equal $num2
fi
###for循环
for 变量名 in 列表
do
命令
done
for num in 1 2 3 4 5 6 7
do
echo "the $num number is :$num"
done
for num in {01..10}
do
echo "the $num number is :$num"
done
企业案例:
优化linux开机启动项目,只保留crond;sshd;network;rsyslog;sysstat,其他的都关闭
chkconfig |egrep "crond|sshd|rsyslog|network|sysstat" -v|awk '{print $1}' 取出列表
for name in chkconfig |egrep "crond|sshd|rsyslog|network|sysstat" -v|awk '{print $1}'
do
#echo chkconfig $name off
chkconfig $name off
done
###linux运行脚本调试技巧
sh -x
########################################################################################################################
#####网络基础课程
应用层
表示层
会话层
-------
传输层
网络层
数据链路层
物理层
相关推荐
Java基础每日复习笔记-JavaSE高级阶段.2020-10-13-211312.edf
Java基础每日复习笔记-JavaSE高级阶段.edf
概率论与数理统计-手写笔记-期末考试复习概率论与数理统计-手写笔记-期末考试复习概率论与数理统计-手写笔记-期末考试复习概率论与数理统计-手写笔记-期末考试复习概率论与数理统计-手写笔记-期末考试复习概率论与...
2022年-软考-网络工程师-复习笔记-网络安全-上半年-学习笔记-考点-真题讲解-重点归纳
Java基础每日复习笔记-JavaSE基础阶段.edf
通信电子电路(高频-模电PLUS)-手写笔记-期末考试复习通信电子电路(高频-模电PLUS)-手写笔记-期末考试复习通信电子电路(高频-模电PLUS)-手写笔记-期末考试复习通信电子电路(高频-模电PLUS)-手写笔记-期末考试...
改进课堂复习方式,促进学生深度学习--以几何章节复习课教学设计为例.pdf
软考中级 - 软件设计师 - 专题复习笔记3软考中级 - 软件设计师 - 专题复习笔记3软考中级 - 软件设计师 - 专题复习笔记3软考中级 - 软件设计师 - 专题复习笔记3软考中级 - 软件设计师 - 专题复习笔记3软考中级 - 软件...
Linux课程学习笔记 -韩顺平 包含c/c++/python/java 专项 面试题 PDF PPT 笔记 面试题 (百度网盘链接 永久有效) 自学,做笔记,复习可用
这个压缩包文件“大学生C语言学习必备---期末复习利器(不挂科)”显然是为了帮助学生准备C语言的期末考试,提供了丰富的学习资源。 首先,"典型试题"部分可能包含了历年来的考试真题和模拟试题,这对于考生了解考试...
本笔记整理了计算机应用技术第二章计算机软件系统概述的知识点,涵盖了计算机软件系统的基本概念、BIOS的组成部分、操作系统的功能、编译过程、数据库管理系统、计算机网络操作系统等方面的知识,为学习和复习计算机...
Microsoft Word - 微机原理期末复习提纲(新版)-2018.docxMicrosoft Word - 微机原理期末复习提纲(新版)-2018.docxMicrosoft Word - 微机原理期末复习提纲(新版)-2018.docxMicrosoft Word - 微机原理期末复习提纲...