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

昇思 MindSpore 加速库层兼容

MindSpore 加速库层兼容核心是通过统一适配接口、分层桥接架构、算子自动映射&#xff0c;实现与 MindSpeed、CANN、vLLM 等昇腾及开源加速库的无缝对接&#xff0c;解决框架与加速库的异构适配问题&#xff0c;让大模型训推在昇腾 NPU 上兼顾兼容性与极致性能&#xff0c;迁移…...

Windows热键冲突终结者:Hotkey Detective一键定位占用程序

Windows热键冲突终结者&#xff1a;Hotkey Detective一键定位占用程序 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 你是…...

C#字节序反转:从原理到工业级实现

1. 字节序反转不是“字节倒序”&#xff0c;而是数据语义的精准翻转很多人第一次看到“字节序反转”这个词&#xff0c;下意识就去写Array.Reverse(bytes)——结果一测发现&#xff1a;整数读出来完全不对。我去年在做工业PLC通信协议解析时就栽过这个跟头&#xff1a;设备返回…...

如何用Translumo实现实时屏幕翻译:打破语言障碍的终极指南

如何用Translumo实现实时屏幕翻译&#xff1a;打破语言障碍的终极指南 【免费下载链接】Translumo Advanced real-time screen translator for games, hardcoded subtitles in videos, static text and etc. 项目地址: https://gitcode.com/gh_mirrors/tr/Translumo 还在…...

八股整理之JVM篇

JVM的内存模型介绍一下根据 JDK 8 规范&#xff0c;JVM 运行时内存共分为虚拟机栈、堆、元空间、程序计数器、本地方法栈五个部分。还有一部分内存叫直接内存&#xff0c;属于操作系统的本地内存&#xff0c;也是可以直接操作的。JVM的内存结构主要分为以下几个部分&#xff1a…...

MySQL 8安装指南:Win/Mac/Linux全平台教程,含避坑技巧

一、MySQL 8 版本选择推荐下载 Oracle 官方版&#xff0c;开源、免费、更新最全。 &#x1f449; 官网下载地址&#xff1a; https://dev.mysql.com/downloads/mysql/&#x1fa9f; 二、Windows 安装步骤✅ 1️⃣ 下载 Installer访问官网链接 → 点击 "MySQL Community (G…...

Qt5 super module多媒体模块详解:音频、视频、3D图形处理技术

Qt5 super module多媒体模块详解&#xff1a;音频、视频、3D图形处理技术 【免费下载链接】qt5 Qt5 super module 项目地址: https://gitcode.com/gh_mirrors/qt/qt5 Qt5 super module是一个功能强大的跨平台应用开发框架&#xff0c;其中的多媒体模块为开发者提供了全面…...

8. Python 模块与包 深度解析

Python 模块与包 深度解析 目录 模块与包的概念模块基础 2.1 模块即 .py 文件2.2 import 语句与 from ... import2.3 模块搜索路径 sys.path 模块的编译与缓存包 4.1 常规包与 __init__.py4.2 命名空间包4.3 相对导入与绝对导入 __name__ 与 "__main__"模块与包的组…...

从一家工厂的产品图、SKU 宽度和产品页,能读出哪些经营信息?一份给采购方和上游销售员的读图手册

采购、品牌方、上游销售员常遇到同一种困惑&#xff1a;打开一家"工厂"的店铺&#xff0c;产品图漂亮、SKU 铺得一大屏、参数行行写满&#xff0c;但聊几句发现对方根本不是工厂&#xff0c;是转单贸易商&#xff1b;或者是真工厂&#xff0c;但定位和需求完全错位。…...

SpaceX披露IPO招股书:400亿美元数据中心交易、600亿美元收购Cursor,轨道AI计算挑战待解

拿下Anthropic算力大单&#xff1a;每月12.5亿美元&#xff0c;连付3年&#xff0c;双方均可叫停今年5月&#xff0c;SpaceX与Anthropic就访问COLOSSUS和COLOSSUS II两大大型数据中心的算力访问达成了云服务协议。根据协议&#xff0c;Anthropic同意在2029年5月之前每月向Space…...