CHAPTER 2 目录及文件
目录及文件
- 1 目录
- 1.1 目录结构
- 1.2 核心目录
- 2 文件
- 2.1 /etc/中的文件
- 2.1.1 修改主机名(/etc/hostname)
- 2.1.2 网卡配置文件
- 2.1.3 开机自启动配置文件(/etc/rc.local)
- 2.1.4 /etc/motd和/etc/issue
- 2.2 /var/中的文件
- 2.3 /proc/中的文件
- 2.3.1 CPU信息(lscpu)
- 3 文件类型
- 3.1 类型说明
- 3.2 相关命令
- 4 归档和压缩
- 4.1 归档
- 4.2 压缩/解压
- 1. tgz
- 2. zip/unzip
- 3. gzip/gunzip
- 4. rar
1 目录
1.1 目录结构
在linux中目录一切从根(\
)开始,linux目录类似于倒挂的大树
1.2 核心目录
根下核心目录 | 说明 |
---|---|
/bin | bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。 |
/boot | 这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。 |
/dev | dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。 |
/etc | etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。 |
/home | 用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。 |
/lib | lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。 |
/lost+found | 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。 |
/media | linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。 |
/mnt | 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。 |
/opt | opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。 |
/proc | proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。 |
/root | 该目录为系统管理员,也称作超级权限者的用户主目录。 |
/sbin | s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。 |
/selinux | 这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。 |
/srv | 该目录存放一些服务启动之后需要提取的数据。 |
/sys | 这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。sysfs 文件系统集成了下面3种文件系统的信息 |
/tmp | tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。 |
/usr | usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。 |
/usr/bin | 系统用户使用的应用程序。 |
/usr/sbin | 超级用户使用的比较高级的管理程序和系统守护程序。 |
/usr/src | 内核源代码默认的放置目录。 |
/var | var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。 |
/run | 是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。 |
2 文件
2.1 /etc/中的文件
文件名称 | 说明 | 企业应用 |
---|---|---|
/etc/hostname | 主机名配置文件 | 每个linux主机配置主机名,根据主机名区别不同功能 |
/etc/hosts | 主机名和ip的对应关系 | 在网站中做访问使用 |
/etc/sysconfig/network-scripts/ifcfg-eth0 | 网卡配置文件 | 物理机需要修改,云服务器自动 |
/etc/fstab | 开机自动挂载的配置文件 | 配置磁盘挂载使用 |
/etc/motd | 文件中的内容会在用户登录系统后显示出来 | 显示温馨提示 |
/etc/issue、/etc/issue.net | 文件中的内容会在用户登录系统钱显示出来 | 这个文件内容一般会被清空 |
2.1.1 修改主机名(/etc/hostname)
建议:
- 见名知意,看到主机名就能知晓,这个节点的作用
- 推荐英文,“
-
”,“.
” ,不要加入其它特殊符号,不要加入中文
[root@node2 ~]# hostnamectl set-hostname node2.253 #临时生效,重启失效
旧系统修改建议:
- 命令行通过hostname命令修改(临时修改,重启linux后失效)
- 手动修改/etc/hostname 文件内容(永久修改,重启linux后生效)
2.1.2 网卡配置文件
/etc/sysconfig/network-scripts/ifcfg-eth0
centos系统中:
[root@lnh oldboy]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=none
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.200
NETMASK=255.255.255.0
#PREFIX=24
GATEWAY=10.0.0.2
DNS1=223.5.5.5
DNS2=8.8.8.8
#修改网卡配置文件后要重启服务
[root@lnh oldboy]# systectl restart network
PREFIX是比较新的Linux版本配置子网掩码的参数,比如netmask是255.255.255.0,等价于prefix是24,相比较而言,netmask兼容性更高,推荐优先使用netmask。
2.1.3 开机自启动配置文件(/etc/rc.local)
/etc/rc.local
是/etc/rc.d/rc.local
的软链接文件,第一次使用这个文件之前需要给/etc/rc.d/rc.local
增加执行权限
chmod +x /etc/rc.d/rc.local
[root@node2 ~]# cat /etc/rc.d/rc.local
#!/bin/bash
...
# that this script will be executed during boot.touch /var/lock/subsys/local
touch /root/yurq
[root@node2 ~]# ll /root/|grep yurq
-rw-r--r-- 1 root root 0 Mar 7 03:52 yurq
2.1.4 /etc/motd和/etc/issue
建议:
- motd 写入系统基本信息
- 因为/etc/issue文件会在登陆界面显示系统以及内核版本信息,会造成安全隐患,一般会把issue文件的内容清空。 使用命令
>/etc/issue
2.2 /var/中的文件
/var/log/
目录中的日志文件,请查看
https://blog.csdn.net/u010230019/article/details/127772295
2.3 /proc/中的文件
文件路径 | 说明 | 应用建议 |
---|---|---|
/proc | 存放的是各种内存中的进程信息,linux内核配置,系统信息。这个是虚拟目录,不会占用磁盘空间 | |
/proc/cpuinfo | cpu信息 | 未来监控使用,获取cpu指标 |
/proc/meminfo | 内存信息 | 未来监控使用,获取内存指标 |
/proc/loadavg | 系统负载信息,衡量系统繁忙程度 | |
/proc/mounts | 系统挂载信息 |
2.3.1 CPU信息(lscpu)
cpu 颗数,cpu核心数
- cpu颗数:有多少个物理的cpu
- cpu核心数:1颗中有多少个核心,每个核心相当于是一个工人
[root@dbc-server-554 zabbix]# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 60
Model name: Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz
Stepping: 3
CPU MHz: 1091.601
CPU max MHz: 4000.0000
CPU min MHz: 800.0000
BogoMIPS: 7195.84
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 8192K
NUMA node0 CPU(s): 0-7
lscpu 命令详解
关键词 | 详解 |
---|---|
Architecture | #架构 |
CPU(s) | #逻辑cpu个数 |
Thread(s) per core | #每个核心线程数 |
Core(s) per socket | #每个物理CPU的核数 |
Socket(s) | #物理CPU个数 |
CPU MHz | #cpu主频 |
总核数 = 物理CPU个数(Socket
) X 每颗物理CPU的核数(Core(s) per socket
)
总逻辑CPU数 = 物理CPU个数(Socket
) X 每个物理CPU的核数(Core(s) per socket
) X 每个核心线程数(Thread(s) per core
)
- 查看物理 CPU 个数
cat /proc/cpuinfo | grep “physical id” | sort | uniq | wc -l
- 查看每个物理 CPU 核数
cat /proc/cpuinfo | grep “physical id” | sort | uniq | wc -l
- 查看总线程数
cat /proc/cpuinfo | grep “processor”| wc -l
3 文件类型
3.1 类型说明
在Linux中一切都是文件,但文件都得有类型。那如何查看文件是什么类型了?
在Linux常见的文件类型有7种,分别如下所示:
文件属性 | 文件类型 |
---|---|
- | 常规文件,即file |
d | 目录文件 |
b | block device 即块设备文件,如硬盘;支持以block为单位进行随机访问 |
c | character device 即字符设备文件,如键盘支持以character为单位进行线性访问 |
l | symbolic link 即符号链接文件,又称软链接文件 |
p | pipe 即命名管道文件 |
s | socket 即套接字文件,用于实现两个进程进行通信 |
- 普通文件类型 最常使用的一类文件,其特点是不包含有文件系统信息的结构信息。通常用户所接触到的文件,比如图形文件、数据文件、文档文件以及声音文件都属于这种文件,
这种类型的文件是按照其内部结构又可分为纯文本文件(ASCII)、二进制文件(binary)、数据格式的文件(data)、各种压缩文件
。
- 纯文本文件(ASCII):这是Unix系统中最多的一种文件类型,之所以称为纯文本文件,是因为内容可以直接读到的数据,例如数字、字母等等。设置文件几乎都属于这种文件类型。举例来说,使用命令“cat ~/.bashrc”就可以看到该文件的内容(cat是将文件内容读出来)。
- 二进制文件(binary):系统其实仅认识且可以执行二进制文件(binary file)。Linux中的可执行文件(脚本,文本方式的批处理文件不算)就是这种格式的。举例来说,命令cat就是一个二进制文件。
- 数据格式的文件(data):有些程序在运行过程中,会读取某些特定格式的文件,那些特定格式的文件可以称为数据文件(data file)。举例来说,Linux在用户登入时,都会将登录数据记录在 /var/log/wtmp文件内,该文件是一个数据文件,它能通过last命令读出来。但使用cat时,会读出乱码。因为它是属于一种特殊格式的文件。
-
目录文件类型 用于存放文件名以及其相关信息的文件,是内核组织文件系统的基本节点。目录文件可以包含下一级文件目录或者普通文件,在Linux中,目录文件是一种文件。能用 # cd 命令进入的。
-
块设备文件类型块设备文件就是存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的代码是 /dev/hda1等文件。
-
字符设备类型字符设备文件即串行端口的接口设备,例如键盘、鼠标等等。
-
套接字文件类型这类文件通常用在网络数据连接。可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。
-
管道文件类型是一种很特殊的文件,主要用于不同进程的信息传递。当两个进程需要进行数据或者信息传递时,可以使用通道文件,一个进程将需要传递的数据或者信息写入管道的一端,另一进程从管道的另一端取得所需要的数据或者信息,通常管道是建立在调整缓存中。
-
链接文件类型是一种特殊文件,指向一个真实存在的文件链接,类似于Windows下的快捷方式,链接文件的不同,又可分为硬链接文件和符号链接文件。
3.2 相关命令
查看文件类型常用的三种方法:
① ls -l 或 ls -ld
[root@localhost etc]# ls -l
总用量 1340
drwxr-xr-x. 3 root root 28 10月 27 08:08 accountsservice
-rw-r--r--. 1 root root 16 7月 19 2021 adjtime
-rw-r--r--. 1 root root 1529 4月 15 2020 aliases
drwxr-xr-x. 3 root root 65 12月 22 2021 alsa
drwxr-xr-x. 2 root root 4096 7月 27 2021 alternatives
lrwxrwxrwx. 1 root root 56 7月 12 2021 favicon.png -> /usr/share/icons/hicolor/16x16/apps/fedora-logo-icon.png
-rw-r--r--. 1 root root 66 9月 10 2018 filesystems
lrwxrwxrwx. 1 root root 22 3月 28 2022 grub2.cfg -> ../boot/grub2/grub.cfg
② file 命令
[root@localhost etc]# file /etc/fstab
/etc/fstab: ASCII text
[root@localhost etc]# file /etc
/etc: directory
[root@localhost etc]# file /etc/grub2.cfg
/etc/grub2.cfg: symbolic link to ../boot/grub2/grub.cfg
[root@localhost etc]# file /bin/ssh
/bin/ssh: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=fd3393aa38fc9e09813c902bc1255355359ad902, stripped
[root@localhost etc]# file /dev/sr0
/dev/sr0: block special (11/0)
③ stat 命令
[root@localhost etc]# stat /usr/sbin/ip文件:/usr/sbin/ip大小:663472 块:1296 IO 块:4096 普通文件
设备:fd00h/64768d Inode:1353488 硬链接:1
权限:(0755/-rwxr-xr-x) Uid:( 0/ root) Gid:( 0/ root)
环境:system_u:object_r:ifconfig_exec_t:s0
最近访问:2022-10-30 03:14:56.040030923 -0400
最近更改:2022-03-21 10:40:32.000000000 -0400
最近改动:2022-10-27 08:07:13.748329778 -0400
创建时间:2022-10-27 08:07:13.724330248 -0400
4 归档和压缩
4.1 归档
归档是与压缩操作配合使用的一个常用文件管理任务。归档是一个聚集众多文件并将它们组合为一个大文件的过程,它通常作为系统备份的一部分,而且通常也用于将旧数据从某个系统移到某些长期存储设备的情况下。一般linux有归档的概念,而windows一般的压缩软件都包含归档的功能,归档和压缩顺序执行,最终体现为压缩文件,所以很少说归档的概念。
tar
众多linux归档工具,包括tar,ar,shar,cpio等,tar使用较为广泛,tar命令格式如下:
SYNOPSIStar [OPTION...] [FILE]...
EXAMPLEStar -cf archive.tar foo bar# Create archive.tar from files foo and bar.tar -tvf archive.tar# List all files in archive.tar verbosely.tar -xf archive.tar# Extract all files from archive.tar.
选项
-A或–catenate:新增文件到以存在的备份文件;
-B:设置区块大小;
-c或–create:建立新的备份文件;
-C < 目录>:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
-d:记录文件的差别;
-x或–extract或–get:从备份文件中还原文件;
-t或–list:列出备份文件的内容;
-z或–gzip或–ungzip:通过gzip指令处理备份文件;
-Z或–compress或–uncompress:通过compress指令处理备份文件;
-f< 备份文件>或–file=< 备份文件>:指定备份文件;
-v或–verbose:显示指令执行过程;
-r:添加文件到已经压缩的文件;
-u:添加改变了和现有的文件到已经存在的压缩文件;
-j:支持bzip2解压文件;
-v:显示操作过程;
-l:文件系统边界设置;
-k:保留原有文件不覆盖;
-m:保留文件不被覆盖;
-w:确认压缩文件的正确性;
-p或–same-permissions:用原来的文件权限还原文件;
-P或–absolute-names:文件名使用绝对名称,不移除文件名称前的“/”号;
-N < 日期格式> 或 --newer=< 日期时间>:只将较指定日期更新的文件保存到备份文件里;
–exclude=< 范本样式>:排除符合范本样式的文件。
常用组合:
- 仅打包,不压缩!
tar -cvf log.tar log2012.log
- 打包后,以 gzip 压缩
tar -zcvf log.tar.gz log2012.log
- 打包后,以 bzip2 压缩
tar -jcvf log.tar.bz2 log2012.log
- 在文件夹当中,比某个日期新的文件才备份:
tar -N "2018/3/1" -zcvf log.tar.gz test
- 解包
tar -xvf filename.tar
- 解压
tar -zxvf filename.tar.gz
tar -zxvf filename.tgz
- 解压bz2文件
tar -jxvf filename.tar.bz2
如果最简单的使用 tar 就只要记忆下面的三种方式即可:
- 压缩:
tar -jcv -f filename.tar.bz2
要压缩的文件或目录名称
- 查询:
tar -jtv -f filename.tar.bz2
- 解压缩:
tar -jxv -f filename.tar.bz2 -C
4.2 压缩/解压
linux压缩命令常用的有:tar,tgz,gzip,zip,rar
1. tgz
tar可以通过参数 -z 同时调用gzip对tar包进行压缩。 tgz压缩命令(tar.gz和tgz格式是相同的,命名不同而已),详细参数参考上节
tar 压缩命令
tar -cvf examples.tar files|dir
#说明:
-c, --create create a new archive 创建一个归档文件
-v, --verbose verbosely list files processed 显示创建归档文件的进程
-f, --file=ARCHIVE use archive file or device ARCHIVE 后面要立刻接被处理的档案名,比如--file=examples.tar#举例:
tar -cvf file.tar file1 #file1文件
tar -cvf file.tar file1 file2 #file1,file2文件
tar -cvf file.tar dir #dir目录
tar 解压命令
tar -xvf examples.tar (解压至当前目录下)
tar -xvf examples.tar -C /path (/path 解压至其它路径)#说明:
-x, --extract, extract files from an archive 从一个归档文件中提取文件#举例:
tar -xvf file.tar
tar -xvf file.tar -C /temp #解压到temp目录下
2. zip/unzip
① zip命令(zip是个使用广泛的压缩程序,文件经他压缩之后会产生.zip扩展名的压缩文件)
zip -r foo.zip ./* #递归压缩
zip foo.zip -d test.txt #从压缩包中删除test.txt
[root@dbc-server-554 zabbix]# zip logs.zip -d /var/log/yum.log
deleting: var/log/yum.log
[root@dbc-server-554 zabbix]# unzip -l logs.zip |grep yum.log787 11-28-2022 17:29 var/log/yum.log-20221128532 12-28-2022 15:32 var/log/yum.log-2023010130812 02-15-2023 11:48 var/log/yum.log-20230216
zip foo.zip -f test.txt #包中存在test.txt,才会更新压缩包中test.txt
zip foo.zip -u test.txt #不管包中有没有test.txt,都会更新压缩包中test.txt
zip -e foo.zip ./* #加密压缩
注:
zip -f
和zip -u
的更新是区别的,前者只能更新已有的文件,如果压缩包中不存在这个文件则不会进行更新,也不会追加;而后者如果压缩包中存在这个文件则会进行更新,如果不存在则会进行追加到压缩包内。
② unzip
参数 | 说明 |
---|---|
-f | 更新压缩包的文件; |
-l | 显示压缩文件内的文件; |
-v | 执行时显示详细的信息; |
-o | 不询问用户,覆盖原有文件; |
-q | 不显示执行过程; |
-d | 指定文件解压缩后所要存储的目录; |
unzip -l test5.zip #-l 表示在不解压的情况下查看压缩文件内的文件
unzip -v test5.zip #-v 表示在不解压的情况下查看压缩文件内的文件,且显示更多信息(压缩比率等);
unzip -o test.zip #-o 表示不询问用户,覆盖原有文件;
3. gzip/gunzip
Gzip是若干种文件压缩程序的简称,通常指GNU计划的实现,此处的gzip代表GNU zip。gzip在压缩完成后,会直接删除原文件
SYNOPSISgzip [ -acdfhlLnNrtvV19 ] [-S suffix] [ name ... ]gunzip [ -acfhlLnNrtvV ] [-S suffix] [ name ... ]zcat [ -fhLV ] [ name ... ]
参数 | 说明 |
---|---|
-c | –stdout将解压缩的内容输出到标准输出 |
-d | –decompress解压缩 |
-f | –force强制覆盖旧文件 |
-l | –list列出压缩包内储存的原始文件的信息(如 |
-n | –no-name压缩时不保存原始文件的文件名和时间戳 |
-N | –name压缩时保存原始文件的文件名和时间戳 |
-q | –quiet抑制所有警告信息 |
-r | –recursive递归 |
-t | –test测试压缩文件完整性 |
-v | –verbose冗余模式(即显示每一步的执行内容) |
-1、-2、…、-9 | 压缩率依次增大 |
[root@runoob.com a]# ls //显示当前目录文件
a.c b.h d.cpp
[root@runoob.com a]# gzip * //压缩目录下的所有文件
[root@runoob.com a]# ls //显示当前目录文件
a.c.gz b.h.gz d.cpp.gz
[root@runoob.com a]# gzip -dv * //解压文件,并列出详细信息
a.c.gz: 0.0% -- replaced with a.c
b.h.gz: 0.0% -- replaced with b.h
d.cpp.gz: 0.0% -- replaced with d.cpp
[root@runoob.com a]# gzip -l *compressed uncompressed ratio uncompressed_name24 0 0.0% a.c24 0 0.0% b.h26 0 0.0% d.cpp
4. rar
压缩:
rar -a examples.rar examples
解压:
rar -x examples.rar
unrar examples.rar
相关文章:

CHAPTER 2 目录及文件
目录及文件1 目录1.1 目录结构1.2 核心目录2 文件2.1 /etc/中的文件2.1.1 修改主机名(/etc/hostname)2.1.2 网卡配置文件2.1.3 开机自启动配置文件(/etc/rc.local)2.1.4 /etc/motd和/etc/issue2.2 /var/中的文件2.3 /proc/中的文件2.3.1 CPU信息(lscpu)3 文件类型3.1 类型说明3…...

2021牛客OI赛前集训营-提高组(第四场) T1最终测试
2021牛客OI赛前集训营-提高组(第四场) 题目大意 有nnn个选手参加比赛,比赛有两道题。 对于第一题,第iii个选手有50%50\%50%的可能拿到ai,1a_{i,1}ai,1分,有50%50\%50%的可能拿到000分。 对于第二题,第…...

【华为OD机试2023】租车骑绿岛 C++ Java Python
【华为OD机试2023】租车骑绿岛 C++ Java Python 前言 如果您在准备华为的面试,期间有想了解的可以私信我,我会尽可能帮您解答,也可以给您一些建议! 本文解法非最优解(即非性能最优),不能保证通过率。 Tips1:机试为ACM 模式 你的代码需要处理输入输出,input/cin接收输入…...

05-路由中的Hook
hook中使用 this.props中的路由 类组件中我们通过 this.props 获取到的关于路由的相关方法和数据,在函数组件中还是可以继续通过参数 props 来获取使用: export default function Login(prosp) {return (<button onClick{() > {props.history.pu…...
Ubuntu20.04 源码编译安装SRS-6流媒体服务器,开启GB28181支持
1. 下载SRS源码 直接从仓库clone git clone -b develop https://gitee.com/ossrs/srs.git 2. 编译源码 此处通过 --gb28181on 开启GB28181支持,默认是不开启的 cd srs/trunk && ./configure --gb28181on && make -j4 3. 编译过程中遇到的问题 …...

Web前端学习:六 -- 练习小总结
1、背景颜色透明度写法: background:rgba(R,G,B,Alpha透明度) 透明度范围:0–1,1完全不透明,0完全透明 2、伪类 hovar: 当鼠标接触该元素是,显示另一种样…...

微服务之 CAP原则
文章目录微服务CAP原则AC 可用性 一致性CP 一致性 分区容错性AP 可用性 分区容错性提示:以下是本篇文章正文内容,SpringCloud系列学习将会持续更新 微服务CAP原则 经过前面的学习,我们对 SpringCloud Netflix 以及 SpringCloud 官方整个生…...

乐鑫特权隔离机制 #4 | 用户应用程序的安全启动
乐鑫特权隔离机制 系列文章 #4 目录 安全启动 (Secure boot) 受保护应用程序的安全启动 (Secure boot for protected app ) 用户应用程序的安全启动 (Secure boot for user app) 基于证书的验证方案 (Certificate-based verification scheme) 必要条件验证过程…...

剑指 Offer 46. 把数字翻译成字符串
摘要 剑指 Offer 46. 把数字翻译成字符串 一、递归算法解析 给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。…...

tar命令——归档/压缩和解压缩文件
tar命令的功能是将一个或多个文件归档成一个文件,同时可结合gzip、bzip2和xz等压缩命令实现文件的压缩和解压缩。 tar 命令的语法格式如下: tar [选项] 文件或目录 常用选项如下: 选项作用/含义-c建立归档文件-x从归档文件中解出文件-z通…...

Softing smartLink网关——推进过程工业数字化转型
虽然在过程工业中各工厂所投入的运营时间千差万别,但仍需按照新标准来进行有效控制和管理,而这就需要使用一种能够聚合其异构数据的数字通信架构。对此,Softing提供了两种网关解决方案,可用于将过程工业通信架构集成到现有以太网系…...

Spark的常用算子
Spark的常用算子 目录内容Spark的常用算子一、转换算子(Transformation)二、行动算子(Action)三、键值对算子(PairRDDFunctions)四、文件系统算子(File System)Spark 内置算子是指 S…...

Unity Avatar Cover System - 如何实现一个Avatar角色的智能掩体系统
文章目录简介变量说明实现动画准备动画状态机State 状态NoneStand To CoverIs CoveringCover To Stand高度适配高度检测脚部IK简介 本文介绍如何在Unity中实现一个Avatar角色的智能掩体系统,效果如图所示: 初版1.0.0代码已上传至SKFramework框架Package…...

steam/csgo搬砖项目到底真的假的?
搬砖是从国外steam市场置办游戏装备回来,在国内网易buff售卖,低买高卖,产生利润的一个项目。 但我真正上手后,才知道steam是面向全球的游戏平台,用户真的大的夸张!!市场非常巨大,一…...

【Python笔记20230307】
基础 编码、解码 str.encode(utf-8) # 编码 str.decode(utf-8) # 解码关键字 import keyword keyword.kwlist格式化输出 % 占位符:%s 字符串%d 整数%f 浮点数Hello, %s % world Hi, %s, you have $%d. % (Michael, 1000000) 占位符的修饰符 -左对齐 .小数点后位数 0左边补零…...

SBOM应该是软件供应链中的安全主食
当谈到软件材料清单(SBOM)时,通常的类比是食品包装上的成分列表,它让消费者知道他们将要吃的薯片中有什么。 美国机构有90天时间创建所有软件的清单 同样,SBOM是一个软件中组件的清单,在应用程序是来自多个来源的代码的集合的时…...

[计算机组成原理(唐朔飞 第2版)]第一章 计算机系统概论 第二章 计算机的发展及应用(学习复习笔记)
第1章 计算机系统概论 1.1 计算机系统简介 1.1.1 计算机的软硬件概念 计算机系统由“硬件”和“软件”两大部分组成。 硬件 是指计算机的实体部分,它由看得见摸得着的各种电子元器件,各类光、电、机设备的实物组成如主机、外部设备等 软件 软件看不见…...
Python的数据分析相关的框架
Python特别强大,也是一款可以实现可数据分析语言,它有很多开源的库和工具,可以帮助数据科学家处理和分析数据。 以下是一些常用的Python库和工具: NumPy:NumPy是一个Python库,用于处理大型多维数组和矩阵&…...

为什么会出现植物神经紊乱 总是检查不出来该怎么办
植物神经紊乱是一种很多人都害怕的疾病,你们知道是为什么吗? 植物神经紊乱是一种神经系统失调导致的多种症状的总称,这种疾病是由于社会因素所诱发的脏器功能的失调,是一种非常复杂的疾病。而这种疾病是可能会发生在任何年龄阶段的…...

宏任务和微任务
JavaScript 把异步任务又做了进一步的划分,异步任务又分为两类,分别是: ① 宏任务(macrotask) 异步 Ajax 请求setTimeout、setInterval文件操作其它宏任务 ② 微任务(microtask) Promise.then…...

使用WebSocket、SockJS、STOMP实现消息实时通讯功能
客户端 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head><title>websocket client</title><script src"http://cdn.bootcss.com/sockjs-client/1.1.1/sockjs.min.js"></script>…...

C++回顾(十一)—— 动态类型识别和抽象类
11.1 动态类识别 11.1.1 自定义类型 C中的多态根据实际的对象类型调用对应的函数 (1)可以在基类中定义虚函数返回具体的类型信息 (2)所有的派生类都必须实现类型相关的虚函数 (3)每个类中的类型虚函数都需…...

雷电模拟器安卓7以上+Charles抓包APP最新教程
一、工具准备: 证书安装工具全局代理工具下载: https://download.csdn.net/download/weixin_51111267/87536481 二、Charles设置 (一)电脑上证书安装 (二)安卓模拟器上系统证书安装(RooT权限打…...

vsvode 配置sftp,连接远程linux全过程
在本地安装sftp插件,配置参数https://blog.csdn.net/u011119817/article/details/106630599在linux机台安装vscode-service服务https://zhuanlan.zhihu.com/p/294933020连接超时,将配置文件添加超时时间遇到的错误处理:(272条消息) 【vscode插…...

C++类转换为蓝图、打印日志、蓝图关卡、删除C++文件
蓝图宏 UCLASS(Blueprintable)//c脚本可转换为蓝图 UPROPERTY(BlueprintReadWrite)//蓝图中可创建set,get节点 UFUNCTION(BlueprintCallable)//可创建函数节点 UPROPERTY(BlueprintReadWrite,Category”My Variables”)//节点进行分类打印日志 UE_LOG(LogTemp, Lo…...

elasticsearch高级篇:核心概念和实现原理
1.elasticsearch核心概念1.1 索引(index)一个索引就是一个拥有几分相似特征的文档的集合。比如说,你可以有一个客户数据的索引,另一个产品目录的索引,还有一个订单数据的索引。一个索引由一个名字来标识(必须全部是小写字母&#…...

部署安装Nginx服务实例
其他服务: 搭建zabbix4.0监控服务实例 普罗米修斯监控mysql数据库实战 Linux安装MySQL数据库步骤 一. Nginx概念介绍 1.介绍Nginx程序 Nginx (engine x) 是一款开源且高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。主要特点是占用…...

云原生架构设计原则及典型技术
云原生是面向云应用设计的一种思想理念,充分发挥云效能的最佳实践路径,帮助企业构建弹性可靠、松耦合、易管理可观测的应用系统,提升交付效率,降低运维复杂度。代表技术包括不可变基础设施、服务网格、声明式 API 及 Serverless 等…...

【Linux】-- 工具介绍 vim_gcc/g++_gdb
目录 Linux中的软件管理工具 – yum 在Linux下安装软件的方式 认识yum 查找软件包 安装 卸载 lrzsz.x86_64 rz sz Linux中的编辑器 – vim vim的基本概念 vim各模式切换 vim命令模式命令 vim底行模式命令 gcc / g gcc / g的作用 gcc / g语法 预处理 编译 汇…...

JAVA SE: IO流
一、Java流式输入输出原理Java对于输入输出是以流(Stream)的方式进行的,JDK提供各种各样的“流”类,以获取不同类型的数据。可以理解为将管道插入到文件中,然后从管道获取数据。这个管道外边还可以套管道,外边的管道对数据进行处理…...