Java八股文4-Linux篇

Linux篇

Linux中常见命令:Linux常见命令

1.free命令-查看内存状态

        free命令用于显示内存状态,它可以提供关于系统内存使用情况的详细信息。这个命令会显示出内存的使用情况,包括实体内存、虚拟的交换文件内存、共享内存区段,以及系统核心使用的缓冲区等。

       

其中,参数包括但不限于:

  • -b:以Byte为单位显示内存使用情况。
  • -k:以KB为单位显示内存使用情况(这是默认的单位)。
  • -m:以MB为单位显示内存使用情况。
  • -g:以GB为单位显示内存使用情况。
  • -o:不显示缓冲区调节列。
  • -s <间隔秒数>:持续观察内存使用状况。
  • -t:显示内存总和列。
  • -V:显示版本信息。
  • 内存使用情况:这部分显示了总的内存量、已使用的内存量、空闲的内存量、共享的内存量、缓冲区内存量和缓存内存量。
  • 交换空间使用情况:这部分显示了交换空间的总量、已使用的交换空间量、空闲的交换空间量。

补:交换空间的概念:当物理内存(RAM)不够用的时候,将硬盘中的一些空间作为交换空间,系统可以将部分数据从物理内存转移到交换空间中,以便释放RAM资源给其他应用程序使用。这个过程称为交换(swapping)。交换空间可以提高系统的性能,因为它允许系统在物理内存紧张时继续运行。

在内存使用情况的输出中,total表示总的内存量,used表示已使用的内存量,free表示空闲的内存量,shared表示共享的内存量,buffers表示缓冲区内存量,cached表示缓存内存量。

补:cpu (cache) 内存 (buffer) 硬盘 

1.cache是介于cpu和内存之间的,用于cpu和内存之间缓存数据的。

cache:L1、L2。最常见的是L1cache和L2cache。L1cache一般是存在cpu的芯片里面,速度是最快的。L2cache是存在主板里面,是作为cpu和内存之间数据缓存的空间。当cpu和内存有数据交换时,先把数据存到cache中,cpu直接区cache里面取。

2.buffer是介于内存和硬盘之间的缓存

Linux中有两种设备:字符设备(如键盘)和块设备(硬盘),操作系统可以从这两种设备中获取数据。内存和硬盘交换数据的时候通过一个缓冲区buffer。

在交换空间使用情况的输出中,total表示交换空间的总量,used表示已使用的交换空间量,free表示空闲的交换空间量。

2.top命令-查看资源占用情况

在Linux系统中,top命令是一个非常实用的性能分析工具,它能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。top命令提供了一个动态显示的过程,即可以通过用户按键来不断刷新当前状态。如果在前台执行该命令,它将独占前台,直到用户终止该程序为止。

其中,参数包括但不限于:

  • -b:批处理模式,直接将结果输出到文件。
  • -c:显示完整的命令行而不截断。
  • -I:忽略失效进程。
  • -s:保密模式,不显示敏感信息。
  • -S:累积模式,显示进程的CPU使用时间。
  • -i:不显示闲置(idle)或无用的进程。
  • -n:设置更新次数后自动退出。
  • -d:设置每两次屏幕信息刷新之间的时间间隔。

显示信息

top命令的输出包括以下几个部分:

  1. 系统状态:显示当前时间、系统运行时间、登录用户数量、平均负载等信息。
  2. CPU使用情况:显示用户空间、内核空间、改变过优先级的进程、空闲CPU、IO等待、硬中断和软中断占用的CPU百分比。
  3. 内存使用情况:显示物理内存总量、已使用内存、空闲内存、缓存内存等。
  4. 交换空间使用情况:显示交换空间的总量、已使用的交换空间、空闲的交换空间等。
  5. 进程信息:显示进程ID、进程所有者、进程优先级、nice值、虚拟内存使用量、常驻内存使用量、共享内存使用量、CPU使用率、内存使用率、进程启动后的CPU时间总计等。

3.vmstat命令

vmstat命令是Linux系统中用于监控系统资源使用情况的工具,它可以展示系统的CPU使用率、内存使用情况、虚拟内存交换情况以及I/O读写情况。vmstat命令提供了对系统整体性能的快照,帮助系统管理员了解系统的实时状态。

注:这里 vmstat 1 100 代表每秒打印一条数据,共打印100条

vmstat命令的输出结果包括多个部分,每个部分代表了不同的系统资源使用情况:

  • 进程信息(procs):显示当前运行队列中线程的数目(r)和等待IO的进程数量(b)。
  • 内存信息(memory):显示虚拟内存已使用的大小(swpd)、空闲的物理内存大小(free)、用作缓冲的内存大小(buff)、用作缓存的内存大小(cache)、每秒从交换区写到内存的大小(si)、每秒写入交换区的内存大小(so)。
  • I/O信息(io):显示每秒从磁盘读入虚拟内存的大小(bi)、每秒虚拟内存写入磁盘的大小(bo)、每秒CPU的中断次数(in)、每秒上下文切换次数(cs)。
  • CPU使用情况(cpu):显示用户进程执行时间(us)、系统进程执行时间(sy)、空闲时间(id)和等待IO的时间(wa)。

3.Linux中查看文件内容的命令

1. more指令 —— 分页显示文件内容

注:左下角会显示当前已经阅读了所有内容的百分之几。

more指令会以一页一页的形式显示文件内容,按空白键(space)显示下一页内容,按Enter键会显示下一行内容,按 b 键就会往回(back)一页显示,其基本用法如下:

more file1 查看文件file1的文件内容;

more -num file2 查看文件file2的内容,一次显示num行;

more +num file3 查看文件file3的内容,从第num行开始显示;


2. less指令 —— 可以向前或向后查看文件内容

注:less查出来的文件内容,可以通过鼠标滚轮往前看或者往后看!

less指令查看文件内容时可以向前或向后随意查看内容;

less指令的基本用法为:

less file1 查看文件file1的内容;

less -m file2 查看文件file2的内容,并在屏幕底部显示已显示内容的百分比;

less -N file2 查看文件file3的内容,并显示每行的行号;

按空格键显示下一屏的内容,按回车键显示下一行的内容;

按 U 向前滚动半页,按 Y 向前滚动一行;

按[PageDown]向下翻动一页,按[PageUp]向上翻动一页;

按 Q 退出less命令;


3. head指令 —— 查看文件开头的内容

head指令用于显示文件开头的内容,默认情况下,只显示文件的头10行内容;

head指令的基本用法:

head -n <行数> filename 显示文件内容的前n行;

例如:head -n 5 file1 显示文件file1的前5行内容

head -c <字节> filename 显示文件内容的前n个字节;

例如:head -c 20 file2 显示文件file2的前20个字节内容


4. tail指令 —— 显示文件尾部的内容

tail指令用于显示文件尾部的内容,默认情况下只显示指定文件的末尾10行;

tail指令的基本用法:

tail file1 显示文件file1的尾部10行内容;

tail file1 -f 动态显示文件file1的尾部10行内容;文件如果一直在写入数据,最新写入的数据也会被同步查出来。

tail -n <行数> filename 显示文件尾部的n行内容;

例如:tail -n 5 file1 显示文件file1的末尾5行内容

tail -c <字节数> filename 显示文件尾部的n个字节内容;

例如:tail -c 20 file2 显示文件file2的末尾20个字节


5. cat指令 —— 显示文件内容

使用cat命令时,如果文件较小还勉强能用,如果文件内容过多,则只会显示最后一屏的内容;

cat指令的基本用法:

cat file1 用于查看文件名为file1的文件内容;

cat -n file2 查看文件名为file2的文件内容,并从1开始对所有输出的行数(包括空行)进行编号;

cat -b file3 查看文件名为file3的文件内容,并从1开始对所有的非空行进行编号;

4.crontab命令-设置定时任务

        在Linux中设置定时任务通常是通过crond服务(表现就是一个一直执行的守护进程,这个守护进程会一直监视定时任务列表有没有指定定时任务)来实现的。crond服务允许用户在指定的日期和时间运行脚本和命令。如果有定时任务,就会到指定时间执行,如果没有,守护进程也会一直运行。要设置定时任务,你需要编辑当前用户的crontab文件,或者在/etc/crontab文件中添加系统级别的任务。

使用场景:日志分析、定时数据备份等周期性工作。

简单使用步骤:

1.创建一个任务 (可以是脚本或者命令)

2.通过 crontab - e 命令把定时任务加入crontab服务队列中

3.通过 crontab - l 命令查看队列中是否有加入的定时任务(确认成功加入任务)

例:1.假设我们已经写了一个脚本“time.sh”

        2.执行 crontab -e 命令,就会进入:

        任务执行的格式: 时间 + 任务路径

注:最后一个代表每天每小时每分钟执行1次。

写入以后,通过" :wq! " 保存并退出编辑。

        3.查看定时任务队列,通过命令 crontab -l

注意:如果定时任务没有执行,可能是crond服务没有在运行。可以通过 ps -ef | grep crond 命令查看该进程运行情况。

补:service crond restart 重启crond服务   service crond stop 停止crond服务

5.Linux中的挂载

1.概念

挂载:指的就是将设备文件中的顶级目录连接到Linux根目录下的某一目录,访问此目录就等同于访问设备文件。

Linux系统中"一切皆文件",所有文件都放置在以根目录为树根的树形目录结构中。

在Linux看来,任何硬件设备也都是文件,它们各有自己的一套文件系统。

当在Linux系统中使用这些硬件设备时,只有将硬件设备的文件目录  嫁接到Linux本身的文件目录,硬件设备才能为我们所用。这里的嫁接过程我们称之为"挂载"。

2.举例

举个例子,我们想通过命令行访问某个 U 盘中的数据,图 1 所示为 U 盘文件目录结构和 Linux 系统中的文件目录结构。

图 1 U 盘和 Linux 系统文件目录结构

图 1 中可以看到,目前 U 盘和 Linux 系统文件分属两个文件系统,还无法使用命令行找到 U 盘文件,需要将两个文件系统进行挂载。

接下来,我们在根目录下新建一个目录 /sdb-u,通过挂载命令将 U 盘文件系统挂载到此目录,

mount /dev/sdb1      /sdb-u

挂载效果如图 2 所示。

图 2 文件系统挂载

可以看到,U 盘文件系统已经成为 Linux 文件系统目录的一部分,此时访问 /sdb-u/ 就等同于访问 U 盘。

前面讲过,根目录下的 /dev/ 目录文件负责所有的硬件设备文件,事实上,当 U 盘插入 Linux 后,系统也确实会给 U 盘分配一个目录文件(比如 sdb1),就位于 /dev/ 目录下(/dev/sdb1),但无法通过 /dev/sdb1/ 直接访问 U 盘数据,访问此目录只会提供给你此设备的一些基本信息(比如容量)。

总之,Linux 系统使用任何硬件设备,都必须将设备文件与已有目录文件进行挂载。


3.补充

前面讲过,根目录下的/dev/目录文件负责所有的硬件设备文件。

事实上,当U盘插入Linux后,系统也确实会给U盘分配一个目录文件(比如:sdb4)。

位于/dev/sdb4,但是无法通过/dev/sdb4/直接访问U盘数据。

我们只要执行mount操作后就可以访问U盘数据了。

总之,Linux系统使用任何硬件设备,都必须将设备文件与已有目录文件进行挂载。

4、LINUX文件结构和WINDOWS的不同

Linux是多用户操作系统,所以制定一个固定的目录规划有助于对系统文件和不同的用户文件进行统一管理——Linux采用标准的树状目录结构

Windows不同的是,在最顶层的文件目录不是唯一的(多个盘符)

5、挂载文件系统


        linux系统中每个分区都是一个文件系统,都有自己的目录层次结构。linux会将这些分属不同分区的、单独的文件系统按一定的方式形成一个系统的总的目录层次结构;这里所说“按一定方式”就是指的挂载

通俗的说,将一个文件系统的顶层目录挂到另一个文件系统的子目录上,使它们成为一个整体,称为挂载;我们把这个子目录叫“挂载点”

注意几点:

1. 挂载点必须是一个目录

2. 一个分区挂载在一个已存在的目录上,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用;对于其他操作系统建立的文件系统的挂载也是这样

挂载前要了解linux是否支持所要挂载的文件系统格式

6.挂载常用命令

在Linux中,挂载是一个关键的概念,它允许我们将文件系统附加到目录树中的某个位置。这可以通过使用`mount`命令来实现。以下是一些常用的`mount`命令及其用途:
 
1. `mount`:显示当前已挂载的文件系统信息。
 
2. `mount -a`:尝试自动挂载`/etc/fstab`文件中定义的所有文件系统。这个命令常用于启动时自动挂载文件系统。
 
3. `mount -t <文件系统类型>`:指定要挂载的文件系统类型,如`ext4`、`ntfs`、`vfat`等。
 
4. `mount -L <卷标名>`:通过卷标名称来挂载分区,而不必知道设备文件名。
 
5. `mount -U <UUID>`:通过UUID来挂载特定的设备。
 
6. `mount -o <特殊选项>`:设置挂载时的特殊选项,例如`ro`(只读)、`rw`(读写)、`noatime`(不过记录访问时间)等。
 
7. `umount`:卸载之前挂载的文件系统,对应的设备才可以安全移除。

例:

将 /dev/hda1 挂在 /mnt 之下。

#mount /dev/hda1 /mnt

将 /dev/hda1 用唯读模式挂在 /mnt 之下。

#mount -o ro /dev/hda1 /mnt

 
在使用`mount`命令时,需要注意以下几点:
 
- 必须拥有足够的权限(通常是root权限)来执行挂载操作。
 
- 在挂载之前,确认你要挂载的设备或文件系统是有效的,并且不会与其他已挂载的文件系统冲突。
 
- 卸载设备前,确保没有进程正在使用该设备,否则可能导致数据丢失或系统不稳定

6.find命令

`find`命令是Linux系统中一个强大的工具,主要用于在指定目录下查找文件和目录。它可以配合多种选项来过滤和限制查找的结果。
 
`find`命令的基本用法
`find`命令的一般格式如下:
 

find [路径] [匹配条件] [动作]


其中:
**路径**:要查找目录路径,可以是一个目录或文件名,也可以是多个路径,多个路径之间用空格分隔,如果未指定路径,则默认为当前目录。
**匹配条件**:可选参数,用于指定查找的条件,可以是文件名、文件类型、文件大小等等。
**动作**:可选的,用于对匹配到的文件执行操作,比如删除、复制等。
find命令的一些常见选项:
        1.name pattern:按文件名查找,支持使用通配符 `*` 和 `?`。
        2.type type:按文件类型查找,可以是 `f`(普通文件)、`d`(目录)、`l`(符号链接)等。
        3.size [+-]size[cwbkMG]:按文件大小查找,支持使用 `+` 或 `-` 表示大于或小于指定大小,单位可以是 `c`(字节)、`w`(字数)、`b`(块数)、`k`(KB)、`M`(MB)或 `G`(GB)。
        4. time days:按修改时间查找,支持使用 `+` 或 `-` 表示在指定天数前或后,天数是一个整数表示天数。
        5.user username:按文件所有者查找。
        6.group groupname:按文件所属组查找。
find命令的实际应用
例如,如果你想找到当前目录及其子目录下所有名为 `example.txt` 的文件,你可以使用以下命令:

find . -name "example.txt"


如果你想找到当前目录及其子目录下所有大于1MB的文件,你可以使用以下命令:

find . -type f -size +1M


如果你想找到当前目录及其子目录下所有属于用户 `username` 的文件,你可以使用以下命令:

find . -type f -user username


以上只是 `find` 命令的一部分功能,实际上 `find` 命令的功能非常强大,可以根据你的需求进行各种复杂的查询。

7.Linux文件处理相关命令(grep、awk、sed)

        对文件内容进行处理,grep擅长查找功能,sed擅长取行和替换文件内容,awk擅长取列。这三个命令的功能十分丰富,在此只说一下常用功能。

1.grep命令
  • -i:忽略大小写进行匹配。
  • -v:反向查找,只打印不匹配的行。
  • -n:显示匹配行的行号。
  • -r:递归查找子目录中的文件。
  • -l:只打印匹配的文件名。
  • -c:只打印匹配的行数。
  1. 在文件中搜索指定字符串:
    grep "pattern" file.txt
  2. 使用正则表达式进行搜索:
    grep "^[0-9]*$" file.txt
  3. 忽略大小写进行搜索:
    grep -i "pattern" file.txt
  4. 递归搜索目录下的文件:
    grep -r "pattern" directory/
  5. 统计匹配到的行数:
grep -c "pattern" file.txt

2.sed命令

提取文件中符合条件的行,输出到屏幕

假设文件 fin.txt 中的内容如下:

hello Jobs
hello Pony
hello Jack,  hi Jack

1. 把每一行中的 Jack 替换成 Mark

sed  's/Jack/Mark/'  fin.txt
>>
hello Jobs
hello Pony
hello Mark, hi Jack

sed 命令一般是写在单引号内,引号内开头的 s 表示替换(substitute),

需要注意的是,在默认情况下,sed 只会替换每行中匹配到的第一个字符串,所以上面例子中最后一行的第二个 Jack 没有被替换,如果希望替换每一行中所有匹配到的字符串,需加在命令末尾上选项 g,比如:

sed  's/Jack/Mark/g'  fin.txt
>>
hello Jobs
hello Pony
hello Mark, hi Mark

注意这条命令并不会修改文件 fin.txt 的内容,只是将文件中的每一行读入缓存,执行替换,然后输出到屏幕,文件内容并没有发生改变。

如果希望直接修改文件内容,可加上选项 “ -i ”

sed -i 's/Jack/Mark/g' fin.txt

2. 将 2~3 行中的 hello 替换成 hey

sed  '2,3s/hello/hey/g'  fin.txt
>>
hello Jobs
hey   Pony
hey   Jack,  hi Jack

这条命令开头的 2,3 表示仅在第 2 至第 3 行执行替换

3. 找出包含字符 Pony 的那些行,将这些行中的 hello 替换成 hey

sed  '/Pony/s/hello/hey/g'  fin.txt
>>
hello Jobs
hey   Pony
hello Jack, hi Jack

这里的 Pony 是正则表达式,所以需要用 // 括起来

4. 删除 2~3 行

sed  '2,3d'  fin.txt
>>
hello Jobs

命令中的 d 表示删除(delete),执行之后第 2~3 行就被删除了,仅剩下第一行

5. 删除包含字符串 Pony 的行

sed  '/Pony/d'  fin.txt
>>
hello Jobs
hello Jack, hi Jack

这里的 Pony 也是正则表达式,所以用 // 括起来了

6. 删除空白行

sed  '/^$/d'  fin.txt

这里的 ^ 匹配一行的开头, $ 匹配一行的结尾,所以 /^$/ 就表示一行的开头和结尾之间没有任何内容,也就是空白行;

注意有时候有些空白行是包含空格的,这种情况就需要写成:

sed  '/^\s*$/d'  fin.txt

其中 \s 表示空格, 星号 * 表示前面的字符重复 0 次或多次,所以这种写法可以匹配那些包含任意个空格的空白行

7. 删除不包含字符 Pony 的行

sed  '/Pony/\!d'  fin.txt

这里的感叹号 ! 表示反选,也就是选择那些不符合正则表达式 /Pony/ 的行, 右斜杠表示转义, 因为在有些系统下 ! 会被识别成其他的意思

8. 在指定某一行的前面或者后面添加一行

sed -i '1i\welcome'  fin.txt
>>
welcome
hello Jobs
hello Pony
hello Jack,  hi Jack

 这里的 1 表示第一行, i 表示在这一行前面添加一行,如果要在第一行后面添加一行,则用字母 a

sed -i  '1a\welcome'  fin.txt

字母 a 是 append ,在后面添加一行

字母 i  是 insert, 在前面添加一行

9. 在匹配行的前面或者后面添加一行

sed -i  '/Pony/a\welcome'  fin.txt
>>
hello Jobs
hello Pony
welcome
hello Jack,  hi Jack

 同样,在后面添加一行用字母 a,在前面添加一行用字母 i

sed -i  '/Pony/i\welcome'  fin.txt

3.awk命令

awk 的工作原理是将文件内容逐行读入,然后以每一行中的空格为分隔符将每行数据切分成几列,再对每列的元素进行各种分析处理。

下面结合实例简单介绍 awk 命令常用的几种格式:

假设文件 form.txt 中有如下内容:

Num  Name  Company  Product
1    Jobs  Apple    iPhone
2    Jack  Alibaba  taobao
3    Pony  Tencent  wechat

1. 打印第二列和第三列:

awk  '{print $2 $3}'  form.txt
>>
NameCompany
JobsApple 
JackAlibaba 
PonyTencent 

awk 的命令都写在单引号内,再用花括号括起来,这里的 $2 $3 分别表示第二列和第三列, $0 则表示整行;

可以看到第二列和第三列就打印出来了,但是两列数据紧贴在一起,如果我们希望以制表符来分隔开:

awk  '{print $2"\t"$3}'  form.txt
>>
Name    Company
Jobs    Apple
Jack    Alibaba
Pony    Tencent

注意制表符 \t 需要用双引号括起来

2. 打印出第 2,3,4 行的第二列和第三列,以制表符分隔开:

awk  '/^[0-9]/{print $2"\t"$3}'  form.txt
>>
Jobs    Apple
Jack    Alibaba
Pony    Tencent

这里用到了 awk 的一种常用语法:  awk  ‘ 样式{命令}’  file 

表示从文件 file 中取出那些符合 “样式” 的行,然后对这些行执行{命令}

这里的 “样式” 一般是正则表达式,用定界符 / / 括起来,命令依然是用花括号括起来

所以上面这个例子就表示:取出那些以数字开头的行,打印这些行的第二列和第三列,并以制表符分隔开

3. 打印出前三行的第二列和第三列:

awk  '{ if (NR<=3)  {print $2"\t"$3} }'  form.txt
>>
Name    Company
Jobs    Apple
Jack    Alibaba

这里用到了 awk 编程,在花括号内写了一小段程序,awk 编程基本都是借鉴 C 语言,所以 C 语言中常见的 if  for while 等控制结构都可以直接借用。

这个例子中还用到了awk 内嵌特殊变量 NR,NR 记录的是当前行号,awk还有很多其他的内嵌变量,比如 NF 表示当前行有多少列。

在数字后端设计中,经常需要从一些 report 中抓出某几行的某一列数据,比如 timing report 中的 cell name 或者 pin name,此时就很适合用这种简短的 awk 编程来处理。

4.使用 “非空格字符” 切分列

默认情况下,awk 命令读入一行数据后,会用这行中的空格将整行数据切分成若干列,但是有些数据不是以空格作为间隔的,比如下面这组:

Num,Name,Company,Product
1,Jobs,Apple,iPhone
2,Jack,Alibaba,taobao
3,Pony,Tencent,wechat

此时,如果想要打印出第二列和第三列,就需要使用选项 “ -F ” 来指定分隔符:

awk  -F","  '{print $2"\t"$3  }'  form.txt
>>
Name    Company
Jobs    Apple
Jack    Alibaba
Pony    Tencent

这里的选项  -F ","  就表示以每行数据中的逗号为分隔符,来切分数据。

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

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

相关文章

【网盘源码】百度云盘手动cookie获取,添加到扫码系统管理平台。

一.获取cookie步骤 1.谷歌浏览器选择开发者模式。 2.选择网路&#xff0c;过滤接口main 3.选择request head&#xff0c;cookie列表里面可查看二.添加到管理平台。 1.登录管理平台&#xff0c;输入账户和密码 2.选择账户设置&#xff0c;添加cookie。 4.复制卡密链接&#xff…

k8s calico vxlan式详解

之前的文章讲了k8s ipip模式的使用以及流量路径&#xff0c;本篇文章主要是来讲解一下vxlan 模式下pod 流量是如何通信的。 一、ipip模式转vxlan 修改calico backend参数 将calico_backend参数由bird设置为vxlan,因为vxlan部署不使用bgp 修改calico controllers的configmap…

【GitHub】2FA认证(双重身份验证)

GitHub 2FA认证&#xff08;双重身份验证&#xff09; 写在最前面一、使用 TOTP 应用程序配置双2FA&#xff08;双因素身份验证&#xff09;1. 介绍2. github3. 认证 官网介绍小结 & 补充 &#xff1a;权限不足or验证码错误问题 &#x1f308;你好呀&#xff01;我是 是Yu欸…

统一SQL 支持Oracle CHAR和VARCHAR2 (size BYTE|CHAR)转换

统一SQL介绍 https://www.light-pg.com/docs/LTSQL/current/index.html 源和目标 源数据库&#xff1a;Oracle 目标数据库&#xff1a;Postgresql&#xff0c;TDSQL-MySQL&#xff0c;达梦8&#xff0c;LightDB-Oracle 操作目标 在Oracle中的CHAR和VARCHAR2数据类型&…

3月8日是星期六

突然有查询特殊条件日期的需求。 <html> <title>3月8日是星期六</title> <center> <h1 id"h1"></h1> <div id"div"></div> </center> <script> var weekday [星期日, 星期一, 星期二, 星期…

三款数据可视化工具深度解析:Tableau、ECharts与山海鲸可视化

在数字化时代&#xff0c;数据可视化工具成为了企业和个人进行数据分析和决策的重要助手。市面上众多数据可视化工具各具特色&#xff0c;本文将为您介绍三款热门的数据可视化工具&#xff0c;帮助您更好地理解和利用数据。 首先&#xff0c;让我们来认识Tableau。Tableau是一款…

智谱AI通用大模型:本地部署ChatGLM3-6B开源大模型

目录 一、ChatGLM3介绍 二、环境配置和检查 2.1 操作系统 2.2 硬件环境 2.3 软件环境 三、本地源码部署 3.1 克隆源码 3.2 下载模型文件 3.3 安装依赖 3.4 代码调用 四、运行Demo 4.1 设置本地模型环境变量 4.2 Gradio 网页版 Demo 4.3 Streamlit 网页版 Demo …

架构师系列-Nginx、OpenResty(一)- 基本使用配置

Nginx 模块 高度模块化的设计是 Nginx 的架构基础&#xff0c;Nginx 服务器被分解为多个模块&#xff0c;每个模块就是一个功能模块&#xff0c;只负责自身的功能&#xff0c;模块之间严格遵循“高内聚&#xff0c;低耦合”的原则。 核心模块 核心模块是 Nginx 服务器正常运行…

【Python学习】面向对象

面向对象 1.初识对象1.1 生活中数据的组织1. 2 程序中数据的组织1.3 使用对象组织数据1.4进行对比 2. 成员方法2.1 类的定义和使用2.2 成员变量和成员方法2.2.1 成员变量2.2.2 成员方法的定义语法2.2.3 self 的作用 3. 类和对象3.1 面向过程3.2 面向对象 4.构造方法4.1 属性成员…

是德软件89600 RFID使用笔记

文章目录 1、进入RFID软件&#xff1a;2、RFID软件解调设置项3、如何查看一段指令数据 本文是日常工作的笔记分享。 lauch VSA&#xff08;矢量频谱分析&#xff09;后会出现以下界面&#xff1a; 当然这是因为频谱仪的输入有信号才显示如下&#xff1a; 否则就显示频谱仪的噪…

MIGO行项目屏幕增强

MIGO行项目屏幕增强 一、增强描述 由于在事务码MIGO中存在的字段中没有能够满足客户需求的字段&#xff0c;所以需要在事务码MIGO的屏幕中添加一个新的页签用来保存物料凭证中行项目增加的字段。 通过查找BADI的程序ZDEMO_BADI,输入参数MIGO后&#xff0c;得到对应BADI为MB_M…

什么便签好用又没广告 好用无广便签分享

身处这个快节奏的时代&#xff0c;我们时常被各种琐事和计划所包围。想象一下&#xff0c;你在办公桌前&#xff0c;电脑屏幕上杂乱无章地贴着各种纸质便签&#xff0c;有的记录着待办事项&#xff0c;有的则是灵感闪现时的几句诗句。每次想要查找某个信息&#xff0c;都得费力…

【力扣 Hot100 | 第八天】4.23(和为K的子数组)

1.和为K的子数组 1.1题目 给你一个整数数组 nums 和一个整数 k &#xff0c;请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例一&#xff1a; 输入&#xff1a;nums [1,1,1], k 2 输出&#xff1a;2示例二&#xff1a; 输入&…

短效动态代理IP可以做什么事情?

短效动态代理IP是一种在网络中广泛应用的工具&#xff0c;它具有使用期限短、切换频率高、灵活性强的特点。这种代理IP可以应用于多种场景&#xff0c;为网络活动提供便利和安全性保障。以下将详细探讨短效动态代理IP可以做的几件事情。 第一点&#xff0c;短效动态代理IP常被…

Flutter-自定义画板

效果 功能 支持绘制线、圆、矩形&#xff0c;支持拓展支持撤回上一步支持清空画板支持自定义画笔颜色&#xff0c;宽度 实现 定义绘制类型 /// 类型 enum ShapeType {//线line,//圆circle,//矩形rectangle,//拓展 }定义绘制抽象类 import dart:ui;/// 绘制抽象类 abstract…

网络编程-libuv介绍

官网 https://libuv.org/ 概要 libuv是一个强大的跨平台异步I/O库&#xff0c;主要用于构建高性能、可扩展的网络应用程序。它最初是为Node.js开发的&#xff0c;用于处理Node.js的异步I/O操作&#xff0c;但随着时间的推移&#xff0c;它也被广泛应用于其他系统&#xff0…

Linux--忘记root密码解决办法

Linux忘记密码解决的方法有两种&#xff1a; 方法一&#xff1a; 第一步&#xff1a;打开虚拟机时&#xff0c;疯狂按方向键&#xff0c;让该虚拟机不进入系统停留在开机界面&#xff0c;按方向键使光标停留在第一行&#xff0c;按字母E编辑它&#xff0c;如 按E后&#xff0…

【AIGC】-如何看待AIGC技术?

&#x1f525;博客主页&#xff1a;西瓜WiFi &#x1f3a5;系列专栏&#xff1a;《大语言模型》 很多非常有趣的模型&#xff0c;值得收藏&#xff0c;满足大家的收集癖&#xff01; 如果觉得有用&#xff0c;请三连&#x1f44d;⭐❤️&#xff0c;谢谢&#xff01; 长期不…

Hive服务详解

Hive服务 HiveServer2、Hive Metastore 服务服务共同构成了 Hive 生态系统中的核心功能&#xff0c;分别负责管理元数据和提供数据查询服务&#xff0c;为用户提供了一个方便、高效的方式来访问和操作存储在 Hive 中的数据。 1. Hive 查询服务&#xff08;HiveServer2&#xf…

unity学习(89)——unity塞满c盘!--删除editor下的log文件

卸了一个视频后强制续命打开详细信息&#xff1a; 这个再往下找也是没用的&#xff01; 显示隐藏文件夹后&#xff01;执行如下操作&#xff01; 30个g&#xff01; 其中unity占23g editer占了21g 删除C:\Users\王栋林\AppData\Local\Unity\Editor下的log文件 恢复到之前的水…