Linux shell编程学习笔记40:stat命令

news2024/10/1 19:28:50

程序员必备的面试技巧

“程序员必备的面试技巧,就像是编写一段完美的代码一样重要。在面试战场上,我们需要像忍者一样灵活,像侦探一样聪明,还要像无敌铁金刚一样坚定。只有掌握了这些技巧,我们才能在面试的舞台上闪耀光芒,成为那个令HR们心动的程序猿!”

目录

  1. 0 前言
  2. 1 DOS、Windows、Linux中的文件存储
    1. 1.1 扇区
    2. 1.2 DOS、Windows:簇(Cluster)
    3. 1.3 Linux:块(block)和索引节点(inode)
  3. 2 stat命令的功能、格式和选项说明
    1. 2.1 stat命令的功能
    2. 2.2 stat命令的格式
    3. 2.3 stat命令的选项
  4. 3 stat命令使用实例
    1. 3.1 stat 文件或目录:查看文件或目录信息
    2. 3.2 stat -t 文件或目录:以简洁的形式显示文件或目录状态
    3. 3.3 stat -f 文件或目录:显示文件或目录的系统状态而不是文件或目录状态
    4. 3.4 stat -L 文件 或 stat --dereference 文件:取消对引用(跟随)符号链接显示并显示该符号链接指向的文件的信息
    5. 3.5 stat -c "格式" 文件 或 stat --format="格式" 文件 或 stat --printf="格式":自定义输出
  5. 4 其它查看Inodes的命令

0 前言

4 其它查看Inodes的命令

中,我们提到  df -i或--inodes的功能是 列出索引节点而不是块使用情况信息。

那么什么inode(索引节点)呢?我们一起来探讨看看……

1 DOS、Windows、Linux中的文件存储

1.1 扇区

文件一般是存储在磁盘上的,磁盘的最小存储单位叫做扇区(sector),每个扇区大小为512字节。

扇区是磁盘的最小存储单元。

1.2 DOS、Windows:簇(Cluster)

为了提高磁盘读取效率,操作系统通常会一次读取多个扇区的内容。

在微软的DOS、WINDOWS等操作系统中,把一次读取多个扇区称为簇(Cluster),簇是DOS、WINDOWS等操作系统中磁盘文件存储管理的最小单位。1个长度非0的文件,至少占用1簇的存储空间。

1.3 Linux:块(block)和索引节点(inode)

在Linux操作系统中,把一次读取多个扇区称为块(block),最常见的是4KB,即连续八个扇区组成一个块。文件数据存储在块中,块是Linux操作系统中文件存取的最小单位。

索引节点(inode)是文件元信息的存储区域,文件元信息包括以下信息,但不包含文件名,文件名存放在目录当中。

  • 文件的字节数
  • 文件拥有者的 User ID
  • 文件的 Group ID
  • 文件的读、写、执行权限
  • 文件的时间戳,共有三个:ctime 指 inode 上一次变动的时间,mtime 指文件内容上一次变动的时间,atime 指文件上一次打开的时间。
  • 链接数,即有多少文件名指向这个 inode
  • 文件数据 block 的位置

Linux系统内部不使用文件名,而是使用索引节点号码识别文件。对于系统来说文件名只是为便于识别索引节点号码而使用的别称。

在Linux系统中,一个文件必须占用一个索引节点(inode),占用至少一个块(block)。

要查看索引节点(inode)的信息,除了使用df命令,我们还可以使用stat命令。

2 stat命令的功能、格式和选项说明

我们可以使用 stat --help命令查看 stat 命令的帮助信息。

purpleEndurer @ bash $ stat --help
Usage: stat [OPTION]... FILE...
Display file or file system status.

Mandatory arguments to long options are mandatory for short options too.
  -L, --dereference     follow links
  -f, --file-system     display file system status instead of file status
  -c  --format=FORMAT   use the specified FORMAT instead of the default;
                          output a newline after each use of FORMAT
      --printf=FORMAT   like --format, but interpret backslash escapes,
                          and do not output a mandatory trailing newline;
                          if you want a newline, include \n in FORMAT
  -t, --terse           print the information in terse form
      --help     display this help and exit
      --version  output version information and exit

The valid format sequences for files (without --file-system):

  %a   access rights in octal
  %A   access rights in human readable form
  %b   number of blocks allocated (see %B)
  %B   the size in bytes of each block reported by %b
  %C   SELinux security context string
  %d   device number in decimal
  %D   device number in hex
  %f   raw mode in hex
  %F   file type
  %g   group ID of owner
  %G   group name of owner
  %h   number of hard links
  %i   inode number
  %m   mount point
  %n   file name
  %N   quoted file name with dereference if symbolic link
  %o   optimal I/O transfer size hint
  %s   total size, in bytes
  %t   major device type in hex, for character/block device special files
  %T   minor device type in hex, for character/block device special files
  %u   user ID of owner
  %U   user name of owner
  %w   time of file birth, human-readable; - if unknown
  %W   time of file birth, seconds since Epoch; 0 if unknown
  %x   time of last access, human-readable
  %X   time of last access, seconds since Epoch
  %y   time of last modification, human-readable
  %Y   time of last modification, seconds since Epoch
  %z   time of last change, human-readable
  %Z   time of last change, seconds since Epoch

Valid format sequences for file systems:

  %a   free blocks available to non-superuser
  %b   total data blocks in file system
  %c   total file nodes in file system
  %d   free file nodes in file system
  %f   free blocks in file system
  %i   file system ID in hex
  %l   maximum length of filenames
  %n   file name
  %s   block size (for faster transfers)
  %S   fundamental block size (for block counts)
  %t   file system type in hex
  %T   file system type in human readable form

NOTE: your shell may have its own version of stat, which usually supersedes
the version described here.  Please refer to your shell's documentation
for details about the options it supports.

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
Report stat translation bugs to <http://translationproject.org/team/>
For complete documentation, run: info coreutils 'stat invocation'
purpleEndurer @ bash $ 

2.1 stat命令的功能

显示文件或文件系统状态。

2.2 stat命令的格式

stat [选项]... 文件...

注意:

1.使用stat命令必须指定要显示信息的文件

purpleEndurer @ bash $ stat
stat: missing operand
Try 'stat --help' for more information.
purpleEndurer @ bash $ 

2.不同的Linux shell 可能会有自己的 stat 版本,请参阅自己所用的 shell 的文档了解有关其支持的选项的详细信息。 

2.3 stat命令的选项

选项功能

-L

--dereference

取消对引用(跟随)符号链接显示并显示该符号链接指向的文件的信息

-f

--file-system

显示文件系统状态而不是文件状态

-c FORMAT

--format=FORMAT

使用指定的 FORMAT 而不是默认值; 每次使用 FORMAT 后输出换行符
--printf=FORMAT与 --format 类似,但解释反斜杠转义,并且不输出强制性的尾随换行符; 如果需要换行符,请在 FORMAT 中包含 n

-t

--terse

以简洁的形式打印信息
--help显示此帮助并退出
--version输出版本信息并退出

3 stat命令使用实例

3.1 stat 文件或目录:查看文件或目录信息

例3.1.1:在当前目录下用mkdir命令创建test目录并用stat查看test目录的信息

purpleEndurer @ bash $ mkdir test
purpleEndurer @ bash $ stat test
  File: ‘test’
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: 4ch/76d Inode: 1319986     Links: 2
Access: (0775/drwxrwxr-x)  Uid: ( 1000/    csdn)   Gid: ( 1000/    csdn)
Access: 2024-01-17 19:23:39.555845513 +0800
Modify: 2024-01-17 19:23:39.555845513 +0800
Change: 2024-01-17 19:23:39.555845513 +0800
 Birth: -
purpleEndurer @ bash $ 

 命令返回了如下信息:

  • File:文件名
  • Size:文件大小,以字节表示
  • Blocks:文件占用(已分配)的块数。
  • IO Block:文件系统块大小
  • directory:文件类型(普通文件、目录、文件系统)
  • Device:文件所在的设备(十六进制和十进制)
  • Inode:文件所在的 Inode 号
  • Links:与文件关联的硬链接数
  • Access (0775/drwxrwxr-x)  :数字/符号格式的文件权限
  • UID:所有者的用户ID和用户名
  • GID:所有者的群组ID和组名
  • Access 2024-01-17 19:23:39.555845513 +0800上次访问文件的时间
  • Modify 2024-01-17 19:23:39.555845513 +0800:上次修改文件内容的时间
  • Change 2024-01-17 19:23:39.555845513 +0800:上次更改文件文件元数据的时间
  • Birth:文件状态被更改的的时间戳,Linux不支持

例3.1.2 在当前目录创建文件test.txt并用并用stat查看test.txt文件的信息

purpleEndurer @ bash $ ls > test.txt
purpleEndurer @ bash $ stat test.txt
  File: ‘test.txt’
  Size: 27              Blocks: 8          IO Block: 4096   regular file
Device: 4ch/76d Inode: 1319971     Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/    csdn)   Gid: ( 1000/    csdn)
Access: 2024-01-17 19:40:48.612393492 +0800
Modify: 2024-01-17 19:40:48.613393535 +0800
Change: 2024-01-17 19:40:48.613393535 +0800
 Birth: -
purpleEndurer @ bash $ 

对于文件,stat显示的信息不同之处在于:

  • directory:普通文件

3.2 stat -t 文件或目录:以简洁的形式显示文件或目录状态

例3.2 分别以stat -t 和 stat 命令查看文件test.txt 的状态 

purpleEndurer @ bash $ ls > test.txt
purpleEndurer @ bash $ stat -t test.txt
test.txt 14 8 81b4 1000 1000 4c 1319933 1 0 0 1705553539 1705553539 1705553539 0 4096

purpleEndurer @ bash $ stat test.txt
  File: ‘test.txt’
  Size: 14              Blocks: 8          IO Block: 4096   regular file
Device: 4ch/76d Inode: 1319933     Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/    csdn)   Gid: ( 1000/    csdn)
Access: 2024-01-18 12:52:19.515288704 +0800
Modify: 2024-01-18 12:52:19.516288743 +0800
Change: 2024-01-18 12:52:19.516288743 +0800
 Birth: -
purpleEndurer @ bash $ 

3.3 stat -f 文件或目录:显示文件或目录的系统状态而不是文件或目录状态

例3.3.1 查看test目录的文件系统状态

purpleEndurer @ bash $ stat -f test
  File: "test"
    ID: d52c0294601b7508 Namelen: 255     Type: overlayfs
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 7584002    Free: 6796649    Available: 6441294
Inodes: Total: 1933312    Free: 1870694
purpleEndurer @ bash $ 

 

命令返回信息包括以下内容: 

  • File:文件名。
  • ID:十六进制文件系统ID。
  • Namelen: 文件名称最大的长度。
  • Fundamental block size: 文件系统上每个块大小。
  • Blocks:块信息,包括以下内容:
  1. Total:文件系统中的总块数。
  2. Free:文件系统中可用的块数。
  3. Available:非root用户可用的可用块数。
  • Inodes:索引节点信息,包括以下内容:
  1. Total :文件系统中的总索引节点数。
  2. Free:文件系统中空闲索引节点的数量。

例3.3.2 查看文件test.txt的文件系统状态

purpleEndurer @ bash $ stat -f test.txt
  File: "test.txt"
    ID: d52c0294601b7508 Namelen: 255     Type: overlayfs
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 7584002    Free: 6796654    Available: 6441299
Inodes: Total: 1933312    Free: 1870694
purpleEndurer @ bash $ 

3.4 stat -L 文件 或 stat --dereference 文件:取消对引用(跟随)符号链接显示并显示该符号链接指向的文件的信息

例 3.4.1 用stat命令查看文件 /usr/share/zoneinfo/America/Cayman 的信息

purpleEndurer @ bash $ stat /usr/share/zoneinfo/America/Cayman
  文件:'/usr/share/zoneinfo/America/Cayman' -> 'Panama'
  大小:6          块:0          IO 块:4096   符号链接
设备:802h/2050d Inode:1986380     硬链接:1
权限:(0777/lrwxrwxrwx)  Uid:(    0/    root)   Gid:(    0/    root)
最近访问:2024-01-18 12:30:25.329503131 +0800
最近更改:2021-05-25 16:19:07.819859046 +0800
最近改动:2021-05-25 16:19:07.819859046 +0800
创建时间:-

从命令返回信息可以看到,/usr/share/zoneinfo/America/Cayman 的文件类型是符号链接,文件大小只有6个字节,指向的文件是 Panama 

要想获取/usr/share/zoneinfo/America/Cayman  指向的文件  Panama 的信息,可以使用 -L选项。

例 3.4.2 用stat -L 命令查看文件  /usr/share/zoneinfo/America/Cayman 的信息

purpleEndurer @ bash $ stat -L /usr/share/zoneinfo/America/Cayman
  文件:'/usr/share/zoneinfo/America/Cayman'
  大小:203        块:8          IO 块:4096   普通文件
设备:802h/2050d Inode:1986451     硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
最近访问:2023-05-06 12:37:04.230304278 +0800
最近更改:2019-10-13 09:36:01.000000000 +0800
最近改动:2021-05-25 16:19:07.835859046 +0800
创建时间:-

返回信息表示这个文件的大小是203字节,文件类型是普通文件,那么这是不是文件  Panama 的信息呢?

例 3.4.3 用stat命令查看文件 /usr/share/zoneinfo/America/Panama  的信息

purpleEndurer @ bash $ stat -L /usr/share/zoneinfo/America/Panama
  文件:'/usr/share/zoneinfo/America/Panama'
  大小:203        块:8          IO 块:4096   普通文件
设备:802h/2050d Inode:1986451     硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
最近访问:2023-05-06 12:37:04.230304278 +0800
最近更改:2019-10-13 09:36:01.000000000 +0800
最近改动:2021-05-25 16:19:07.835859046 +0800
创建时间:-

命令返回的文件信息与例 3.4.2中的信息是一致的。

 3.5 stat -c "格式" 文件 或 stat --format="格式" 文件 或 stat --printf="格式":自定义输出

stat命令有两个选项,可让我们根据需要自定义输出:-c "格式" (--format="格式")和 --printf="格式"

其中的格式 可以使用许多文件和文件系统的格式指令:

  • %a 以八进制格式显示访问权限。

  • %A 以易于阅读的格式显示访问权限。

  • %b 这是分配的块数(请参见%B)。

  • %B 由%b报告的每个块的字节大小。

  • %C 显示SELinux安全上下文字符串。

  • %d 以十进制格式显示设备编号。

  • %D 十六进制格式的设备号。

  • %f 以十六进制显示原始模式。

  • %F 显示文件类型。

  • %g 打印所有者的组ID。

  • %G 打印所有者的组名。

  • %h 显示硬链接数。

  • %i 打印出索引节点号。

  • %m 打印安装点。

  • %n 显示文件的文件名

  • %N 显示带符号引用的文件名,如果使用符号链接则取消引用

  • %o 打印最佳I/O传输大小提示。

  • %s 总大小(以字节为单位)。

  • %t 主要设备类型(十六进制),用于字符/块设备特殊文件

  • %T 次要设备类型(十六进制),用于字符/块设备特殊文件

  • %u 显示所有者的用户ID。

  • %U 打印所有者的用户名。

  • %w 显示文件的产生时间,易于阅读;–如果未知。

  • %W 打印文件诞生的时间,距离纪元后的秒数;如果未知,则为0。

  • %x 上次访问的时间,易于我们理解的格式。

  • %X 上次访问的时间,距离纪元以来的秒数。

  • %y 显示上次修改的最后时间,便于阅读。

  • %Y 打印上次修改的时间,距离纪元以来的秒数。

  • %z 这是上次更改的时间,人类可以理解。

  • %Z 最后一次更改的时间,距离纪元以来的秒数。

这两个选项的区别在于:

  • 当两个或多个文件用作操作符时,--format在每个操作数的输出之后自动添加换行符。 
  • --printf解释反斜杠转义字符。

例 3.5.1 用stat -c命令显示Code目录和test.txt 的文件类型、所有者的组ID和组名信息。

purpleEndurer @ bash $ stat -c "%F,%g,%G" Code test.txt
directory,1000,csdn
regular file,1000,csdn
purpleEndurer @ bash $ 

例3.5.2 用stat --printf命令显示Code目录和test.txt 的文件类型、所有者的组ID和组名信息。

purpleEndurer @ bash $ stat --printf "%F,%g,%G" Code test.txt
directory,1000,csdnregular file,1000,csdnpurpleEndurer @ bash $ 

 

可见,返回的目录和文件信息在同一行,不容易区分,因此我们可以改进一下,在格式串末尾加上换行符\n:

purpleEndurer @ bash $ stat --printf "%F,%g,%G\n" Code test.txt
directory,1000,csdn
regular file,1000,csdn
purpleEndurer @ bash $ 

这样看起来就清晰多了。

4 其它查看Inodes的命令

除了上节介绍的df -i或--inodes命令,以及本节介绍的 stat命令,我们还可以使用ls -i命令。

例如,查看当目前下的目录和文件的inodes:

purpleEndurer @ bash $ ls -i
1051744 Code  1319965 test.txt
purpleEndurer @ bash $ 

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

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

相关文章

深入探究 JavaScript 中的 String:常用方法和属性全解析(下)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

Vision Transformer(VIT)模型介绍

计算机视觉 文章目录 计算机视觉Vision Transformer&#xff08;VIT&#xff09;Patch EmbeddingsHybrid ArchitectureFine-tuning and higher resolutionPyTorch实现Vision Transformer Vision Transformer&#xff08;VIT&#xff09; Vision Transformer&#xff08;ViT&am…

算法笔记 #3

2024年1月18日 Q1&#xff1a;搜索二叉树 A&#xff1a;查找&#xff0c;左子树比根几点小&#xff0c;右子树比根大。 删除&#xff1a;1&#xff09;搜索删除的目标节点&#xff0c;记录其父节点&#xff1b; 2&#xff09;左右孩子都为空&#xff0c;直接删掉&#xff1b;…

【2023地理设计组一等奖】城市业态基因图谱与城市风格感知

作品介绍 1 设计思路 1.1 作品背景 随着城市化进程不断推进,城市的餐饮、购物、休闲和文化业态成为城市发展中的重要组成部分,深刻影响着城市经济社会发展和居民生活,塑造了城市的外在形象和内在风格,形成了各具特色的城市发展特征。因此,在区域和全国尺度上研究城市业态…

TDengine 创始人陶建辉在汽车 CIOCDO 论坛发表演讲,助力车企数字化转型

当前&#xff0c;汽车行业的数字化转型如火如荼。借助数字技术的充分利用&#xff0c;越来越多的车企进一步提升了成本优化、应用敏捷性、高度弹性和效率。这一转型使得业务应用的开发和管理模式发生了颠覆性的创新&#xff0c;赋予了汽车软件快速响应变化和动态调度资源的能力…

深度学习(1)--基础概念

一.计算机视觉(CV) (1).计算机视觉中图像表示为三位数组&#xff0c;其中三维数组中像素的值为0~255&#xff0c;像素的值越低表示该点越暗&#xff0c;像素的值越高表示该点越亮。 (2).图像表示 A*B*C&#xff0c;其中A,B分别为图像的长和宽&#xff0c;C则表示图像的颜色通道…

Spring Boot 单体应用升级 Spring Cloud 微服务

作者&#xff1a;刘军 Spring Cloud 是在 Spring Boot 之上构建的一套微服务生态体系&#xff0c;包括服务发现、配置中心、限流降级、分布式事务、异步消息等&#xff0c;因此通过增加依赖、注解等简单的四步即可完成 Spring Boot 应用到 Spring Cloud 升级。 *Spring Cloud …

vim 编辑器如何同时注释多行以及将多行进行空格

一、场景 YAML文件对空格的要求非常严格&#xff0c;因此在修改YAML时&#xff0c;我们可能需要批量添加空格。 二、操作步骤 请注意&#xff1a;您的所有操作都将以第一行为基准。也就是说&#xff0c;第一行有多少个空格&#xff0c;下面的行就会模仿添加相同数量的空格。…

一款开源且不限制大小可以设置过期时间的支持分享的的开源文件共享系统picoshare 部署教程

1.拉取镜像 2.部署 创建目录 mkdir -p /opt/picoshare/data 部署 其中:"somesecretpass"是密码 docker run \--env "PORT4001" \--env "PS_SHARED_SECRETsomesecretpass" \--publish 10005:4001/tcp \--volume "/opt/picoshare/data:…

[Android] Android架构体系(2)

文章目录 Bionic精简对系统调用的支持:不支持 System V IPC:有限的 Pthread 功能:有限支持C:不再支持本地化和/或宽字符:Bionic新增的特性系统属性硬编码写死的UID/GID内置了DNS解析硬编码写死的服务和协议 硬件抽象层Linux内核匿名共享内存(ASHMem)Binder-BinderLoggerION 内存…

找不到满意的机器视觉工程师工作,想找到满意的工作很难,人太多了,只能先就业后择业

找不到满意的机器视觉工程师工作&#xff0c;想找到满意的工作很难&#xff0c;人太多了&#xff0c;只能先就业后择业

ICCV2023 | PTUnifier+:通过Soft Prompts(软提示)统一医学视觉语言预训练

论文标题&#xff1a;Towards Unifying Medical Vision-and-Language Pre-training via Soft Prompts 代码&#xff1a;https://github.com/zhjohnchan/ptunifier Fusion-encoder type和Dual-encoder type。前者在多模态任务中具有优势&#xff0c;因为模态之间有充分的相互…

Docker(二)安装指南

作者主页&#xff1a; 正函数的个人主页 文章收录专栏&#xff1a; Docker 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01; 安装 Docker Docker 分为 stable test 和 nightly 三个更新频道。 官方网站上有各种环境下的 安装指南&#xff0c;这里主要介绍 Docker 在…

Vue学习笔记9--vuex(专门在Vue中实现集中式状态(数据)管理的一个Vue插件)

一、vuex是什么&#xff1f; 概念&#xff1a;专门在Vue中实现集中式状态&#xff08;数据&#xff09;管理的一个Vue插件&#xff0c;对vue应用中多个组件的共享状态进行集中式的管理&#xff08;读/写&#xff09;&#xff0c;也是一种组件间通信的方式&#xff0c;且适用于…

LeetCode、2462. 雇佣 K 位工人的总代价【中等,最小堆+双指针】

文章目录 前言LeetCode、2462. 雇佣 K 位工人的总代价【中等&#xff0c;最小堆双指针】题目及类型思路及代码实现 资料获取 前言 博主介绍&#xff1a;✌目前全网粉丝2W&#xff0c;csdn博客专家、Java领域优质创作者&#xff0c;博客之星、阿里云平台优质作者、专注于Java后…

rust获取本地外网ip地址的方法

大家好&#xff0c;我是get_local_info作者带剑书生&#xff0c;这里用一篇文章讲解get_local_info的使用。 get_local_info是什么&#xff1f; get_local_info是一个获取linux系统信息的rust三方库&#xff0c;并提供一些常用功能&#xff0c;目前版本0.2.4。详细介绍地址&a…

【踩坑日志】SpringBoot读取nacos配置信息并提取信息中的IP地址(配置属性解析异常+排错记录)

缘起 &#xff1a;项目需读取nacos中动态的TDengine数据库连接信息并提取IP&#xff0c;一个并不复杂的操作&#xff0c;但作为一个nacos知识浅薄的菜鸡&#xff0c;我愣是捯饬了几个小时……惭愧惭愧…… 异常代码 Data Component public class TaosLink { // Value("…

在PyCharm中创建Flask项目

在 PyCharm 中创建 Flask 项目的步骤如下&#xff1a; 打开 PyCharm&#xff0c;并选择 "Create New Project"&#xff08;新建项目&#xff09;。在弹出的窗口中&#xff0c;选择左侧的 "Python" 选项&#xff0c;然后选择右侧的 "Flask" 项目…

【JavaEE】_网络通信原理

目录 1. 网络发展史 2. 网络通信基础 1.1 IP地址 1.2 端口号 1.3 协议 1.3.1 概念 1.3.2 五元组 1.4 协议分层 1.4.1 协议分层的优点 1.4.2 协议分层的分类 1.4.3网络设备所在分层 1.4.4 两台主机通过TCP/IP协议通讯过程 1.5 封装与分用 1.5.1 封装 1.5.2 分用…

【EI会议征稿通知】第四届工业制造与结构材料国际学术会议(IMSM 2024)

第四届工业制造与结构材料国际学术会议&#xff08;IMSM 2024&#xff09; 2024 4th International Conference on Industrial Manufacturing and Structural Materials&#xff08;IMSM 2024&#xff09; 第四届工业制造与结构材料国际学术会议&#xff08;IMSM 2024&#x…