当前位置: 首页 > news >正文

【linux系统学习教程 Day02】网络安全之Linux系统学习教程,管道,文件内容统计,过滤排序,去重,目录介绍

1-4 管道

管道符号: | ,可以将前面指令的执行结果,作为后面指令的操作内容

## 比如过滤ip地址
ip addr | tail -4 | head -1

 解释一下就是先执行 ip addr ,得到的结果当做 tail -4 的输入,意思就是查看ip addr 结果的后四行内容。得到的整体结果,也就是查看ip addr 的后四行当做 head -1 的输入,接着得到后四行内容的第一样

如果不好理解的话可以一步步来

ip addr  结果是11行内容

ip addr | tail -4  意思就是ip addr结果当做tail -4 的输入,也就是查看ip addr 的最后四行

ip addr |tail -4 | head -1 把上面拿到的后四行当做head -1 的输入,也就是拿到四行内容的第一行 

假设有一个aini.txt文件,里面有5行,你想看第三行应该可以怎么实现呢?

1-5 文件内容过滤

1-5-1 统计

    wc  # 全称Word Count,计数

 ## 参数
    -l # 按行统计,不会单独使用,需要接在管道后面
     -c # 统计字节个数
     -m # 统计字符数量
     -w # 统计单词数量

    
    wc aini.txt  
    # 2 11 59  分别是 行数  单词数量  字节数


    例子1:
        [root@localhost ~]# cat aini.txt |wc -l
        18  # 共18行
    
    wc -c aini.txt # 统计文件中有多少个字节
# 统计指令执行结果有多少行
    例子:ip addr|wc -l
# 统计bin目录下有多少个命令文件
    例子:ls /bin |wc -l

例子1:wc aini.txt

分别是 行数  单词数量  字节数 

例子2:统计行数

不会单独使用,需要接在管道后面

例子3:  wc -c aini.txt

# 统计文件中有多少个字节

 例子4:统计指令执行结果有多少行

例子5:统计bin目录下有多少个命令文件 

1-5-2 生成数字序列

seq # 全称:sequence,序列的意思

例子1:  seq 5 12

产生一个5到12的序列

例子2:seq -w 5 12 

产生一个5到12等宽的序列,加-w参数

1-5-4 过滤字符串 grep

#按行过滤字符串,默认是模糊匹配,只要单词中含有某些内容就过滤出单词所在的每行数据
## 参数 -n 表示在结果中显示匹配的行的行号

例子1: grep '3' aini.txt 

将含有3这个字符的行过滤出来

例子2: #显示行号

grep '3' -n aini.txt

1-5-4 按列过滤

awk

#awk其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母。

 例子1: 取列

$1代表第一列,$2代表第二列,$NF代表最后一列,列是由空格分开的

# 注意,'{print $1}'这里必须是单引号

awk '{print $1}' dilnur.txt

awk '{print $2}' dilnur.txt 

例子2:以逗号,做分隔符 

awk -F ','  '{print $1}' dilnur.txt 

awk -F ','  '{print $NF}' dilnur.txt  

1-5-5 排序

sort 

# 默认排序,先数字后字母
# sort -n # 先字母(先小写字母后大写字母)后数字的排序方式,
# sort -n -r 反向排序

 cat sort.txt | sort -n

  cat sort.txt | sort -n -r 反向排序

1-5-6 统计去重

 uniq #全称:unique,唯一、去重的意思,但是它是将连续的去重,不会间隔去重,所以最好先排序再去重

先排序看一下内容

cat uniq.txt | sort -n 

cat test02.txt|sort -n|uniq 

cat test02.txt|sort -n|uniq -c

# -c显示重复次数 

1-5-6 Linux目录介绍 

/bin      #存放二进制的可执行文件,也就是命令,其实每个命令基本都是一个可执行代码文件,特别重要,不能删除!
 # window的命令文件都是exe结尾的,linux的命令文件是没有后缀名的,如果删除了某个命令文件,那么这个命令就不能用了
    
/boot     #开机启动需要的文件, 特别重要,不要动里面的文件。

/dev      #dev全称:Devices,硬件设备控制文件,特别重要,千万不要动!

/etc      #存放系统的各种配置文件,相当于windows的注册表,也就是超大的配置文件,特别重要,不能删除!
 # 比如改密码什么的,其实都是修改的etc下面的某个配置文件(shadow文件)中的配置,还有安装的各种软件配置文件,一般也是放到这个目录,也可以放到其他目录,但是一般都是放到这里。
    
/home     #所有普通用户的家目录就在这个home目录下,每个用户目录中都有自己的桌面等目录,windows都是放到了Users目录下
/root     #root用户的专属家目录,特别重要,不能删除!

/lib      #library 32位库,一般是so结尾的库文件,特别重要,不能删除!
 # so结尾的库文件,类似于windows下的系统的dll动态链接库文件。千万不要尝试删除,试试就逝世。如果有快照的话你可以试试。
    
/lib64    #library 64位库,一般是so结尾的库文件,特别重要,不能删除!

/media    #多媒体文件目录(音乐、视频、文档等),是一个不重要的目录,只是linux的作者希望用户能够按照对应目录来存放内容,这个目录普通用户是没有权限删除的,root用户可以删除它

/mnt      #全称:mount,挂载的意思,一般是用来挂载光盘,U盘,也就是插入U盘、关盘等,打开之后一般都是在这个mnt目录下,这个目录也是可以删除的

/opt      #部分软件安装存储目录,安装的某些软件的时候,如果默认安装,那么它可能会将自己的程序安装到这个目录下,如果你不用这个目录,那么也是可以删除的目录

/proc     #全称:process,是进程的意思,每个进程编号一个目录。通过ps -ef指令可以查看到进程编号, 特别重要,不能删除!

/sbin     #全称:super bin,是超级用户才能使用的命令 ,特别重要,不能删除! shutdown reboot
 # 比如普通用户是没有关机(shutdown)、重启(reboot)等危害比较大的指令,这些命令文件在sbin目录中
    
/srv      #之前用来存放软件源代码文件的,这个目录也没啥用。源代码-->编译-->打包-->软件包,软件包在windows下叫做可执行文件,linux下叫做命令文件。其实叫啥都行,明白它是啥即可。

/sys      #全称:system,是系统功能目录,特别重要,不能删除!

/tmp      #全称:temporary,临时的意思,用来存放临时文件的目录,这里面的文件如果长时间没用的话,会被系统自动清除。
 # windows下也有很多这样的临时目录,多数都是隐藏目录,比如C:\Users\用户名\AppData\Local\Temp,好多清理系统垃圾的软件,其实都是删除了一些临时文件。
    
/run      #运行,程序运行的时候产生的文件,多数也是临时文件,但是这里的文件不会被系统自动清除。

/usr      #用户级的目录,usr全称是UNIX software resource,主要存放的是一些软件程序以及这些程序所需要使用的库,当然也会保存一些程序需要的资源文件,特别重要,不能删除! usr目录下面的文件夹种类和/根目录下很像,比如都有bin目录,linux作者这样的设计是想告诉用户,系统的命令文件放到根目录的bin下,用户自己安装的某些软件的命令文件,放到/usr/bin下面。

/var      #全称是variable,用来存放一些经常变动的文件,比如日志文件、网页文件、缓存等,特别重要,不能删除!
 # 这个目录下我们安全人员一般只关注log日志目录。比如用户登录系统、什么时候登录的、登陆了几次等等,都会在log目录下产生日志记录,这个我们后期会做演示. 

最后分享一个自己做的很不错的网路安全笔记,内容详细介绍了许多知识

分享一个非常详细的网络安全笔记,是我学习网安过程中用心写的,可以点开以下链接获取:

超详细的网络安全学习笔记,共21W字https://m.tb.cn/h.gcRis7s?tk=eBqAWGxQ9I2

 

相关文章:

【linux系统学习教程 Day02】网络安全之Linux系统学习教程,管道,文件内容统计,过滤排序,去重,目录介绍

1-4 管道 管道符号: | ,可以将前面指令的执行结果,作为后面指令的操作内容。 ## 比如过滤ip地址 ip addr | tail -4 | head -1 解释一下就是先执行 ip addr ,得到的结果当做 tail -4 的输入,意思就是查看ip addr 结果的后四行内容…...

Spring Cloud LoadBalancer 4.1.2

LoadBalancer位于Spring Cloud Commons 模块 Spring Cloud 提供了自己的客户端负载均衡器抽象和实现。对于负载均衡机制,添加了 ReactiveLoadBalancer 接口,并为其提供了基于Round-Robin和Random的实现。为了让实例从反应式中进行选择,使用了…...

使用Xshell工具连接ubuntu-方便快捷

使用Xshell连接ubuntu 在命令行输入 “sudo apt-get install openssh-server”安装openssh-server 开启 ssh-server,在命令行输入 “service ssh start”,然后输入密码即可...

leetcode22 括号生成-组合型回溯

题目 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 输入:n 3 输出:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”] 解析 func generateParenthesis(n int) …...

mac定时任务、自启动任务

https://quail.ink/mynotes/p/mac-startup-configuration-detailed-explanation <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.d…...

重磅 | 国家标准《网络安全技术 零信任参考体系架构》正式发布

根据2024年4月25日国家市场监督管理总局、国家标准化管理委员会发布的中华人民共和国国家标准公告&#xff08;2024年第6号&#xff09;&#xff0c;其中易安联参编的国家标准GB/T 43696-2024《网络安全技术 零信任参考体系架构》正式发布&#xff0c;并于2024年11月1日正式施行…...

【C++】可变参数模板简单介绍

前言 可变参数模板是C11中的新特性&#xff0c;它能够让我们创建可以接收可变参数的函数模板和类模板&#xff0c;相比C98/03&#xff0c;类模版和函数模版中只能含固定数量的模版参数&#xff0c;可变模版参数是一个巨大的改进&#xff0c;通过系统系统推演数据的类型&#xf…...

RabbitMQ--死信队列

目录 一、死信队列介绍 1.死信 2.死信的来源 2.1 TTL 2.2 死信的来源 3.死信队列 4.死信队列的用途 二、死信队列的实现 1.导入依赖 pom.xml 2.application.properties 3.配置类 4.生产者 5.业务消费者&#xff08;正常消费者&#xff09; 6.死信队列消费者 一、…...

微信小程序毕业设计-基于Java后端的微信小程序源码150套(附源码+数据库+演示视频+LW)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f9e1;今天给大家分享150的微信小程序毕业设计&#xff0c;后台用Java开发&#xff0c;这些项目都经过精心挑选&#xff0c;涵盖了不同的实战主题和用例&#xff0c;可做毕业设…...

提前预知职业天赋!霍兰德职业兴趣测试API接口给你精准推荐

霍兰德职业倾向测验&#xff0c;它是美国著名职业指导专家J&#xff0e;霍兰德&#xff08;HOLLAND&#xff09;编制的&#xff0c;他的职业选择理论把职业分为六种不同类型&#xff0c;即现实型、研究型、艺术型、社会型、企业型、常规型。霍兰德认为&#xff0c;每个人都是这…...

js强大的运算符:??、??=

学习目标&#xff1a; js中强大的运算符 ?? 非空运算符 学习内容&#xff1a; ?? 非空运算符 注意&#xff1a;?? 运算符被称为非空运算符。如果第一个参数不是 null/undefined 将返回第一个参数&#xff0c;否则返回第二个参数 之前&#xff1a; 给变量设置默认值时…...

【MATLAB源码-第207期】基于matlab的单相光伏并网系统仿真,并网策略采用基于扰动观测法的MPPT模型和使用电压电流双闭环SPWM控制。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 本文将重点分析光伏发电最大功率点跟踪&#xff08;MPPT&#xff09;技术和逆变器的并网控制技术&#xff0c;并在Simulink环境下建立模拟系统&#xff0c;以体现这些技术的应用与效果。文章结构如下&#xff1a;首先简介光伏…...

java发送请求-二次开发-get请求json

这里有2个判断 如果param为空则对url发送请求 再继续判断有值时&#xff0c;接口参数时json还是namevalue格式 因为json是带{,所以可以先写为param包含{}, 反之就是请求格式是url&#xff1f;param 请求json要带参数&#xff0c;所以需要使用setEntity方法&#xff0c; 最…...

Typescript高级: 对泛型和多态的应用, 实现Java中的ArrayList和LinkedList

ArrayList 1 ) 概述 在Java中&#xff0c;ArrayList是一个非常常用且强大的数据结构&#xff0c;它提供了动态数组的功能能够方便地添加、删除和访问元素。在TypeScript中&#xff0c;虽然并没有内置的ArrayList类型但我们可以通过类与接口来模拟实现ArrayList的功能 2 &…...

正则表达式常用特殊字符(元字符)说明

正则表达式中包含多种特殊字符&#xff08;也称作元字符&#xff09;&#xff0c;它们具有特定的含义&#xff0c;用于构建复杂的匹配模式。以下是一些常用的特殊字符序列及其含义&#xff1a; \d - 匹配任何数字&#xff0c;等同于 [0-9]。\D - 匹配任何非数字字符&#xff0…...

使用hdc TCP模式无线方式连接OpenHarmony设备

本文将介绍如何使用hdc工具 tcp模式以无线的方式连接OpenHarmony设备。 1. usb连接方式切换为tcp模式。 将usb线将OpenHarmony设备和电脑端连接&#xff0c;并且将两个连接至同一个局域网。 # 执行 tmode port port-number&#xff0c;port-number设置为端口号。 hdc tmode …...

杂记-记一次前端打包问题解决过程

背景 若干年没更新发布的前端项目&#xff0c;突然来了个小需求&#xff0c;需求完成耗时5min&#xff0c;打包问题解决2小时 问题 error commander12.0.0: The engine “node” is incompatible with this module. Expected version “>18”. Got “10.22.1” 这个错误…...

维修ABB示教器主板DSQC679 3HAC 033624-001 /R机器人液晶显示屏深圳捷达工控维修

ABB 机器人示教器是工业环境中用于对机器人系统进行编程和控制的重要工具。这些手持设备允许操作员与机器人交互、输入命令并教它们特定的动作和任务。 每个 ABB 机器人示教器均专为用户友好型操作而设计&#xff0c;具有直观的界面和易于使用的人体工学设计。有多种型号可供选…...

原子学习笔记3——点亮 LED

一、应用层操控设备的两种方式 应用层如何操控底层硬件&#xff0c;同样也是通过文件 I/O 的方式来实现&#xff0c;设备文件便是各种硬件设备向应用层提供的一个接口&#xff0c;应用层通过对设备文件的 I/O 操作来操控硬件设备&#xff0c;譬如 LCD 显示屏、串口、按键、摄像…...

齐护K210系列教程(十八)_识别条码

识别条码 联系我们 将识别到的条形码内容打印输出并显示 测试条形码可以到如下网站得到&#xff1a;http://www.jsons.cn/barcode/ 4&#xff0c;课程资源 课程程序下载&#xff1a;【18条形码】 联系我们 扫码 或者点这里加群了解更多&#xff01; Created by qdprobot...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

大话软工笔记—需求分析概述

需求分析&#xff0c;就是要对需求调研收集到的资料信息逐个地进行拆分、研究&#xff0c;从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要&#xff0c;后续设计的依据主要来自于需求分析的成果&#xff0c;包括: 项目的目的…...

C++:std::is_convertible

C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)

2025年能源电力系统与流体力学国际会议&#xff08;EPSFD 2025&#xff09;将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会&#xff0c;EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

Rapidio门铃消息FIFO溢出机制

关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系&#xff0c;以下是深入解析&#xff1a; 门铃FIFO溢出的本质 在RapidIO系统中&#xff0c;门铃消息FIFO是硬件控制器内部的缓冲区&#xff0c;用于临时存储接收到的门铃消息&#xff08;Doorbell Message&#xff09;。…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)

船舶制造装配管理现状&#xff1a;装配工作依赖人工经验&#xff0c;装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书&#xff0c;但在实际执行中&#xff0c;工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)

推荐 github 项目:GeminiImageApp(图片生成方向&#xff0c;可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...