1. 命令操作练习
1.1. cd pwd
案例:进入到 /etc/sysconfig/network-scripts/目录然后显示当前所在目录.
案例:假设在 /etc/sysconfig/network-scripts/下面 然后你进入了 /tmp/目录,请问如何快速回到/etc/sysconfig/network-scripts目录下面
案例01-指哪打哪进入到/etc/目录⭐⭐
案例02-回到当前用户家目录⭐
案例03-我们目前在一个比较深的目录中,我们想进入到当前目录的上级目录.⭐⭐
案例04:两个路径之间来回切换
1.2. mkdir
案例:创建/backup/20210308 目录,然后把/oldboy-83或者/oldboy-83-lnb 复制到
案例05创建/oldboy目录⭐
案例06-创建多级目录/oldboy/lidao/996/007/icu/⭐⭐
案例07-现在老大要求创建2个目录1个存放工具/app/tools/,一个存放代码/app/code/,如何实现
案例:创建/oldboy/0310/目录,然后在目录中创建,lidao.txt,oldboy.txt,oldgirl.txt,3个文件.
案例:创建/oldboy/backup/目录把,上面3个文件复制到/oldboy/backup中.
案例;把/etc/sysconfig/, /etc/sysctl.conf 复制到/oldboy/0310中
1.3. touch
案例08-在/oldboy/目录下创建oldboy.txt⭐⭐
案例09-在/oldboy/目录下创建lidao.txt和icu.886,2个文件⭐⭐
案例10-在/oldboy下面创建多个文件996.icu 996.txt 007.txt lidao.avi lidao.4k lidao.hd⭐⭐
1.4. ls
#案例11 ls核心功能: 查看 /etc目录下面的内容并且显示详细信息 *****
#案例12 查看/etc目录按照时间排序逆序排序(一个目录中文件太多了,找出最近的文件) *****
#案例13 创建/oldboy/.bingdu ,查看/oldboy目录下面的内容包含隐藏文件
案例14 显示/etc/目录内容文件大小以人类可读形式显示 *
案例1查看/etc/services文件大小
1.5. mv
案例:修改/oldboy-83目录名字为/oldboy-83-lnb
案例15-移动/oldboy/oldboy.txt 到/tmp下面⭐
案例16-对/oldboy/lidao.txt重命名,改为lidao996.txt ⭐⭐
1.6. cp
案例:
当你入职公司的时候你的老大给你创建一个用户叫oldboy-admin,请问这个用户家目录(绝对路径)是什么?
案例:返回当前用户家目录,复制/etc/hosts 到当前用户家目录下面.
cd cp -r /etc/hosts . (.)
案例:复制 lidao.txt 到/oldboy-83/并改名oldboy.txt
案例:备份目录/oldboy-83 到 /backup下 并改名叫 oldboy-83-backup
案例:复制网卡配置文件到/oldboy-83/目录下.
案例17复制/etc/hostname 到/oldboy/下面⭐
案例18复制/etc/目录到/oldboy/下面⭐
案例19复制的时候保持属性(时间)不变⭐⭐
案例20把/etc/目录备份到/backup/下面,假设恢复网卡配置文件
1.7. rm
案例21删除/oldboy/oldboy.txt文件⭐
案例22删除/oldboy/目录⭐⭐
案例23:替代rm,先把要删除的内容通过mv移动到/tmp/中,过一段时间确认后,在进行删除.
1.8. echo
案例:在/oldboy/目录下创建test.txt文件,内容为:Hello,oldboy linux! 用一个命令写出来
案例24-写入信息oldboyedu.com到/tmp/oldboy.txt中
案例25-追加写入内容lidaoav.com到/tmp/oldboy.txt
1.9. cat
案例26 显示/etc/passwd内容并显示行号
案例:cat >文件<《形式用于向文件中写入多行内容
1.10. ip a
查询IP地址
1.11. ping
案例:检查到223.5.5.5ip的连通性
检查连通性,你所在环境到目标是否通畅
1.12. telnet
案例:检查www.baidu.com的80端口是否开启t
检查服务器的端口是否可以连接.
1.13. nmtui
修改网卡信息
案例:在根下创建目录oldboy-83,然后在oldboy-83下面创建 lidao.txt,然后追加 oldboy83 linux 到lidao.txt中,然后显示lidao.txt文件内容.
mkdir /oldboy-83 touch /oldboy-83/lidao.txt echo oldboy83 linux >> /oldboy-83/lidao.txt cat /oldboy-83/lidao.txt
1.14. {}
创建10个文件 oldboy01.txt .. oldboy10.txt
创建10个目录 oldboydir01 oldboydir10
1.15. vim/vi
基本操作:打开文件:vim /oldboy/oldboy.txt 文件
进入编辑模式: i
修改内容
退出编辑模式: esc
保存并退出 :wq (write quit)
查看文件内容 cat
案例02:先把网卡配置文件复制到/oldboy/然后通过
vim修改ip地址
案例:用vi命令编辑lidao.txt,如何在光标下一行插入,如何复制5行内容,删除10行内容,查找oldboylidao的字符,把oldboylidao替换为oldboyedu.com
案例:vim操作,将第9行至第15行的数据,复制到第16行
案例:vi中编辑区域的内容如何多个已打开文件之间进行切换
案例:在 liunx系统中,如何在文本里进行删除全部,按行查找
1.16. mv
案例:创建/backup/把/oldboy/0310下面所有内容,移动到/backup中.
1.17. head
案例01-显示/etc/services前20行.
1.18. tail
案例02-显示/etc/services文件最后20行
案例03-显示/var/log/secure文件结尾的实时更新(方便查看日志)
1.19. less
1.20. more
1.21. grep
案例04-过滤出/etc/passwd中包含root的行
案例05-过滤出/var/log/secure文件中包含failed的行
(不区分大小写)
过滤出并显示行号
在/etc/ssh/sshd_config中过滤包含port的行并显示行号.
在/etc/ssh/sshd_config中过滤包含permitrootlogin的行并显示行号.
案例06-排除/etc/passwd中包含/bin/bash的行
案例01: 在/var/log/secure过滤出包含Failed password的行
如果没有使用ssh root@10.0.0.200 #10.0.0.200是虚拟机ip.
连接与故意输错密码,就可以生成,Failed password
案例02:接着上面的案例,过滤的时候不区分大小写
大写的内容或小写的内容都过滤出来.
案例03:在网卡配置文件中过滤出ipaddr的行并且显示行号
1.22. wc
案例07-统计/etc/passwd行数
案例04:统计/etc/services文件一共有多少行
1.23. |
案例05:统计/var/log/secure文件中Failed password出现的次数
案例06:统计/etc/目录下第1层一共有多少文件和目录.
案例07:在/etc/passwd文件中统计包含/bin/bash的行数
案例08-ps -ef命令可以显示出系统所有的进程,统计进程数量
案例09-ps -ef可以显示出所有进程,统计进程叫sshd的进程的数量.
1.24. 红帽配置yum源 openssh服务配置 关闭防火墙
命令 yum install -y sshd :vim /etc/ssh/sshd_config 重启 ifdown ens33 ; ifup ens33 关闭防火墙 systemctl disable –now firewalld
1.25. Ubuntu配置apt源 openssh服务配置 关闭防火墙
命令 apt install -y sshd : cat /etc/netplan/00-installerconfig.yaml 重启 systemctl restart sshd systemctl restart network
关闭防火墙 systemctl disable –now ufw
1.26. sort
案例08: 通过seq 20 >num.txt创建文件num.txt,文件包含10行,通过sort命令对 文件进行排序.
案例09: 对于多列数据,根据某一列数据进行排序
案例10:对ls -l /etc/命令的结果的第5列进行排序
案例11:新增需求,对案例10的结果取出最大的前5个
案例12: 熟悉对/etc/passwd第3列数字进行排序
案例:对ls -l /var/log/的第5列进行逆序排序并取出前5个
案例:对du -s /*
命令结果的第1列进行逆序排序并取出前5个(思考下这个命令在做啥?)
案例:df是查看系统磁盘分区使用情况的命令请对磁盘空间使用率这列进行逆序排序取出前2个.
案例:排序的题目 以.为分隔符按照第3列,然后第4列进行从小到大排序.
cat >/oldboy/ip.txt<<EOF
192.168.3.1 00:0F:AF:81:19:1F
192.168.3.2 00:0F:AF:85:6C:25
192.168.3.3 00:0F:AF:85:70:42
192.168.2.20 00:0F:AF:85:55:DE
192.168.2.21 00:0F:AF:85:6C:09
192.168.2.22 00:0F:AF:85:5C:41
192.168.0.151 00:0F:AF:85:6C:F6
192.168.0.152 00:0F:AF:83:1F:65
192.168.0.153 00:0F:AF:85:70:03
192.168.1.10 00:30:15:A2:3B:B6
192.168.1.11 00:30:15:A3:23:B7
192.168.1.12 00:30:15:A2:3A:A1
192.168.1.1 00:0F:AF:81:19:1F
192.168.2.2 00:0F:AF:85:6C:25
192.168.3.3 00:0F:AF:85:70:42
192.168.2.20 00:0F:AF:85:55:DE
192.168.1.21 00:0F:AF:85:6C:09
192.168.2.22 00:0F:AF:85:5C:41
192.168.0.151 00:0F:AF:85:6C:F6
192.168.1.152 00:0F:AF:83:1F:65
192.168.0.153 00:0F:AF:85:70:03
192.168.3.10 00:30:15:A2:3B:B6
192.168.1.11 00:30:15:A3:23:B7
192.168.3.12 00:30:15:A2:3A:A1
EOF
1.27. uniq uniq相邻的行,行如果是一样的uniq才会进行合并.
案例13: 对文件/oldboy/uniq.txt内容进行去重并统计次数操作.
cat >/oldboy/uniq.txt<<EOF
lidao
lidao
lidao
lidao
lidao
lidao
oldboy
oldboy
lidao
oldboy
oldboy
oldboy
oldwang
oldwang
oldboy
oldwang
EOF
案例14:对文件/oldboy/sort-uniq.txt内容进行去重并统计次数操作
案例:ps aux中第三列是cpu使用率,对第三列排序,取出前十
last命令用于显示所用用户最近1次登录情况,awk可以取出某一列,现在要取出last命令第1列并去重统计次数
1.28. awk
案例01:取出ls -l /etc/第1列
案例02:取出ls -l /etc/ 第1列,第3列,最后一列
案例03:取出倒数第5列
案例04:过滤出secure-2016的failed password的行,
仅提取ip的列
1.29. 终极日志分析
案例09和案例10使用secure-2016
案例09: 日志分析案例:分析哪些ip正在破解我们的系 统.(暴力破解)
步骤:(文件流水线)
过滤出错误提示failed password(grep命令) (centos,debian,ubt) 麒麟
(failure)
取列(awk) sort对awk取出列进行排序下(规整,相同的ip就可以是相邻的行)
去重统计次数(uniq -c)
对统计的次数进行排序(逆序排序 sort -rnk1)
取出次数最多的前5个(head -5)
案例10: 日志分析案例:系统是否有异常登录(ip)
步骤:(文件流水线)
过滤出错误提示accepted password(grep命令) session opened/closed
取列(awk) sort对awk取出列进行排序下(规整,相同的ip就可以是相邻的行)
去重统计次数(uniq -c)
对统计的次数进行排序(逆序排序 sort -rnk1)
取出次数最多的前5个(head -5)
案例11: access.log日志网站服务nginx的日志,分析
ip地址去重并统计次数取前15个
取列(awk) sort对awk取出列进行排序下(规整,相同的ip就可以是相邻的行)
去重统计次数(uniq -c)
对统计的次数进行排序(逆序排序 sort -rnk1)
取出次数最多的前5个(head -5)
日志分析分析每个用户被破解的次数