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

Linux-实用操作

文章目录

  • 一. 各类实用小技巧(快捷键)
    • 1. ctrl + c 强制停止
    • 2. ctrl + d 退出登出
    • 3. history 查看历史命令
    • 4. !命令前缀,自动匹配上一个命令
    • 5. ctrl + r,搜索历史命令
    • 6. ctrl + a | e,光标移动到命令开始或结束
    • 7. ctrl + ← | →,左右跳单词
    • 8. ctrl + l 或 clear命令 清屏
  • 二. yum:软件安装
  • 三. systemctl:控制软件的启动和关闭
  • 四. ln:软连接
  • 五. IP地址,主机名
    • 1.IP地址
      • ① IP地址
      • ② 特殊IP地址
      • ③ 在VMware Workstation中配置固定IP
    • 2. 主机名
      • ① 主机名
      • ② 修改主机名
    • 3. 域名解析
      • ① 域名解析
      • ② 域名解析流程
      • ② 配置主机名映射
  • 六. 端口
    • 1. 端口
    • 2. 查看端口占用
      • ① nmap IP地址,查看指定IP的对外暴露端口
      • ② netstat -anp | grep 端口号,查看本机指定端口号的占用情况
  • 七. 网络传输
    • 1. ping:检查服务器是否可联通
    • 2. wget:下载文件
    • 3. curl:发起网络请求
  • 八. 进程管理
    • ① 进程
    • ② ps:查看进程
    • ③ ps -ef | grep 指定进程:查看指定进程
    • ③ kill:关闭进程
  • 九. 环境变量
    • 1. 环境变量
    • 2. PATH:环境变量
    • 3. $符号:取”变量”的值
    • 4. 自行设置环境变量
      • ① 临时设置
      • ② 永久设置
  • 十. 上传,下载
  • 十一. 压缩,解压缩
    • 1. tar
    • 2. zip

一. 各类实用小技巧(快捷键)

1. ctrl + c 强制停止

Linux某些程序的运行,如果想要强制停止它,可以使用快捷键ctrl + c
在这里插入图片描述

命令输入错误,也可以通过快捷键ctrl + c,退出当前输入,重新输入
在这里插入图片描述

2. ctrl + d 退出登出

可以通过快捷键:ctrl + d,退出账户的登录
在这里插入图片描述

或者退出某些特定程序的专属页面
在这里插入图片描述

ps:不能用于退出vi/vim

3. history 查看历史命令

可以通过history命令,查看历史输入过的命令
在这里插入图片描述

4. !命令前缀,自动匹配上一个命令

可以通过:!命令前缀,自动执行上一次匹配前缀的命令
在这里插入图片描述

5. ctrl + r,搜索历史命令

可以通过快捷键:ctrl + r,输入内容去匹配历史命令
在这里插入图片描述
如果搜索到的内容是你需要的,那么:
回车键可以直接执行
键盘左右键,可以得到此命令(不执行)

6. ctrl + a | e,光标移动到命令开始或结束

7. ctrl + ← | →,左右跳单词

8. ctrl + l 或 clear命令 清屏

二. yum:软件安装

  • 功能

    yum

    RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题。
    yum为CentOS系统安装软件

  • 语法 在这里插入图片描述

    选项:-y,自动确认,无需手动确认安装或卸载过程
    install:安装
    remove:卸载
    search:搜索

    yum命令需要root权限哦,可以su切换到root,或使用sudo提权。
    yum命令需要联网

    yum和apt
    https://blog.csdn.net/tealcwu/article/details/142773551

  • 栗子

    通过yum命令安装wget程序

    yum [-y] install wget 
    

    通过yum命令卸载wget命令

    yum [-y] remove wget
    

    通过yum命令,搜索是否有wget安装包
    yum search +软件名或者关键字 //查找相关功能的包,然后下载

    yum search wget
    

三. systemctl:控制软件的启动和关闭

  • 功能

    system control

    Linux系统很多软件(内置或第三方)均支持使用systemctl命令控制:启动、停止、开机自启
    能够被systemctl管理的软件,一般也称之为:服务

  • 语法
    在这里插入图片描述

    start 启动
    stop 关闭
    status 查看状态
    enable 开启开机自启
    disable 关闭开机自启

    系统内置的服务比较多,比如:
    NetworkManager,主网络服务
    network,副网络服务
    firewalld,防火墙服务
    sshd,ssh服务(FinalShell远程登录Linux使用的就是这个服务)
    现在可以使用systemctl去尝试一下,控制这些服务的启动、关闭、自启动啦

  • 栗子
    查看sshd状态

    systemctl status sshd
    

    在这里插入图片描述

四. ln:软连接

  • 功能

    link

    在系统中创建软链接,可以将文件、文件夹链接到其它位置。
    类似Windows系统中的《快捷方式》

  • 语法
    在这里插入图片描述

    参数1:已有文件,文件夹
    参数2:软连接目的地

  • 栗子
    查看sshd状态

    ln -s /etc/yum.conf ~/yum.conf
    ln -s /etc/yum ~/yum
    

    在这里插入图片描述

五. IP地址,主机名

1.IP地址

IP地址是联网计算机的网络地址,用于在网络中进行定位
格式是:a.b.c.d,其中abcd是0~255的数字
特殊IP有:127.0.0.1,本地回环IP,表示本机。
0.0.0.0:也可表示本机,也可以在一些白名单中表示任意IP

① IP地址

每一台联网的电脑都会有一个地址,用于和其它计算机进行通讯
IP地址主要有2个版本,V4版本和V6版本(V6很少用)
IPv4版本的地址格式是:a.b.c.d,其中abcd表示0~255的数字,如192.168.88.101就是一个标准的IP地址

可以通过命令:ifconfig,查看本机的ip地址,如无法使用ifconfig命令,可以安装:yum -y install net-tools
在这里插入图片描述

② 特殊IP地址

  • 127.0.0.1,这个IP地址用于指代本机在这里插入图片描述
  • 0.0.0.0,特殊IP地址
    可以用于指代本机
    可以在端口绑定中用来确定绑定关系(后续讲解)
    在一些IP地址限制中,表示所有IP的意思,如放行规则设置为0.0.0.0,表示允许任意IP访问

③ 在VMware Workstation中配置固定IP

配置固定IP需要2个大步骤:

  1. 在VMware Workstation(或Fusion)中配置IP地址网关和网段(IP地址的范围)
  2. 在Linux系统中手动修改配置文件,固定IP
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    现在进行第二步,在Linux系统中修改固定IP
    使用vim编辑/etc/sysconfig/network-scripts/ifcfg-ens33文件,填入如下内容
    在这里插入图片描述
    执行:systemctl restart network 重启网卡,执行ifconfig即可看到ip地址固定为192.168.88.130了

2. 主机名

主机名就是主机的名称,用于标识一个计算机

① 主机名

每一台电脑除了对外联络地址(IP地址)以外,也可以有一个名字,称之为主机名
无论是Windows或Linux系统,都可以给系统设置主机名

  • Windows系统主机名
    在这里插入图片描述

  • Linux系统主机名
    在这里插入图片描述

② 修改主机名

  • 可以使用命令:hostname查看主机名
    在这里插入图片描述

  • 可以使用命令:hostnamectl set-hostname 主机名,修改主机名(需root)
    在这里插入图片描述

  • 重新登录FinalShell即可看到主机名已经正确显示
    在这里插入图片描述

3. 域名解析

可以通过主机名找到对应计算机的IP地址,这就是主机名映射(域名解析)
先通过系统本地的记录去查找,如果找不到就联网去公开DNS服务器去查找

① 域名解析

IP地址实在是难以记忆,有没有什么办法可以通过主机名或替代的字符地址去代替数字化的IP地址呢?
实际上,我们一直都是通过字符化的地址去访问服务器,很少指定IP地址
比如,我们在浏览器内打开:www.baidu.com,会打开百度的网址
其中,www.baidu.com,是百度的网址,我们称之为:域名

不是说通过IP地址才能访问服务器吗?
为什么域名这一串好记的字符,也可以呢?
这一切,都是域名解析帮助我们解决的

② 域名解析流程

访问www.baidu.com的流程如下:

在这里插入图片描述
即:
先查看本机的记录(私人地址本)
Windows看:C:\Windows\System32\drivers\etc\hosts
Linux看:/etc/hosts
再联网去DNS服务器(如114.114.114.114,8.8.8.8等)询问

② 配置主机名映射

比如,我们FinalShell是通过IP地址连接到的Linux服务器,那有没有可能通过域名(主机名)连接呢?

可以,我们只需要在Windows系统的:C:\Windows\System32\drivers\etc\hosts文件中配置记录即可
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

六. 端口

物理端口:USB、HDMI、DP、VGA、RJ45等
虚拟端口:操作系统和外部交互的出入口
IP只能确定计算机,通过端口才能锁定要交互的程序

1. 端口

端口,是设备与外界通讯交流的出入口。端口可以分为:物理端口和虚拟端口两类
物理端口:又可称之为接口,是可见的端口,如USB接口,RJ45网口,HDMI端口等
虚拟端口:是指计算机内部的端口,是不可见的,是用来操作系统和外部进行交互使用的
在这里插入图片描述
物理端口我们日常生活中经常见到,也能知晓它的作用。
但是虚拟端口,有什么用?为什么需要它呢?
在这里插入图片描述
计算机程序之间的通讯,通过IP只能锁定计算机,但是无法锁定具体的程序。
通过端口可以锁定计算机上具体的程序,确保程序之间进行沟通
IP地址相当于小区地址,在小区内可以有许多住户(程序),而门牌号(端口)就是各个住户(程序)的联系地址

Linux系统是一个超大号小区,可以支持65535个端口,这6万多个端口分为3类进行使用:
公认端口:1~1023,通常用于一些系统内置或知名程序的预留使用,如SSH服务的22端口,HTTPS服务的443端口
非特殊需要,不要占用这个范围的端口
注册端口:1024~49151,通常可以随意使用,用于松散的绑定一些程序\服务
动态端口:49152~65535,通常不会固定绑定程序,而是当程序对外进行网络链接时,用于临时使用。
在这里插入图片描述

如图中,计算机A的微信连接计算机B的微信,A使用的50001即动态端口,临时找一个端口作为出口
计算机B的微信使用端口5678,即注册端口,长期绑定此端口等待别人连接

PS:上述微信的端口仅为演示,具体微信的端口使用非图中示意

2. 查看端口占用

① nmap IP地址,查看指定IP的对外暴露端口

  • 功能

    nmap

    查看端口的占用情况
    使用nmap命令,安装nmap:yum -y install nmap

  • 语法

    nmap 被查看的IP地址
    
  • 栗子
    在这里插入图片描述

    可以看到,本机(127.0.0.1)上有5个端口现在被程序占用了。
    其中:
    22端口,一般是SSH服务使用,即FinalShell远程连接Linux所使用的端口

② netstat -anp | grep 端口号,查看本机指定端口号的占用情况

  • 功能

    netstat -anp

    检查指定的网络服务器是否是可联通状态
    安装netstat:yum -y install net-tools

  • 语法

    netstat -anp | grep 端口号
    
  • 栗子
    如图,可以看到当前系统6000端口被程序(进程号7174)占用了
    其中,0.0.0.0:6000,表示端口绑定在0.0.0.0这个IP地址上,表示允许外部访问
    在这里插入图片描述
    查看哪个进程占用着这个端口
    冲突,不重要时,可以杀死

    ps -ef | grep 6000
    kill -9 6000
    

    可以看到,当前系统12345端口,无人使用
    在这里插入图片描述

七. 网络传输

1. ping:检查服务器是否可联通

  • 功能

    ping

    检查指定的网络服务器是否是可联通状态

  • 语法
    在这里插入图片描述

    选项:-c,检查的次数,不使用-c选项,将无限次数持续检查
    参数:ip或主机名,被检查的服务器的ip地址或主机名地址

  • 栗子

    检查到baidu.com是否联通
    在这里插入图片描述
    结果表示联通,延迟8ms左右

    检查到39.156.66.10是否联通,并检查3次
    在这里插入图片描述

2. wget:下载文件

  • 功能

    wget

    非交互式的文件下载器,可以在命令行内下载网络文件

  • 语法
    在这里插入图片描述

    选项:-b,可选,后台下载,会将日志写入到当前工作目录的wget-log文件
    参数:url,下载链接
    示例:
    下载Anaconda 2023.03版本:wget https://repo.anaconda.com/archive/Anaconda3-2023.03-Linux-x86_64.sh

  • 栗子
    在后台下载:wget -b https://repo.anaconda.com/archive/Anaconda3-2023.03-Linux-x86_64.sh
    通过tail命令可以监控后台下载进度:tail -f wget-log
    在这里插入图片描述

    注意:无论下载是否完成,都会生成要下载的文件,如果下载未完成,请及时清理未完成的不可用文件

3. curl:发起网络请求

  • 功能

    curl

    可以发送http网络请求,可用于:下载文件、获取信息等

  • 语法
    在这里插入图片描述

    选项:-0,用于下载文件,当url是下载链接时,可以使用此选项保存文件
    参数:url,要发起请求的网络地址

  • 栗子
    向cip.cc发起网络请求

    curl cip.cc
    

    在这里插入图片描述

    通过curl下载anaconda安装包

    curl -O https://repo.anaconda.com/archive/Anaconda3-2023.03-Linux-x86_64.sh
    

八. 进程管理

① 进程

程序运行在操作系统中,是被操作系统所管理的。
为管理运行的程序,每一个程序在运行的时候,便被操作系统注册为系统中的一个:进程
并会为每一个进程都分配一个独有的:进程ID(进程号)
在这里插入图片描述

② ps:查看进程

  • 功能

    process status

    查看Linux系统中的进程状态

  • 语法
    在这里插入图片描述

    选项:-e,显示出全部的进程
    选项:-f,以完全格式化的形式展示信息(展示全部信息)
    一般来说,固定用法就是: ps -ef 列出全部进程的全部信息

  • 栗子
    ps -ef
    在这里插入图片描述
    从左到右分别是:
    UID:进程所属的用户ID
    PID:进程的进程号ID
    PPID:进程的父ID(启动此进程的其它进程)
    C:此进程的CPU占用率(百分比)
    STIME:进程的启动时间
    TTY:启动此进程的终端序号,如显示?,表示非终端启动
    TIME:进程占用CPU的时间
    CMD:进程对应的名称或启动路径或启动命令

③ ps -ef | grep 指定进程:查看指定进程

在FinalShell中,执行命令:tail,可以看到,此命令一直阻塞在那里
在FinalShell中,复制一个标签页,执行:ps -ef 找出tail这个程序的进程信息
问题:是否会发现,列出的信息太多,无法准确的找到或很麻烦怎么办?
我们可以使用管道符配合grep来进行过滤,如:
ps -ef | grep tail,即可准确的找到tail命令的信息
在这里插入图片描述

过滤不仅仅过滤名称,进程号,用户ID等等,都可以被grep过滤哦
如:ps -ef | grep 30001,过滤带有30001关键字的进程信息(一般指代过滤30001进程号)

③ kill:关闭进程

  • 功能

    kill

    在Linux中,可以通过kill命令关闭进程
    在Windows系统中,可以通过任务管理器选择进程后,点击结束进程从而关闭它

  • 语法
    在这里插入图片描述

    -9,表示强制关闭进程。不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制

  • 栗子
    在这里插入图片描述

九. 环境变量

1. 环境变量

环境变量是操作系统(Windows、Linux、Mac)在运行的时候,记录的一些关键性信息,用以辅助系统运行。(环境变量是一组信息记录,类型是KeyValue型(名称=值),用于操作系统运行的时候记录关键信息)
在Linux系统中执行:env命令即可查看当前系统中记录的环境变量
环境变量是一种KeyValue型结构,即名称和值,如下图:
在这里插入图片描述
如图,图中记录了:
HOME:/home/itheima,用户的HOME路径
USER:itheima,当前的操作用户
PWD:当前工作路径

等等一系列信息,用于辅助系统在运行的时候
从环境变量中获取关键信息

2. PATH:环境变量

环境变量PATH会记录一组目录,目录之间用:隔开。这里记录的是命令的搜索路径,当执行命令会从记录中记录的目录中挨个搜索要执行的命令并执行。

在前面提出的问题中,我们说无论当前工作目录是什么,都能执行/usr/bin/cd这个程序,这个就是借助环境变量中:PATH这个项目的值来做到的。
在这里插入图片描述
PATH记录了系统执行任何命令的搜索路径,如上图记录了(路径之间以:隔开):
/usr/local/bin
/usr/bin
/usr/local/sbin
/usr/sbin
/home/itheima/.local/bin
/home/itheima/bin
当执行任何命令,都会按照顺序,从上述路径中搜索要执行的程序的本体
比如执行cd命令,就从第二个目录/usr/bin中搜索到了cd命令,并执行

3. $符号:取”变量”的值

在Linux系统中,$ 符号被用于取”变量”的值。
环境变量记录的信息,除了给操作系统自己使用外,如果我们想要取用,也可以使用。
取得环境变量的值就可以通过语法:$环境变量名 来取得

比如: echo $PATH
就可以取得PATH这个环境变量的值,并通过echo语句输出出来。
在这里插入图片描述

又或者:echo ${PATH}ABC
在这里插入图片描述
当和其它内容混合在一起的时候,可以通过{}来标注取的变量是谁

4. 自行设置环境变量

① 临时设置

export 变量名=变量值

在这里插入图片描述
在这里插入图片描述

② 永久设置

针对当前用户生效,配置在当前用户的: ~/.bashrc文件中
针对所有用户生效,配置在系统的: /etc/profile文件中
并通过语法:source 配置文件,进行立刻生效,或重新登录FinalShell生效

环境变量PATH这个项目里面记录了系统执行命令的搜索路径。
这些搜索路径我们也可以自行添加到PATH中去。
测试:
在当前HOME目录内创建文件夹,myenv,在文件夹内创建文件mkhaha
通过vim编辑器,在mkhaha文件内填入:echo 哈哈哈哈哈
完成上述操作后,随意切换工作目录,执行mkhaha命令尝试一下,会发现无法执行
修改PATH的值
临时修改PATH:export PATH=$PATH:/home/sailiman/myenv,再次执行mkhaha,无论在哪里都能执行了
或将export PATH=$PATH:/home/sailiman/myenv,填入用户环境变量文件或系统环境变量文件中去

十. 上传,下载

当然,除了通过FinalShell的下方窗体进行文件的传输以外,也可以通过rz、sz命令进行文件传输。
rz、sz命令需要安装,可以通过:yum -y install lrzsz,即可安装。
rz命令,进行上传,语法:直接输入rz即可
在这里插入图片描述
sz命令进行下载,语法:sz 要下载的文件
在这里插入图片描述
文件会自动下载到桌面的:fsdownload文件夹中。
注意,rz、sz命令需要终端软件支持才可正常运行
FinalShell、SecureCRT、XShell等常用终端软件均支持此操作

十一. 压缩,解压缩

市面上有非常多的压缩格式
zip格式:Linux、Windows、MacOS,常用
7zip:Windows系统常用
rar:Windows系统常用
tar:Linux、MacOS常用
gzip:Linux、MacOS常用
在Windows系统中常用的软件如:winrar、bandizip等软件,都支持各类常见的压缩格式,这里不多做讨论。
我们现在要学习,如何在Linux系统中操作:tar、gzip、zip这三种压缩格式
完成文件的压缩、解压操作

1. tar

  • 功能

    tar

    Linux和Mac系统常用有2种压缩格式,后缀名分别是:
    .tar,称之为tarball,归档文件,即简单的将文件组装到一个.tar的文件内,并没有太多文件体积的减少,仅仅是简单的封装
    .gz,也常见为.tar.gz,gzip格式压缩文件,即使用gzip压缩算法将文件压缩到一个文件内,可以极大的减少压缩后的体积
    针对这两种格式,使用tar命令均可以进行压缩和解压缩的操作

  • 语法
    在这里插入图片描述

    -c,创建压缩文件,用于压缩模式
    -v,显示压缩、解压过程,用于查看进度
    -x,解压模式
    -f,要创建的文件,或要解压的文件,-f选项必须在所有选项中位置处于最后一个
    -z,gzip模式,不使用-z就是普通的tarball格式
    -C,选择解压的目的地,用于解压模式

  • 栗子
    压缩

    tar的常用组合为:
    tar -cvf test.tar 1.txt 2.txt 3.txt
    将1.txt 2.txt 3.txt 压缩到test.tar文件内
    tar -zcvf test.tar.gz 1.txt 2.txt 3.txt
    将1.txt 2.txt 3.txt 压缩到test.tar.gz文件内,使用gzip模式

    注意:
    -z选项如果使用的话,一般处于选项位第一个
    -f选项,必须在选项位最后一个

    解压

    常用的tar解压组合有
    tar -xvf test.tar
    解压test.tar,将文件解压至当前目录
    tar -xvf test.tar -C /home/itheima
    解压test.tar,将文件解压至指定目录(/home/itheima)
    tar -zxvf test.tar.gz -C /home/itheima
    以Gzip模式解压test.tar.gz,将文件解压至指定目录(/home/itheima)

    注意:
    -f选项,必须在选项组合体的最后一位
    -z选项,建议在开头位置
    -C选项单独使用,和解压所需的其它参数分开

2. zip

  • 功能zip

    zip

    可以使用zip命令,压缩文件为zip压缩包

  • 语法
    在这里插入图片描述

    -r,被压缩的包含文件夹的时候,需要使用-r选项,和rm、cp等命令的-r效果一致

  • 栗子

    zip test.zip a.txt b.txt c.txt
    将a.txt b.txt c.txt 压缩到test.zip文件内
    zip -r test.zip test itheima a.txt
    将test、itheima两个文件夹和a.txt文件,压缩到test.zip文件内

  • 功能unzip

    unzip

    使用unzip命令,可以方便的解压zip压缩包

  • 语法
    在这里插入图片描述

    -d,指定要解压去的位置,同tar的-C选项
    参数,被解压的zip压缩包文件

  • 栗子

    unzip test.zip,将test.zip解压到当前目录
    unzip test.zip -d /home/sailiman,将test.zip解压到指定文件夹内(/home/sailiman)

相关文章:

Linux-实用操作

文章目录 一. 各类实用小技巧(快捷键)1. ctrl c 强制停止2. ctrl d 退出登出3. history 查看历史命令4. !命令前缀,自动匹配上一个命令5. ctrl r,搜索历史命令6. ctrl a | e,光标移动到命令开始或结束7. ctrl ← | →,左右跳…...

Elasticsearch:使用 Elastic APM 监控 Android 应用程序

一、前言 人们通过私人和专业的移动应用程序在智能手机上处理越来越多的事情。 拥有成千上万甚至数百万的用户,确保出色的性能和可靠性是移动应用程序和相关后端服务的提供商和运营商面临的主要挑战。 了解移动应用程序的行为、崩溃的发生和类型、响应时间慢的根本…...

Go的简单问题问答

基础问题回答 Go 的主要特点是什么? 简洁:语法简化,减少复杂性。并发:内置 Goroutine 和 Channel,支持轻量级并发。静态类型:强类型语言,编译时检查错误。跨平台:编译生成独立的二进…...

【攻防实验】溯源与取证分析实验

溯源与取证分析实验 溯源取证分析作为网络攻防过程中重要环节,准确找到攻击者的入侵线索(尤其是攻击突破口、攻击IP地址、域名、工具等信息),对于企业或者团队安全运营团队来说都是必备技能。常规攻击取证过程中往往会结合流量、Web访问日志、终端系统或…...

THREE.js 入门(一)xyz坐标系

一、坐标系概念 在 three.js 中,相机的默认朝向是沿着 Z 轴的负方向。也就是说,默认情况下,相机会沿着 Z 轴的负方向“看”到场景中的对象,而 X 轴和 Y 轴分别对应水平方向和垂直方向。换句话说,相机的默认位置是 (0,…...

AUTOSAR CP中基于通信模块(COM)的Transformer-R24的规范导读

该文档是关于 AUTOSAR CP中基于通信模块(COM)的Transformer的规范说明,主要内容包括引言、相关文档、约束与假设、功能规范、API 规范、配置规范等,旨在为汽车电子系统开发中基于 COM 的Transformer提供全面的技术规范和指导。 一…...

ubuntu20.04安装anygrasp_sdk

ubuntu20.04安装anygrasp_sdk采坑记录 安装ME的教程看上一篇,现在来看anygrasp安装问题grasp_detection、grasp_trackinglicense申请demo文件的运行注意的地方到这以为大功告成了,然后出现了一个numpy版本不匹配问题最后还有一个问题就是修改demo.sh,不然没法可视化结果展示安…...

Spring完整知识点二

Spring注解开发 Spring是轻代码而重配置的框架,配置比较繁重,影响开发效率,所以注解开发是一种趋势,它能够代替xml配置文件,可以简化配置,提高开发效率Spring注解根据出现时间分类 Spring原始注解&#xf…...

GESP三级集训——课堂笔记(部分)

进制转换(二进制、十进制、八进制、十六进制等) 十进制(逢十进一)——Decimal 十进制是我们生活中最常见的进制,如“1”“23”“891”等: 进位过程如下:{1,2,3,4,5,6,7,8,9}{10,11,12,13,14,…...

Spring Boot接口返回统一格式

统一的标准数据格式好处 SpringBoot返回统一的标准数据格式主要有以下几点好处: 增强接口的可读性和可维护性,使得前端开发人员能够更加清晰地理解接口返回的数据结构,从而提高开发效率。 降低前后端耦合度,当后端需要修改返回数…...

Flink如何基于数据版本使用最新离线数据

业务场景 假设批量有一张商户表,表字段中有商户名称和商户分类两个字段。 批量需要将最新的商户名称和分类的映射关系推到hbase供实时使用。 原实现方案 a.原方案内容 为解决批量晚批问题,批量推送hbase表时一份数据产生两类rowkey:T-1和…...

软件开发中的常用性能指标

大家好!我是今越。在软件开发中我们经常会遇到一些性能指标,下面就带大家一起来看看。 QPS Queries Per Second,每秒查询率,一台服务器每秒能够响应的查询次数。它是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准…...

cmakelist使用总结

支持能编译成在不同系统上运行程序的方法 我们代码就一份,但有时需要编译成arm32,有时需要编译成x86_64,或更多 1、首先先将代码定义一个名称: #将所有的源文件列为一个集合,集合名字叫做SRC_LISTS set(SRC_LISTS main.cpp A.cpp…...

准备阶段 Unity优化总纲

Unity优化总纲 我们在学习优化课程之前要预先做好准备功能 例如最主要是的接收到一个优化的任务,应该怎么做,其次怎么做,最后怎么做。 也要学习一些专业工具以及专业术语 了解游戏运行机制,在排查期间思路会更清晰 1.优化目的…...

ubuntu防火墙(三)——firewalld使用与讲解

本文是Linux下,用ufw实现端口关闭、流量控制(二) firewalld使用方式 firewalld 是一个动态管理防火墙的工具,主要用于 Linux 系统(包括 Ubuntu 和 CentOS 等)。它提供了一个基于区域(zones)和服务&#x…...

zookeeper 搭建集群

基础的java 环境先安好,选择3台虚拟机 ip 不一样 机器应为奇数个 zookeeper 奇数个节点实际上是(2*n-1) 比偶数台机器少一台解决成本,并且能够满足 zookeeper 集群过半选举leader 的规则 # 3台虚拟机 将zookeeper 解压到服务器上 #在 conf/ 目录下 找到zoo_s…...

Java——异常机制(下)

1 异常处理之(捕获异常) (一般处理运行时异常) (try-catch-finally子句) (finally一般用于文件最后关闭) (catch捕获的子类在前父类在后——>不然父类在前面都让父类捕获掉了,会报错) (Exception是父类放在最后,如果前面没有捕获到,就…...

centos 手动安装libcurl4-openssl-dev库

下载源代码 curl downloadshttps://curl.se/download/ 选择需要下载的版本,我下载的是8.11.0 解压 tar -zxvf curl-8.11.0 查看安装命令 查找INSTALL.md,一般在docs文件夹下 –prefix :指定安装路径(默认安装在/usr/local&…...

JS学习(1)(基本概念与作用、与HTML、CSS区别)

目录 一、JavaScript是什么? (1)基本介绍 (2)简称:JS? 二、JavaScript的作用。 三、HTML、CSS、JS之间的关系。 (1)html、css。 (2)JavaScript。 …...

代码随想录算法训练营day50|动态规划12

不同的子序列 给定一个字符串 s 和一个字符串 t ,计算在 s 的子序列中 t 出现的个数。、 编辑距离中的删除元素,其实就是直接变数字,其只删除原来的较长的数组里的元素 递推模拟,使用s的最后一个元素匹配,或者删除…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...

ubuntu22.04有线网络无法连接,图标也没了

今天突然无法有线网络无法连接任何设备,并且图标都没了 错误案例 往上一顿搜索,试了很多博客都不行,比如 Ubuntu22.04右上角网络图标消失 最后解决的办法 下载网卡驱动,重新安装 操作步骤 查看自己网卡的型号 lspci | gre…...

React父子组件通信:Props怎么用?如何从父组件向子组件传递数据?

系列回顾: 在上一篇《React核心概念:State是什么?》中,我们学习了如何使用useState让一个组件拥有自己的内部数据(State),并通过一个计数器案例,实现了组件的自我更新。这很棒&#…...