Linux常见指令

文章目录

  • 一. 操作系统简述
  • 二. Linux 下基本指令
    • 01. ls 指令
    • 补充知识点 1 (关于路径)
    • 02. pwd 指令
    • 03. cd 指令
    • 04. touch 指令
    • 05. mkdir 指令
    • 06. rmdir 指令 && rm 指令
    • 07. man 指令
    • 补充知识点 2 (开发三种环境)
    • 08. cp 指令
    • 09. mv 指令
    • 10. alise 指令
    • 补充知识点 3 (命令的本质)
    • 11. echo 指令
    • 补充知识点 4 (Linux下一切皆文件)
    • 12. cat 指令
    • 13. more 指令
    • 14. less 指令
    • 15. head 指令
    • 16. tail 指令
    • 补充知识点 5 (命令行管道)
    • 17. 时间相关的指令
    • 补充知识点 6 (日志与时间戳)
    • 18. Cal 指令
    • 19. find 指令
    • 20. grep 指令
    • 21. sort 指令
    • 22. uniq指令
    • 23. zip/unzip 指令
    • 24. tar 指令
    • 25. uname -r 指令
    • 26. 其他一些获取系统信息的指令
    • 27. 重要的几个热键
    • 28. 扩展命令

一. 操作系统简述

计算机软硬件体系结构是层状结构, 如下图:
请添加图片描述

操作系统是进行软硬件资源管理软件

操作系统是系统软件, 不是硬件
负责管理协调硬件, 软件等计算机资源的工作
向上提供良好稳定的运行服务

二. Linux 下基本指令

先有的指令系统, 再有的图形化界面.
指令操作和图形化操作本质上没有区别, 只是形式上不同.

01. ls 指令

语法: ls[选项][目录或文件]
功能: 对于目录, 该命令列出该目录下的所有子目录与文件.对于文件, 将列出文件名以及其他信息.

ls列出当前目录的所有文件名

在这里插入图片描述


ls -l列出文件的详细信息, l 相当于 list
一般会直接 ll 简写

这是文件的属性列表, 包括文件权限, 大小, 文件名, 创建时间等等.
在这里插入图片描述

由此可以看到, 文件包括文件内容文件属性
我们学习文件操作, 也就是学习对文件内容文件属性的操作

文件内容可以为 0, 但是只要一个文件存在, 他一定会有文件属性.
虽然在 windows 中创建一个空文件, 打开属性设置显示该文件为 0 字节.
在这里插入图片描述

但是存储这些属性信息也是需要空间的, 所以一个空文件也是占据空间的.


ls -a 列出目录下的所有文件, 包括以 . 开头的隐含文件

在这里插入图片描述

在每个目录里, 都一定会有两个隐含文件:
一个是 ., 一个是 ..

.: 代表当前路径
..: 代表上级路径


补充知识点 1 (关于路径)

关于路径
什么叫做路径呢?
在 Linux 下, 路径是由 / 进行间隔的一串字符串. 例如: /usr/bin
两斜杠之间一定是一个目录或者路径, 最后一个名称可能是文件或者目录

为什么要有路径呢? 为了唯一找到一个文件

Linux 整体目录是一个多叉树的样子

在这里插入图片描述

根据树的结构可以得到以下结论:

  • 叶子结点一定是普通文件或者空文件夹
  • 非叶子结点一定是目录
  • 访问一个文件的本质, 就是先通过路径找到文件本身
  • 路径的本质就是多叉树搜索路径
  • 每个结点只有一个父结点, 向上具有唯一性, 反过来向下也就具有唯一性. 根据唯一的路径可以找到目标文件.

绝对路径: 从根目录开始的形成的路径(无论处在哪里, 都能唯一锁定一个文件) /root/usr/bin/
相对路径: 相对于自身所处目录为参考点的路径. 例如上图, 现在所处bit目录, 想访问到passwd的路径是: ../etc/passwd

使用 tree 指令, 就可以看到指定目录的树状图
在这里插入图片描述


ls -d 将目录像文件一样显示, 而不是显示其下的文件.
一般会配合 -l, 这样就可以看到指定目录的属性信息了
在这里插入图片描述

ll -d / 也可以看到显示出了信息, / 是系统的根目录

在这里插入图片描述


02. pwd 指令

语法: pwd
功能: 显示用户当前所在的目录

pwd 全称为 print work direction

会显示自根目录到当前目录的路径

在这里插入图片描述


03. cd 指令

语法: cd 目录名
功能: 改变工作目录. 将当前工作目录改变到指定的目录下

cd .. 返回上级目录

在这里插入图片描述


cd /usr/bin 按绝对路径访问
在这里插入图片描述


cd ../test_02 按相对路径访问
在这里插入图片描述


cd ~ 进入用户家目录

此时的用户是 root , 直接进入 root 下的目录 /root

若是普通用户, 则会进入 /home/xxx
在这里插入图片描述

默认登陆的时候, 默认登陆时所处的路径就是当前家目录.
在 windows 就是桌面, 桌面也是一个文件夹, 叫 /Desktop


cd - 返回最近访问目录

在这里插入图片描述

04. touch 指令

语法: touch[选项]...文件...
功能: touch 命令参数可更改文档或目录的日期时间, 包括存取时间和更改时间, 或者新建一个不存在的文件.

touch file1.txt 在当前目录下创建一个名为 file1.txt 的空文件
在这里插入图片描述

05. mkdir 指令

语法: mkdir[选项]dirname
功能: 在当前目录下创建一个名为 dirname 的目录

mkdir 1 在当前目录下创建一个名为 1 的空目录

在这里插入图片描述


mkdir -p a/b/c 递归建立 a/b/c 目录

在这里插入图片描述

06. rmdir 指令 && rm 指令

rmdir是一个与mkdir相对应的指令. mkdir时建立目录, 而rmdir是删除目录

语法: rmdir[-p][dirName]
适用于对象: 具有当前目录操作权限的所有使用者
功能: 删除空目录

rmdir a 失败
rmdir 1 成功

在这里插入图片描述


rm 命令可以同时删除文件或目录
语法: rm[-f-i-r-v][dirName/dir]
适用对象: 所有使用者
功能: 删除文件或目录

rm file1.txt 删除 file1.txt 文件
在这里插入图片描述


rm -f 不用询问就能删除

在这里插入图片描述


rm -r 递归的删除目录下所有文件
在这里插入图片描述

递归删除相当于深度优先遍历叶子结点, 返回时删除

rm -rf ./* 删除当前目录的所有文件, 不删除隐藏文件

* 是通配符, 指指定路径下的所有文件

在这里插入图片描述


07. man 指令

Linux 的命令有很多参数, 我们不可能全部都记住, 可以通过联机手册获取帮助. 访问 Linux 手册的指令是 man
语法: man[选项]命令
常用选项:

  • -k: 根据关键字搜索联机帮助
  • num: 只在 num 章节找
  • -a: 将所有的章节都显示出来

解释一下,面手册分为 8 章
1 是普通的命令
2 是系统调用,如 open,write 之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文
件)
3 是库函数,如 printf,fread4 是特殊文件,也就是/dev 下的各种设备文件
5 是指文件的格式,比如 passwd, 就会说明这个文件中各个字段的含义
6 是给游戏留的,由各个游戏自己定义
7 是附件还有一些变量,比如向 environ 这种全局变量在这里就有说明
8 是系统管理用的命令,这些命令只能由 root 使用,如 ifconfig


如果使用 man 找不到某个章节, 输入指令 yum install -y man-pages, 为什么环境里没有呢, 这里就要引入三种开发环境.

补充知识点 2 (开发三种环境)

开发三种环境

  1. 开发环境
  2. 测试环境
  3. 生产环境: 真实线上环境, 写完测完真正给用户提供服务的地方, 不能随便动.

一般来说, 各厂商提供的云服务器都是生产环境, 是非常干净的操作系统, 不会安装开发强相关的工具, 这里的 man-pages 就是一种.


man man 查看 man 的相关资料
在这里插入图片描述

man 3 printf 查看库函数中 printf 的资料

在这里插入图片描述

08. cp 指令

语法: cp[选项] 源文件或目录 目标文件或目录
功能: 复制文件或目录
说明: cp 指令用于复制文件或目录, 如同时指定两个或两个以上的文件或目录, 且最后的目的地是一个已经存在的目录, 则它会把前面指定的所有文件或目录复制到此目录中. 若同时指定多个文件和目录, 而最后的目的地并非一个已存在的目录, 则会出现错误信息.

cp -f 强制复制文件或目录, 不论目的文件或者目录是否存在
在这里插入图片描述


cp -i 覆盖文件前先询问用户
在这里插入图片描述


cp -r 递归处理目录

在这里插入图片描述


拷贝不会拷贝隐藏文件, 因为

  1. 如果用户知道要拷贝隐藏文件, 肯定会手动拷贝
  2. 如果用户不知道隐藏文件的存在, 肯定不会想拷贝它们

09. mv 指令

mv 命令是 move 的缩写, 可以用来移动文件或者将文件改名(move (rename) files), 是 Linux 系统下常用的命令, 经常用来备份文件或者目录.
语法: mv[选项] 源文件或目录 目标文件或目录
功能:

  1. mv 命令中第二个参数的类型不同(是目标文件还是目标目录), mv 命令将文件重命名或将其移至一个新的目录
  2. 当第二个参数类型是文件时, mv 命令完成文件重命名. 此时, 源文件只能有一个(也可以是原目录名), 它将所给的源文件或者目录重命名为给定的目标文件名.
  3. 当第二个参数是已存在的目录名称时, 源文件或目录参数可以有多个, mv 命令将各参数指定的源文件均移至目标目录中
    常用选项
    -f 如果目标文件已经存在, 不会询问直接覆盖
    -i 如果目标文件已经存在, 就会询问是否覆盖

mv file.txt file1.txtfile.txt 改名为 file1.txt
在这里插入图片描述


mv a aaa 改名为 aa

在这里插入图片描述


mv file1.txt try_grep aa/b 移动多个文件到已存在目录

在这里插入图片描述

10. alise 指令

对指令重命名.
语法: alise [指定命令]='[命令+选项]'


补充知识点 3 (命令的本质)

命令的本质就是可执行文件

例如, 在 /usr/bin 里存放的都是指令, 都是可执行文件

在这里插入图片描述

yum 就是 python 写的

在这里插入图片描述


比如写了一个打印 HelloLinux 的程序
在这里插入图片描述

可以使用 alias 指令将其修改为 hello

在这里插入图片描述

如果不将 alias hello='./test' 放在配置文件 ~/.bashrc 中, 重启终端该指令就会失效.

11. echo 指令

echo 默认将输入的字符串输出到显示器上

在这里插入图片描述


echo [内容] > [文件名] 可以将内容输出重定向入指定文件中, 如果该文件不存在, 会自动创建一个.

在这里插入图片描述


补充知识点 4 (Linux下一切皆文件)

Linux 下一切皆文件

通过 > 输出重定向, 本来应该是在显示器上显示的, 现在显示在文件当中.

向显示器打印就是向显示器文件的内容写入.
键盘写入文件的同时回显在显示器上, 显示器的读方法是空, 键盘的写方法是空.

那么各种各样的设备, 都有读方法和写方法.
大部分硬件也都有读方法, 有些硬件的写方法为空.

Linux 就想用统一思想来解决读写文件和设备.
Linux 设计者设计了Linux 下一切皆文件的设计理念.

虽然提高了 Linux 系统的编码维护成本, 但是更为统一方便.


注: 直接 >[文件名] 可以创建新文件或者清空一个文件

在这里插入图片描述

重定向会覆盖历史内容, 不想覆盖可以使用追加重定向 >>

echo "111111" >> c 追加一行内容到 c

在这里插入图片描述

12. cat 指令

语法: cat[选项][文件]
功能: 查看文件的内容
常用选项:

  • -b 对非空输出行编号
  • -n 对输出的所有行编号
  • -s 不输出多行空行

cat c

在这里插入图片描述


cat -b c
在这里插入图片描述


cat -n c
在这里插入图片描述


cat -s c
在这里插入图片描述

cat 不跟文件名 输入什么, cat 就打印什么
在这里插入图片描述

cat 从键盘读取了什么, 就向显示器文件显示什么.
默认读取的时候是从键盘文件中读入的, 如果添上了文件就是从文件中读入的.
也就是说 cat 文件 相当于 cat < 文件 把本来应该从键盘读取的内容改为从普通文件进行输入

总结:
> 按 w 打开
>> 按 a 打开
< 按 r 打开

13. more 指令

语法: more[选项][文件]
功能: more 命令, 功能类似于 cat
常用选项:

  • -n 对输入的所有行编号
  • q 退出 more

more 只能按回车, 不推荐使用

14. less 指令

  • less 工具也是对文件或其他输入进行分页显示的工具, 应该说是 Linux 正统查看文件内容的工具, 功能极其强大.
  • less 的用法比起 more 更加的有弹性. 在 more 的时候, 我们并没有办法向前翻, 只能向后看
  • 但若使用了 less时, 就可以使用[pageup][pagedown]等按键的功能能来往前往后翻看文件, 更容易用来查看一个文件的内容.
  • 除此之外, 在 less 里头可以拥有更多的搜索功能, 不止可以向下搜, 也可以向上搜.

语法: less[参数] 文件
功能: lessmore 类似, 但是 less 可以随意浏览文件.
选项:

  • -i 忽略搜索时的大小写
  • -N 显示每行的行号
  • /字符串 向下搜索"字符串"的功能
  • ?字符串 向上搜索"字符串"的功能
  • n 重复前一个搜索
  • N 反向重复前一个搜索
  • q quit

15. head 指令

headtail 就像他的名字一样的浅显易懂, 它是用来显示开头或结尾某个数量的文字区块, head 用来显示档案的开头至标准输出中, 而 tail 想当然就是看档案的结尾.

语法 head[参数]...[文件]...
功能 head 用来显示档案的开头至标准输出中, 默认 head 命令打印其相应文件的开头 10 行
选项

  • -n<行数> 显示的行数

head file.txt

在这里插入图片描述


head -3 file.txt

在这里插入图片描述

16. tail 指令

tail 命令从指定点开始将文件写道标准输出.
使用 tail 命令的 -f 选项可以方便的查阅正在改变的日志文件, tail -f filename 会把 filename 里最尾部的内容显示在屏幕上, 并且不断刷新, 使你看到最新的文件内容.
语法 tail[必要参数][选择参数][文件]
功能 用于显示指定文件末尾内容, 不指定文件时, 作为输入信息进行处理. 常用查看日志文件.
选项

  • -f 循环读取
  • -n<行数> 显示行数

在这里插入图片描述


补充知识点 5 (命令行管道)

关于命令行管道

如果想显示第 8001 - 8010 行该怎么办呢

第一种想法:
先用 head 把前 8010 行的内容输入重定向至一个 tmep 文件
再用 tail 把最后 10 行显示出来
在这里插入图片描述

但是这样会多出一个中间文件

第二种想法
使用管道, 直接将前一条命令的输出交给第二条指令的输入

在这里插入图片描述

head 默认是输入重定向至显示器文件, 而 | 是一个管道, 将本应放入显示器文件的内容放入管道中, 再使用 tail 指令将管道文件中的内容作为输入.

这是一种流水线作业处理.


17. 时间相关的指令

date 显示
date 指定格式显示时间 date +%Y%m%d
date 用法 date[OPTION]...[+FORMAT]

在显示方面, 使用着可以设定欲显示的格式, 格式设定为一个加号后接数个标记, 其中常用的标记列表如下

%H: 小时
%M: 分钟
%S: 秒
%X: 相当于 %H:%M:%S > %d: 日
%m: 月份
%Y: 年份
%F: 相当于 %Y-%m-%d

在这里插入图片描述

在这里插入图片描述


时间戳

时间->时间戳:date + %s

在这里插入图片描述

时间戳->时间: date -d@0, 得到时间戳为 0 的时间

在这里插入图片描述

Unix 时间戳是从 1970 年 1 月 1 日(UTC/GMT 的午夜)开始所经过的秒数, 不考虑闰秒.


补充知识点 6 (日志与时间戳)

关于软件开发的日志与时间戳

Unix 时间戳是 1970-1-1 午夜 到现在所经过的秒数, 这表示时间戳是 递增且可以进行范围查找的

时间可以完美运用在日志中, 日志是辅助程序员进行问题排查的.

程序会定时打印软件的情况, 如果程序挂掉, 程序员就可以通过日志了解到程序挂掉的信息, 其中就包括很重要的时间信息.

日志等级分为: DEBUG, Normal, Warning, Fatal.


18. Cal 指令

cal 指令可以用来显示(阳历)日历. 公历是现在国际通用的历法.

命令格式 cal[参数][月份][年份]
功能 用于查看日历等时间信息, 如只有一个参数, 则表示年份, 如有两个参数, 则表示月份和年份.

常用选项

-3 显示系统前一个月, 当前月, 下一个月的月历
-j 显示在当年中的第几天
-y 显示当前年份的日历

在这里插入图片描述

在这里插入图片描述


19. find 指令

  • Linux 下 find 命令在目录结构中搜索文件, 并执行指定的操作.
  • Linux 下 find 命令提供了相当多的查找条件, 功能很强大. 由于 find 具有强大的功能, 所以它的选项也很多.

语法 find pathname -options
功能 用于在文件树中查找文件, 并作出相应的处理(可能访问磁盘)

常用选项 -name 按照文件名查找文件, 支持 *?

在这里插入图片描述

第一次查的时候需要慢慢找,如果短时间内还要查找同一名称的文件,速度会快很多,因为之前的结果被放在了缓存中。

which 可以查指令

在这里插入图片描述

whereis 可以查包含指令在内的文档、库。

在这里插入图片描述

20. grep 指令

语法 grep[选项]搜寻字符串 文件
功能 在文件中搜索字符串, 将找到的行打印出来

grep 'A' c 在 c 文件中查找 ‘A’ 贪心策略查找

在这里插入图片描述


grep -i 'A' c 忽视大小写
在这里插入图片描述


grep -n 顺便输出行号

在这里插入图片描述


grep -v 反响选择,显示没有符合的那一行

在这里插入图片描述


grep 与管道结合可以更好的查找到需要的信息
例如: ps ajx | grep 'sleep' 查找睡眠进程

在这里插入图片描述

21. sort 指令

按顺序显示文件内容

sort c

在这里插入图片描述

sort -r c 逆向排序

在这里插入图片描述

22. uniq指令

相邻重复行进行压缩, 只会显示一行

uniq c

在这里插入图片描述


uniq -u 仅显示出现一次的行

在这里插入图片描述


uniq -d 仅显示出现多次的行

在这里插入图片描述


uniq -c 去重并统计重复行
那么结合 sortuniq指令和管道 就可以把重复行去重

在这里插入图片描述


结合上面的几个查看文件内容的相关指令,如果要查看出现 1 的不重复行的行数,以下指令即可
cat c | grep '1' | sort | unique | wc -l

在这里插入图片描述

23. zip/unzip 指令

语法 zip 压缩文件.zip 目录或文件
功能 将目录或文件压缩成 zip 格式
常用选项

-r 递归处理,将指定目录下的所有文件和子目录一并处理

zip -r test_01.zip test_01/test_01 所有文件夹打包

在这里插入图片描述


unzip test_01.zip -d ./tmp

在这里插入图片描述

24. tar 指令

在 Linux, 更多的是用到 tar 指令, 这个指令既包括打包, 也包括解包

tar 指令相关的文件是 .tar.gz 也可写成 .tgz

tar -czf xxx.tgz xxx 打包压缩指名
tar -xzf xxx.tgz 解包解压默认包名
tar -cvzf xxx.tgz xxx 显示过程
tar -xvzf xxx.tgz 显示过程
tar -xvzf xxx.tgz -C xxx 解包解压显示过程制定目录(目录必须存在)

25. uname -r 指令

语法 uname [选项]
功能 uname 用来获取电脑和操作系统的相关信息
补充说明 uname 可显示linux主机所用的操作系统的版本, 硬件的名称等基本信息.

uname -a 显示体系结构信息

体系结构信息, 狭义上指CPU架构(x86…), 广义上指 软件+硬件的体系结构

uname -a

在这里插入图片描述

26. 其他一些获取系统信息的指令

cat /etc/redhat-release 商业化发行版

在这里插入图片描述

cat /proc/cpuinfo CPU信息

在这里插入图片描述

cat /proc/meminfo 内存信息

在这里插入图片描述

27. 重要的几个热键

[TAB] 按键—具有[命令补全]和[档案补齐]的功能
[Ctrl]-c 按键—让当前的程序[停掉]
[Ctrl]-d 按键—[键盘输入结束(EOF)]或者exit
[history]查看历史输入的命令

28. 扩展命令

◆ 安装和登录命令: login、 shutdown、 halt、 reboot、 install、 mount、 umount、 chsh、 exit、 last;
◆ 文件处理命令: file、 mkdir、 grep、 dd、 find、 mv、 ls、 diff、 cat、 ln;
◆ 系统管理相关命令: df、 top、 free、 quota、 at、 lp、 adduser、 groupadd、 kill、 crontab;
◆ 网络操作命令: ifconfig、 ip、 ping、 netstat、 telnet、 ftp、 route、 rlogin、 rcp、 finger、 mail、 nslookup;
◆ 系统安全相关命令: passwd、 su、 umask、 chgrp、 chmod、 chown、 chattr、 sudo ps、 who;
◆ 其它命令: tar、 unzip、 gunzip、 unarj、 mtools、 man、 unendcode、 uudecode。

本章完.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/145697.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

No204.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

Linux--gdb的使用

文章目录 release版本和Debug版本GDB一般步骤常用命令 release版本和Debug版本 Release版本&#xff1a;该版本用于发布的最终产品版本。它会进行各种优化&#xff0c;以提高代码的执行效率和运行速度。编译时通常会选择较高的优化级别&#xff0c;此外&#xff0c;该版本还会进…

【C++初阶(八)】C/C++内存管理详解

本专栏内容为&#xff1a;C学习专栏&#xff0c;分为初阶和进阶两部分。 通过本专栏的深入学习&#xff0c;你可以了解并掌握C。 &#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;C &#x1f69a;代码仓库&#xff1a;小小unicorn的代码仓库&…

黑马点评回顾 redis实现共享session

文章目录 传统session缺点整体访问流程代码实现生成验证码登录 问题具体思路 传统session缺点 传统单体项目一般是把session存入tomcat&#xff0c;但是每个tomcat中都有一份属于自己的session,假设用户第一次访问第一台tomcat&#xff0c;并且把自己的信息存放到第一台服务器…

typhonjs-escomplex 代码可读性 可维护度探索

目前市面上的前端代码质量评分中的代码可维护度是大都是基于 typhonjs-escomplex 这个库扫描而来&#xff0c;但是这个库的官方文档并没有介绍相关指标数据的计算规则&#xff0c;不知道规则如何提升指标数据呢&#xff1f;所以本文对 typhonjs-escomplex 源码进行探索&#xf…

Linux操作系统使用及C高级编程-D5Linux shell命令(进程管理、用户管理)

进程管理 查看进程ps 其中ps -eif可显示父进程 实时查看进程top 按q退出 树状图显示进程pstree 以父进程&#xff0c;子进程以树状形式展示 发送信号kill kill -l&#xff1a;查看都有哪些信号 9&#xff1a;进程终止 kill不指定信号&#xff0c;默认发送的是15信号SIGT…

接口自动化测试,必须要掌握post提交数据的这4种方式

我们都知道POST一般用于向服务端提交数据&#xff0c;POST提交数据的4种格式即Content-Type的4种形式&#xff0c;尤其注意每种格式中http发送请求时body中数据的格式。4种形式分别是&#xff1a; 一、application/x-www-form-urlencoded&#xff1a;URL encoded。 二、multi…

【C++】:STL——标准模板库介绍 || string类

&#x1f4da;1.什么是STL STL(standard template libaray-标准模板库)&#xff1a;是C标准库的重要组成部分&#xff0c;不仅是一个可复用的组件库&#xff0c;而且 是一个包罗数据结构与算法的软件框架 &#x1f4da;2.STL的版本 原始版本 Alexander Stepanov、Meng Lee 在…

Linux--makefile

一、makefile的作用 makefile是一个文件&#xff0c;是围绕依赖关系和依赖方法的自动化编译工具 一个工程中的源文件有很多&#xff0c;按照不同的类型、功能、模块放在不同的目录中。而makefile定义了一系列的规则来指定&#xff0c;那些文件需要先编译&#xff0c;那些文件…

[文件读取]Druid 任意文件读取 (CVE-2021-36749)

1.1漏洞描述 漏洞编号CVE-2021-36749漏洞类型文件读取漏洞等级⭐⭐⭐漏洞环境VULFOCUS攻击方式 描述: 由于用户指定 HTTP InputSource 没有做出限制&#xff0c;可以通过将文件 URL 传递给 HTTP InputSource 来绕过应用程序级别的限制。攻击者可利用该漏洞在未授权情况下&…

Android设计模式--原型模式

一&#xff0c;定义 原型模式就是用原型实例指定创建对象的种类&#xff0c;并通过拷贝这些原型创建新的对象 也就是说用户从一个实例中复制出一个内部属性一致的对象&#xff0c;这个被复制的对象就是原型。 原型模式多用于创建复杂的或者构造耗时的实例&#xff0c;因为这…

6-8.4V输入 双节锂电输入 输出19V 1.5-2A 外置MOS 大电流升压芯片

6-8.4V输入 双节锂电输入 输出19V 1.5-2A 外置MOS 大电流升压芯片

C++:OJ练习(每日练习!)

编程题&#xff1a; 题一&#xff1a;计算日期到天数的转换 计算日期到天数转换_牛客题霸_牛客网 (nowcoder.com) 示例1 输入&#xff1a; 2012 12 31 输出&#xff1a; 366 思路一&#xff1a; 第一步&#xff1a;创建年&#xff0c;月&#xff0c;日的变量&#xff0c;并按…

如何正确使用 JavaScript 中的 slice() 方法

在 JavaScript 中&#xff0c;slice() 是一个常用的数组方法&#xff0c;用于从现有数组中提取一部分元素&#xff0c;然后返回一个新的数组。它是一个非常有用的工具&#xff0c;可以帮助你在不改变原始数组的情况下操作数组的子集。本文将介绍 slice() 的基本概念、使用方法、…

阿里云+宝塔部署项目(Java+React)

阿里云服务器宝塔面板部署项目&#xff08;SpringBoot React&#xff09; 1. 上传所需的文件到服务器 比如jdk包和java项目的jar&#xff1a;这里以上传jar 为例&#xff0c;创建文件夹&#xff0c;上传文件&#xff1b; 在创建的文件夹下上传jar包 上传jdk 2. 配置jdk环境 3.…

No201.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

【游戏开发算法每日一记】使用随机prime算法生成错综复杂效果的迷宫(C#,C++和Unity版)

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…

java实现选择排序

算法步骤 首先在未排序序列中找到最小&#xff08;大&#xff09;元素&#xff0c;存放到排序序列的起始位置再从剩余未排序元素中继续寻找最小&#xff08;大&#xff09;元素&#xff0c;然后放到已排序序列的末尾。重复第二步&#xff0c;直到所有元素均排序完毕。 动图演…

【Linux网络】ssh服务与配置,实现安全的密钥对免密登录

目录 一、SSH基础 1、什么是ssh服务器 2、对比一下ssh协议与telnet协议 3、常见的底层为ssh协议的软件&#xff1a; 4、拓展 二、SSH软件学习 1、ssh服务软件学习 2、sshd公钥传输的原理&#xff1a; 3、ssh命令学习&#xff1a; 4、学习解读sshd服务配置文件&#x…

自定义Matplotlib中的颜色映射(cmap)

要自定义Matplotlib中的颜色映射&#xff08;cmap&#xff09;&#xff0c;您可以按照以下步骤进行操作&#xff1a; 导入所需的库&#xff1a; import numpy as np import matplotlib.pyplot as plt from matplotlib.colors import LinearSegmentedColormap创建自定义颜色映…