云计算 2月21号 (linux文件及用户管理)

一、文件管理
1.1快捷键
编辑命令:
Ctrl + a  :移到命令行首
Ctrl + e  :移到命令行尾
Ctrl + u  :从光标处删除至命令行首
Ctrl + k  :从光标处删除至命令行尾
Ctrl + w :从光标处删除至字首
Ctrl + d :删除光标处的字符
Ctrl + h :删除光标前的字符
​
重新执行命令:
Ctrl + p:历史中的上一条命令
ESC + .:打印之前执行过的命令的最后一部分  以空格为分隔符
​
控制命令:
Ctrl + l:清屏
Ctrl + c:终止命令
​
Tab键: 自动补全
1.2历史命令

上下箭头

history

ctrl + r

!命令行号

1.3Linux目录结构
在linux系统中一切皆文件
2. WINDOWS/LINUX 对比

Windows: 以多根的方式组织文件 C:\ D:\ E:\

Linux: 以单根的方式组织文件"/"

2.2 简介
/目录结构:
FSH (Filesystem Hierarchy Standard):标准的目录结构
[root@qfedu ~]# ls /
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr
2.2.1 图示

2.2.2 目录功能
bin 普通用户使用的命令 /bin/ls, /bin/date
sbin 管理员使用的命令 /sbin/service 
案例:
[root@qfedu ~]# which ls
[root@qfedu ~]# which useradd
/usr/sbin/useradd
​
dev 设备文件 /dev/sda,/dev/sda1
[root@qfedu ~]# ll /dev/sd*
brw-rw----. 1 root disk 8, 0 Oct 31 14:16 /dev/sda
brw-rw----. 1 root disk 8, 1 Oct 31 14:16 /dev/sda1
brw-rw----. 1 root disk 8, 2 Oct 31 14:16 /dev/sda2
​
目录介绍:
/root  #root用户的家目录
/home  #存储普通用户家目录 
lost+found 这个目录平时是空的,存储系统非正常关机而留下“无家可归”
的文件
/usr                #系统文件,相当于C:\Windows
/usr/local          #软件安装的目录,相当于C:\Program
/usr/bin            #普通用户使用的应用程序
/usr/sbin           #管理员使用的应用程序
/usr/lib            #库文件Glibc 32bit
/usr/lib64          #库文件Glibc 64bit
/boot               #存放的系统启动相关的文件,例如kernel
/etc                #配置文件(系统相关如网络/etc/sysconfig/network)
/tmp                #临时文件(系统:程序产生的临时文件)
/opt                #空目录
/media              #用于挂载u盘,光驱等自动识别的设备
/srv                #存放服务启动后产生的数据目录
/var                #存放的是一些变化文件,比如数据库,日志,邮件....
/proc               #虚拟文件系统,系统程序文件所处目录 。虚拟文件系统:只要关机就会没有。
/mnt                #系统提供这个目录是让用户临时挂载其他的文件系统
2.2.3 路径详解
所谓路径即目录组成结构
一个linux路径由"/"和目录(文件)名称两部分组成
比如:/etc/passwd如果"/"出现在路径开头,则其表示根目录,在路径中间出现"/",其含义是某一个目录下,那么上面所示路径的意思就是"根目录下的etc目录下的passwd文件"如果路径最后出现"/",则表示这是一个目录
2.2.4 路径分类
绝对路径:从根开始的路径是绝对路径。案例:/home/alice/file1  /etc/grub.conf
相对路径:凡是非根开始的路径 比如:etc  var/ftp/pub ./test.sh
​
使用pwd命令查看当前所在的绝对路径:
比如:
[root@qfedu etc]# pwd
/etc

2.2.5 绝对路径实例
[root@qfedu ~]# touch /opt/file1
2.2.6 相对路径示例
[root@qfedu ~]# pwd
/root
[root@qfedu ~]# mkdir abc  #创建目录
[root@qfedu ~]# touch abc/file3
2.2.7 查看历史命令
[root@qfedu ~]# history
[root@qfedu ~]# clear  #清屏
快捷键:ctrl+l  #---清屏
3.文件管理
3.1 文件类型(理解即可)
 - 普通文件(文本文件,二进制文件,压缩文件,图片。。。)d 目录文件(蓝色)b 设备文件  block device 设备文件,如硬盘,U盘;c 设备文件 字符设备文件,比如我们的终端tty1,打印机。l symbolic link 即符号链接文件,又称软链接文件 (浅蓝色)s  socket 即套接字文件,用于实现两个进程进行通信p  管道文件
3.2 示例1

查看各式各样的文件类型。你能找出几种呢?

[root@qfedu ~]# ll -d /etc/hosts /bin/ls /home /dev/sda /dev/tty1 /etc/grub2.cfg /dev/log /run/dmeventd-client
-rwxr-xr-x. 1 root root 117656 Nov  6  2016 /bin/ls
srw-rw-rw-. 1 root root      0 Oct 31 14:16 /dev/log
brw-rw----. 1 root disk   8, 0 Oct 31 14:16 /dev/sda
crw--w----. 1 root tty    4, 1 Oct 31 14:42 /dev/tty1
lrwxrwxrwx. 1 root root     22 Oct 31 12:11 /etc/grub2.cfg -> ../boot/grub2/grub.cfg
-rw-r--r--. 1 root root    158 Jun  7  2013 /etc/hosts
drwxr-xr-x. 2 root root      6 Nov  5  2016 /home
prw-------. 1 root root      0 Oct 31 14:16 /run/dmeventd-client

注意

通过颜色判断文件的类型是不一定正确的!!!

4.文件管理命令
4.1 切换目录
# .     表示当前目录
# cd .. 回到上一级目录等同于相对路径
# cd 或者 cd ~    直接回到家目录
# cd /home/alice  切换目录=绝对路径
# cd -  回到原来目录
4.2 创建文件
[root@qfedu ~]# touch file1.txt  #无则创建,如果存在修改时间
[root@qfedu ~]# touch /home/file10.txt
[root@qfedu ~]# touch /home/{zhuzhu,gougou} #{}集合
[root@qfedu ~]# touch /home/file{1..20}  #批量创建
echo  加内容   >  加文件名    #覆盖:把之前的内容替换掉
# echo 123 > a.txt
echo  加内容  >> 加文件名     #追加:保留之前的内容,在后面添加新内容
# echo 345345 >> a.txt
​
当使用echo 123 >> a.txt 这个命令的时候在文件不存在的时候会创建该文件并将内容追加到改文件中
4.3 创建目录

语法:mkdir -v 详细 -p 递归 目录

# mkdir dir1
创建两个目录:
# mkdir /home/dir2 /home/dir3
# mkdir /home/{dir4,dir5} 
# mkdir -v /home/{dir6,dir7}   #-v :verbose 冗长的。显示创建时的详细信息
# mkdir -p /home/dir8/111/222  #-p 创建连级目录,一级一级的创建
*4.4.复制**

==复制 cp -r 目录 -v 详细 -f 强制 -n 静默

Usage: cp [OPTION]... [-T] SOURCE DEST

# mkdir /home/dir{1,2}  #创建目录
# cp -v anaconda-ks.cfg /home/dir1/  #-v 显示详细信息
# cp anaconda-ks.cfg /home/dir1/test.txt  #复制并改文件名
# cp -r /etc /home/dir1             #-r 拷贝目录使用,连同目录里面的文件一块拷贝
# cp -r /etc /tmp
​
语法: cp  -r  源文件1 源文件2 源文件N  目标目录    #将多个文件拷贝到同一个目录
# cp  /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/passwd /etc/hosts .
4.5 移动

1.创建一个新文件file1

[root@qfedu ~]# touch /root/file1

2.把file1文件移动到/tmp目录中。

[root@qfedu ~]# mv /root/file1 /tmp/
[root@qfedu ~]# ls /tmp/file1 
/tmp/file1

3.把file1文件更名为file2

[root@qfedu ~]# mv /tmp/file1 /tmp/file2

4.观察file1文件已经更名为file2

[root@qfedu ~]# cd /tmp/
[root@qfedu tmp]# ls
file2
4.6 删除

==删除 rm -r 递归删除目录 -f force强制 -v 详细过程 *通配符

实例1:删除/home/dir1# cd /home/
# rm -rf dir1/
​
-r 递归,删除目录时
-f force强制
-v 详细过程
 

示例2:

[root@qfedu ~]# mkdir /home/dir10
[root@qfedu ~]# touch /home/dir10/{file2,file3,.file4}
[root@qfedu ~]# rm -rf /home/dir10/*  //不包括隐藏文件
[root@qfedu ~]# ls /home/dir10/ -a 
.  ..  .file4

示例3:

[root@qfedu ~]# touch {1..10}.txt
[root@qfedu ~]# touch file{1..20}.txt  #创建file1-10的txt文件
[root@qfedu ~]# rm -rf file1*
4.7 查看文件内容

cat---查看一个文件的全部内容

[root@qfedu ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
...
​
参数:
-n 显示行号
-A 包括控制字符(换行符/制表符)

head头部

[root@qfedu ~]# head /etc/passwd     #默查看前十行
[root@qfedu ~]# head -2 /etc/passwd  #默认查看前两行

tail尾部

[root@qfedu ~]# tail /etc/passwd         #默认查看文件的后十行
[root@qfedu ~]# tail -1 /etc/passwd      #查看文件最后一行
[root@qfedu ~]# tail /var/log/messages
[root@qfedu ~]# tail -f /var/log/secure  #-f 动态查看文件的尾部
[root@qfedu ~]# tailf /var/log/secure    #功能同上

grep过滤关键字 grep 针对文件内容进行过滤

过滤文件中带有root的内容:
[root@qfedu ~]# grep 'root' /etc/passwd
过滤以root开头的行:^ --以什么开头
[root@qfedu ~]# grep '^root' /etc/passwd
过滤以bash结尾的行:$ --以什么结尾
[root@qfedu ~]# grep 'bash$' /etc/passwd

less --分页显示

[root@qfedu ~]# less /etc/makedumpfile.conf.sample
1.空格键是翻页  回车键是翻行
2.上下箭头可以来回翻
3. /关键字     #搜索 (n按关键字往下翻   N按关键字往上翻)
4.快捷键:q -quit 退出

more --分页显示文件内容

[root@qfedu.com ~]# more  文件名       
空格键是向下翻页  回车键是翻行
Ctrl+B 向上翻页

 

二、文件编辑器
打开文件
[root@qfedu.com ~]# vim   文件名
工作模式
vi与vim的四个模式

进入编辑模式
i       #在光标所在处进入编辑模式
a       #在当前光标后面进入编辑模式
o       #在光标的下一行进入编辑模式
I       #在光标所在处行首进入编辑模式
A       #在光标所在处行尾进入编辑模式
O       #在光标的上一行进入编辑模式
​# 从编辑模式进入命令模式:ESC
命令模式
光标定位键盘:
0 $         #行首行尾
gg          #页首--文本顶端
G(shift+g)  #页尾--文本底部
3G           #进入第三行
/string     #查找字符,n下一个,N上一个    (n N 可以循环的)
文本编辑
 yy      #复制 3yy     #从光标开始复制3行。在最后粘贴ygg     #从当前光标复制到页首yG      #从光标开始复制到页尾dd      #删除一行3dd     #从光标开始删除3行dgg     #从光标开始删除到页首 dG      #从光标开始删除到页尾d^      #删除当前光标之前的内容p       #粘贴到本行的下一行
大P      #粘贴到本行的上一行x       #删除光标所在的字符D       #从光标处删除到行尾u       #undo撤销r       #可以用来修改一个字符
扩展命令(尾行)模式:
 shift+:    #进入尾行模式(扩展命令模式):10        #进入第10行 :w         #保存 :q         #退出 :wq        #保存并退出 :q!        #不保存并退出 :wq! 强制保存退出
进入其他模式
ctrl+v     #进入可视块模式
ctrl+v 选中 shift+i 输入替换文字 两次esc 选中部分全部替换 
shift+v    #进入可视行模式
​
查找替换
语法----> :范围 s/old/new/选项 
:s/world/nice/         #替换当前光标所在行
:3s/sbin/nice/         #替换指定行
:1,5 s/nologin/soso/   #从1-5行的nologin 替换为soso
:%s/bin/soso/          #替换所有行
:%s/sbin/nice/g        #替换行内所有关键字
​
注释:%表示替换所有行  g表示行内所有关键字
​
将文件另存(另存为)
语法----> :w 存储到当前文件
:w /tmp/aaa.txt    #另存为/tmp/aaa.txt 
:1,3 w /tmp/2.txt  #从1-3行的内容另存为/tmp/2.txt
设置环境 :
:set nu    #设置行号 
:set list  #显示控制字符
:set nonu  #取消设置行号
文件基本信息
时间类型
访问时间:atime,查看内容 
修改时间:mtime,修改内容
改变时间:ctime,文件属性,比如权限,mv改名
查询示例
[root@qfedu ~]# ls -l passwd 
-rw-r--r--. 1 root root 839 Oct 31 21:29 passwd
​
[root@qfedu ~]# stat passwd File: ‘passwd’Size: 839         Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 33583688    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2019-10-31 21:29:40.750993492 +0800
Modify: 2019-10-31 21:29:36.449993550 +0800
Change: 2019-10-31 21:29:36.452993550 +0800Birth: -

ls -l 文件名 仅看的是文件的修改时间

三、Linux用户管理
理解用户和组的意义

Linux的一大特性:

多用户、多任务。

所谓多用户多任务就是指可以在同一时间,有多个用户登录同一个系统执行不同的任务而互不影响。

假设现在有三个用户:root、lbb、mvv,三个用户同一时间登录了同一个系统,root去修改配置文件了,lbb去创建目录了,mvv去访问数据库了,每个用户互不干扰的独立执行自己的任务,并且每个用户不能够越线去访问其他用户正在操作的目录或执行其他用户下的任务,由此可见,不同的用户是拥有各自不同的权限的,Linux通过权限的划分和管理来实现多用户、多任务的运行机制。

Linux中的用户及其角色划分
账户为分三类:
超级用户(管理员):享有最高权限,具备系统中的所有权限(一般为root),UID为0
系统用户 :别称“伪用户”,无法登录系统,其主要作用是支撑系统运行,方便系统管理。uid号码小于1000.
普通用户:有权限限制,只能对自己目录下的文件进行操作,可以登录系统。uid 大于1000,登陆shell是bin/bash。
任何一个账户在创建的同时都会在系统里面创建一个同名的组。
用户概览

用户/组基本概念!

Users and groups: 系统上的每个进程(运行的程序)都是作为特定用户运行的 . Every file is owned by a particular user. 每个文件是由一个特定的用户拥有 . . Access to files and directories are restricted by user. 访问文件和目录受到用户的限制

用户管理
用户组
创建组
[root@qfedu ~]# groupadd hr   #创建一个用户组叫hr
[root@qfedu ~]# groupadd it  #创建一个用户组叫it
[root@qfedu ~]# groupadd net01 -g 2000  #创建组叫net01,并指定gid为2000
[root@qfedu ~]# grep 'net01' /etc/group  #查看/etc/group中组net01信息
net01:x:2000:
​
删除组
*[root@qfedu ~]# groupdel net01  #删除组net01
注意:用户的主属组不能删除
/etc/group  ----->查看组的文件

/etc/group文件详解:

查看组
*[root@qfedu ~]#cat /etc/group
组名:代表组密码:gid:组员
用户

==创建用户 未指定选项==

[root@qfedu ~]# useradd user01   //创建用户
/etc/passwd  ---->查看账户是否存在的文件
/home/  ---->用户的家目录,每创建一个用户会在/home目录下面创建对应的家目录
/etc/shadow   --->用户的密码文件

/etc/passwd文件详解--案例:

此文件里面除了密码字段能删除不能直接修改之外,其他字段全部都能直接修改

[root@qfedu ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
分隔符::
第一列:用户名
第二列:密码
第三列:用户标识号--->(uid)是一个整数,系统内部用它来标识用户。通常用户标识号的取值范围是0~65535。0是超级用户root的标识号
第四列:gid
第五列:描述信息。
第六列:家目录
第七列:是用户登陆到界面的第一个命令,开启一个shell。登陆shell
1.判断用户是否存在:
[root@qfedu ~]# id user01   //查看用户的uid、gid、和所在组
uid=1001(user01) gid=1003(user01) groups=1003(user01)主属组                    附属组
uid 系统用来识别账户的user identify
gid 系统用来识别组的group identify
​
2.查看现在所使用的的账户:
[root@qfedu ~]# whoami 查看我现在所使用的账户
创建用户(带有选项)
[root@qfedu ~]# useradd user02 -u 503   #指定uid为503
*[root@qfedu ~]# useradd user05 -s /sbin/nologin  #创建用户并指定shell
[root@qfedu ~]# useradd user07 -G it,fd  #创建用户,指定附加组  
[root@qfedu ~]# useradd user10 -u 4000 -s /sbin/nologin
删除用户
[root@qfedu ~]# userdel -r user02  //删除用户user2,同时删除用户家目录
用户密码
[root@qfedu ~]# passwd alice  #root用户可以给任何用户设置密码
[root@qfedu ~]# passwd   #root用户给自己设置密码
[root@qfedu ~]# su - alice
[alice@qfedu ~]$ passwd  #普通用户只能给自己修改密码,而且必须提供原密码
用户操作
1.修改UID
-u
[root@qfedu ~]# usermod -u new_id jack 
[root@qfedu ~]# id jack
uid=1005(jack) gid=1004(jack) groups=1004(jack)
2.修改用户的登录shell
-s
[root@qfedu ~]# usermod -s /sbin/nologin user07   #修改用户的登录shell
​
*usermod -aG 添加用户到附属组
组成员管理

注意:只针对已存在的用户

1.给组添加账户
-a
[root@qfedu ~]# gpasswd -a user10 grp2
Adding user user10 to group grp2
2.同时添加多个用户到组
-M:members成员的缩写
[root@qfedu ~]# gpasswd -M tom,alice it
3.从组删除用户1
-d
*[root@qfedu ~]# gpasswd -d user07 hr
Removing user user07 from group hr

 

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

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

相关文章

20240301-2-ZooKeeper面试题(二)

11. Chroot 特性 3.2.0 版本后,添加了 Chroot 特性,该特性允许每个客户端为自己设置一个命名空间。如果一个客户端设置了 Chroot,那么该客户端对服务器的任何操作,都将会被限制在其自己的命名空间下。 通过设置 Chroot&#xff…

Win11远程桌面登陆教程

必备软件 Remote Desktop 这个软件用于便捷操作 Tailscale 这个用于创建虚拟局域网让两台设备处于同一个网段便于远程连接 详细步骤 0、打开电脑设置允许远程连接模式 把这里的开关打开就行。 1、设置允许登陆的用户以及密码 在管理员模式下的宿主电脑上面输入以下命令…

寒假作业Day 02

这是第二天的作业,fighting! Day 02 一、选择题 首先char* s[6]是指针数组,也就是其存储的都是这些字符串的地址,其实际上的类型为char**,而fun函数传入了s数组的首地址。而后续fun函数中打印字符,p[i]即…

ad18学习笔记十六:如何放置精准焊盘到特定位置,捕抓功能的讲解

网上倒是一堆相关的指导 AD软件熟练度提升,如何设置板框捕捉?_哔哩哔哩_bilibili 关于Altium Designer 20 的捕抓功能的讲解_ad捕捉设置-CSDN博客 AD软件捕捉进阶实例,如何精确的放置布局元器件?_哔哩哔哩_bilibili AD绘制PCB…

项目-SERVER模块-Socket模块

Socket模块 一、Socket模块是什么?二、代码实现1.成员变量2.构造、析构函数3.获取套接字文件描述符4.创建套接字5.绑定地址信息6.开始监听连接请求7.向服务器发起连接8.获取新连接9.接收数据10.非阻塞接收数据11.发送数据12.非阻塞发送数据13.关闭套接字14.创建一个…

20240301作业

1.使用fwrite、fread将一张随意的bmp图片&#xff0c;修改成德国的国旗 #include <stdio.h> #include <string.h> #include <unistd.h> #include <stdlib.h> int main(int argc, const char *argv[]) {FILE* fp fopen("./gaoda.bmp","…

Java毕业设计 基于SpringBoot vue 社区团购系统

Java毕业设计 基于SpringBoot vue 社区团购系统 SpringBoot vue 社区团购系统 功能介绍 前端用户: 首页 图片轮播 商品信息 商品分类展示 搜索 商品详情 点我收藏 添加到购物车 立即购买 我要开团 去参团 评论 公告资讯 资讯详情 登录 注册 个人中心 更新信息 点我充值 我的订…

git之远程操作

一.分布式版本控制系统 分布式版本控制系统通常也有⼀台充当“中央服务器”的电脑&#xff0c;但这个服务器的作⽤仅仅是⽤来⽅便“交换”⼤家的修改&#xff0c;没有它⼤家也⼀样⼲活&#xff0c;只是交换修改不⽅便⽽已。有了这个“中央服务器”的电脑&#xff0c;这样就不怕…

ChatGPT学习第四周

&#x1f4d6; 学习目标 ChatGPT实践操作 通过实际操作和练习&#xff0c;加深对ChatGPT功能的理解。 项目&#xff1a;创建一个ChatGPT应用案例 设计一个基于ChatGPT的小项目&#xff0c;将理论应用于实践。 ✍️ 学习活动 学习资料 《万字干货&#xff01;ChatGPT 从零完…

达梦数据库查询语句内存溢出问题解决

背景&#xff1a;达梦数据库使用过程中&#xff0c;某天突然服务宕机&#xff0c;导致各类后端服务无法注册到nacos上&#xff0c;重启之后nacos正常启动&#xff0c;可执行一条两千多条数据量的连表查询时间很长&#xff0c;甚至会报错&#xff0c;经查看日志发现在查询过程中…

【C语言】常见的动态内存管理错误

前言 上一篇介绍了C语言中 动态内存管理函数&#xff0c;本片讲解的是 在我们使用动态内存管理时 常见的错误&#xff0c;一起来看看吧~ 欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗~ 如有错误&#xff0c;欢迎指出~ 目录 1.对NULL指针的解引⽤操作 错…

什么是前端框架中的数据绑定(data binding)?有哪些类型的数据绑定?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

YOLOv5白皮书-第Y4周:common.py文件解读

YOLOv5白皮书-第Y4周:common.py文件解读 YOLOv5白皮书-第Y4周:common.py文件解读0.导入需要的包和基本配置1.基本组件1.1 autopad1.2 Conv1.3 Focus1.4 Bottleneck1.5 BottleneckCSP1.6 C31.7 SPP1.8 Concat1.9 Contract、Expand 2.重要类2.1 非极大值抑制&#xff08;NMS&…

vue3中的基本语法

目录 基础素材 vue3的优化 使用CompositionAPI理由 1. reactive() 函数 2. ref() 函数 2.1. ref的使用 2.2. 在 reactive 对象中访问 ref 创建的响应式数据 3. isRef() 函数 4. toRefs() 函数 5. computed() 5.1. 通过 set()、get()方法创建一个可读可写的计算属性 …

函数——递归6(c++)

角谷猜想 题目描述 日本一位中学生发现一个奇妙的 定理&#xff0c;请角谷教授证明&#xff0c;而教授 无能为力&#xff0c;于是产生了角谷猜想。 猜想的内容&#xff1a;任给一个自然数&#xff0c; 若为偶数则除以2&#xff0c;若为奇数则乘 3加1&#xff0c;得到一个新的…

PyTorch深度学习快速入门

PyTorch深度学习快速入门 1.PyTorch环境配置及安装2.python编辑器的选择、安装、配置&#xff08;pycharm、JupyTer安装&#xff09;3.为什么torch.cuda.is_available()返回false4.python学习中两大法宝函数&#xff08;也可用在pytorch&#xff09;5.pycharm和jupyter&#xf…

golang goroutine 如何退出?

上一讲说到调度器将maingoroutine推上舞台&#xff0c;为它铺好了道路&#xff0c;开始执行runtime.main函数。这一讲&#xff0c;我们探索maingoroutine以及普通goroutine从执行到退出的整个过程。 //Themaingoroutine. funcmain(){ //gmaingoroutine&#xff0c;不再是g0了 …

Python列表中添加删除元素不走弯路

1.append() 向列表中添加单个元素&#xff0c;一般用于尾部追加 list1 ["香妃", "乾隆", "贾南风", "赵飞燕", "汉武帝"]list1.append("周瑜") print(list1) # [香妃, 乾隆, 贾南风, 赵飞燕, 汉武帝, 周瑜]…

STM32标准库——(14)I2C通信协议、MPU6050简介

1.I2C通信 I2C 通讯协议(Inter&#xff0d;Integrated Circuit)是由Phiilps公司开发的&#xff0c;由于它引脚少&#xff0c;硬件实现简单&#xff0c;可扩展性强&#xff0c; 不需要USART、CAN等通讯协议的外部收发设备&#xff0c;现在被广泛地使用在系统内多个集成电路(IC)间…

计算机网络_2.2物理层下面的传输媒体

2.2物理层下面的传输媒体 一、传输媒体的分类二、导向型传输媒体1、同轴电缆2、双绞线3、光纤&#xff08;1&#xff09;光纤通信原理&#xff08;2&#xff09;光纤组成&#xff08;4&#xff09;多模光纤与单模光纤对比&#xff08;5&#xff09;光纤的波长与规格&#xff08…