Linux命令基本用法

news2024/11/28 7:43:57

1.用户相关命令

1.账号管理

命令作用
useradd添加用户
passwd设置密码
usermod修改用户
userdel删除用户
su切换用户

例:

[root@localhost ~]# useradd aaa
[root@localhost ~]# su aaa
[aaa@localhost root]$ su root
密码:
[root@localhost ~]# passwd aaa
更改用户 aaa 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# usermod
用法:usermod [选项] 登录

选项:
  -c, --comment 注释            GECOS 字段的新值
  -d, --home HOME_DIR           用户的新主目录
  -e, --expiredate EXPIRE_DATE  设定帐户过期的日期为 EXPIRE_DATE
  -f, --inactive INACTIVE       过期 INACTIVE 天数后,设定密码为失效状态
  -g, --gid GROUP               强制使用 GROUP 为新主组
  -G, --groups GROUPS           新的附加组列表 GROUPS
  -a, --append GROUP            将用户追加至上边 -G 中提到的附加组中,
                                并不从其它组中删除此用户
  -h, --help                    显示此帮助信息并推出
  -l, --login LOGIN             新的登录名称
  -L, --lock                    锁定用户帐号
  -m, --move-home               将家目录内容移至新位置 (仅于 -d 一起使用)
  -o, --non-unique              允许使用重复的(非唯一的) UID
  -p, --password PASSWORD       将加密过的密码 (PASSWORD) 设为新密码
  -R, --root CHROOT_DIR         chroot 到的目录
  -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files
  -s, --shell SHELL             该用户帐号的新登录 shell
  -u, --uid UID                 用户帐号的新 UID
  -U, --unlock                  解锁用户帐号
  -v, --add-subuids FIRST-LAST  add range of subordinate uids
  -V, --del-subuids FIRST-LAST  remove range of subordinate uids
  -w, --add-subgids FIRST-LAST  add range of subordinate gids
  -W, --del-subgids FIRST-LAST  remove range of subordinate gids
  -Z, --selinux-user  SEUSER       用户账户的新 SELinux 用户映射

[root@localhost ~]# usermod -l ljb aaa
usermod: user aaa is currently used by process 3142
[root@localhost ~]# exit
[aaa@localhost root]$ exit
[root@localhost ~]# exit
[aaa@localhost root]$ exit
[root@localhost ~]# exit
[aaa@localhost root]$ exit
[root@localhost ~]# 登出

此时已全部退出需重新连接

[root@localhost ~]# usermod -l ljb aaa
[root@localhost ~]# su aaa
su: user aaa does not exist
[root@localhost ~]# su ljb
[ljb@localhost root]$ 
[ljb@localhost root]$ su root
密码:
[root@localhost ~]# userdel
用法:userdel [选项] 登录

选项:
  -f, --force                   force some actions that would fail otherwise
                                e.g. removal of user still logged in
                                or files, even if not owned by the user
  -h, --help                    显示此帮助信息并推出
  -r, --remove                  删除主目录和邮件池
  -R, --root CHROOT_DIR         chroot 到的目录
  -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files
  -Z, --selinux-user            为用户删除所有的 SELinux 用户映射

[root@localhost ~]# userdel -r -f ljb
userdel: user ljb is currently used by process 3616
[root@localhost ~]# su ljb
su: user ljb does not exist

2.用户组

命令作用
groupadd添加用户组
groupmod修改用户组
groups查询用户所属组
groupdel删除用户组
gpasswd添加删除组成员
newgrp改变有效组

例:

[root@localhost ~]# groupadd kaifa
[root@localhost ~]# groupmod
用法:groupmod [选项] 组

选项:
  -g, --gid GID                 将组 ID 改为 GID
  -h, --help                    显示此帮助信息并推出
  -n, --new-name NEW_GROUP      改名为 NEW_GROUP
  -o, --non-unique              允许使用重复的 GID
  -p, --password PASSWORD       将密码更改为(加密过的) PASSWORD
  -R, --root CHROOT_DIR         chroot 到的目录
  -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files

[root@localhost ~]# groupmod -n kaifazu kaifa
[root@localhost ~]# groups itcast
itcast : itcast wheel

[root@localhost ~]# groupdel kaifazu
[root@localhost ~]# groupadd kaifa
[root@localhost ~]# useradd user1
[root@localhost ~]# useradd user2
[root@localhost ~]# useradd user3
[root@localhost ~]# gpasswd
用法:gpasswd [选项] 组

选项:
  -a, --add USER                向组 GROUP 中添加用户 USER
  -d, --delete USER             从组 GROUP 中添加或删除用户
  -h, --help                    显示此帮助信息并推出
  -Q, --root CHROOT_DIR         要 chroot 进的目录
  -r, --delete-password         remove the GROUP's password
  -R, --restrict                向其成员限制访问组 GROUP
  -M, --members USER,...        设置组 GROUP 的成员列表
  -A, --administrators ADMIN,...        设置组的管理员列表
除非使用 -A 或 -M 选项,不能结合使用这些选项。
[root@localhost ~]# gpasswd -a user1 kaifa
正在将用户“user1”加入到“kaifa”组中
[root@localhost ~]# gpasswd -a user2 kaifa
正在将用户“user2”加入到“kaifa”组中
[root@localhost ~]# gpasswd -a user3 kaifa
正在将用户“user3”加入到“kaifa”组中
[root@localhost ~]# grep 'kaifa' /etc/group
kaifa:x:1002:user1,user2,user3

2.系统管理相关命令 

日期管理

date

-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号

-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号

-u:显示GMT

--help:在线帮助

--version:显示版本信息

[root@localhost ~]# date
2023年 08月 21日 星期一 15:23:45 CST
[root@localhost ~]# date -d "2020-12-12 11:11:11"
2020年 12月 12日 星期六 11:11:11 CST
[root@localhost ~]# date --help

显示用户 

logname[--help][--version]

[root@localhost ~]# logname
root

切换用户 

su [user]

id命令

id [-g][--help][--version][用户名称]

sudo命令

sudo[参数选项] 提高普通用户的操作权限

[itcast@localhost root]$ id
uid=1000(itcast) gid=1000(itcast) 组=1000(itcast),10(wheel) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[itcast@localhost root]$ sudo ls
[sudo] itcast 的密码:
anaconda-ks.cfg       公共  视频  文档  音乐
initial-setup-ks.cfg  模板  图片  下载  桌面

3.进程项命令

top的命令

top[-][d delay][q][c][S][s][i][n][b]  实时显示process的动态

top  实时显示所有的进程信息

top -c  实时显示所有的进程信息(显示完整命令)

top -p PID  实时显示指定进程的信息

结束监控快捷键:q

ps命令

ps[options][--help]  查看进程信息(无法实时监控,只能获取当前时刻的进程信息)

ps  显示当前正在运行的进程信息

ps -A  显示系统中生源地进程信息

ps -ef  显示系统中生源地进程信息(完整信息)

ps -u 用户名  显示指定用户的进程信息

kill命令

kill[-s<信息名称或编号>][程序]  中断执行中的程序

kill[-l<信息编号>]

kill 进程 PID  杀死指定进程

kill -9 进程PID  彻底杀死指定进程

kill -9 $(ps -ef|grep 用户名)  杀死指定用户所有进程

killall -u 用户名  杀死指定用户所有进程

4.关机和重启命令

shutdown命令

shutdown [-t seconds][-rkhncfF]time[message]  关机


shutdown  不同版本有所差异

shutdown -h now  立马关机

shutdown +1 “警告信息”  一分钟再关机,并出现警告信息

shutdown -r +1 “警告信息”  一分钟再重启,并出现警告信息

shutdown -c  取消当前关机操作

reboot [-n][-w][-d][-f][-i]  重启

reboot  立马重启 

5.系统管理的其他命令 

who命令

who -[husfV][user]  显示当前登录系统的用户

timedatectl命令

timedatectl  校正服务器时间,时区

timedatectl status  显示系统的当前时间和日期

timedatectl list-timezones  看查所有可用的时区

timedatectl set-timezone"Asia/Shanghai"  设置本地时区

timedatectl set-ntp false  禁用时间同步

timedatectl set-time “2023-8-24 20:58:00”  设置时间

timedatectl set-ntp true  启用时间同步

clear命令

clear  清除屏幕

6.目录管理

ls命令

ls [参数选项] 目录名称  列出目录里的内容

ls  显示不隐藏的文件与文件夹

ls -l  显示不隐藏的文件与文件夹的详细信息

ls -al  显示所有文件与文件夹的详细信息

pwd命令

pwd -P  查看当前所在目录

cd命令

cd[相对路径或绝对路径]  切换目录
 

 cd 路径  切换目录

mkdir命令

mkdir [-p] 文件夹的名字  创建目录

mkdir 文件夹名  创建目录

mkdir -p aaa/bbb  创建多级目录

rmdir命令

rmdir [-p] 文件夹名  删除空的目录

rmdir 文件名  删除目录

rmdir -p bbb/ccc  删除ccc,如果删除完bbb是空的bbb也一起删除

rm命令

rm[选项] 文件/目录  删除文件或者目录

rm 文件路径  删除文件

rm -r 目录路径  删除目录和目录里面所有的内容

cp命令

cp [选项] 数据源 目的地   文件复制

cp aaa/a.txt ccc  将aaa文件夹中的a.txt文件拷贝到ccc文件中

cp -r aaa/*ccc  将aaa文件夹中所有内容拷贝到ccc文件夹中

mv命令

mv [选项] 数据源 目的地    改名/移动文件或文件夹

mv 数据源 目的地   改名/移动

附:Linux文件基本属性 

 

7.更改属主和属组

chgrp命令

chgrp [选项参数][所属群组][文件或目录...]     更改属组

chgrp [选项参数][--reference=<参考文件或目录>][--version][文件或目录...]

chgrp -v root aaa   将aaa的属组改为root

chown命令

chown 属主名 文件名      更改属主

chown [参数选项] 属主名 : 属组名 文件名      更改属主和属组

chown root aaa     将aaa的属主改为roo

chown root:root bbb     将bbb的属主和属组改为root

chown -R root:root aaa     将aaa文件夹和里面所有的属主和属组改为root

8.更改权限

chmod命令

作用:修改属主,属组,其他用户的权限

修改方式:数字方式,符号方式

数字权限

chmod [参数选项] 数字权限 文件或目录

符号权限:

chmod [参数选项] 符号权限 文件或目录

user  属主权限  -->  u

group    属组权限  -->  g

others   其他权限  -->  o

全部身份   -->   a

9.文件管理

touch命令

touch [参数选项] 文件名        如果文件不存在就创建文件,如果存在就修改时间属性

touch a.txt    不存在就创建,存在就修改时间属性

touch a{1..10).txt (两个点)   批量创建空文件

star a.txt    查看文件的详细信息

vi/vim编辑器

vi:

只能是编辑文本内容,不能对字体,段落进行排版

不支持鼠标操作

没有菜单

只有命令

vim:

是从vi发展出来的一个文本编辑器

代码补全,编译及错误跳转等方便编程的功能特别丰富

vi/vim三种模式

打开和新建文件

vim 文件名    如果文件已经存在,会直接打开该文件 / 如果文件不存在,打开一个临时文件,在保存且退出后,就会新建一个文件 

进入编辑模式

进入末行模式保存文件 

:q    当vim进入文件没有对文件内容做任何操作可以按"q"退出

:q!    当vim进入文件对文件内容有操作但不想保存退出

:wq    正常保存退出

:wq!    强行保存退出

10.文件查看

命令功能
cat 文件名看查小文件内容
less -N 文件名分屏显示大文件内容
head -n 文件名看查文件的前一部分
tail -n 文件名看查文件的最后一部分
grep 关键字 文件名根据关键字搜索文本文件内容

cat命令

cat [参数选项] 文件    查看小型文件

cat a.txt    查看a.txt的内容

cat -n a.txt    查看a.txt的内容(加入行号)

less命令

less a.txt    看查a.txt的内容

less -N a.txt    看查a.txt的内容(加入行号)

注:q键退出

tail命令

tail [参数选项] 文件    查看文件的最后部分

tali -3 big.txt        显示文件最后3行

tail -f big.txt        动态显示最后10行

tail -4f big.txt    动态显示最后4行

tail -n +2 big.txt    显示文件a.txt的内容,从第2行至文件末尾

tail -c 45 big.txt    显示最后一些字符

head命令

head [参数选项] 文件    查看文件的前一部分

grep命令

grep [参数选项] 关键字 文件    根据关键词,搜索文本文件内容

grep 关键字 small.txt        把包含关键字的行展示出来

grep -n 关键字 small.txt        把包含关键字的行展示出来且加上行号

grep -i 关键字 small.txt        把包含关键字的行展示出来,搜索时忽略大小写

grep -v 关键字 small.txt        把不包含关键字的行展示出来

ps -ef | grep 关键字        查找指定的进程信息,包含grep进程

ps -ef | grep 关键字 | grep -v "grep"        查找指定的进程信息,不包含grep进程

ps -ef|grep -c sshd        查找进程个数

vim定位行

vim 文件名+行数        查看文件并定位到具体行数

vim异常处理

如果vim异常退出,在磁盘上可能会保存有交换文件

删除 .swp文件(rm -r -f .xxx.swp)

echo命令

echo 字符串        展示文本

echo 字符串 > 文件名        将字符串写到文件中(覆盖文件中内容)

echo 字符串 >> 文件名        将字符串写到文件中(不覆盖文件中内容)

cat 不存在的目录 &>> error.log        将命令的失败结构追加error.log文件的后面

11.awk语法

AWK是一种处理文本文件的语言,是一个强大的文本分析工具

过滤和切割

计算

 

软连接

因为某些文件和目录的路径很深,所以需要增加软连接(快捷方式)

ln -s 目标文件路径 快捷方式路径

find命令(查找) 

fing [参数选项] <指定目录> <指定条件> <指定内容>        在指定目录下查找文件

12.压缩命令

gzip命令

gzip [参数选项] [文件]        压缩文件

gzip a.txt        压缩文件

gzip *        压缩当前目录下所有文件

gzip dv*        解压文件并列出详细信息

gunzip命令

gzip [参数选项] [文件]        解压文件

gunzip 压缩文件        解压

tar命令

tar[必要参数] [选择参数] [文件]        打包,压缩和解压(文件/文件夹)

注意:tar本身不具有压缩功能,他是调用压缩功能实现的

tar -cvf 打包文件名 文件名            打包文件并指定打包之后的文件名(仅打包不压缩)

tar -zcvf 压缩文件名 文件名/文件夹名        压缩文件或者文件夹并指定压缩文件名(打包压缩)

tar -ztvf 压缩文件名        看查压缩文件中有哪些文件

tar -zxvf 压缩文件名        压缩

zip文件

zip [必要参数] [选择参数] [文件]        压缩

注意:zip是个使用广泛的压缩文件,文件经它压缩后会另外产生具有“.zip”扩展名的压缩文件

zip -q -r 压缩文件名 文件/文件夹        压缩

unzip命令

unzip [必要参数] [选择参数] [文件]        解压

注意:解压“.zip”扩展名的压缩文件

unzip -l 压缩文件名        查看这个压缩文件中有多少内容

unzip -d 指定文件夹 压缩文件        解压

bzip2命令

bzip2 [参数选项] 文件        压缩

注意:使用新的压缩算法,压缩后的文件比原来的要小,但是花费的时间边长

bzip2 a.txt        压缩

bunzip2命令

bunzip2 [参数选项] 文件        解压

bunzip2 -v a.bz2        解压并显示详细信息

13.网络管理

ifconfig命令

ifconfig [参数选项]        显示或者配置网络设备的命令

ifconfig        显示激活的网卡信息

ifconfig ens37 down        关闭网卡

ifconfig ens37 up        启动网卡

ifconfig ens37 192.168.23.199        配置ip地址

ifconfig ens37 192.168.23.133 netmask 255.255.255.0        配置ip地址和子网掩码

ping命令

ping [参数选项]        检测是否与主机连通

ping www.baidu.com        检测是否与百度连通

ping -c 2 www.baidu.com        指定接收包的次数

netstat命令

netstat [参数选项]        显示网络状态

netstat -a        显示详细的连接状况

netstat -i        显示网卡列表

14.磁盘管理

lsblk命令

lsblk [参数选项]        列出硬盘的使用情况

理解为:list block的英文缩写

lsblk        列出硬盘的使用情况

lsblk -f        显示系统信息

df命令

df [参数选项]        显示目前在Linux系统上,硬盘的使用情况

df        显示整个硬盘使用情况

df 文件夹        显示文件夹使用情况

df -total        显示所有的信息

df -h        将结果变成KB,MB,GB形式展示,利于阅读

mount命令

为u盘分配一个挂载点叫挂载

解除文件夹与优盘的关系叫卸载

mount [参数选项] 目录        用于挂载Linux系统外的设备

注意:“挂载点”的目录需要以下几个需求

目录事先存在,可以用mkdir命令新建目录

挂载点目录不可被其他进程使用到

挂载点下原有文件将被隐藏

mkdir 文件夹        创建文件夹(也是创建一个挂载点)

mount -t auto/dev/cdrom 文件夹        开始挂载

umount 文件夹        卸载

yum

在linux中,如果我们想要查找,安装,下载或者卸载另外的软件,就需要yum来进行操作

yum -y install tree        安装tree

tree        执行tree,展示当前目录结构

yum remove tree        移除tree

yum list tom*        找出以tom为开头的软件名称

更改yum源

yum install -y wget        安装下载工具wget

wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo        下载阿里云的Centos-7.repo文件

yum clean all        清理之前的缓存,并重新加载yum

yum makecache        建立一个缓存文件

yum search tomcat        查找软件,验证阿里云的yum源是否可以正常使用

yum与rpm的区别

rpm只能安装已经下载到本地机器上的rpm包

yum能在线下载并安装rpm包,能更新系统,且还能自动处理包与包之间的依赖问题,这是rpm工具所不具备的

15.shell

1.shell概述

在计算机科学中,shell就是一个命令解释器

shell是位于操作系统和应用程序之间的,是他们二者最主要的接口

shell负责把应用程序的输入命令信息解释给操作系统,将操作系统指令处理后的结构解释给应用程序

shell就是在操作系统和应用程序之间的一个命令翻译工具 

shell的使用方式

手工方式

    手工敲击键盘,直接输入命令,按Enter后

    执行命令,显示命令执行的结果

重点:逐行输入命令,逐行进行确认执行

脚本方式

    我们把手工执行的命令,写到一个文件中,然后运行这个文件,达到执行命令的效果

    这个文件就叫做脚本文件

2.编写第一个shell脚本

新建一个文件后缀名为sh

书写内容

执行

3.shell注释

单行注释

多行注释

注:字符大多用!

3.shell变量

1.普通变量

方式一

    变量名=变量值        变量必须是一个整体,中间没有特殊字符

方式二

    变量名='变量值'        单引号中的内容,原样赋值

方式三

    变量名="变量值"        如果双引号里面有其他变量,会把变量的结果拼接,然后赋值

命令变量

方式一

    变量名=`命令`        注意:`是反引号

方式二

    变量名=$(命令)        

执行流程:1.执行`或者$()范围内的命令 2.将命令执行后的结果,赋值给变量

2.使用变量

方式一

    $变量名        非标准写法,图省事

方式二

    "$变量名"        非标准写法,图省事

方式三

    ${变量名}        在双引号里面要使用变量的值

方式四

    "${变量名}"        标准使用方式

3.只读变量

readonly 变量名

4.删除变量

unset 变量名

4.shell数组

定义数组

数组名={值1 值2 ... 值n}        arr={1 2 3 4 5}

给数组的元素赋值

数组名[索引]=值        arr[0]=1

获取元素

${数组名[下标]}        ${arr[0]}

获取长度

${#数组名[*]}        ${#arr[*]}

${#数组名[@]}        ${#arr[@]}    

例:

5.shell算数运算符

运算符说明举例
+加法expr $a + $b
-减法expr $a - $b
*乘法expr $a \* $b
/除法expr $a / $b
%取余expr $a % $b
=赋值a=$b 将把变量b的值赋给a
++ / --自增,自减

((a++))  

注意点:

1.原生的bash不支持简单的数学运算。可以通过其他命令实现 .expr

2.表达式和运算符之间要有空格

3.完整的表达式要被反引号包含

例: `expr 2 + 2`

6.字符串运算符

运算符说明举例
=检测两个字符串是否相等,相等返回true[ $a = $b ]
!=检测两个字符串是否不相等,不相等返回true[ $a != $b ]
-z检测字符串长度是否为0,为0返回true[ -z $a ]
-n检测字符串长度是否不为0,不为0返回true[ -n "$a" ]
$检测字符串是否为空,不为空返回true[ $a ]

注:方括号内前后都要有空格

 

7.关系运算符

关系运算符只支持数字,不支持字符串,除非字符串的值是数字

运算符说明举例
-eq (equals)

检测两个数是否相等,相等返回true

[ $a -eq $b ]
-ne (not equals)检测两个数是否不相等,不相等返回true[ $a -ne $b ]
-gt (greater than)检测左边的数是否大于右边的,如果是,则返回true[ $a -ge $b ]
-lt (less than)检测左边的数是否小于右边的,如果是,则返回true[ $a -lt $b ]
-ge (greater equals)检测左边的数是否大于等于右边的,如果是,则返回true[ $a -ge $b ]
-le (less equals)检测左边的数是否小于等于右边的,如果是,则返回true

[ $a -le $b ]

8.shell布尔运算符

运算符说明举例
!取反运算[ !false ] 返回true
-o (or)或运算,有一个表达式为true则返回true[ $a -lt 20 -o $b -gt 100]
-a (and)与运算,两个表达式都为true才返回true[ $a -lt 20 -a $b -gt 100]

 

9.shell逻辑运算符

运算符说明举例
&&逻辑的AND[[ true && true ]] 返回true
||逻辑的OR

[[ false || false ]] 返回false

10.shell判断语句

 

11.shell选择语句

12.shell循环语句

for循环

while循环

13.shell函数 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DynamicIPAccess.java

package webspider_20230929_paypal;import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL;/*** 动态IP访问** author ZengWenFeng* date 2023.10.08* email 117791303qq.com* mobile 13805029595*/ pub…

CDN,DNS,ADN,SCDN,DCDN,ECDN,PCDN,融合CDN的介绍

一、CDN是什么&#xff1f; CDN的全称是Content Delivery Network&#xff0c;即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节&#xff0c;使内容传输得更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之…

【List-Watch】

List-Watch 一、定义二、工作机制三、调度过程 一、定义 Kubernetes 是通过 List-Watch 的机制进行每个组件的协作&#xff0c;保持数据同步的&#xff0c;每个组件之间的设计实现了解耦。 用户是通过 kubectl 根据配置文件&#xff0c;向 APIServer 发送命令&#xff0c;在 …

Acwing.788 逆序对的数量

题目 给定一个长度为n的整数数列&#xff0c;请你计算数列中的逆序对的数量。 逆序对的定义如下:对于数列的第i个和第j个元素&#xff0c;如果满i<j且ali]>ali]&#xff0c;则其为一个逆序对;否则不是. 输入格式 第一行包含整数n&#xff0c;表示数列的长度。 第二行包…

Redis学习(九)SpringBoot实现(Pub/Sub)发布订阅

目录 一、背景二、Redis的发布订阅2.1 订阅单个频道常用命令 2.2 按规则&#xff08;Pattern&#xff09;订阅频道2.3 不推荐使用的原因 三、SpringBoot实现发布订阅3.1 RedisUtil.java 发布类1&#xff09;MessageDTO.java 实体类2&#xff09;发布测试 3.2 订阅实现方式一&am…

day10.8ubentu流水灯

流水灯 .text .global _start _start: 1.设置GPIOE寄存器的时钟使能 RCC_MP_AHB4ENSETR[4]->1 0x50000a28LDR R0,0X50000A28LDR R1,[R0] 从r0为起始地址的4字节数据取出放在R1ORR R1,R1,#(0x1<<4) 第4位设置为1STR R1,[R0] 写回2.设置PE10管脚为输出模式 G…

C#LINQ

LINQ&#xff08;Language Integrated Query )语言集成查询&#xff0c;是一组用于C#和VB语言的拓展&#xff0c;它允许VB或者C#代码以操作内存数据的方式&#xff0c;查询数据库。 LINQ使用的优点&#xff1a; 无需复杂学习过程即可上手。编写更少代码即可创建完整应用。更快…

okhttp4.11源码分析

目录 一&#xff0c;OKHTTP时序图 二&#xff0c;OKHTTP类图 三&#xff0c;OKHTTP流程图 一&#xff0c;OKHTTP时序图 上图是整个okhttp一次完整的请求过程&#xff0c;时序图里面有些部分为了方便采用了简单的描述&#xff0c;描述了主要的流程&#xff0c;细节的话&#…

数据结构之堆,栈的实现

首先我们分析由于只需要尾进尾出&#xff0c;用数组模拟更简单。 实现的功能如上图。 top可以表示栈中元素个数。 capacity表示栈的容量。 首先是堆的初始化 再就是栈的插入和删除 然后实现显示栈顶元素 大小和检测是否为空的实现 销毁栈的实现&#xff08;防止内存泄露&…

【无标题】Delayed延迟队列不工作

背景 项目中使用java 自带的延迟队列Delayed&#xff0c;只有添加进队列的消息&#xff0c;并没有被消费到 版本 jdk1.8 问题原因 上一个消费队列出现异常并且没有捕获&#xff0c;下一个队列就没有进行消费 复现代码 没有抛异常的情况下 package com.ccb.core.config.…

10.8c++作业

#include <iostream>using namespace std; class Rect {int width; //宽int height; //高 public://初始化函数void init(int w,int h){widthw;heighth;}//更改宽度void set_w(int w){widthw;}//更改高度void set_h(int h){heighth;}//输出矩形周长和面积void show(){co…

2023年铷铁硼行业分析:低端供应过剩,高性能材料供应不足[图]

铷铁硼材料是一种Fe基磁性材料&#xff0c;主要由钕铁硼按一定比例组成的四方晶体结构&#xff0c;其中Fe元素约占总质量的三分之二&#xff0c;Nd元素约占总量的三分之一&#xff0c;而B等含量最少&#xff0c;约占1%。铷铁硼是现今磁性最强的永久磁铁&#xff0c;也是最常使用…

波奇学C++:用红黑树模拟实现map和set

用同一个树的类模板封装map(key/value)和set(key) 红黑树的Node template<class T> struct RBTreeNode {RBTreeNode<T>* _left;RBTreeNode<T>* _right;RBTreeNode<T>* _parent;T _data;Colour _col;RBTreeNode(const T& data):_left(nullptr),_r…

python工具-内存采集展示

1. 查看某个进程的内存占用 1. 查看某个进程的内存占用 1.1. 采集1.2. 分析 1.1. 采集 下边内存保存为 cat-memory.sh 脚本文件&#xff0c;赋予可执行权限执行 ./cat-memory.sh pid 会生成 pid.txt #!/bin/bashprocess$1 out$1.txt pid$1echo 时间 内存(KB) >> $ou…

复旦大学EMBA:揭秘科创企业,领略未来战略!

智能制造&#xff0c;国之重器。作为制造强国建设的主攻方向&#xff0c;智能制造的发展水平关系到我国未来制造业在全球的地位与影响力。发展智能制造&#xff0c;是加快建设现代化产业体系的重要手段&#xff0c;提升供给体系适配性的有力抓手&#xff0c;也是建设数字中国的…

E. Monsters

Problem - 1810E - Codeforces 思路&#xff1a;我们总结一下题意&#xff0c;能够得到这个题其实就是让我们从某个0开始搜索&#xff0c;然后看看是否可以遍历所有得节点&#xff0c;那么如果采用暴力得话那就是n^2logn&#xff0c;因为我们遍历一次使用优先队列得话是nlogn的…

Stm32_标准库_8_ADC_光敏传感器_测量具体光照强度

ADC简介 测量方式 采用二分法比较数据 IO通道 ADC基本结构及配置路线 获取数字变量需要用到用到光敏电阻的AO口&#xff0c;AO端口接在PA0引脚即可 测得的模拟数据与实际光照强度之间的关系为 光照强度 100 - 模拟量 / 40;代码&#xff1a; 完整朴素代码&#xff1a; #in…

Mysql存储-EAV模式

Mysql存储-EAV模式 最近又又又搞一点新东西&#xff0c;要整合不同业务进行存储和查询&#xff0c;一波学习过后总结了一下可扩展性MAX的eav模式存储。 在eav这里的数据结构设计尤为关键&#xff0c;需要充分考虑你需要使用的字段、使用场景&#xff0c;当数据结构设计完成后便…

skywalking功能介绍

服务 服务信息 请求接口后查看skywalking&#xff0c;可以看到有一个请求&#xff0c;响应时间为1852ms&#xff0c;性能指数Apdex为0.5。 详细表盘 点进应用可以看到表盘 可以看到显示有一个slow endpoints&#xff0c;就是我请求的这个接口。 JVM信息 也可以看到JVM信息。…

点餐小程序实战教程06-首页开发

用户注册功能开发好了之后&#xff0c;我们就要开发小程序&#xff0c;首先我们是规划小程序的功能模块&#xff0c;我们一共是四个模块&#xff0c;分别是首页、订单、消息和我的。 首页我们主要是点餐的功能&#xff0c;可以选择菜品&#xff0c;加入到购物车&#xff0c;然…