Linux(实操篇三)

Linux实操篇

  • Linux(实操篇三)
    • 1. 常用基本命令
      • 1.7 搜索查找类
        • 1.7.1 find查找文件或目录
        • 1.7.2 locate快速定位文件路径
        • 1.7.3 grep过滤查找及"|"管道符
      • 1.8 压缩和解压类
        • 1.8.1 gzip/gunzip压缩
        • 1.8.2 zip/unzip压缩
        • 1.8.3 tar打包
      • 1.9 磁盘查看和分区类
        • 1.9.1 du查看文件和目录占用的磁盘空间
        • 1.9.2 df查看磁盘空间使用情况
        • 1.9.3 lsblk查看设备挂载
        • 1.9.4 mount/umount挂载/卸载
        • 1.9.5 fdisk分区
      • 1.10 进程管理类
        • 1.10.1 ps查看当前系统进程状态
        • 1.10.2 kill终止进程
        • 1.10.3 pstree查看进程树
        • 1.10.4 top实时监控系统进程状态
        • 1.10.5 netstat 显示网络状态和端口占用信息
      • 1.11 crontab系统定时任务
        • 1.11.1 crontab服务管理
        • 1.11.2 crontab定时任务设置

Linux(实操篇三)

1. 常用基本命令

1.7 搜索查找类

1.7.1 find查找文件或目录

find 指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端。

  • 基本语法

    find [搜索范围] [选项]

  • 选项说明

    • -name<查询方式> 按照指定的文件名查找模式查找文件
    • -user<用户名> 查找属于指定用户名所有文件
    • -size<文件大小> 按照指定的文件大小查找文件
      • b —— 块(512 字节)
      • c —— 字节
      • w —— 字(2 字节)
      • k —— 千字节
      • M —— 兆字节
      • G —— 吉字节
  • 案例实操

    按文件名:根据名称查找桌面目录下的txt文件

    [guozihan@hadoop100 桌面]$ find -name “*.txt”
    ./a.txt

    按拥有者:查找/opt目录下,用户名称为guozihan的文件

    [guozihan@hadoop100 桌面]$ find /opt -user guozihan

    按文件大小:在/home目录下查找大于200m的文件(+n 大于 -n 小于 n 等于)

    [guozihan@hadoop100 ~]$ find /home -size +204800

1.7.2 locate快速定位文件路径

locate 指令利用事先建立的系统中所有文件名称及路径的 locate 数据库实现快速定位给定的文件。Locate 指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新 locate 时刻

  • 基本语法

    locate 搜索文件

  • 经验技巧

    由于 locate 指令基于数据库进行查询,所以第一次运行前,必须使用 updatedb 指令创 建 locate 数据库

  • 案例实操

    查询文件夹tmp

    [root@hadoop100 guozihan]# updatedb
    [root@hadoop100 guozihan]# locate tmp

1.7.3 grep过滤查找及"|"管道符

管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理

  • 基本语法

    grep 选项 查找内容 源文件

  • 选项说明

    -n 显示匹配行及行号

  • 案例实操

    查找某文件在第几行

    [root@hadoop100 桌面]# ls
    a.txt
    [root@hadoop100 桌面]# ls | grep -n a.txt
    1:a.txt

1.8 压缩和解压类

1.8.1 gzip/gunzip压缩

  • 基本语法

    gzip 文件 功能描述:压缩文件,只能将文件压缩为*.gz 文件

    gunzip 文件.gz 功能描述:解压缩文件命令

  • 经验技巧

    (1)只能压缩文件不能压缩目录

    (2)不保留原来的文件

    (3)同时多个文件会产生多个压缩包

  • 案例实操

    gzip压缩

    [guozihan@hadoop100 桌面]$ ls
    a.txt test.txt

    [guozihan@hadoop100 桌面]$ gzip test.txt

    [guozihan@hadoop100 桌面]$ ls
    a.txt test.txt.gz

    gunzip解压缩文件

    [guozihan@hadoop100 桌面]$ gunzip test.txt.gz

    [guozihan@hadoop100 桌面]$ ls
    a.txt test.txt

1.8.2 zip/unzip压缩

  • 基本语法

    zip [选项] XXX.zip 将要压缩的内容 功能描述:压缩文件和目录的命令

    unzip [选项] XXX.zip 功能描述:解压缩文件

  • 选项说明

    zip选项

    -r 压缩目录

    unzip选项

    -d<目录> 指定解压后文件的存放目录

  • 经验技巧

    zip 压缩命令在windows/linux都通用,可以压缩目录且保留源文件

  • 案例实操

    压缩 a.txt 和test.txt,压缩后的名称为mypackage.zip

    [guozihan@hadoop100 桌面]$ zip mypackage.zip a.txt test.txt
    adding: a.txt (deflated 47%)
    adding: test.txt (stored 0%)

    [guozihan@hadoop100 桌面]$ ls
    a.txt mypackage.zip test.txt

    解压 mypackage.zip

    [guozihan@hadoop100 桌面]$ unzip mypackage.zip
    Archive: mypackage.zip
    replace a.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
    inflating: a.txt
    replace test.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
    extracting: test.txt

    [guozihan@hadoop100 桌面]$ ls
    a.txt mypackage.zip test.txt

    解压mypackage.zip到指定目录-d

    [root@hadoop100 桌面]# unzip mypackage.zip -d /opt
    Archive: mypackage.zip
    inflating: /opt/a.txt
    extracting: /opt/test.txt

    [root@hadoop100 桌面]# ls /opt/
    a.txt rh test.txt

1.8.3 tar打包

  • 基本语法

    tar [选项] XXX.tar.gz 将要打包进去的内容 功能描述:打包目录,压缩后的 文件格式.tar.gz

  • 选项说明

    • -c 产生.tar打包文件
    • -v 显示详细信息
    • -f 指定压缩后的文件名
    • -z 打包同时压缩
    • -x 解包.tar 文件
    • -C 解压到指定目录
  • 案例实操

    压缩多个文件

    [guozihan@hadoop100 桌面]$ tar -zcvf package.tar.gz a.txt test.txt
    a.txt
    test.txt

    [guozihan@hadoop100 桌面]$ ls
    a.txt mypackage.zip package.tar.gz test.txt

    压缩目录

    [root@hadoop101 ~]# tar -zcvf xiyou.tar.gz xiyou/

    xiyou/

    xiyou/mingjie/

    xiyou/dssz/

    xiyou/dssz/houge.txt

    解压到当前目录

    [root@hadoop101 ~]# tar -zxvf houma.tar.gz

    解压到指定目录

    [root@hadoop101 ~]# tar -zxvf xiyou.tar.gz -C /opt

    [root@hadoop101 ~]# ll /opt/

1.9 磁盘查看和分区类

1.9.1 du查看文件和目录占用的磁盘空间

du: disk usage 磁盘占用情况

  • 基本语法

    du 目录/文件 功能描述:显示目录下每个子目录的磁盘使用情况

  • 选项说明

    • -h 以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示
    • -a 不仅查看子目录大小,还要包括文件
    • -c 显示所有的文件和子目录大小后,显示总和
    • -s 只显示总和
    • –max-depth=n 指定统计子目录的深度为第 n 层
  • 案例实操

    查看当前用户主目录占用的磁盘空间大小

    [guozihan@hadoop100 ~]$ du -sh
    147M .

1.9.2 df查看磁盘空间使用情况

df: disk free 空余磁盘

  • 基本语法

    df 选项 功能描述:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况

  • 选项说明

    -h 以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示

  • 案例实操

    查看磁盘使用情况

    [guozihan@hadoop100 ~]$ df -h
    文件系统 容量 已用 可用 已用% 挂载点
    devtmpfs 2.0G 0 2.0G 0% /dev
    tmpfs 2.0G 0 2.0G 0% /dev/shm
    tmpfs 2.0G 13M 2.0G 1% /run
    tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
    /dev/sda3 15G 4.7G 11G 31% /
    /dev/sda1 1014M 208M 807M 21% /boot
    tmpfs 394M 4.0K 394M 1% /run/user/42
    tmpfs 394M 40K 394M 1% /run/user/1000

1.9.3 lsblk查看设备挂载

  • 基本语法

    lsblk 功能描述:查看设备挂载情况

  • 选项说明

    -f 查看详细的设备挂载情况,显示文件系统信息

1.9.4 mount/umount挂载/卸载

对于Linux用户来讲,不论有几个分区,分别分给哪一个目录使用,它总归就是一个根目录、一个独立且唯一的文件结构。

Linux中每个分区都是用来组成整个文件系统的一部分,它在用一种叫做“挂载”的处理方法,它整个文件系统中包含了一整套的文件和目录,并将一个分区和一个目录联系起来, 要载入的那个分区将使它的存储空间在这个目录下获得

  • 前提条件

    右键点击当前虚拟机设备->设置->点击CD/DVD(IDE)->将设备状态勾选已连接

  • 基本语法

    mount [-t vfstype] [-o options] device dir 功能描述:挂载设备

    umount 设备文件名或挂载点 功能描述:卸载设备

  • 参数说明

    • -t vfstype

      指定文件系统的类型,通常不必指定。mount 会自动选择正确的类 型。常用类型有:

      光盘或光盘镜像:iso9660

      DOS fat16 文件系统:msdos

      Windows 9x fat32 文件系统:vfat

      Windows NT ntfs 文件系统:ntfs

      Mount Windows 文件网络共享:smbfs

      UNIX(LINUX) 文件网络共享:nfs

    • -o options

      主要用来描述设备或档案的挂接方式。常用的参数有:

      loop:用来把一个文件当成硬盘分区挂接上系统

      ro:采用只读方式挂接设备

      rw:采用读写方式挂接设备

      iocharset:指定访问文件系统所用字符集

    • device:要挂接(mount)的设备

    • dir:设备在系统上的挂接点(mount point)

1.9.5 fdisk分区

  • 基本语法

    fdisk -l 功能描述:查看磁盘分区详情

    fdisk 硬盘设备名 功能描述:对新增硬盘进行分区操作

  • 选项说明

    -l 显示所有硬盘的分区列表

  • 经验技巧

    该命令必须在 root 用户下才能使用

  • 功能说明

    • Linux 分区

      Device:分区序列

      Boot:引导

      Start:从X磁柱开始

      End:到Y磁柱结束

      Blocks:容量

      Id:分区类型ID

      System:分区类型

    • 分区操作按键说明

      m:显示命令列表

      p:显示当前磁盘分区

      n:新增分区

      w:写入分区信息并退出

      q:不保存分区信息直接退出

  • 案例实操

    查看系统分区情况

    [root@hadoop100 ~]# fdisk -l

    磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0x000d8ed6

    设备 Boot Start End Blocks Id System
    /dev/sda1 * 2048 2099199 1048576 83 Linux
    /dev/sda2 2099200 10487807 4194304 82 Linux swap / Solaris
    /dev/sda3 10487808 41943039 15727616 83 Linux

1.10 进程管理类

进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源

1.10.1 ps查看当前系统进程状态

ps:process status 进程状态

  • 基本语法

    ps aux | grep xxx 功能描述:查看系统中所有进程

    ps -ef | grep xxx 功能描述:可以查看子父进程之间的关系

  • 选项说明

    • a 列出带有终端的所有用户的进程
    • x 列出当前用户的所有进程,包括没有终端的进程
    • u 面向用户友好的显示风格
    • -e 列出所有进程
    • -u 列出某个用户关联的所有进程
    • -f 显示完整格式的进程列表
  • 功能说明

    • ps aux 显示信息说明

      USER:该进程是由哪个用户产生的

      PID:进程的 ID 号

      %CPU:该进程占用 CPU 资源的百分比,占用越高,进程越耗费资源

      %MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源

      VSZ:该进程占用虚拟内存的大小,单位 KB;

      RSS:该进程占用实际物理内存的大小,单位 KB;

      TTY:该进程是在哪个终端中运行的。对于 CentOS 来说,tty1 是图形化终端,

      tty2-tty6 是本地的字符界面终端。pts/0-255 代表虚拟终端。

      STAT:进程状态。常见的状态有:R:运行状态、S:睡眠状态、T:暂停状态、 Z:僵尸状态、s:包含子进程、l:多线程、+:前台显示

      START:该进程的启动时间

      TIME:该进程占用 CPU 的运算时间,注意不是系统时间

      COMMAND:产生此进程的命令名

    • ps -ef 显示信息说明

      UID:用户 ID

      PID:进程 ID

      PPID:父进程 ID

      C:CPU 用于计算执行优先级的因子。数值越大,表明进程是 CPU 密集型运算, 执行优先级会降低;数值越小,表明进程是 I/O 密集型运算,执行优先级会提高

      STIME:进程启动的时间

      TTY:完整的终端名称

      TIME:CPU 时间

      CMD:启动进程所用的命令和参数

  • 经验技巧

    如果想查看进程的 CPU 占用率和内存占用率,可以使用 aux;

    如果想查看进程的父进程 ID 可以使用 ef;

  • 案例实操

    [guozihan@hadoop100 ~]$ ps aux

    [guozihan@hadoop100 ~]$ ps -ef

1.10.2 kill终止进程

  • 基本语法

    kill [选项] 进程号 功能描述:通过进程号杀死进程

    killall 进程名称 功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用

  • 选项说明

    -9 表示强迫进程立即停止

  • 案例实操

    通过进程ID杀死进程

    [guozihan@hadoop100 ~]$ kill -9 10773

    通过进程名称杀死进程

    [guozihan@hadoop100 ~]$ killall firefox

1.10.3 pstree查看进程树

  • 基本语法

    pstree [选项]

  • 选项说明

    -p 显示进程的 PID

    -u 显示进程的所属用户

  • 案例实操

    显示进程 pid

    [guozihan@hadoop100 ~]$ pstree -p

    显示进程所属用户

    [guozihan@hadoop100 ~]$ pstree -u

1.10.4 top实时监控系统进程状态

  • 基本命令

    top [选项]

  • 选项说明

    -d 秒数 指定 top 命令每隔几秒更新。默认是 3 秒在 top 命令的交互模式当 中可以执行的命令

    i 使 top 不显示任何闲置或者僵死进程

    -p 通过指定监控进程 ID 来仅仅监控某个进程的状态

  • 操作说明

    P 以 CPU 使用率排序,默认就是此项

    M 以内存的使用率排序

    N 以 PID 排序

    q 退出 top

  • 查询结果字段解释

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 案例实操

    [guozihan@hadoop100 ~]$ top -d 1

    [guozihan@hadoop100 ~]$ top -i

    [guozihan@hadoop100 ~]$ top -p 2575

    执行上述命令后,可以按 P、M、N 对查询出的进程结果进行排序

1.10.5 netstat 显示网络状态和端口占用信息

  • 基本语法

    netstat -anp | grep 进程号 功能描述:查看该进程网络信息

    netstat –nlp | grep 端口号 功能描述:查看网络端口号占用情况

  • 选项说明

    -a 显示所有正在监听(listen)和未监听的套接字(socket)

    -n 拒绝显示别名,能显示数字的全部转化成数字

    -l 仅列出在监听的服务状态

    -p 表示显示哪个进程在调用

  • 案例实操

    通过进程号查看sshd进程的网络信息

    [root@hadoop100 guozihan]# netstat -anp | grep sshd
    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1162/sshd

    tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 2796/sshd: guozihan

    tcp 0 0 192.168.182.100:22 192.168.182.1:51375 ESTABLISHED 2788/sshd: guozihan
    tcp6 0 0 :::22 ::😗 LISTEN 1162/sshd

    tcp6 0 0 ::1:6010 ::😗 LISTEN 2796/sshd: guozihan
    unix 3 [ ] STREAM CONNECTED 42723 2796/sshd: guozihan

    unix 3 [ ] STREAM CONNECTED 29707 1162/sshd

    unix 3 [ ] STREAM CONNECTED 42724 2788/sshd: guozihan

    unix 2 [ ] DGRAM 42720 2788/sshd: guozihan

    查看某端口号是否被占用
    [root@hadoop100 guozihan]# netstat -nltp | grep 22
    tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 1464/dnsmasq

    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1162/sshd

    tcp6 0 0 :::22 ::😗 LISTEN 1162/sshd

1.11 crontab系统定时任务

1.11.1 crontab服务管理

重新启动 crond 服务

[root@hadoop101 ~]# systemctl restart crond

1.11.2 crontab定时任务设置

  • 基本语法

    crontab [选项]

  • 选项说明

    -e 编辑 crontab 定时任务

    -l 查询 crontab 任务

    -r 删除当前用户所有的 crontab 任务

  • 参数说明

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

  • 实例实操

    每隔 1 分钟,向/root/bailongma.txt 文件中添加一个 11 的数字

    */1 * * * * /bin/echo ”11” >> /root/bailongma.txt

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

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

相关文章

【C#】泛型

【C#】泛型 泛型是什么 泛型是将类型作为参数传递给类、结构、接口和方法&#xff0c;这些参数相当于类型占位符。当我们定义类或方法时使用占位符代替变量类型&#xff0c;真正使用时再具体指定数据类型&#xff0c;以此来达到代码重用目的。 泛型特点 提高代码重用性一定…

高阶MySQL语句

数据准备 create table ky30 (id int,name varchar(10) primary key not null ,score decimal(5,2),address varchar(20),hobbid int(5)); insert into ky30 values(1,liuyi,80,beijing,2); insert into ky30 values(2,wangwu,90,shengzheng,2); insert into ky30 values(3,lis…

3D步进式漫游能够在哪些行业应用?

VR技术一直以来都是宣传展示领域中的热门话题&#xff0c;在VR全景技术的不断发展下&#xff0c;3D步进式漫游技术也逐渐覆盖各行各业&#xff0c;特别是在建筑、房产、博物馆、企业等领域应用更加广泛&#xff0c;用户通过这种技术能够获得更加直观、生动、详细的展示体验&…

【大数据】Apache Iceberg 概述和源代码的构建

Apache Iceberg 概述和源代码的构建 1.数据湖的解决方案 - Iceberg1.1 Iceberg 是什么1.2 Iceberg 的 Table Format 介绍1.3 Iceberg 的核心思想1.4 Iceberg 的元数据管理1.5 Iceberg 的重要特性1.5.1 丰富的计算引擎1.5.2 灵活的文件组织形式1.5.3 优化数据入湖流程1.5.4 增量…

零基础学Python:元组(Tuple)详细教程

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 Python的元组与列表类似&#xff0c; 不同之处在于元组的元素不能修改, 元组使用小括号,列表使用方括号, 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可 &#x1f447; &#x1f447; &#x1f447; 更…

数据结构--树4.2.1(二叉树)

目录 一、二叉树的存储结构 二、二叉树的遍历 一、二叉树的存储结构 顺序存储结构&#xff1a;二叉树的顺序存储结构就是用一维数组存储二叉树中的各个结点&#xff0c;并且结点的存储位置能体现结点之间的逻辑关系。 链式存储结构&#xff1a;二叉树每个结点最多只有两个孩…

渗透测试漏洞原理之---【任意文件上传漏洞】

文章目录 1、任意文件上传概述1.1、漏洞成因1.2、漏洞危害 2、WebShell解析2.1、Shell2.2、WebShell2.2.1、大马2.2.2、小马2.2.3、GetShell 3、任意文件上传攻防3.1、毫无检测3.1.1、源代码3.1.2、代码审计3.1.3、靶场试炼 3.2、黑白名单策略3.2.1、文件检测3.2.2、后缀名黑名…

论文阅读_扩散模型_LDM

英文名称: High-Resolution Image Synthesis with Latent Diffusion Models 中文名称: 使用潜空间扩散模型合成高分辨率图像 地址: https://ieeexplore.ieee.org/document/9878449/ 代码: https://github.com/CompVis/latent-diffusion 作者&#xff1a;Robin Rombach 日期: 20…

.netcore grpc日志记录配置

一、日志记录配置概述 通过配置文件appsettings.json进行配置通过Program.cs进行配置通过环境变量进行配置客户端通过日志通道进行配置 二、实战案例 配置环境变量:Logging__LogLevel__GrpcDebug配置Appsettings.json配置Program.cs配置客户端工厂以上截图是目前为止已知的可…

【操作系统】一文快速入门,很适合JAVA后端看

作者简介&#xff1a; 目录 1.概述 2.CPU管理 3.内存管理 4.IO管理 1.概述 操作系统可以看作一个计算机的管理系统&#xff0c;对计算机的硬件资源提供了一套完整的管理解决方案。计算机的硬件组成有五大模块&#xff1a;运算器、控制器、存储器、输入设备、输出设备。操作…

ubuntu22.04搭建verilator仿真环境

概述 操作系统为 Ubuntu(22.04.2 LTS)&#xff0c;本次安装verilator开源verilog仿真工具&#xff0c;进行RTL功能仿真。下面构建版本为5.008的verilator仿真环境。先看一下我系统的版本&#xff1a; 安装流程 安装依赖 sudo apt-get install git perl python3 make autoc…

多级缓存 架构设计

说在前面 在40岁老架构师 尼恩的读者社区(50)中&#xff0c;很多小伙伴拿到一线互联网企业如阿里、网易、有赞、希音、百度、网易、滴滴的面试资格&#xff0c;多次遇到一个很重要的面试题&#xff1a; 20w的QPS的场景下&#xff0c;服务端架构应如何设计&#xff1f;10w的QPS…

【原创】鲲鹏ARM构架openEuler操作系统安装Oracle 19c

作者:einyboy 【原创】鲲鹏ARM构架openEuler操作系统安装Oracle 19c | 云非云计算机科学、自然科学技术科谱http://www.nclound.com/index.php/2023/09/03/%E3%80%90%E5%8E%9F%E5%88%9B%E3%80%91%E9%B2%B2%E9%B9%8Farm%E6%9E%84%E6%9E%B6openeuler%E6%93%8D%E4%BD%9C%E7%B3%BB%…

FPGA优质开源项目 – UDP万兆光纤以太网通信

本文开源一个FPGA项目&#xff1a;UDP万兆光通信。该项目实现了万兆光纤以太网数据回环传输功能。Vivado工程代码结构和之前开源的《UDP RGMII千兆以太网》类似&#xff0c;只不过万兆以太网是调用了Xilinx的10G Ethernet Subsystem IP核实现。 下面围绕该IP核的使用、用户接口…

LLMs NLP模型评估Model evaluation ROUGE and BLEU SCORE

在整个课程中&#xff0c;你看到过类似模型在这个任务上表现良好&#xff0c;或者这个微调模型在性能上相对于基础模型有显著提升等陈述。 这些陈述是什么意思&#xff1f;如何形式化你的微调模型在你起初的预训练模型上的性能改进&#xff1f;让我们探讨一些由大型语言模型开…

TypeScript学习 + 贪吃蛇项目

TypeSCript简介 TypeScript是JavaScript的超集。它对JS进行了扩展&#xff0c;向JS中引入了类型的概念&#xff0c;并添加了许多新的特性。TS代码需要通过编译器编译为JS&#xff0c;然后再交由JS解析器执行。TS完全兼容JS&#xff0c;换言之&#xff0c;任何的JS代码都可以直…

MySQL高阶语句(三)

一、NULL值 在 SQL 语句使用过程中&#xff0c;经常会碰到 NULL 这几个字符。通常使用 NULL 来表示缺失 的值&#xff0c;也就是在表中该字段是没有值的。如果在创建表时&#xff0c;限制某些字段不为空&#xff0c;则可以使用 NOT NULL 关键字&#xff0c;不使用则默认可以为空…

Multisim14.0仿真(五)三角波发生器

一、仿真原理图&#xff1a; 二、仿真效果&#xff1a;

Three.js相机参数及Z-Fighting问题的解决方案

本主题讨论透视相机以及如何为远距离环境设置合适的视锥体。 推荐&#xff1a;用 NSDT编辑器 快速搭建可编程3D场景 透视相机是一种投影模式&#xff0c;旨在模仿人类在现实世界中看待事物的方式。 这是渲染 3D 场景最常用的投影模式。 - three.js 如果你看一下 Three.js 文档…

单元测试:优雅编写Kotlin单元测试

一、MockK简介 MockK是一款功能强大、易于使用的Kotlin mocking框架。在编写单元测试时&#xff0c;MockK能够帮助我们简化代码、提高测试覆盖率&#xff0c;并改善测试的可维护性。除了基本用法外&#xff0c;MockK还提供了许多额外的功能和灵活的用法&#xff0c;让我们能够…