【 Linux命令行与Shell脚本编程】第四章 进程管理 ,磁盘统计信息,挂载新磁盘,数据排序,数据归档

Linux命令行与Shell脚本编程

第四章 更多命令
进程管理
磁盘统计信息
挂载新磁盘
数据排序
数据归档


文章目录

  • Linux命令行与Shell脚本编程
    • 四,更多命令
      • 4.1,监测程序
        • 4.1.1,ps 探查进程
        • 4.1.2,top 实时监测进程
        • 4.1.3,kill pkill 结束进程
          • 1,kill 命令
          • 2,pkill 命令
      • 4.2,检测磁盘空间
        • 4.2.1,mount umount挂载存储设备
          • 1. mount 命令
          • 2,umount 命令
        • 4.2.2, df 命令
        • 4.2.3, du 命令
      • 4.3,处理数据文件
        • 4.3.1,sort 数据排序
        • 4.3.2,grep 数据搜索
        • 4.3.3,gzip等 数据压缩
        • 4.3.4,tar 数据归档


四,更多命令

进程管理
磁盘统计信息
挂载新磁盘
数据排序
数据归档

4.1,监测程序

跟踪运行在系统中的程序

4.1.1,ps 探查进程

程序在系统运行时,被称为进程.
ps 命令能够输出系统中运行程序的大量信息.
    
默认情况下,ps命令只显示运行在当前终端中属于当前用户的那些进程。基本输出显示了
    程序的进程ID(process ID,PID)、
    进程运行在哪个终端 (TTY)及其占用的CPU时间。
    $ ps
    PID          TTY TIME CMD
    3081 pts/0       00:00:00 bash
    3209 pts/0       00:00:00 ps
例子中,只有 bash shell在运行(记住,shell只是运行在系统中的另一个程序),当然ps命令本身也在运行。

Linux系统中使用的GNU ps命令支持3种类型的命令行选项:
    ·Unix风格选项,选项前加单连字符;
    ·BSD风格选项,选项前不加连字符;
    ·GNU长选项,选项前加双连字符。

1.Unix风格选项

在这里插入图片描述

ps -ef 查看系统中所有进程.
    $ ps -ef
    UID          PID    PPID  C STIME TTY          TIME CMD
    root           1       0  3 07:30 ?        00:13:42 java -Dtomcat.monitor.http.binding.host=127.0.0.1 -Dhsf.publish.default.tid=false -Dhsf.subscribe.default.tid=false -Dproject.
    root         781       0  0 14:03 ?        00:00:00 /bin/sh -i -c /bin/bash || clear;/bin/sh
    root         782     781  0 14:03 ?        00:00:00 /bin/bash
    root         841     832  0 14:29 ?        00:00:00 ps -ef

    UID:启动该进程的用户。
    PID:进程ID。
    PPID:父进程的PID(如果该进程是由另一个进程启动的)。
    C:进程生命期中的CPU利用率。
    STIME:进程启动时的系统时间。
    TTY:进程是从哪个终端设备启动的。
    TIME:运行进程的累计CPU时间。
    CMD:启动的程序名称。

-l 更多信息
    F S   UID     PID    PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
    4 S     0     831       0  0  80   0 -  3782 do_wai ?        00:00:00 sh
    0 S     0     832     831  0  80   0 -  3818 do_wai ?        00:00:00 bash
    0 R     0     885     832  0  80   0 - 13267 -      ?        00:00:00 ps
    
    F:内核分配给进程的系统标志。
    S:进程的状态(O代表正在运行;S代表在休眠;R代表可运行,正等待运行;Z代表僵化,已终止但找不到其父进程;T代表停止)。
    PRI:进程的优先级(数字越大,优先级越低)。
    NI:谦让度(nice),用于决定优先级。
    ADDR:进程的内存地址。
    SZ:进程被换出时所需交换空间的大致大小。
    WCHAN:进程休眠的内核函数地址。

2.BSD风格
    伯克利软件发行版(Berkeley Software Distribution,BSD)是加州大学伯克利分校开发的一个Unix版本。

在这里插入图片描述

ps l
F   UID     PID    PPID PRI  NI    VSZ   RSS WCHAN  STAT TTY        TIME COMMAND
4     0     781       0  20   0  15128  2820 do_wai Ss   ?          0:00 /bin/sh -i -c /bin/bash || clear;/bin/sh
0     0     782     781  20   0  15272  3208 -      S+   ?          0:00 /bin/bash
0     0     962     832  20   0  53068  3860 -      R+   ?          0:00 ps l
    VSZ:进程占用的虚拟内存大小(以KB为单位)。
    RSS:进程在未被交换出时占用的物理内存大小。
    STAT:代表当前进程状态的多字符状态码。
        第一个字符采用了与Unix风格的S输出列相同的值,表明进程是在休眠、运行还是等待。第二个字符进一步说明了进程的状态。
            <:该进程以高优先级运行。
            N:该进程以低优先级运行。
            L:该进程有锁定在内存中的页面。
            s:该进程是控制进程。
            1:该进程拥有多线程。
            +:该进程在前台运行。

3.GNU长选项
    GNU开发人员在经过改进的新 ps命令中加入了另外一些选项,其中一些GNU长选项复制了现有的Unix或BSD风格选项的效果,而另外一些则提供了新功能。
    GNU长选项。

在这里插入图片描述

可以混用 GNU长选项和 Unix或 BSD风格的选项来定制输出。作为一个GNU长选项,

--forest 选项能够使用 ASCII字符来绘制可爱的图表以显示进程的层级信息:
    PID TTY          TIME CMD
    831 ?        00:00:00 sh
    832 ?        00:00:00  \_ bash
    963 ?        00:00:00      \_ ps
这种格式可以轻而易举地跟踪子进程和父进程。

4.1.2,top 实时监测进程

ps 只能显示某个特定时间点的信息.
top 命令可以实时显示进程信息.

top 输出
    top - 14:44:17 up  7:13,  0 users,  load average: 0.13, 0.13, 0.09
    Tasks:   8 total,   1 running,   7 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  2.0 us,  0.7 sy,  0.0 ni, 97.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    KiB Mem :  2080904 total,   624940 free,  1016068 used,   439896 buff/cache
    KiB Swap:        0 total,        0 free,        0 used.   972604 avail Mem 
    
        PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                                                                     
          1 root      20   0 3662444 842812  23004 S  3.0 40.5  14:18.49 java                                                                                                        
        781 root      20   0   15128   2820   2636 S  0.0  0.1   0:00.00 sh                                                                                                          
        782 root      20   0   15272   3208   2880 S  0.0  0.2   0:00.00 bash                                                                                                        
        ...

输出的第一部分显示的是系统概况:
    第一行显示了当前时间、系统的运行时长、登录的用户数以及系统的平均负载。
        平均负载有3个值,分别是最近1分钟、最近5分钟和最近15分钟的平均负载。
            值越大说明系统的负载越高。由于进程短期的突发性活动,出现最近1分钟的高负载值也很常见。
            但如果近15分钟内的平均负载都很高,就说明系统可能有问题了。
    第二行显示了进程(top称其为task)概况:
        多少进程处于运行、休眠、停止以及僵化状态(僵化状态指进程已结束,但其父进程没有响应)。
    第三行显示了CPU概况。
        top会根据进程的属主(用户或是系统)和进程的状态(运行、空闲或等待)将CPU利用率分成几类输出。
    第四,五行详细说明了系统内存的状态。
        第四行:显示了系统的物理内存状态:总共有多少内存、当前用了多少,以及还有多少空闲。
        第五行:显示了系统交换空间(如果分配了的话)的状态。
        
后一部分显示了当前处于运行状态的进程的详细列表,有些列跟ps命令的输出类似。
    PID:进程的PID。
    USER:进程属主的用户名。
    PR:进程的优先级。
    NI:进程的谦让度。
    VIRT:进程占用的虚拟内存总量。
    RES:进程占用的物理内存总量。
    SHR:进程和其他进程共享的内存总量。
    S:进程的状态(D代表可中断的休眠,R代表运行,S代表休眠,T代表被跟踪或停止,Z代表僵化)。
    %CPU:进程使用的CPU时间比例。
    %MEM:进程使用的可用物理内存比例。
    TIME+:自进程启动到目前为止所占用的CPU时间总量。
    COMMAND:进程所对应的命令行名称,也就是启动的程序名。

默认情况,top命令在启动时会按照 %CPU 值来对进程进行排序,你可以在top命令运行时使用多种交互式命令来重新排序。
top的行为:
    键入f允许你选择用于对输出进行排序的字段,
    键入d允许你修改轮询间隔(pollinginterval),
    键入q可以退出top。

4.1.3,kill pkill 结束进程

在Linux中,进程之间通过信号来通信。进程的信号是预定义好的一个消息,进程能识别该消息并决定忽略还是做出反应。
大多数编写完善的应用程序能接收和处理标准Unix进程信号。

在这里插入图片描述

在Linux中有两个命令可以向运行中的进程发出进程信号 :kill 和 pkill。
1,kill 命令
kill 命令 通过 PID 进程id 发送信号.默认 kill会向命令行列出的所有 进程发送 TERM 信号.(只能通过PID,不能通过进程名)
发送进程信号,必须是进程的属主或root用户.
    $ kill 3940
    -bash: kill: (3940) - Operation not permitted

-s
    TERM信号会告诉进程终止运行。'不服管教'的进程通常会忽略这个请求。如果要强制终止,则-s选项支持指定其他信号(用信号名或信号值)。
    kill命令不会有任何输出:
        # kill -s HUP 3940
    只能运行 ps 或 top 命令查看进程是否已停止运行.
2,pkill 命令
pkill命令可以使用程序名来终止进程。pkill命令也允许使用通配符:
    #pkill http*
该命令将"杀死"所有名称以http起始的进程,比如 ApahceWebServer的httpd服务。
!!! 以root身份使用pkill命令时要格外小心。命令中的通配符很容易意外地将系统的重要进程终止。这可能会导致文件系统损坏。

4.2,检测磁盘空间

4.2.1,mount umount挂载存储设备

挂载(mounting): Linux文件系统会将所有的磁盘都并入单个虚拟目录。在使用新的存储设备之前,需要将其放在虚拟目录中。
图形化桌面环境中,大多数 Linux 发行版能自动挂载特定类型的可移动存储设备。
1. mount 命令
mount 命令  用于挂载存储设备的。
mount命令提供了4部分信息。
        设备文件名
        设备在虚拟目录中的挂载点
        文件系统类型
        已挂载设备的访问状态
在默认情况下,mount命令会输出当前系统已挂载的设备列表。
除了标准存储设备,较新版本的内核还会挂载大量用作 管理目的 的虚拟文件系统。

若知道设备分区 使用的文件系统类型 ,可以使用 -t 过滤
    $ mount -t ext4
    /dev/vda on /home/admin/.tools type ext4 (rw,relatime,nobarrier)
    /dev/vda on /home/admin/.opt type ext4 (rw,relatime,nobarrier)
    设备文件名  on  设备在虚拟目录中的挂载点 type 文件系统类型 (已挂载设备的访问状态)


手动在虚拟目录中挂载设备,需要以root用户身份登录,或是以root用户身份运行sudo命令。
手动挂载设备的基本命令:
    mount -t type device directory
    type参数 指定磁盘格式化所使用的文件系统类型。Linux可以识别多种文件系统类型。如果与 WindowsPC 共用移动存储设备,那么通常需要使用下列文件系统类型。
        vfat:       WindowsFAT32文件系统,支持长文件名。
        ntfs:       WindowsNT及后续操作系统中广泛使用的高级文件系统。
        exfat:      专门为可移动存储设备优化的Windows文件系统。
        iso9660:    标准CD-ROM和DVD文件系统。

    device 指定了该存储设备的设备文件位置 
    directory 指定挂载点在虚拟目录中的位置。
例如,手动将U盘/dev/sdb1挂载到/media/disk,可以使用下列命令:
    mount -t vfat   /dev/sdb1  /media/disk
一旦存储设备被挂载到虚拟目录,root用户就拥有了对该设备的所有访问权限,而其他用户的访问则会被限制。
    可以通过目录权限指定用户对设备的访问权限。

其他选项
在这里插入图片描述

-o选项允许在挂载文件系统时 添加一系列以逗号分隔的额外选项。常用选项:
    ro:以只读形式挂载。
    rw:以读写形式挂载。
    user:允许普通用户挂载该文件系统。
    check=none:挂载文件系统时不执行完整性校验。
    loop:挂载文件。
2,umount 命令
umount 卸载设备的命令  
     umount [directory | device ]
移除可移动设备时,不能直接将设备拔下,应该先卸载。

Linux不允许直接弹出已挂载的CD或DVD。
如果在从光驱中移除CD或DVD时遇到麻烦,可能是还在虚拟目录中挂载着。应该先卸载,然后再尝试弹出。

umount命令支持通过设备文件或者挂载点来指定要卸载的设备。如果有任何程序正在使用设备上的文件,则系统将不允许卸载该设备。
    # umount /home/rich/mnt
    umount: /home/rich/mnt: device is busy
    umount: /home/rich/mnt: device is busy
    #cd/home/rich
    # umount /home/rich/mnt

当 命令行提示符 位于已挂载设备的文件系统中时, umount命令无法卸载该镜像文件。一旦命令提示符移出其镜像文件系统,umount命令就能成功卸载镜像文件了。
    
如果在卸载设备时,系统提示设备繁忙,无法卸载,那么通常是有进程还在访问该设备或使用该设备上的文件。
可用 lsof 命令获得相关进程的信息,然后将进程终止。
    lsof 命令:
        lsof/path/to/device/node,或者 lsof/path/to/mount/point.

4.2.2, df 命令

df命令可以方便地查看所有已挂载磁盘的磁盘的使用情况:(当前值)
df命令会输出内核挂载的所有虚拟文件系统,因此可以使用-t选项来指定文件系统类型,进而过滤输出结果。
    $ df -t ext4 -t vfat
    Filesystem  1K-blocks   Used    Available   Use%    Mounted on
    /dev/sda5   19475088    7326256 11136508    40%     /
    /dev/sda2   524272      4       524268      1%      /boot/efi
输出结果
    设备文件位置
    包含多少以1024字节为单位的块
    使用了多少以1024字节为单位的块
    还有多少以1024字节为单位的块可用
    已用空间所占的百分比
    设备挂载点

-h (human-readable),以人类易读的方式显示 M兆,G吉
    $ df -h
    Filesystem  1K-blocks   Used    Available   Use%    Mounted on
    /dev/sda5   19G         7.0G    11G         40%     /
    /dev/sda2   512M        4.0K    512M        1%      /boot/efi

4.2.3, du 命令

通过df命令,很容易发现哪个磁盘存储空间不足。
du命令可以显示某个特定目录(默认下是当前目录)的磁盘使用情况。这有助于你快速判断系统中是否存在磁盘占用"大户"。

在默认情况下,du命令会显示当前目录下所有的文件、目录和子目录的磁盘使用情况,并以磁盘块为单位来表明每个文件或目录占用了多大存储空间。
du命令的部分输出:
    $ du
    484 /.gstreamer-0.10
    8   /Templates
    8   ./Download
    ... ...

    左侧数字表示文件或目录所占的磁盘块数.
    目录层级的底部向上逐渐输出,

选项
    -c:显示所有已列出文件的总大小。
    -h:按人类易读格式输出大小,分别用K表示千字节、M表示兆字节、G表示吉字节。
    -s:输出每个参数的汇总信息。

4.3,处理数据文件

4.3.1,sort 数据排序

默认情况,sort命令会依据会话所指定的默认语言的排序规则来对文本文件中的数据行进行排序.
    $ cat file1
        one
        two
        three
    $ sort file1
        one
        three
        two
在默认情况下,sort命令会将数字视为字符并执行标准的字符排序,这种结果不是正常想要的。

-n 选项 : 将数字按值排序:
    $ cat file2
        2
        100
        1
    $ sort file2
        1
        100
        2
    $sort -n file2
        1
        2
        100

sort选项

短选项长选项描述
-k–key= POS1[POS2]排序键从POS1位置开始,到POS2位置结束(如果指定了POS2的话]
-t–field-separator= SEP指定字段分隔符
-n–numeric-sort将字符串按数值意义排序
-r–reverse逆序排序( 升序变成降序)
-b–ignore-leading-blanks排序时忽略起始的空白字符
-C–check=quiet不排序,如果数据无序也不要报告
-c–check不排序,但检查输入数据是否有序,无序的话就报告
-d–dictionary-order仅考虑空白字符和字母数字字符,不考虑特殊字符
-f–ignore-case大写字母默认先出现,该选项会忽略大小写
-g–general-numeric-sort使用一般数值进行排序
-i–ignore-nonprinting在排序时忽不可打印字符
-M–month-sort用三字符的月份名按月份排序
-m–merge合并两个已排序数据文件
-o–output= file将排序结果写入指定文件
-R–random-sort根据随机哈希排序
          |--random-source= FILE                |指定-R选项用到的随机字节文件                                          

-S |–buffer-size= SIZE |指定使用的内存大小
-s |–stable |禁止last-resort比较,实现稳定排序
-T |–temporary-directory= DIR |指定用于保存临时工作文件的目录
-u |–unique |和-c选项合用时,检查严格排序;不和-c选项合用时,相同行仅输出一次2
-z |–unique |在行尾使用NULL字符代替换行符

在对按字段分隔的数据(比如/etc/passwd文件)进行排序时,-k选项和-t选项非常方便。
先使用-t选项指定字段分隔符,然后使用-k选项指定排序字段。例如,要根据用户ID对/etc/passwd按数值排序,可以这么做:
    $ sort -t ':' -k 3 -n /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
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    sync:x:5:0:sync:/sbin:/bin/sync
    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    halt:x:7:0:halt:/sbin:/sbin/halt
    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    news:x:9:13:news:/etc/news:
    uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
    operator:x:11:0:operator:/root:/sbin/nologin
    games:x:12:100:games:/usr/games:/sbin/nologin
    gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
    ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
-n选项适合于排序数值型输出,比如du命的输出:
    $ du -sh *| sort -nr
    1008k   mrtg-2.9.29.tar.gz
    972k    bldg1
    1888k   fbs2.pdf
    760k    Printtest
    680k    rsync-2.6.6.tar.gz
-r 降序排列

4.3.2,grep 数据搜索

大文件中查找位于中间位置的数据
使用grep命令来帮助查找
    grep [options] pattern [file]
grep命令会在 输入或指定文件 中逐行搜索匹配指定模式的文本。该命令的输出是 包含了匹配模式的行。
    $ grep t file1
    two
    three
匹配模式可以使用UNIX模式的正则表达式

-v 反向搜索,输出不匹配的行
-n 匹配指定模式的那些行的行号
-c 输出有多少行含有匹配模式
-e 指定多个匹配模式
    逐个指定:
    $ grep -et -e f file1
        two
        three
        four
        five


egrep命令是grep的一个衍生,支持POSIX扩展正则表达式,其中包含更多可用于指定匹配模式的字符。
fgrep 支持将匹配模式指定为以换行符分隔的一系列固定长度的字符串。

4.3.3,gzip等 数据压缩

linux 文件压缩工具

工具文件扩展名描述
bzip2.bz2采用Burrows-Wheeler块排序交本压缩算法和霍夫曼编码
compress.Z最初的Unix文件压缩工具,无人使用
gzip.gzGNU压缩工具,用 Lempel-Zivwelch 编码(linux最流行)
xz.xz日渐流行的通用压缩工具
zip.zipWindows中PKZIP工具的Unix实现
linux最流行 gzip
    gzip:压缩文件
    gzcat:查看压缩文件的内容
    gunzip:解压文件

gzip命令会压缩命令行中指定的文件。可以指定多个文件名或是用通配符来一次性压缩多个文件:
    $ gzip my*

4.3.4,tar 数据归档

Unix,Linux 中最流行的归档工具是 tar 命令.

tar 命令最开始是用于 将文件写入磁带设备 以作归档,也可以 将输出写入文件,是在Linux中归档数据的普遍做法。
    tar function [options] object1 object2 ...
操作长选项描述
-A–concatenate将一个tar归档文件追加到另一个tar归档文件末尾
-c–create创建新的tar归档文件
-d–diff检查归档文件和文件系统不同点
  •   |--delete           |从tar归档文件中删除文件
    

-r |–append |将文件追加到tar文件末尾
-t |–list |列出tar归档文件内容
-u |–update |将比tar归档文件中 已有的同名文件更新的文件 追击到该归档文件
-x |–extract |从tar归档文件中提取文件

选项描述
-C dir切换到指定目录
-f file将结果输出到文件(或设备)
-p保留文件的所有权利
-v在处理文件时显示文件名
-j将输出传给bzip2命令进行压缩
-J将输出传给xz命令进行压缩
-z将输出传给gzip命令进行压缩
-Z将输出传给compress命令进行压缩
常用:
创建归档文件:创建一个名为test.tar的归档文件,包含目录test和test2的内容。
    tar -cvf test.tar test/ test2/
列出了(但不提取)tar文件test.tar的内容。
    tar -tf test.tar
从tar文件test.tar中提取内容。如果 tar文件含有目录结构,则在当前目录中重建该目录的整个结构。
    tar -xvf test.tar
在下载开源软件时经常会看到文件名以.tgz结尾,这是经 gzip压缩过的tar文件,提取其中的内容:
    tar -zxvf filename.tgz

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Node 02-fs模块

fs 模块 fs 全称为 file system &#xff0c;称之为 文件系统 &#xff0c;是 Node.js 中的 内置模块 &#xff0c;可以对计算机中的磁盘进行操作。 本章节会介绍如下几个操作&#xff1a; 文件写入文件读取文件移动与重命名文件删除文件夹操作查看资源状态 文件写入 文件写入…

基于Java+Springboot+vue体育用品销售商城平台设计和实现

基于JavaSpringbootvue体育用品销售商城平台设计和实现 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码联系方式…

URL 转为QR code(二维码)

推荐一个良心的网站&#xff0c;能够免费地将url、text编码为二维码&#xff0c;而且还能设计logo、颜色等。 https://www.the-qrcode-generator.com/ 如下图&#xff1a; 可以自己定义logo、颜色&#xff1a; 还能查看扫描历史等统计信息&#xff1a; 上述所有功能都是免…

远程控制电脑的软件哪个比较好用

有多种软件选项可用于远程控制计算机&#xff0c;最适合您的软件选项取决于您的具体需要和要求。 以下是一些最流行的远程控制软件选项及其功能和优势&#xff1a; TeamViewer TeamViewer 是使用最广泛的远程控制软件选项之一。 它具有用户友好的界面&#xff0c;并提供文件传…

极豆科技加入飞桨技术伙伴计划,共筑智能网联汽车新生态

近日&#xff0c;极豆科技正式加入百度飞桨技术伙伴计划&#xff0c;双方将共同努力&#xff0c;联合推进人工智能、大数据、云计算等前沿技术在智能网联汽车领域的应用落地&#xff0c;携手推动汽车产业变革&#xff0c;加速车企迈向全面数字化。 上海极豆科技有限公司‍‍‍‍…

PyCharm-2023安装教程

访问JetBrains的官方网站&#xff0c;下载PyCharm最新版本的安装程序。 双击下载的安装程序&#xff0c;在弹出的安装向导中点击“下一步”。 阅读许可协议&#xff0c;并同意协议条款。 选择安装路径。默认情况下&#xff0c;PyCharm会安装在C:\Program Files\JetBrain…

day31—选择题

文章目录 1.在单处理器系统中&#xff0c;如果同时存在有12个进程&#xff0c;则处于就绪队列中的进程数量最多为&#xff08;D&#xff09;2.以下关于多线程的叙述中错误的是&#xff08;C&#xff09;3. 整数0x12345678&#xff0c;在采用bigendian中内存的排序序列是&#x…

centOS7.9安装nginx

此示例为安装nginx-1.20.1 &#xff08;小版本无差别&#xff09; 安装过程 sftp上传nginx-1.20.1.tar.gz文件到机器&#xff08;在root目录下&#xff09; #cd /usr/local/nginx/sbin #./nginx -V (查看版本&#xff0c;如果已经有安装过的话会出现版本号) 切换到loca…

MyBatis(十六)MyBatis使用PageHelper

一、limit分页 mysql的limit后面两个数字&#xff1a; 第一个数字&#xff1a;startIndex&#xff08;起始下标。下标从0开始。&#xff09; 第二个数字&#xff1a;pageSize&#xff08;每页显示的记录条数&#xff09; 假设已知页码pageNum&#xff0c;还有每页显示的记录…

hot100:数组——56、64

56. 合并区间 首先考虑只有两个区间的情况&#xff1a; 但是这6种情况可以合并成3种情况&#xff0c;就是上面的3种。首先先判断第一个区间的起始位置是否小于等于第二个区间的起始位置。如果不成立&#xff0c;则交换两个区间。 再考虑n个区间的情况&#xff0c;先将他们根…

centos7查看磁盘io

1.查看所使用到的命令为iostat&#xff0c;centos7没有自带iostat&#xff0c;需要安装一下 2.安装iostat命令 yum -y install sysstat 3.使用iostat命令 iostat %user&#xff1a;表示用户空间进程使用 CPU 时间的百分比 %nice&#xff1a;表示用户空间进程以降低优先级的…

门禁系统中人脸检测技术的原理剖析和使用教程

引言 人脸检测 API 是一种基于深度学习技术的图像处理API&#xff0c;可以快速地检测出一张图片中的人脸&#xff0c;并返回人脸的位置和关键点坐标&#xff0c;在人脸识别系统、人脸情绪识别等多种场景下都有极大的应用。 本文将从人脸检测的发展历程、原理、特点等角度出发…

学习笔记:《Foundation models for generalist medical artificial intelligence》

目录 一、GMAI模型的概念与优势 二、GMAI模型面临的挑战 1.验证 2.社会偏见 3.隐私 4.规模 5.技术挑战 三、结论&#xff1a; 参考文献 最近在《Nature》杂志上发表的一篇名为《Foundation models for generalist medical artificial intelligence》的文章&#xff0c…

Flutter 布局探索 | 如何分析尺寸和约束

theme: cyanosis 前言 本文来分享一下&#xff0c;通过查看源码和布局信息解决的一个实际中的布局小问题&#xff0c;也希望通过本文的分享&#xff0c;当你遇到布局问题时&#xff0c;可以靠自己的脑子和双手解决问题。 如下所示&#xff0c;将 TextField 作为 AppBar 组件的 …

拆解Open ODS View和HANA Composite Provider

这两个也不是新面孔了。 那么OODS和HCPR到底他俩怎么用&#xff1f;既然大家都是虚拟的&#xff0c;不占地方。那这俩infoprovider到底有啥区别&#xff1f; 首先就是目的不同。 HCPR是可以用Union和Join。也就是老的Multiprovider和InfoSet。Union就是说两个数据集的行能被…

【OS实验】【学习笔记】

文章目录 零、实验参考实验1 熟悉实验环境实验2 操作系统的引导实验3 系统调用实验4 进程运行轨迹的跟踪与统计实验5 基于内核栈切换的进程切换实验6 信号量的实现和应用实验7 地址映射与共享实验8 终端设备的控制实验9 proc文件系统的实现Reference 零、实验参考 &#x1f52…

【华为机考】专题突破 第一周:单调栈 739 、503 、901、84

刷题顺序参考于 《2023华为机考刷题指南&#xff1a;八周机考速通车》 前言 单调栈&#xff1a;分为单调递增和单调递减栈。(栈内元素成递增或者递减性)&#xff1a; 单调递增栈&#xff1a;从栈底到栈顶数据是从大到小&#xff0c;即 栈内的元素从栈顶 到栈底 是递增的&#x…

【手把手刷CCF】202303-2-垦田计划100分(超简单思路,含详细解释注释与代码)

文章目录&#xff1a; 故事的开头总是极尽温柔&#xff0c;故事会一直温柔……&#x1f49c;一、&#x1f333;代码如下&#xff1a;二、&#x1f335;解题思路❤️❤️❤️忙碌的敲代码也不要忘了浪漫鸭&#xff01; 故事的开头总是极尽温柔&#xff0c;故事会一直温柔……&am…

SpringBoot集成WebSocket实现及时通讯聊天功能!!!

1&#xff1a;在SpringBoot的pom.xml文件里添加依赖: <!-- websocket --> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dependency> 2&#xff1a;在配置中…

java 拼接字符串的方法

1.拼接字符串的方法&#xff0c;先要将字符串转化为数字类型&#xff0c;再根据需要拼接。这样可以避免直接拼接导致的错误。 2.将字符串转化为数字类型&#xff0c;这个就是一个循环。可以使用循环的方法&#xff0c;但是循环次数不宜太多&#xff0c;否则容易出错。 3.可以使…
最新文章