从零开始 Linux(一):基础介绍与常用指令总结

从零开始 Linux

01. 概念理解

1.1 什么是 Linux?

  • Linux 是一个开源免费的 操作系统,具有很好的稳定性、安全性,且有很强的处理高并发的能力

Linux 的应用场景:

  • 可以在 Linux 下开发项目,比如 JavaEE、大数据、PythonPHPC / C++ 等应用领域或者变成语言的项目
  • 个人桌面应用,例如 Ubuntu
  • 服务器领域:免费、稳定、高效
  • 嵌入式领域
  • 日常说的的 Linux 其实是指的它的发行版,比如 UbuntuRedHatCentOSDebainFedorasSuSEOpenSUSE
  • Linux 是一种操作系统的内核(kernel),内核是操作系统的核心,管理硬件资源、提供系统调用接口等;而在内核基础上进行构建,从而形成一套 完整的操作系统,包括系统工具、软件包管理系统、图形用户界面(GUI)等,就是所说的发行版本。

1.2 Linux 与 Unix

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Unix 的发展有如下的阶段

  1. 起源(1969年): Unix的起源可以追溯到1969年,由美国贝尔实验室的肯·汤普逊(Ken Thompson)、丹尼斯·里奇(Dennis Ritchie)等人创建。最初是在Digital Equipment Corporation(DEC)的PDP-7上开发的。起初,它被称为Unics(Uniplexed Information and Computing Service)。
  2. 演进与C语言(1970s): 在70年代初,Unix逐渐在贝尔实验室内部得到推广。为了更好地支持Unix的开发,Dennis Ritchie和肯·汤普逊创造了C语言。这使得Unix能够更容易地在不同的硬件平台上移植和开发。
  3. BSD的产生(1977年): 1977年,加利福尼亚大学伯克利分校开始对Unix进行修改和改进,产生了Berkeley Software Distribution(BSD)版本。BSD Unix在许多方面对原始的AT&T Unix进行了扩展和改进。
  4. System V与商业Unix(1980s): AT&T发布了System III和System V版本,这些版本成为Unix商业版本的基础。这一时期Unix开始进入商业市场,吸引了许多厂商的关注。
  5. 开放源代码运动(1990s): 在1991年,Linus Torvalds创建了Linux内核,成为开放源代码运动的一部分。Linux借鉴了Unix的设计理念,但是并非直接从Unix代码派生。这一时期也出现了其他开源的Unix变种,如FreeBSD、NetBSD等。
  6. Unix标准化(1990s): The Open Group创建了UNIX标准,确保了不同Unix系统的互操作性。UNIX标准定义了Unix操作系统的规范和一致性要求。
  7. GNU项目(1983年至今): 理查德·斯托曼(Richard Stallman)在1983年发起了GNU项目,旨在创建一个自由的Unix类操作系统。尽管GNU项目本身的内核(Hurd)尚未成熟,但它的工具和库被用于构建许多类Unix的系统,例如Linux。

Linux: 是 Unix 操作系统的一种克隆,它在 Unix 的基础上进行了改进和扩展。许多 Linux 发行版(如Ubuntu、Fedora、Debian等)继承了 Unix 的设计理念,并在现代计算环境中得到广泛应用。

如果对操作系统的简史感兴趣,可以看一下 B站 up 让水烧开 的视频
操作系统究竟是怎么发展而来的,你真的了解吗?【操作系统发展史】

1.3 安装需要的基本软件

这部分是学习 Linux 之前必须安装的软件,包括如下

VMware:虚拟机软件

XShell:远程登陆 Linux

XFTP:快捷向远程 Linux 传输文件

1.3.1 安装 VMware

下载安装 VMWare

  • 参考博主 冰糖拌麻子 安装虚拟机(VMware)保姆级教程(附安装包)

VMWare 密钥

  • 参考博主 三月枫火 VMware16.1.2安装及各版本密钥

安装完成后直接打开 VMware Workstation

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

1.3.2 Centos 安装

阿里云开源镜像站

打开后是这样的界面

  • 后缀为 DVD 代表是 完整的镜像源,包含了该系统的所有安装包,用于离线安装
  • 后缀为 Minimal 的是 精简版的镜像,只包含基本的软件包,通常用于服务器环境
  • 后缀为 NetInstall 的是网络安装镜像,通常用于从 网络 上安装该系统

这里使用的是本地的虚拟机,所以我们选择 [CentOS-7-x86_64-DVD-2009.iso]

如果上面的安装方式很慢的话可以采用下面博主的方法

详细的安装教程

参考博主 缄默.ńī給の傷 CentOS7(Linux)详细安装教程(图文详解)

注意:在软件选择步骤的时候可以选择 GNOME 桌面 选项,会提供给一个比较友好的桌面交互。

1.3.3 XShell 与 XFTP 安装

Xshell 是一款 Windows 系统下的终端模拟器(Terminal Emulator),用于 远程登录和管理 Linux/Unix 系统、SSH(Secure Shell)协议和其他网络设备。Xshell 提供了类似于 Linux 终端的用户界面,并支持各种协议和功能,使用户能够通过命令行或图形界面与远程系统进行交互。

XFTP 是一款由 NetSarang Computer, Inc. 开发的文件传输工具,专为 Windows 操作系统设计。XFTP 主要 用于在本地计算机与远程服务器之间进行文件传输,支持多种文件传输协议,包括 FTP(File Transfer Protocol)、SFTP(Secure File Transfer Protocol)、FTP over TLS/SSL 等。

因为下面两款软件基本上是傻瓜式安装,这里不给出详细教程

Xshell_Free_For_Home_School

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

中文乱码解决方法:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

编码选择 UTF-8

1.4 Linux 的目录结构


在这里插入图片描述

Linux 的文件系统是采用层级式的树状目录结构,最上层是根目录。

Linux 系统的特点是 一切皆文件,甚至会将所有的硬件映射成一个文件来管理

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • /bin(/usr/bin、/usr/local/bin)Binary 的缩写,存放常用指令的文件。

  • /sbin(/usr/sbin、/usr/local/sbin)sSuper User,存放系统管理员使用的系统管理程序,为权限很高的指令。

  • /home:存放不同用户的主目录,在 Linux 中每个用户都有自己的目录

  • /root:系统管理员的用户主目录

  • /lib:系统开机需要的基本动态连接共享库,类似于 DLL 文件

  • /etc:所有的系统管理所需要的配置文件和子目录,比如安装一个软件,它的配置文件就放在这个目录下

  • /usr:安装的应用程序一般都存放在这个目录下

  • /boot:Linux 启动相关文件

  • /proc:虚拟目录,为系统内存的映射,可以访问这个目录来获取系统信息

  • /media:系统会自动识别一些设备,如 U 盘、光驱等等,识别后会把设备挂载到这个目录下面

  • /mnt:让用户临时挂载别的文件系统,可以将外部存储挂载到该目录上,需要安装 VmTools

  • /opt:给主机额外安装软件的安装包存放的目录,当然可以在别的目录下安装,但为了规范一般是在这个文件下

  • /var:存放不断扩充的东西,习惯将被经常修改的目录存放在这个文件下,包括各种日志文件

02. 常用指令总结

2.1 写文件 —— vim

Linux 会内置 vi 文本编辑器,vim 具有程序编辑的能力,可以看作是 Vi 的增强版本,有字体颜色的区分,还有代码补全,编译及错误跳转等方便变成的功能。

vim 的三种模式

vim 提供了三种模式,使得其可以进行各种复杂的操作

  • 正常模式,进入的时候默认的模式,通过 上下左右 来移动光标,可以删除字符和删除整行,可以复制粘贴
  • 插入模式,按下i I o O a A r R中的任意一个就会进入编辑模式,可以自由的插入
  • 命令行模式,提供读取、存盘、替换、离开、显示行号等等的命令

常用快捷键及命令总结

模式命令作用
一般模式yy [n]复制包含当前行的 n 行内容
一般模式p粘贴
一般模式G gg移动到文章的末行 / 首行,通过大小写切换和 shift 均可实现
一般模式u撤销动作
一般模式[n] shift + g快捷跳转到第 n
命令行模式/ [key]关键字查询,输入 n 查找下一个
命令行模式set nu setnonu启动或者开启行号
代码实践

编写程序 Hello.java

# 打开编辑器
vim Hello.java

# 按下 i 开启编辑模式,输入
public class Hello {
	public satatic void main(String[] args) {
		System.out.println("Hello Linux");
	}
}
# 按下 ESC 回到一般模式,输入 : 开启命令好模式,输入 wq
:wq

# 查看当前目录
ls 

wq:write and quit 写入并退出

2.2 Linux 命令的构成部分

学习 Linux 命令之前,先要了解它的基本构成部分

比如复制文件的指令:

$ cp file.txt /path/to/destination/
  1. 命令(Command): 这是要执行的操作的实际命令。例如,lscpmv等都是Linux中的命令。命令告诉系统执行特定的任务。
  2. 选项(Options): 选项用于修改命令的行为或提供额外的功能。在Linux命令中,选项通常以单个短横线(-)或双短横线(–)开头,后跟一个字母或单词。例如,-l--recursive就是选项。有些选项是必须的,而有些是可选的。
  3. 参数(Arguments): 参数是命令的输入,它们是命令操作的对象或者命令执行所需要的数据。参数通常出现在命令和选项之后。例如,cp命令通常需要指定源文件和目标目录作为参数。

2.3 关机、重启、用户注销

shutdown 指令:

  • 使用方式:
    • shut down -h now 立即执行关机操作
    • shut down -h [n]n 分钟后执行关机操作,不写的话默认为一分钟后关机
    • shut down -r now 立即重启计算机
命令作用
shutdown -h now立即进行关机
shutdown -h [n]n 分钟后关机,不写默认为 1
shutdown -r now立即重启计算机
halt关机,和上面作用相同
reboot立即重启计算机
sync把内存的数据同步到磁盘
  • 在关机或者重启的时候建议运行一遍 sync 防止内容丢失的情况
命令作用
su -[m]切换到用户名为 m 的用户,一般是普通用户切换为 root
logout用户注销

XShell 执行

# 假设使用普通用户 jack 登录,切换到 root
su -root

# 退回到 jack
logout

2.4 用户管理

创建与删除用户

需要 root 权限

命令作用
useradd [m]创建用户名为 m 的用户,会在 /home 下创建同名文件夹(家目录)
password [m] [n]给用户名为 m 的用户设置密码 m
userdel [m]删除用户名为 m 的用户,但是保留家目录
userdel -r [m]删除用户名为 m 的用户,同时删除家目录(慎重使用)
查看用户信息

显示用户信息

$ id [m] # 查找用户名为 [m]  的用户信息

显示当前登录用户的信息,即使通过 su 切换也还是会显示一开始登录的用户

$ who am i
切换用户

注意:从权限高的用户切换到权限低的用户不需要输入密码

$ su [m] # 切换用户
用户组

可以对有统一共性(权限)的用户进行统一的管理,通过为每个组赋予权限后将用户添加到组内的方式,实现统一的权限管理。

命令作用
groupadd [m]创建名为 m 的组
groupdel [m]删除名为 m 的组,需要组内无用户
useradd -g [m] [n]创建用户 n 并且将其添加到 m 组内
usermod -g [m] [n]将用户 n 切换组为 m

案例演示

$ groupadd wudang

$ useradd -g wudang zwj

$ id zwj
和用户管理有关的文件

/etc/passwd:用户的配置文件,记录用户的各种信息

$ vim /etc/passwd

含义

zwj:x:1001:1001::/home/zwj:/bin/bash

用户名:口令:用户标识号:组标识号::主目录:登录使用的 shell

2.5 运行级别

运行级别(runlevel)是系统的操作模式,它决定了哪些系统服务会在启动时自动运行。运行级别是一种系统初始化的配置,它定义了系统启动过程中执行哪些任务和服务。

  • 运行级别0: 关机模式。系统停止并关闭。
  • 运行级别1: 单用户模式。系统只运行最小的服务,并且用户登录数目被限制。
  • 运行级别2: 多用户模式,没有NFS(Network File System)。类似运行级别3,但没有网络服务。
  • 运行级别3: 完全的多用户模式。系统正常运行,支持所有网络服务。
  • 运行级别4: 未分配。
  • 运行级别5: 图形模式(通常是图形用户界面,GUI)。与运行级别3相似,但在此级别启动图形显示管理器。
  • 运行级别6: 重启模式。系统会重新启动。

常用的是运行级别是 3 5

常用指令:

  • 切换运行级别为 n

    $ init [n]
    
  • 查看当前默认运行级别

    $ systemctl get-deaflut
    
  • 设置默认运行级别

    $ systemctl set-default [target]
    
    • 设置运行级别为 target 以下是可写的内容

    • graphical.target:图形用户界面模式,适用于桌面系统。

    • multi-user.target:多用户文本界面模式,适用于服务器等无需图形界面的系统。

    • rescue.target:救援目标,用于修复系统问题的单用户文本模式。

    • emergency.target:紧急目标,进入最小化的单用户模式,用于系统紧急修复。

2.6 帮助指令

man 指令

man 是"manual"(手册)的缩写,用于查看系统上的命令和程序的手册页面。通过man命令,你可以获取有关命令的详细信息,包括用法、选项、参数以及一般性的命令说明。

  • 获取帮助指令

    $ man [命令]
    

    比如

    $ man ls
    

因为 man 是一个手册 页面,就导致其有类似 vim 的操作指令

  • 使用箭头键:向上和向下箭头键可以在手册页中上下滚动。
  • 使用空格键:按空格键可以向前翻页。
  • 使用b键:按b键可以向后翻页。
  • 使用q键:按q键退出手册页。

help 指令

help 主要用于获取 shell 内建命令的 简要帮助,而 man 用于查看外部命令、工具或系统调用的详细手册。

$ help [命令]

比如

$ help cd

2.6 文件目录指令

提供的操作文件与目录的指令,是指令中非常重要的部分。

指令作用
pwd显示当前工作目录的 绝对路径
ls [OPTIONS] [FILE]显示目录下的文件,选项 -a 显示全部
(包含隐藏的文件)
-l 以列表的形式显示文件
cd [PARAM]切换到指定的目录,有两个特殊的参数
cd ~ 回到家目录
cd ../ 回到上一级目录
mkdir [OPTION] [PATH]创建目录,-p 选项可创建多级目录,不输入的话会直接报错
rmdir [OPTION] [PATH]删除 空目录,如果要删除非空 rm -rf [PATH]
touch [NAME]创建空文件,touch hello.txt
cp [OPTION] [SOURCE] [DEST]拷贝文件到指定目录,选项 -r 拷贝整个目录
rm [选项] [要删除的文件或目录]删除文件或目录,选项
-r 删除整个文件夹
-f 强制删除不提醒
mv [OLD NAME FILE] [NEW NAME FILE]重命名文件
mv [FILE] [NEW PATH]移动文件
mv [FILE] [NEW PATH] [NEW FILE NAME]移动文件并且重命名
cat [OPEION] [FILENAME]查看文件(无法修改),选项 -n 显示行号
more [FILENAME]查看文件
less [FILENAME]查看文件
echo [CONTENT]输出内容到控制台
head -n [行数] [文件名]预览文件的头几行内容
tail -n [行数] [文件名]预览文件的尾部几行内容
>>>输出重定向

mv 指令:移动文件或者重命名,如果文件是在同一级目录下就是重命名

  • mv [OLD NAME FILE] [NEW NAME FILE] 重命名文件
  • mv [FILE] [NEW PATH] 移动文件

cat 指令:查看文件,相比于 vim 更加安全,只能查看不能修改

more 指令:基于 VI 编辑器的文本过滤器,以全屏幕的方式按页显示文本文件的内容,more 指令内部内置了若干快捷键

快捷键功能
空格向下翻一页
Enter向下翻一行
q立即离开页面
Ctrl + F向下滚动一屏
Ctrl + B返回上一屏
=输出当前的行号
:f输出文件名和当前行号

使用 more 查看 /etc/profile

less 指令:分屏查看文件内容,指令和 more 类似但是比它更强大,支持各种显示终端,再查看的时候会按需加载,对查看大文件有很高的效率

快捷键功能
空格向下翻一页
pagedown向下翻一页
pageup向上翻一页
/ [字符串]向下搜索关键字,通过 n 向下查找,输入 N 向上查找
? [字符串]向上搜索关键字,通过 n 向上查找,输入 N 向下查找
q离开页面

echo 指令:输出内容到控制台eche [OPTION] [输出内容]

echo 指令输出环境变量: $PATH

使用 echo 输出 hello world

$ echo "hello world"

head 指令:查看文件的前 n 行内容

head -n [行数] [文件名]

查看 etc/profile 的前五行代码

tail 指令:查看文章的后几行内容,默认显示后十行

tail -n [行数] [文件名]

tail -f [文件] 可以实时监测文章内容

查看 etc/profile 的后五行代码

创建一个文本,实时监测其效果,看能否看到

两个终端

> 指令和 >> 指令

> 输出重定向,覆盖写

echo "hello world" > 文件名

>> 不覆盖,追加

home 下的目录写到 /home/info.txt

将日历信息追加到 /home/mycal 文件中

查看日历的指令 cal

ln 指令:创建软连接,使两个目录产生链接

ln [指向的目录] [连接到的新建目录]

创建软连接并且删除

history 指令:查看所有的历史命令

history 10 查看最近用过的 10 个指令

! [编号] 快捷执行该编号的指令

2.7 时间日期指令

指令作用
data [参数]显示当前的时间信息
cal [年份]显示日历信息,不指定年份默认本月

data 指令:

  • data 显示当前时间
  • data +%Y 显示当前年份
  • data +%m 显示当前月份
  • data +%d 显示当前是第几号

cal 指令:

  • cal 查看本月的日历
  • cal [2020] 显示整年的日历
image-20240131000549724

2.8 搜索查找类

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

find [搜索范围] [选项]

  1. 基本语法:

    find /path/to/search -options criteria
    
    • /path/to/search:指定要搜索的目录路径。
    • -options:可以包括一系列的选项,用于指定搜索条件。
    • criteria:定义搜索的具体条件。
  2. 按文件名搜索:

    find /path/to/search -name "filename"
    

    例如,要在 /home/user 目录下按照文件名查找所有以 “.txt” 结尾的文件:

    find /home/user -name "*.txt"
    
  3. 按文件类型搜索:

    find /path/to/search -type f
    

    这将查找所有普通文件。可以使用 -type d 查找目录。

  4. 按文件大小搜索:

    find /path/to/search -size +10M
    

    该命令将查找大于 10MB 的文件。可以使用 -size -10M 查找小于 10MB 的文件。

  5. 按修改时间搜索:

    find /path/to/search -mtime -7
    

    该命令将查找在过去 7 天内被修改过的文件。可以使用 -mtime +7 查找过去 7 天之前被修改的文件。

  6. 执行操作:

    find /path/to/search -name "*.log" -exec rm {} \;
    

    该命令将查找所有以 “.log” 结尾的文件,并使用 -exec 执行删除操作。

  7. 组合条件:

    find /path/to/search -type f -name "*.txt" -size +1M
    

    该命令将查找 /path/to/search 目录下大于 1MB 的所有以 “.txt” 结尾的文件。

  8. 逻辑操作符:

    find /path/to/search \( -name "*.txt" -o -name "*.log" \)
    

    该命令将查找所有以 “.txt” 或 “.log” 结尾的文件。

ls -lh 可以以 M 显示文件

locate 指令:快速定位文件路径,是基于数据库实现的,查询指令很快

使用之前必须使用 updatedb ,优化查询方式

管理员需要定期更新数据库

使用 locate 指令快速查找文件 .txt

grep 指令 和 管道符号:过滤查找,管道符 | 将前一个命令的结果交给后一个命令去处理,类似于数据库连表查询

新建文件,查询里面的关键字,并且显示行号

cat -n hello.txt | grep "yes"

cat -n hello.txt | grep -n "yes"

grep -n "yes" /hello.txt

2.9 压缩和解压类

使用 tar 进行压缩和解压

  1. 压缩文件(tar + gzip):

    tar -czvf archive.tar.gz file1 file2 directory
    
    • -c: 创建新的归档文件。
    • -z: 使用 gzip 进行压缩。
    • -v: 显示详细信息。
    • -f: 指定归档文件名。
  2. 解压文件(tar + gzip):

    tar -xzvf archive.tar.gz
    
    • -x: 提取文件。
    • -z: 使用 gzip 进行解压。
    • -v: 显示详细信息。
    • -f: 指定归档文件名。

使用 tar 进行压缩和解压(bzip2)

  1. 压缩文件(tar + bzip2):

    tar -cjvf archive.tar.bz2 file1 file2 directory
    
    • -c: 创建新的归档文件。
    • -j: 使用 bzip2 进行压缩。
    • -v: 显示详细信息。
    • -f: 指定归档文件名。
  2. 解压文件(tar + bzip2):

    tar -xjvf archive.tar.bz2
    
    • -x: 提取文件。
    • -j: 使用 bzip2 进行解压。
    • -v: 显示详细信息。
    • -f: 指定归档文件名。

使用 gzip 进行压缩和解压

  1. 压缩文件(gzip):

    gzip file
    

    这将生成 file.gz 文件,原始文件将被替换。

  2. 解压文件(gzip):

    gzip -d file.gz
    

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

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

相关文章

css多行文本擦拭效果

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>多行文本擦拭效果</title><style>* …

QT SQL

QT SQL模块提供数据库编程的支持&#xff0c;支持多种常见的数据库&#xff1a;MySQL\Oracle\MS SQL Server\SQLite等。SQL模块包含多个类&#xff0c;可以实现&#xff1a;数据库连接、SQL语句执行、数据获取与界面显示 等功能。数据 与 界面间用Model\View架构。 一、 二、Q…

网络服务综合实验项目

目录 实验要求 运行环境 基础配置 业务需求 实验步骤 一、基础配置 1.1、配置静态IP 1.1.1、 在192.168.159.130中配置 1.1.2、 在192.168.159.131中配置 ​编辑 1.2、修改主机名及hosts映射 1.2.1、在192.168.159.130中配置 1.2.2、 编辑配置hosts文件 1.2.3、重启…

用的到的linux-文件移动-Day2

前言&#xff1a; 在上一节&#xff0c;我们复习了cd大法和创建生成文件和文件夹的方法&#xff0c;介绍了一些“偷懒”&#xff08;高效&#xff09;的小技巧&#xff0c;本节&#xff0c;我们一起来探讨下&#xff0c;我们对文件移动操作时有哪些可以偷懒的小技巧~ 一、复制…

社科院与杜兰大学金融管理硕士项目——金融硕士学位证书有多重要呢

随着金融行业的快速发展&#xff0c;金融管理硕士项目逐渐成为越来越多人追求高学历和提升职业竞争力的选择。其中&#xff0c;社科院与杜兰大学合作的金融管理硕士项目备受关注。然而&#xff0c;对于很多人来说&#xff0c;花费大量的时间和金钱去攻读一个硕士学位是否值得呢…

前端开发实战基础——模块

文章目录 概要模块标识符模块依赖模块加载入口 CommonJS语法单例 AMD语法 UMD核心语法 ES6模块化模块标签及定义模块导出和导入命名导出和导入默认导出和导入命名导出和默认导出混用 模块行为 小结 概要 模块化&#xff0c;就是将代码拆分成独立的块&#xff0c;各自在代码块中…

小白初探|神经网络与深度学习

一、学习背景 由于工作的原因&#xff0c;需要开展人工智能相关的研究&#xff0c;虽然不用参与实际研发&#xff0c;但在项目实施过程中发现&#xff0c;人工智能的项目和普通程序开发项目不一样&#xff0c;门槛比较高&#xff0c;没有相关基础没法搞清楚人力、财力如何投入&…

Linux实验记录:使用Apache的虚拟主机功能

前言&#xff1a; 本文是一篇关于Linux系统初学者的实验记录。 参考书籍&#xff1a;《Linux就该这么学》 实验环境&#xff1a; VmwareWorkStation 17——虚拟机软件 RedHatEnterpriseLinux[RHEL]8——红帽操作系统 正文&#xff1a; 目录 前言&#xff1a; 正文&…

每日一道Java面试题:说一说Java中的泛型?

写在开头 今天的每日一道Java面试题聊的是Java中的泛型&#xff0c;泛型在面试的时候偶尔会被提及&#xff0c;频率不是特别高&#xff0c;但在日后的开发工作中&#xff0c;却是是个高频词汇&#xff0c;因此&#xff0c;我们有必要去认真的学习它。 泛型的定义 什么是泛型…

2024年1月的论文推荐

又到月底了&#xff0c;在月初推荐论文的基础上又整理了10篇推荐阅读的论文 1、MosaicBERT https://mosaicbert.github.io/ 一种用于快速预训练的双向编码器。MosaicBERT是针对快速预训练优化的自定义BERT架构。主要架构修改:FlashAttention, ALiBi&#xff0c;门控线性单元…

(八)MySQL事务和SQL优化

事务&#xff08;Transaction&#xff09;&#xff1a; 是数据库内最小且不可再分的单元。通常一个事务对应一个完整的业务(例如银行账户转账业务&#xff0c;该业务就是一个最小的工作单元)。一个完整的业务由批量的DML语句&#xff08;INSERT 、UPDATE、DELETE&#xff09;共…

pinctrl子系统与gpio子系统实验-通过应用程序测试Led驱动程序

一. 简介 前面几篇文章基本完成了 Led驱动代码&#xff0c;前面通过加载驱动模块也测试了 驱动程序。 这里通过运行应用程序&#xff0c;通过应用程序调用 Led驱动程序&#xff0c;从而驱动 打开或者关闭 Led灯。 二. 通过应用程序测试Led驱动程序 1. 驱动代码实现 gpiole…

【Qt】—— 项⽬⽂件解析

目录 &#xff08;一&#xff09;.pro⽂件解析 &#xff08;二&#xff09;widget.h⽂件解析 &#xff08;三&#xff09;main.cpp⽂件解析 &#xff08;四&#xff09;widget.cpp⽂件解析 &#xff08;五&#xff09;widget.ui⽂件解析 &#xff08;一&#xff09;.pro⽂…

Sg5032can(晶体振荡器spxo)规格书

SG5032CAN是爱普生推出的一款小体积尺寸5.0x3.2mm石英晶体振蒎器&#xff0c;四脚贴片晶振&#xff0c;输出频率范围为4MHz~72MHz,电源电压1.8V ~ 3.3V&#xff0c;支持CMOS输出&#xff0c;具有超小型&#xff0c;轻薄型&#xff0c;高精度&#xff0c;高性能&#xff0c;高品…

(二)hadoop搭建

1. 下载 访问https://hadoop.apache.org/releases.html查看hadoop最新下载地址 wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz 2.解压 tar zxvf hadoop-3.3.4.tar.gz mv hadoop-3.3.4 /usr/local 3.配置环境变量&#xff08;新建.sh文件&…

【网站项目】066农家乐信息平台

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

面向对象(基础)---面向对象编程概述、Java语言的基本元素:类和对象

学习面向对象内容的三条主线&#xff1a; ①Java类及类的成员&#xff1a;&#xff08;重点&#xff09;属性、方法、构造器&#xff1b;&#xff08;熟悉&#xff09;代码块、内部类 ②面向对象的特征&#xff1a;封装、继承、多态、&#xff08;抽象&#xff09; ③其他关…

stm32--simulink开发之--timer的学习,硬件输入中断,触发事件,STM32通用定时器之输出比较模式与PWM模式(重要理解)

下面三个模块&#xff0c;一个比一个高级&#xff0c;当然使用是越来越简单 STM32F4xx系列控制器有2个高级控制定时器、10个通用定时器和2个基本定时器(推荐学习) 1&#xff0c;第一个模块&#xff1a;Timer 浅层理解&#xff1a;计数&#xff0c;不停的触发 Starts timer co…

Servlet简述

Servlet是动态web资源开发技术&#xff0c;其实就是一个接口&#xff0c;将来定义Servlet实现类时&#xff0c;都必须实现该接口&#xff0c;并让web服务器运行Servlet 1.快速入门 使用注释配置访问路径在Servlet3.0之后应用&#xff0c;在此之前都是使用xml配置文件来配置的。…

零基础怎么学鸿蒙开发?

对于零基础的学习者来说&#xff0c;掌握鸿蒙开发不仅是迈向新技术的第一步&#xff0c;更是开拓职业道路的重要机遇。随着鸿蒙系统在各行各业的应用逐渐扩展&#xff0c;对于掌握这一项技术的开发人员需求也随之增长。下文将为大家提供针对零基础学习鸿蒙开发的逻辑&#xff0…