linux目录与文件管理

news2024/11/23 3:14:18

目录与路径

关于执行文件路径的变量:$PATH

ls完整文件名为:/bin/ls
在任何文件夹下输入ls命令可以显示出一些信息而不是找不到命令,这就是因为环境变量PATH所致。在执行命令时,系统会依照PATH的设置去每个PATH定义的目录下查找文件名为ls的可执行文件,若在PATH中有多个同名文件,则先找的同名命令先被执行。
可以echo $PATH一下查看有哪些目录被定义出来了
echo有“显示、打印”的意思,PATH前加$表示后面接的是变量,所以会出现目前的PATH

在这里插入图片描述
PATH这个变量的内容是由一堆目录所组成,每个目录中间用冒号隔开,每个目录有顺序之分。
若要在PATH 中新增目录,如将/root目录加到环境变量中,可以使用命令:

PATH="${PATH}:/root:
  • tips:
    • 不同身份用户默认的PATH不同,默认能够随意执行的命令也不同
    • 本目录(.)最好不要放到PATH中

文件与目录管理

文件相关命令

见Linux常用命令👉相关链接

文件内容查看

直接查看:cat、tac、nl
可翻页查看:more、less
数据截取:head、tail

非纯文本文件:od

读取数据文件或二进制文件。

修改文件时间或创建新文件:touch

  • 三个主要变动时间
    1. 修改时间【mtime】:文件的“内容数据”变更时,会更新这个时间。内容数据指的是文件的内容,而不是文件的属性或权限
    2. 状态时间【ctime】:文件的“状态”改变时,会更新这个时间,如权限、属性被更改了,会修改这个时间
    3. 读取时间【atime】:文件的“内容被读取”时,会更新这个读取时间。如使用cat去读取时,会更新

文件的时间很重要,若文件时间错误的话,可能会导致某些程序无法顺利运行。
若要修改文件的时间为现在,则可以使用touch命令

[root@study ~]# touch [-acdmt] 文件
选项与参数:
-a  :仅修订 access time;
-c  :仅修改文件的时间,若该文件不存在则不创建新文件;
-d  :后面可以接欲修订的日期而不用目前的日期,也可以使用 --date="日期或时间"
-m  :仅修改 mtime ;
-t  :后面可以接欲修订的时间而不用目前的时间,格式为[YYYYMMDDhhmm]

文件与目录的默认权限与隐藏权限

除了基本的rwx权限外,在Linux传统的ext2、ext3、ext4文件系统下,还可以设置文件的
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

文件默认权限:umask

umask制定目前用户在创建文件或目录是的权限默认值

  • 查看方式:
    1. 直接输入umask:查看数字类型的权限设置值
    2. 加上-S选项:以符号类型的方式显示权限

在这里插入图片描述

  • NT:
    1. 有的系统里会有四组数字,第一组是特殊权限用的,后面三组是常用的,也就是这里显示的
    2. umask的数字指的是该默认值需要减掉的权限(故如上为022而不是733)
      对于目录而言,X权限是很重要的,但是一般文件的建立不需要这个权限

文件隐藏属性

文件的隐藏属性对系统有很大帮助,尤其是在系统安全上面,非常重要。
NT:下面的chattr命令只能在ext2、ext3、ext4的linux传统文件系统上面完整生效,其他文件系统可能无法完整的支持这个命令了,如xfs仅支持部分参数而已。

  • 查看文件系统类型:df -hT
    在这里插入图片描述
    这里可以看到/dev/sda1使用的是ext4类型

chattr(配置文件隐藏属性)

  • 命令设置

    [root@study ~]# chattr [+-=][ASacdistu] 文件或目录名称
    选项与参数:
    +   :增加某一个特殊参数,其他原本存在参数则不动。
    -   :移除某一个特殊参数,其他原本存在参数则不动。
    =   :设置一定,且仅有后面接的参数
    
    A  :当设置了 A 这个属性时,若你有存取此文件(或目录)时,他的存取时间 atime 将不会被修改,
         可避免 I/O 较慢的机器过度的存取磁盘。(目前建议使用文件系统挂载参数处理这个项目)
    S  :一般文件是非同步写入磁盘的(原理请参考[前一章sync](../Text/index.html#sync)的说明),如果加上 S 这个属性时,
         当你进行任何文件的修改,该更动会“同步”写入磁盘中。
    a  :当设置 a 之后,这个文件将只能增加数据,而不能删除也不能修改数据,只有root 才能设置这属性
    c  :这个属性设置之后,将会自动的将此文件“压缩”,在读取的时候将会自动解压缩,
         但是在储存的时候,将会先进行压缩后再储存(看来对于大文件似乎蛮有用的!)
    d  :当 dump 程序被执行的时候,设置 d 属性将可使该文件(或目录)不会被 dump 备份
    i  :这个 i 可就很厉害了!他可以让一个文件“不能被删除、改名、设置链接也无法写入或新增数据!”
         对于系统安全性有相当大的助益!只有 root 能设置此属性
    s  :当文件设置了 s 属性时,如果这个文件被删除,他将会被完全的移除出这个硬盘空间,
         所以如果误删了,完全无法救回来了喔!
    u  :与 s 相反的,当使用 u 来设置文件时,如果该文件被删除了,则数据内容其实还存在磁盘中,
         可以使用来救援该文件喔!
    注意1:属性设置常见的是 a 与 i 的设置值,而且很多设置值必须要身为 root 才能设置
    注意2:xfs 文件系统仅支持 AadiS 而已
    
    

    如:

    范例:请尝试到/tmp下面创建文件,并加入 i 的参数,尝试删除看看。
    [root@study ~]# cd /tmp
    [root@study tmp]# touch attrtest     <==创建一个空文件
    [root@study tmp]# chattr +i attrtest <==给予 i 的属性
    [root@study tmp]# rm attrtest        <==尝试删除看看
    rm: remove regular empty file `attrtest'? y
    rm: cannot remove `attrtest': Operation not permitted
    # 看到了吗?呼呼!连 root 也没有办法将这个文件删除呢!赶紧解除设置!
    
    

由于这些属性是隐藏的,故要使用lsattr才能看到这些属性。
其中较为重要的为+i与+a这个属性:

  • +i可以让一个文件无法被修改,助于实现系统安全
  • +a应用于logfile这种日志文件,实现可以增加但不能修改旧数据与删除参数

lsattr

[root@study ~]# lsattr [-adR] 文件或目录
选项与参数:
-a :将隐藏文件的属性也秀出来;
-d :如果接的是目录,仅列出目录本身的属性而非目录内的文件名;
-R :连同子目录的数据也一并列出来!

[root@study tmp]# chattr +i attrtest
[root@study tmp]# lsattr attrtest
----i----------- attrtest

在这里插入图片描述

此时若再修改这个文件:
在这里插入图片描述
去掉这个属性后,便能正删除:
在这里插入图片描述

  • NT:使用隐藏属性是要特别小心,如:若将/etc/shadow这个重要的密码记录文件设置成具有i的属性,当要新增用户时就会出现问题

文件的特殊权限:SUID、SGID、SBIT

除了rwx,还会有s和t权限,查看/tmp和/usr/bin/passwd的权限就可以看到
在这里插入图片描述
在这里插入图片描述
s和t这两个权限的意义与系统的账号及系统的进程管理较为相关。

Set UID

当s标志出现在文件拥有者的x权限上时,被称为Set UID,简称为SUID的特殊权限。

  • SUID的限制与功能为:
    1. SUID权限仅对二进制程序有效
    2. 执行者对于该程序需要具有x的可执行权限
    3. 本权限仅在执行该程序的过程中有效
    4. 执行者将具有该程序拥有者的权限

NT:SUID仅可用在二进制程序上,不能用在shell脚本上。
这是因为shell脚本只是将很多的二进制执行文件调用执行而已,故SUID的权限部分还是要看shell脚本调用进来的程序的设置,而不是shell脚本本身。

Set GID

s在用户组的x时为SGID,与SUID不同,SGID可以针对文件或目录来设置。

  • 对文件而言,SGID有如下功能:

    1. SGID对二进制程序有效
    2. 程序执行者对于该程序来说,需要有X权限
    3. 执行者在执行的过程中将会获得该程序用户组的支持

    [root@study ~]# ll /usr/bin/locate /var/lib/mlocate/mlocate.db
    -rwx--s--x. 1 root slocate   40496 Jun 10  2014 /usr/bin/locate
    -rw-r-----. 1 root slocate 2349055 Jun 15 03:44 /var/lib/mlocate/mlocate.db
    

    当其他用户执行locate时,其有x权限,那么在执行过程中它将会取得slocate用户组的支持,因此也就可以去读取mlocate.db

除了二进制程序外,SGID也能用在目录中

  • 当一个目录中被设置了SGID权限后,他将具有如下功能:
    1. 用户若对于此目录具有r与x的权限时,该用户能够进入此目录
    2. 用户在此目录下的有效用户组将会变成该目录的用户组
    3. 用途:若用户在此目录下具有w的权限(可以新建文件),则用户所建立的新文件,该文件的用户组与此目录的用户组相同

SGID对项目开发来说非常重要,因为其涉及用户权限的问题。

Sticky Bit

SBIT,当前只对目录有效,对于文件已经没有效果了

  • SBIT对于目录的作用
    • 当用户对于此目录有w、x权限,即具有写入的权限时
    • 当用户在该目录下建立文件或目录时,仅有自己与root才有权利删除该文件

即:当甲这个使用者于A目录时具有群组或其他人的身份,且拥有该目录的w权限,这表示“甲使用者对该目录内任何人创建的文件或目录均可进行‘删除/更名/搬移’等动作”。不过,若将A目录加上SBIT权限项目时,则甲只能针对自己创建的目录或文件进行删除/更名/搬移等动作,而无法删除他人的文件

SUID/SGID/SBIT权限的设置

数字法

之前修改权限的数字方式为:chmod 777 filename,在三个数字之前再加一个数字的话,最前面的数字就代表这几个权限了

  • 4:SUID
  • 2:SGID
  • 1:SBIT
    如要将一个文件权限设置为【-rwsr-xr-x】时,由于s在用户权限中,为SUID,故要在755前再加数字4,即chmod 4755 filename
    如:
    在这里插入图片描述
    最后一个例子要注意,前面都是小写s和t,出现大写是因为user、group、others都没有执行权限,所以这个S和T代表的就是空。也就是说,SUID是代表该文件在执行的时候具有文件拥有者的权限,但是文件拥有者都无法执行了,也就没有权限给其他人使用,也就是空了
符号法

除了数字法之外,也可以像之前一样使用符号法处理。
其中SUID为u+s,SGID为g+s,SBIT为o+t。
在这里插入图片描述

观察文件类型:file

命令与文件的查找

脚本文件的查找

在命令行模式中,连续输入两次[Tab]按键就能知道用户有多少命令可以执行,若要查找命令的完整文件,可以通过which或type查找
which命令是根据PATH这个环境变量所规范的路径,去查找执行文件的文件名,所以重点是找出执行文件而已,且which后面接的是完整文件名。若加上-a选项,则可以列出所有的可以找到的同名执行文件,而非仅显示第一个而已。
在这里插入图片描述
history是bash内置的命令,但是which默认是找PATH所设置的目录,所以会找不到这个命令,不过可以通过type来找,type命令在后面的bash中再说

文件的查找

linux下有相当优异的查找命令,通常find不很常用,除速度慢之外,也影响硬盘性能。一般都是先用whereis或是locate检查,找不到才用find找。因为whereis只找目录中某些特定目录下的文件,locate用数据库来查找文件名,故这俩就相当快速,且没有实际查找硬盘内的文件系统状态,较节省时间。

whereis:由一些特定目录中查找文件

whereis只找几个特定的目录,而不是全系统的去查找,故速度要比find快很多。所以说,whereis主要是针对于/bin/sbin下面的执行文件,以及/usr/share/man下面的man pahe文件,跟几个比较特定的目录来处理而已,可以通过参数确定查找的目录。
不过有些文件是找不到的,可以用whereis -l来查看whereis查了多少目录

locate/updatedb

在这里插入图片描述
locate命令直接在后面输入文件的部分名称后,就能得到结果,中间可以加入参数设置,如上加入参数-l 5,表示限制只列出5个。查找passwd,那么在完整文件名(包括文件路径)中,只要有passwd在其中都会被显示出来。
这是个很好用的命令,尤其是在忘记某个文件的完整文件名时。
但是,这个命令还是理由使用上的限制。因为他是根据已建立的数据库/var/lib/mlocate里面的数据所查找到的,所以不用直接再去硬盘当中读取数据,救护及很快。但是也是因为它是由数据库查找的,而数据库的建立默认是在每天执行一次(linux版本不同,这个时间也不相同),所以当新建立文件但在数据库更新之前查找文件时,就会找不到这个文件。

不过也可以手动更新数据库:直接输入updatedb就可以
updatedb命令会去读取/etc/updatedb.conf这个配置文件的设置,然后再去硬盘里面进行查找文件名的操作,最后去更新整个数据库文件。
因为updatedb会去查找硬盘,所以执行updatedb时,会等待数分钟的时间。

find

  • 与时间相关参数

    -mtime  n :n 为数字,意义为在 n 天之前的“一天之内”被更动过内容的文件;
    -mtime +n :列出在 n 天之前(不含 n 天本身)被更动过内容的文件文件名;
    -mtime -n :列出在 n 天之内(含 n 天本身)被更动过内容的文件文件名。
    -newer file :file 为一个存在的文件,列出比 file 还要新的文件文件名
    
    范例一:将过去系统上面 24 小时内有更动过内容 (mtime) 的文件列出
    [root@study ~]# find / -mtime 0
    #那个 0 是重点!0 代表目前的时间,所以,从现在开始到 24 小时前,
    # 有变动过内容的文件都会被列出来!那如果是三天前的 24 小时内?
    # find / -mtime 3 有变动过的文件都被列出的意思!
    
    范例二:寻找 /etc 下面的文件,如果文件日期比 /etc/passwd 新就列出
    [root@study ~]# find /etc -newer /etc/passwd
    # -newer 用在分辨两个文件之间的新旧关系是很有用的!
    
    
  • 与使用者或用户组相关的参数

    	-uid n :n 为数字,这个数字是使用者的帐号 ID,亦即 UID ,这个 UID 是记录在
                /etc/passwd 里面与帐号名称对应的数字。这方面我们会在第四篇介绍。
       -gid n :n 为数字,这个数字是群组名称的 ID,亦即 GID,这个 GID 记录在
                /etc/group,相关的介绍我们会第四篇说明~
       -user name :name 为使用者帐号名称喔!例如 dmtsai 
       -group name:name 为群组名称喔,例如 users-nouser    :寻找文件的拥有者不存在 /etc/passwd 的人!
       -nogroup   :寻找文件的拥有群组不存在于 /etc/group 的文件!
                    当你自行安装软件时,很可能该软件的属性当中并没有文件拥有者,
                    这是可能的!在这个时候,就可以使用 -nouser-nogroup 搜寻。
    
    范例三:搜寻 /home 下面属于 dmtsai 的文件
    [root@study ~]# find /home -user dmtsai
    # 这个东西也很有用的~当我们要找出任何一个使用者在系统当中的所有文件时,
    # 就可以利用这个指令将属于某个使用者的所有文件都找出来喔!
    
    范例四:搜寻系统中不属于任何人的文件
    [root@study ~]# find / -nouser
    # 通过这个指令,可以轻易的就找出那些不太正常的文件。如果有找到不属于系统任何人的文件时,
    # 不要太紧张,那有时候是正常的~尤其是你曾经以源代码自行编译软件时。
    
  • 与文件权限及名称有关的参数

       -name filename:搜寻文件名称为 filename 的文件;
       -size [+-]SIZE:搜寻比 SIZE 还要大(+)或小(-)的文件。这个 SIZE 的规格有:
                       c: 代表 Byte, k: 代表 1024Bytes。所以,要找比 50KB
                       还要大的文件,就是“ -size +50k ”
       -type TYPE    :搜寻文件的类型为 TYPE 的,类型主要有:一般正规文件 (f), 设备文件 (b, c),
                       目录 (d), 链接文件 (l), socket (s), 及 FIFO (p) 等属性。
       -perm mode  :搜寻文件权限“刚好等于” mode 的文件,这个 mode 为类似 chmod
                     的属性值,举例来说, -rwsr-xr-x 的属性为 4755-perm -mode :搜寻文件权限“必须要全部囊括 mode 的权限”的文件,举例来说,
                     我们要搜寻 -rwxr--r-- ,亦即 0744 的文件,使用 -perm -0744,
                     当一个文件的权限为 -rwsr-xr-x ,亦即 4755 时,也会被列出来,
                     因为 -rwsr-xr-x 的属性已经囊括了 -rwxr--r-- 的属性了。
       -perm /mode :搜寻文件权限“包含任一 mode 的权限”的文件,举例来说,我们搜寻
                     -rwxr-xr-x ,亦即 -perm /755 时,但一个文件属性为 -rw-------
                     也会被列出来,因为他有 -rw.... 的属性存在!
    
    范例五:找出文件名为 passwd 这个文件
    [root@study ~]# find / -name passwd
    
    范例五-1:找出文件名包含了 passwd 这个关键字的文件
    [root@study ~]# find / -name "*passwd*"
    # 利用这个 -name 可以搜寻文件名啊!默认是完整文件名,如果想要找关键字,
    # 可以使用类似 * 的任意字符来处理
    
    范例六:找出 /run 目录下,文件类型为 Socket 的文件名有哪些?
    [root@study ~]# find /run -type s
    # 这个 -type 的属性也很有帮助喔!尤其是要找出那些怪异的文件,
    # 例如 socket 与 FIFO 文件,可以用 find /run -type p 或 -type s 来找!
    
    范例七:搜寻文件当中含有 SGID 或 SUID 或 SBIT 的属性
    [root@study ~]# find / -perm /7000 
    # 所谓的 7000 就是 ---s--s--t ,那么只要含有 s 或 t 的就列出,所以当然要使用 /7000,
    # 使用 -7000 表示要同时含有 ---s--s--t 的所有三个权限。而只需要任意一个,就是 /7000
    

    这里比较有趣的是-perm选项,它重点在于找出特殊权限的文件。我们知道SUID和SGID都可以设置在二进制程序上,若想找出/usr/bin、/usr/sbin这两个目录下,只要具有SUID或SGID就列出该文件,可以进行操作:find /usr/bin /usr/sbin -perm /6000
    在这里插入图片描述
    NT:find的特性是会自行查找子目录,所以所写目录里面的目录也会查找的哦~

  • 额外可进行的操作

       -exec command :command 为其他指令,-exec 后面可再接额外的指令来处理搜寻到的结果。
       -print        :将结果打印到屏幕上,这个动作是默认动作!
    
    范例八:将上个范例找到的文件使用 ls -l 列出来~
    [root@study ~]# find /usr/bin /usr/sbin -perm /7000 -exec ls -l {} \;
    # 注意到,那个 -exec 后面的 ls -l 就是额外的指令,指令不支持命令别名,
    # 所以仅能使用 ls -l 不可以使用 ll 喔!注意注意!
    
    范例九:找出系统中,大于 1MB 的文件
    [root@study ~]# find / -size +1M
    

如上范例八如图所示:
在这里插入图片描述

  • {} 代表的是“由 find 找到的内容”,如上图所示,find 的结果会被放置到 {} 位置中;
  • -exec 一直到 ; 是关键字,代表 find 额外动作的开始 (-exec) 到结束 (;) ,在这中间的就是 find 指令内的额外动作。 在本例中就是“ ls -l {} ”
  • 因为“ ; ”在 bash 环境下是有特殊意义的,因此利用反斜线来跳脱。

如果要找的文件是具有特殊属性的,那么用locate就不行了,就需要使用find进行查找。
另外,find还可以利用通配符来查找文件名。
find好用在于它不但可以指定查找的目录(连同子目录),还可以用额外的选项与参数来找到最正确的文件名。但是由于find在查找数据时相当消耗硬盘资源,所以没事不要用find

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

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

相关文章

SAP ABAP ALV超长JOSN数据无法展示,改用HML格式显示

功能代码: FORM frm_user_command USING r_ucomm LIKE sy-ucommrs_selfield TYPE slis_selfield." BREAK ABAP05.CASE r_ucomm.WHEN &IC1.PERFORM frm_show_detail USING rs_selfield.WHEN . "点击 detail 按钮时,显示供应商的采购订单列…

Log4j-tag丢失

一、引言 最近有个线上日志丢失tag的问题,是组内封装了后置请求的拦截器把请求的响应结果存到ClickHouse里面去,但是日志总有一些tag丢失。 作者提出父级线程的threadlocal被清空,同事认为可能是threadlocal的弱引用在gc的时候被回收。两种想…

lmbench----lmbench性能测试工具迁移至openEuler操作系统实践

【lmbench----lmbench性能测试工具迁移至openEuler操作系统实践】 文章目录 一、openEuler系统上编译部署与运行1.1 安装基础依赖1.2 下载 lmbench 源码1.3 编译安装1.4 执行 lmbench 测试1.5 结果查看 二、lmbench 性能测试结果解析2.1 处理器性能2.2 数学运算性能2.3 上下文切…

左移测试,如何确保安全合规还能实现高度自动化?

「云原生安全既是一种全新安全理念,也是实现云战略的前提。 基于蚂蚁集团内部多年实践,云原生PaaS平台SOFAStack发布完整的软件供应链安全产品及解决方案,包括静态代码扫描Pinpoint,软件成分分析SCA,交互式安全测试IA…

2023年【道路运输企业安全生产管理人员】试题及解析及道路运输企业安全生产管理人员复审考试

题库来源:安全生产模拟考试一点通公众号小程序 道路运输企业安全生产管理人员试题及解析考前必练!安全生产模拟考试一点通每个月更新道路运输企业安全生产管理人员复审考试题目及答案!多做几遍,其实通过道路运输企业安全生产管理…

基于Docker使用Minikube

1. 查看并操控Minikube状态信息 Minikube相当于docker中的一个container,可以在Docker Desktop中看到并操控Minikube container的相关状态: 通过以下命令查看当前docker中的container: % docker ps CONTAINER ID IMAGE …

Win10搜索栏卡住无响应可以尝试以下方法

msdt.exe -ep WindowsHelp id SearchDiagnostic 参考: Fix problems in Windows Search - Windows Client | Microsoft Learn

Vue 项目中如何使用Bootstrap5(简单易懂)

Vue 项目中如何使用Bootstrap5(简单易懂) 安装在 src/main.js 文件下引入包在vue文件中使用 Bootstrap官网(中文):https://www.bootcss.com/ Bootstrap5文档:https://v5.bootcss.com/docs/getting-started/…

Django添加csrf保护机制

步骤 要在Django中启用CSRF保护,您可以按照以下步骤进行操作: 1. 在Django的settings.py文件中,确保django.middleware.csrf.CsrfViewMiddleware中间件已添加到MIDDLEWARE设置中。通常,这个中间件默认就会包含在其中。 2. 在HTM…

测试计划驱动开发模式 TPDD:一种比 TDD 更友好的开发模式

相信大部分开发团队都在使用TDD,并且还有很多开发团队都 对外声明 在使用 TDD 开发模式。 之所以说是“对外声明”,是因为很多开发团队虽然号称使用的是 TDD 开发模式,实际开发过程中却无法满足 TDD 的要求。 实际上,测试驱动的…

安科瑞AMC200多回路智能电量采集监控装置在隧道中的应用-安科瑞黄安南

1项目背景厂家直供黄安南1876-15//06-237 河南安阳林州市某高速公路项目是河南省政府主要打造的一项公路建设项目,该项目全长约70公里,起点位于安阳市内,终点位于林州市县。该项目总投资约60亿元人民币,建设工期预计为3年。 该项…

微信管理系统!

多微信聚合聊天 这个功能可以让你在一个页面上轻松切换多个微信,方便与多个客户进行沟通。这样可以避免在多个手机或电脑界面之间切换,提高工作效率。 群发功能 微信登陆上系统后,可以对好友/群进行群发消息(支持文字&#xff0…

基于深度学习的人脸表情识别 计算机竞赛

文章目录 0 前言1 技术介绍1.1 技术概括1.2 目前表情识别实现技术 2 实现效果3 深度学习表情识别实现过程3.1 网络架构3.2 数据3.3 实现流程3.4 部分实现代码 4 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 基于深度学习的人脸表情识别 该项目较…

电脑频繁出现程序无响应怎么办?

在Windows系统中每个运行的应用程序都会有一个进程,而每个进程会有多个线程,就如你打开微信同时与多个人聊天,而每个线程只能同时处理一个线程。若Windows向程序传递消息时,而程序在处理其他工作未作出反应,Windows就会…

Hadoop RPC简介

数新网络-让每个人享受数据的价值https://www.datacyber.com/ 前 言 RPC(Remote Procedure Call)远程过程调用协议,一种通过网络从远程计算机上请求服务,而不需要了解底层网络技术的协议。RPC它假定某些协议的存在,例…

二进制搭建 Kubernetes与k8s集群搭建(一)

目录 二进制搭建 Kubernetes v1.20 操作系统初始化配置 部署 docker引擎 部署 etcd 集群 准备签发证书环境 在 master01 节点上操作 生成Etcd证书 在 node01 节点上操作 在 node02 节点上操作 部署 Master 组件 在 master01 节点上操作 部署 Worker Node …

企业通关必备,iPaaS应该这样搭建

iPaaS是指集成平台即服务(Integration Platform as a Service),是一种云计算服务,提供了一套工具和服务来帮助企业集成不同的应用程序、数据和系统。iPaaS也可以通过云端的方式,将企业内部的应用程序与云端应用程序进行…

nodejs使用axios以formdata形式上传图片

nodejs使用axios以formdata形式上传图片 FormData是一种用于发送表单数据的接口,它可以用来上传文件。在前端,可以通过创建一个FormData对象,将要上传的文件添加到这个对象中,然后通过AJAX请求将这个FormData对象发送给服务器。服…

unity性能优化__Statistic状态分析

在Unity的Game视图右上角,我们会看到有Stats选项,点击会出现这样的信息 我使用的Unity版本是2019.4.16 一、Audio,顾名思义是声音信息 1:Level:-74.8dB 声音的相对强度或音量。通常,音量级别以分贝(dB&a…

超2000个大模型应用,支持文心4.0!AI Studio星河大模型社区升级上新

想给自己做个私人定制的旅行攻略,满足个性化的出游需求,还要细致关注到天气、穿衣、老人孩子的作息等等,但太耗时费力怎么办?让AI帮忙搞定。一位开发者在AI Studio星河大模型社区用短短数小时就做好了“旅行规划家”智能应用。像这…