当前位置: 首页 > 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...

Phi-3-Mini-128K效果实测:128K长上下文代码分析与摘要生成

Phi-3-Mini-128K效果实测&#xff1a;128K长上下文代码分析与摘要生成 最近&#xff0c;一个名为Phi-3-Mini-128K的模型在开发者社区里引起了不小的讨论。大家关注的焦点&#xff0c;不是它有多大的参数量&#xff0c;而是它那个惊人的“128K”上下文长度。简单来说&#xff0…...

环保EPC工程企业如何选型工程项目管理系统

环保EPC工程&#xff08;设计-采购-施工一体化&#xff09;具有项目周期长、场景复杂、合规要求高、多参与方协同难度大等核心特点&#xff0c;涵盖烟气处理、水处理、环保设备安装等细分场景&#xff0c;其项目管理涉及设计、采购、施工、安全、环保合规、成本管控等多个环节&…...

免费会员源码网大盘点:从入门搭建到深度运营的全攻略

一、全球会员系统开源生态&#xff1a;技术架构与商业场景双驱动1. Bagisto Membership&#xff08;Laravel生态&#xff09;作为基于Laravel框架的会员管理解决方案&#xff0c;其核心优势在于&#xff1a;多商户支持&#xff1a;原生支持D2C、B2B2C等复杂商业模式&#xff0c…...

医生Agent实战教程(非常详细),别再瞎喂数据看这篇就够了!

如果把近两年的大模型发展比作“加速跑”&#xff0c;那么这篇论文的开场就像直接指出&#xff1a;跑道快到头了。作者认为&#xff0c;当前大语言模型的扩展规律正遭遇一个越来越现实的瓶颈: 高质量人类语料接近枯竭&#xff0c;模型继续“吃数据”变得困难&#xff0c;这被他…...

别再死记硬背了!用这5个n8n核心节点,搞定你80%的自动化需求

别再死记硬背了&#xff01;用这5个n8n核心节点&#xff0c;搞定你80%的自动化需求 每次打开n8n的节点库&#xff0c;就像走进一家琳琅满目的工具超市——HTTP、数据库、AI、邮件、表单...上百种节点让人既兴奋又迷茫。作为过来人&#xff0c;我完全理解那种"每个节点看起…...

Windows下OpenClaw安装避坑:Gemma-3-12b-it接口对接详解

Windows下OpenClaw安装避坑&#xff1a;Gemma-3-12b-it接口对接详解 1. 为什么选择OpenClawGemma组合 去年第一次听说OpenClaw时&#xff0c;我正被重复性的文件整理工作折磨得焦头烂额。作为一个常年与Windows共处的开发者&#xff0c;我一直在寻找既能保护隐私又能实现办公…...

STM32串口通信优化:环形队列防数据丢失方案

1. STM32 串口数据接收的痛点与环形队列解决方案在嵌入式开发中&#xff0c;串口通信是最基础也最常用的外设之一。但新手常会遇到这样的问题&#xff1a;当大量数据快速涌入时&#xff0c;传统的串口接收方式很容易丢失数据。我曾经在一个工业传感器项目中就吃过这个亏——传感…...

C++的std--ranges等价

C的std::ranges等价&#xff1a;现代算法的新范式 C20引入的std::ranges库彻底改变了传统算法的编写方式&#xff0c;其中“等价”&#xff08;equivalence&#xff09;概念是理解范围操作的核心之一。与传统的“相等”&#xff08;equality&#xff09;不同&#xff0c;等价关…...

游戏开发者必备免费源码网,一键搭建

一、全场景覆盖&#xff1a;从休闲小游戏到商业级项目 源码分享网的源码资源库堪称“游戏开发的全家桶”&#xff0c;覆盖了从前端交互到后端逻辑、从移动端到网页端的完整技术栈。无论是想要快速验证创意的休闲小游戏&#xff0c;还是需要搭建商业级游戏平台&#xff0c;这里…...

Go接口interface与鸭子类型

Go语言中的接口与鸭子类型编程 在编程世界中&#xff0c;Go语言的接口&#xff08;interface&#xff09;和鸭子类型&#xff08;Duck Typing&#xff09;是两种灵活而强大的设计模式。它们通过解耦类型与行为&#xff0c;让代码更具扩展性和可维护性。Go的接口不同于其他语言…...