当前位置: 首页 > news >正文

AI大模型从0到1记录学习 linux day21

第 1 章 Linux入门
1.1 概述

1.2 Linux和Windows区别

第 2 章 VMware、Ubuntu、Xshell和Xftp安装

第 3 章 Linux文件与目录结构
3.1 Linux文件
Linux系统中一切皆文件。
3.2 Linux目录结构

 /bin
是Binary的缩写, 这个目录存放着最经常使用的命令的可执行文件,本质是/usr/bin的软链接。
 /sbin
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序,本质是/usr/sbin的软链接。
 /home
存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
 /root
该目录为系统管理员,也称作超级权限者的用户主目录。
 /lib
系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
 /etc
所有的系统管理所需要的环境配置文件和子目录。
 /usr
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的Program Files目录。
 /boot
这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及映射文件,自己的安装别放这里。
 /run
系统运行产生和需要的一些重要文件。
 /proc
这个目录是一个系统中运行的进程的虚拟映射的目录,我们可以通过直接访问这个目录来获取系统信息。
 /srv
service缩写,此目录用于存放系统运行时数据,特别是那些由系统上运行的服务所产生的数据。默认是空的。
 /sys
这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统。
 /tmp
这个目录是用来存放一些临时文件的,过一段时间就会自动清除。
 /dev
类似于windows的设备管理器,把所有的硬件用文件的形式存储。
 /media
linux系统会自动识别一些设备,例如音响、耳机等等,当识别后,linux会把识别的设备挂载到这个目录下。
 /mnt
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储(U盘、移动硬盘)挂载在/mnt/上,然后进入该目录就可以查看里的内容了。默认是空的。
 /opt
主要用于安装可选的或第三方应用程序。比如你安装一个mysql数据库则就可以放到这个目录下。默认是空的。
/var
这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
第 4 章 远程登录
通常在工作过程中,公司中使用的真实服务器或者是云服务器,都不允许除运维人员之外的员工直接接触,因此就需要通过远程登录的方式来操作。所以,远程登录工具就是必不可缺的,目前,比较主流的有Xshell,SSH Secure Shell,SecureCRT,FinalShell等,同学们可以根据自己的习惯自行选择。
第 5 章 APT软件包管理器
APT(Advanced Packaging Tools)是Debian及其派生Linux的软件包管理器,可以自动下载,配置,安装二进制或者源代码格式的软件包,因此简化了Unix系统上管理软件的过程。
APT常用命令:
用法: apt [选项] 命令

命令行软件包管理器 apt 提供软件包搜索,管理和信息查询等功能。
它提供的功能与其他 APT 工具相同(像 apt-get 和 apt-cache),
但是默认情况下被设置得更适合交互。

常用命令:
list - 根据名称列出软件包
search - 搜索软件包描述
show - 显示软件包细节
install - 安装软件包
reinstall - 重新安装软件包
remove - 移除软件包
autoremove - 卸载所有自动安装且不再使用的软件包
update - 更新可用软件包列表
upgrade - 通过 安装/升级 软件来更新系统
full-upgrade - 通过 卸载/安装/升级 来更新系统
edit-sources - 编辑软件源信息文件
satisfy - 使系统满足依赖关系字符串
1)更新可用软件包列表
zxf@ubuntu:~/桌面$ sudo apt update
2)使用APT安装软件包

net-tools是一个网络相关的工具包,比如提供ifconfig命令查看ip

zxf@ubuntu:~/桌面$ sudo apt install net-tools
常用参数:-y 不确认直接安装
3)使用APT卸载软件包
zxf@ubuntu:~/桌面$ sudo apt remove net-tools
常用参数:-y 不确认直接卸载
4)使用APT搜索软件包
zxf@ubuntu:~/桌面$ sudo apt search net-tools
第 6 章 常用基本命令
6.1 帮助命令
6.1.1 Manual Packages
1)查看手册页说明文档的方式
zxf@ubuntu:~/桌面$ man man
2)手册页简介
(1)名称
man - 系统参考手册的接口
(2)概述
man [man 选项] [[章节] 页 …] …
man -k [apropos 选项] 正则表达式 …
man -K [man 选项] [章节] 关键词 …
man -f [whatis 选项] 页 …
man -l [man 选项] 文件 …
man -w|-W [man 选项] page …
(3)描述
手册页(Manual Packages),简称“man pages”,是Unix和类Unix系统(包括Linux和macOS)上提供程序、函数、命令及文件格式文档的一种方式。手册页是用户和管理员获取命令用法、程序功能、配置文件规范和某些API函数描述的重要资源。
手册的章节号(页)及其包含的手册类型对应关系如下。
 1-可执行程序或shell命令:包含了绝大多数用户级别的外部命令或程序的文档,这些命令通常位于用户的PATH环境变量指定的目录下,如/bin、/usr/bin等。
 2-系统调用(内核提供的函数):提供了内核提供的系统调用的文档,系统调用是应用程序与操作系统内核之间进行交互的接口。
 3-库调用(程序库中的函数):包括标准C库函数和其他库函数的文档,这些库函数提供了执行特定任务(如字符串处理、文件操作)的编程接口。
 4-特殊文件(通常位于/dev):涉及到系统上的特殊文件,如设备文件的说明。
 5-文件格式和规范,如/etc/passwd:描述了各种文件格式和配置文件的结构,比如/etc/passwd或/etc/shadow文件的格式。
 6-游戏和屏保:有些系统会在这一节中提供游戏和屏保程序的文档。
 7-杂项(包括宏包和规范):包含了一些杂项文档,如宏包、约定等。如man(7),groff(7),man-pages(7)。
 8-系统管理命令(通常只针对root用户):提供了系统管理员级别的命令或程序的文档,这些命令通常位于/sbin、/usr/sbin等目录。
 9-内核例程(并非所有的发行版都有):某些系统会提供内核级别函数和例程的文档。
我们常用的文档位于第1、2、3、7页。
(4)手册页引用格式

执行man man命令,进入手册页浏览模式,左上角会显示MAN(1),这就是手册页引用格式或man引用格式,括号前面是命令(或系统调用等)的名称,括号内是命令所在的手册页编号。
当存在多个同名但功能不同的命令或调用时,可以通过页编号区分。如:用户命令write位于第一页,用write(1)表示,系统调用write位于第2页,用write(2)表示。
6.1.2 man获得帮助信息
1)基本语法
man [页编号] [命令或配置文件] (功能描述:获得帮助信息)
2)显示说明
信息 功能
NAME 命令的名称和单行描述
SYNOPSIS 怎样使用命令
DESCRIPTION 命令功能的深入讨论
EXAMPLES 怎样使用命令的例子
SEE ALSO 相关主题(通常是手册页)
3)案例实操
(1)查看ls命令的帮助信息
zxf@ubuntu:~/桌面$ man ls
(2)查看用户命令write的帮助信息
zxf@ubuntu:~/桌面$ man write

(3)查看系统调用write的帮助信息
zxf@ubuntu:~/桌面$ man 2 write

在第 2 节中没有关于 write 的手册条目
默认的手册页不完整,需要下载最新的手册页包
zxf@ubuntu:~/桌面$ sudo apt install manpages manpages-dev

6.1.3 help获取shell内建命令的帮助信息
1)shell内建命令
shell内建命令是shell的一部分,他们没有单独的可执行文件或手册页,这类命令的文档通过help命令访问。
2)查看所有内建命令
zxf@ubuntu:~/桌面$ help

3)查看内建命令的帮助信息
help 命令 (功能描述:获得shell内建命令的帮助信息)
4)案例实操
(1)查看cd命令的帮助信息
zxf@ubuntu:~/桌面$ help cd

6.1.4 常用快捷键
常用快捷键 功能
Ctrl + L 清屏;彻底清屏是:clear
Ctrl + C 或 Q 停止进程 / 退出
TAB键(一次或二次) 提示(更重要的是可以防止敲错)
上下键 查找执行过的命令
Ctrl + U 清除当前敲的命令
6.2 文件目录类
6.2.1 pwd 显示当前工作目录的绝对路径
pwd: 打印工作目录(print work directory)
1)基本语法
pwd (功能描述:显示当前工作目录的绝对路径)
2)案例实操
(1)显示当前工作目录的绝对路径
zxf@ubuntu:~/桌面$ pwd
/home/zxf/桌面
6.2.2 ls 列出目录的内容
ls: 列出目录内容(list)
1)基本语法
ls [选项] [目录或是文件]
2)选项说明
选项 功能
-a 全部的文件,连同隐藏档(开头为 . 的文件) 一起列出来(常用)
-l 长数据串列出,包含文件的属性与权限等等数据;(常用)
-R 递归(recursion)列出目录下所有子目录及文件
3)显示说明
每行列出的信息依次是:文件类型与权限 链接数 文件属主 文件属组 文件大小(字节) 建立或最近修改的时间(月、日、时分) 名称
4)案例实操
(1)查看当前目录的所有内容信息
zxf@ubuntu:~/桌面$ ls -al
总用量 44
drwx------. 5 zxf zxf 4096 5月 27 15:15 .
drwxr-xr-x. 3 root root 4096 5月 27 14:03 …
drwxrwxrwx. 2 root root 4096 5月 27 14:14 hello
-rwxrw-r–. 1 zxf zxf 34 5月 27 14:20 test.txt
(2)ubuntu中ll是ls -al的别名,我们可以使用ll查看目录下的所有文件
zxf@ubuntu:~/桌面$ ll
总用量 44
drwx------. 5 zxf zxf 4096 5月 27 15:15 .
drwxr-xr-x. 3 root root 4096 5月 27 14:03 …
drwxrwxrwx. 2 root root 4096 5月 27 14:14 hello
-rwxrw-r–. 1 zxf zxf 34 5月 27 14:20 test.txt
6.2.3 cd 切换目录
cd: 切换路径(Change Directory)
1)基本语法
cd [参数]
2)参数说明
参数 功能
cd 绝对路径 切换路径
cd相对路径 切换路径
cd ~或者cd 回到自己的家目录
cd - 回到上一次所在目录
cd … 回到当前目录的上一级目录
cd -P 跳转到实际物理路径,而非快捷方式路径
3)案例实操
(1)使用绝对路径切换到根目录下的bin目录
zxf@ubuntu:~$ cd /bin/
zxf@ubuntu:/bin$
(2)使用相对路径切换到“公共的”目录
zxf@ubuntu:~$ cd 公共的/
zxf@ubuntu:~/公共的$
(3)表示回到自己的家目录,亦即是/home/zxf这个目录
zxf@ubuntu:~/公共的$ cd
zxf@ubuntu:~$
(4)cd- 回到上一次所在目录
zxf@ubuntu:~$ cd -
/home/zxf/公共的
zxf@ubuntu:~/公共的$
(5)表示回到当前目录的上一级目录,亦即是 “/root/公共的”的上一级目录的意思;
zxf@ubuntu:~/公共的$ cd …
zxf@ubuntu:~$
6.2.4 mkdir 创建一个新的目录
mkdir: 创建目录(Make directory)
1)基本语法
mkdir [选项] 要创建的目录
2)选项说明
选项 功能
-p 创建多层目录 (目标目录及其父目录)
3)案例实操
(1)创建一个目录
zxf@ubuntu:~/桌面$ mkdir test
zxf@ubuntu:~/桌面$ mkdir test/a
(2)创建一个多级目录
zxf@ubuntu:~/桌面$ mkdir -p test/b/bb/bbb
6.2.5 touch 创建空文件
1)基本语法
touch 文件名称
2)案例实操
zxf@ubuntu:~/桌面$ touch test/a/note.txt
6.2.6 cp复制文件或目录
cp: 复制文件或目录(copy)
1)基本语法
cp [选项] source dest (功能描述:复制source文件到dest)
2)选项说明
选项 功能
-r 递归复制整个文件夹
3)参数说明
参数 功能
source 源文件
dest 目标文件
4)案例实操
(1)复制文件
zxf@ubuntu:~/桌面$ cp test/a/note.txt test/b/
(2)递归复制整个文件夹
zxf@ubuntu:~/桌面$ cp -r test/b/ ./
6.2.7 rm 删除文件或目录
rm: 删除文件或目录(remove)
1)基本语法
rm [选项] deleteFile (功能描述:删除指定目录或文件)
2)选项说明
选项 功能
-r 递归删除目录及其中所有内容 (默认只能删除文件)
-f 强制执行删除操作,而不提示用于进行提示确认。
-v 显示指令的详细执行过程
3)案例实操
(1)删除目录中的内容
zxf@ubuntu:~/桌面$ rm b/note.txt
(2)递归删除目录中所有内容
zxf@ubuntu:~/桌面$ rm -r b/
6.2.8 mv 移动文件与目录或重命名
mv: 移动文件或目录(move)
1)基本语法
(1)mv oldNameFile newNameFile (功能描述:重命名)
(2)mv /xxx/movefile /targetFolder (功能描述:移动文件)
2)案例实操
(1)重命名
zxf@ubuntu:~/桌面$ mv test/a/note.txt test/a/note2.txt
(2)移动文件
zxf@ubuntu:~/桌面$ mv test/a/note2.txt ./
6.2.9 cat查看文件内容
cat: 查看文件内容(catenate 连接)
1)基本语法
cat [选项] 要查看的文件
2)选项说明
选项 功能描述
-n 显示所有行的行号,包括空行。
3)经验技巧
一般查看比较小的文件,一屏幕能显示全的。
4)案例实操
查看文件内容并显示行号
zxf@ubuntu:~/桌面$ cat -n /etc/password
6.2.10 tail 输出文件尾部内容
tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的后10行内容。
1)基本语法
(1)tail 文件 (功能描述:查看文件尾部10行内容)
(2)tail -n 5 文件 (功能描述:查看文件尾部5行内容,5可以是任意行数)
(3)tail -F 文件 (功能描述:实时追踪该文档的所有更新)
2)选项说明
选项 功能
-n<行数> 输出文件尾部n行内容
-F 显示文件最新追加的内容,监视文件变化
3)案例实操
(1)查看文件尾2行内容(默认10)
zxf@ubuntu:~/桌面$ tail -n 2 /etc/password
(2)实时追踪该档的所有更新
zxf@ubuntu:~/桌面$ touch note.txt
zxf@ubuntu:~/桌面$ tail -F note.txt // 修改note.txt实时显示
6.2.11 echo 输出内容
echo:输出内容到控制台(回声、再现)
1)基本语法
echo [选项] [输出内容]
选项:
 -e:支持反斜线控制的字符转换
控制字符 作用
\ 输出\本身
\n 换行符
\t 制表符,也就是Tab键
2)案例实操
zxf@ubuntu:~/桌面$ echo helloworld
helloworld
zxf@ubuntu:~/桌面$ echo “hello world”
hello world
zxf@ubuntu:~/桌面$ echo “hello\nworld”
hello\tworld
zxf@ubuntu:~/桌面$ echo -e “hello\nworld”
hello
world
6.2.12 >和>> 输出重定向
1)基本语法
(1)ls -a > 文件 (功能描述:列表的内容覆盖写入文件a.txt中)
(2)ls -al >> 文件 (功能描述:列表的内容追加到文件aa.txt的末尾)
(3)cat 文件1 > 文件2 (功能描述:将文件1的内容覆盖到文件2)
(4)echo “内容” >> 文件
2)案例实操
(1)将ls查看信息覆盖写入到文件中
zxf@ubuntu:~/桌面$ ls -l>note.txt
(2)将ls查看信息追加到文件中
zxf@ubuntu:~/桌面$ ls -l>>note.txt
(3)采用echo将hello单词追加到文件中
zxf@ubuntu:~/桌面$ echo hello>>note.txt
6.2.13 ln 软链接
软链接也成为符号链接,类似于windows里的快捷方式,有自己的数据块,主要存放了链接其他文件的路径。
ln: 创建软链接(Link)
1)基本语法
ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)
2)经验技巧
删除软链接: rm 软链接名,或者:unlink 软链接名
查询:通过ll就可以查看,列表属性第1位是l,尾部会有位置指向。
3)案例实操
(1)创建软连接
zxf@ubuntu:~/桌面$ mv note.txt test/a/
zxf@ubuntu:~/桌面$ ln -s test/a/note.txt ./
zxf@ubuntu:~/桌面$ ln -s test/b ./
zxf@ubuntu:~/桌面$ ll

lrwxrwxrwx 1 zxf zxf 6 7月 19 09:27 b -> test/b/
lrwxrwxrwx 1 zxf zxf 15 7月 19 09:14 note.txt -> test/a/note.txt
(2)删除软连接
zxf@ubuntu:~/桌面$ rm note.txt
zxf@ubuntu:~/桌面$ rm a
注意:rm -rf a/ 这样删是删不掉的 不能在软连接后面加 /
(3)进入文件夹软连接的实际物理路径
zxf@ubuntu:~/桌面$ ln -s test/a ./
zxf@ubuntu:~/桌面$ cd -P a
zxf@ubuntu:~/桌面/test/a$
6.2.14 history 查看已经执行过历史命令
1)基本语法
history (功能描述:查看已经执行过历史命令)
2)案例实操
(1)查看已经执行过的历史命令
zxf@ubuntu:~/桌面$ history
6.3 VI/VIM编辑器
6.3.1 vi/vim是什么
VI是Unix操作系统和类Unix操作系统中最通用的文本编辑器。
VIM编辑器是从VI发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜色辨别语法的正确性,方便程序设计。VIM与VI编辑器完全兼容。
在终端中执行以下命令安装vim
zxf@ubuntu:~/桌面$ sudo apt install vim
6.3.2 测试数据准备
(1)拷贝/etc/profile 数据到当前目录下
zxf@ubuntu:~/桌面$ cp /etc/profile ./
6.3.3 一般模式
以vim打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、贴上』来处理你的文件数据。
1)常用语法
语法 功能描述
yy 复制光标当前一行
y数字y 复制一段(从光标当前行到后n行)
p 箭头移动到目的行粘贴
u 撤销上一步
dd 删除光标当前行
d数字d 删除光标(含)后多少行
x 剪切一个字母(当前光标),相当于del
X 剪切一个字母(当前光标的前一个),相当于Backspace
yw 复制一个词
dw 删除一个词
shift+6(^) 移动到行头
shift+4($) 移动到行尾
1+shift+g 移动到页头,数字
shift+g 移动到页尾
数字N+shift+g 移动到目标行
2)vi/vim键盘图

6.3.4 编辑模式
在一般模式中可以进行删除、复制、粘贴等的动作,但是却无法编辑文件内容的!要等到你按下『i, I, o, O, a, A』等任何一个字母之后才会进入编辑模式。
注意了!通常在Linux中,按下这些按键时,在画面的左下方会出现『INSERT或 REPLACE』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下『Esc』这个按键即可退出编辑模式。
1)进入编辑模式
常用语法
按键 功能
i 当前光标前
a 当前光标后
o 当前光标行的下一行
I 光标所在行最前
A 光标所在行最后
O 当前光标行的上一行
2)退出编辑模式
按『Esc』键
6.3.5 命令模式
在一般模式当中,输入『 : / ?』3个中的任何一个按钮,就可以将光标移动到最底下那一行。
在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号等动作是在此模式中达成的!
1)基本语法
命令 功能
:w 保存
:q 退出
:! 强制执行
/要查找的词 n 查找下一个,N 往上查找
:noh 取消高亮显示
:set nu 显示行号
:set nonu 关闭行号
:%s/old/new/g 替换内容 /g global替换匹配到的所有内容
2)案例实操
(1)保存退出
对于有写权限的文件,修改后,保存并退出。
:wq
(2)直接退出
没有修改文件内容,直接退出。
:q
(3)强制退出
修改了文件内容,但是不想保存,此时需要强制退出。
:q!
(4)强制保存退出
对于没有写权限的文件,修改后,必须强制保存退出方可保留更改。
:wq!
6.3.6 模式间转换

6.4 用户管理命令
6.4.1 root用户
root 用户是具有最高权限的超级用户
1)root 用户特点
root 用户拥有系统的所有权限,可以对系统进行任何操作,包括修改系统关键配置文件、安装和卸载系统级软件、管理用户账户等。但由于其权限过大,不当操作可能会导致系统出现严重问题,甚至无法正常运行。
2)默认情况
Ubuntu 默认情况下,root 用户是被锁定的,没有设置默认密码。这是为了提高系统的安全性,鼓励用户使用普通用户账户,并通过 sudo 命令来临时获取 root 权限执行需要高权限的操作。
3)为 root 用户设置密码
如果确实需要使用root用户登录或执行操作,可以通过以下步骤为root用户设置密码。
 以普通用户身份登录到 Ubuntu 系统。
 打开终端,输入以下命令:----这里设置密码为atguigu123
atguigu@ubuntu-1:~$ sudo passwd root
新的密码:
重新输入新的密码:
passwd:已成功更新密码
atguigu@ubuntu-1:~$
 系统会提示你输入当前普通用户的密码,输入正确后按回车键。
 接着会要求你设置 root 用户的新密码,输入两次相同的新密码后,root 用户的密码就设置完成了。
4)切换root用户
 su 用户名称 (功能描述:切换用户,只能获得用户的执行权限,不能获得环境变量)
 su - 用户名称 (功能描述:切换到用户并获得该用户的环境变量及执行权限)
 如果需要一个完整的 root 用户环境,例如执行需要特定环境变量支持的脚本,或者进行系统管理操作时依赖 root 用户的环境配置,建议使用 su -。而如果只是临时需要以 root 身份执行一两个命令,并且希望保持当前的工作环境,那么使用 su root 更合适。
5)退出root用户
exit
6)使用sudo替代root用户操作
虽然可以使用root用户登录并操作,但更推荐使用sudo命令。sudo 允许普通用户在需要时以 root 权限执行特定的命令,而不需要一直以 root 用户身份登录。
在需要执行的命令前加上 sudo,例如要安装软件包:
sudo apt install package_name
系统会提示你输入当前普通用户的密码,输入正确后命令将以 root 权限执行。
7)锁定和解锁 root 用户
 锁定 root 用户:如果你想再次锁定 root 用户,使其无法登录,可以使用以下命令:
sudo passwd -l root
 解锁 root 用户:若要解锁 root 用户,可以使用以下命令:
sudo passwd -u root
6.4.2 useradd 添加新用户
1)基本语法
 useradd 用户名 (功能描述:添加新用户)
 useradd -g 组名 用户名 (功能描述:添加新用户到某个组)
 可以在useradd后面加-m指定是否创建用户目录
2)案例实操
切换root用户,添加一个用户
atguigu@ubuntu-1:~$ su –
root@ubuntu-1:~# ll /home/
总计 12
drwxr-xr-x 3 root root 4096 2月 17 23:20 ./
drwxr-xr-x 20 root root 4096 2月 17 23:19 …/
drwxr-x— 17 atguigu atguigu 4096 3月 3 10:53 atguigu/
root@ubuntu-1:~# useradd -m tangseng
root@ubuntu-1:~# ll /home/
总计 16
drwxr-xr-x 4 root root 4096 3月 3 11:08 ./
drwxr-xr-x 20 root root 4096 2月 17 23:19 …/
drwxr-x— 17 atguigu atguigu 4096 3月 3 10:53 atguigu/
drwxr-x— 2 tangseng tangseng 4096 3月 3 11:08 tangseng/
6.4.3 passwd设置用户密码
1)基本语法
passwd 用户名 (功能描述:设置用户密码)
2)案例实操
设置用户的密码
root@ubuntu-1:~# passwd tangseng
6.4.4 id查看用户是否存在
1)基本语法
id 用户名
2)案例实操
查看用户是否存在
root@ubuntu-1:~# id tangseng
uid=1001(tangseng) gid=1001(tangseng) 组=1001(tangseng)
6.4.5 cat /etc/passwd 查看创建了哪些用户
1)基本语法
root@ubuntu-1:~# cat /etc/passwd
6.4.6 userdel 删除用户
1)基本语法
 userdel 用户名 (功能描述:删除用户但保存用户主目录)
 userdel -r 用户名 (功能描述:用户和用户主目录,都删除)
2)选项说明
选项 功能
-r 删除用户的同时,删除与用户相关的所有文件。
3)案例实操
root@ubuntu-1:~# ll /home/
总计 16
drwxr-xr-x 4 root root 4096 3月 3 11:08 ./
drwxr-xr-x 20 root root 4096 2月 17 23:19 …/
drwxr-x— 17 atguigu atguigu 4096 3月 3 10:53 atguigu/
drwxr-x— 2 tangseng tangseng 4096 3月 3 11:08 tangseng/
root@ubuntu-1:~# userdel -r tangseng
root@ubuntu-1:~# ll /home/
总计 12
drwxr-xr-x 3 root root 4096 3月 3 11:27 ./
drwxr-xr-x 20 root root 4096 2月 17 23:19 …/
drwxr-x— 17 atguigu atguigu 4096 3月 3 10:53 atguigu/
6.4.7 sudo设置普通用户具有root权限
1)添加testu用户,并对其设置密码。
root@ubuntu-1:~#useradd testu

root@ubuntu-1:~#passwd testu
2)修改配置文件
atguigu@ubuntu-1:~$vi /etc/sudoers
修改 /etc/sudoers 文件,在root下面添加一行,如下所示:

Allow root to run any commands anywhere

root ALL=(ALL) ALL
testu ALL=(ALL) ALL
或者配置成采用sudo命令时,不需要输入密码

Allow root to run any commands anywhere

root ALL=(ALL) ALL
testu ALL=(ALL) NOPASSWD:ALL
修改完毕,通过:wq!退出编辑,然后可以用testu帐号登录,用命令 sudo ,即可获得root权限进行操作。不需要多次输入密码。
6.4.8 usermod 修改用户
1)基本语法
 usermod -l 新用户名 老用户名
 usermod -d /home/新目录名 -m新用户名
2)选项说明
选项 功能
-l 改变用户名
-d 修改家目录
3)案例实操
改变用户名
root@ubuntu-1:~# usermod -l pengyuyan huge
root@ubuntu-1:~# usermod -d /home/huge -m huge
6.5 用户组管理命令
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同。
如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。
6.5.1 groupadd 新增组
1)基本语法
groupadd 组名
2)案例实操
添加一个xitianqujing组
root@ubuntu-1:~# groupadd xitianqujing
6.5.2 groupdel 删除组
1)基本语法
groupdel 组名
2)案例实操
删除xitianqujing组
root@ubuntu-1:~# groupdel xitianqujing
6.5.3 groupmod 修改组
1)基本语法
groupmod -n 新组名 老组名
2)选项说明
选项 功能描述
-n<新组名> 指定工作组的新组名
3)案例实操
修改xitianqujing组名称为xitian。
root@ubuntu-1:~# groupadd xitianqujing
root@ubuntu-1:~# groupmod -n xitian xitianqujing
6.5.4 usermod 修改用户组
1)基本语法
usermod -g 组名 用户名
2)选项说明
选项 功能描述
-g 指定用户需要加入的用户组 得写id
3)案例实操
将用户切换一个组。
root@ubuntu-1:~# useradd zhubajie
root@ubuntu-1:~# id zhubajie
uid=1002(zhubajie) gid=1003(zhubajie) 组=1003(zhubajie)
root@ubuntu-1:~# usermod -g xitian zhubajie
root@ubuntu-1:~# id zhubajie
uid=1002(zhubajie) gid=1002(xitian) 组=1002(xitian)
6.5.5 cat /etc/group 查看创建了哪些组
1)基本操作
root@ubuntu-1:~# cat /etc/group
6.6 文件权限类
6.6.1 文件属性
能力越大,责任越大。权限越小,责任越小。
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组。
1)文件属性:从左到右的10个字符表示

如果没有权限,就会出现减号[ - ]而已。从左至右用0-9这些数字来表示:
(1)0首位表示类型
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等

  • 代表文件
    d 代表目录
    l 链接文档(link file);
    (2)第1-3位确定属主(该文件的所有者)拥有该文件的权限。—User
    (3)第4-6位确定属组(所有者的同组用户)拥有该文件的权限,—Group
    (4)第7-9位确定其他用户拥有该文件的权限 —Other
    2)rwx作用文件和目录的不同解释
    (1)作用到文件:
     [ r ]代表可读(read): 可以读取,查看
     [ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,
     删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
     [ x ]代表可执行(execute):可以被系统执行
    (2)作用到目录:0
     [ r ]代表可读(read): 可以读取,ls查看目录内容
     [ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
     [ x ]代表可执行(execute):可以进入该目录
    图标:
    代表不可读
    锁代表不可写
    3)案例实操
    zxf@ubuntu:~/桌面$ ll
    总计 16
    drwxr-xr-x 3 zxf zxf 4096 7月 24 14:58 ./
    drwxr-x— 16 zxf zxf 4096 7月 24 14:47 …/
    -rw-r–r-- 1 zxf zxf 3007 7月 24 14:58 passwd
    drwxrwxr-x 3 zxf zxf 4096 7月 24 14:41 test/
    (1)文件基本属性介绍

6.6.2 chmod 改变权限
1)基本语法

(1)第一种方式变更权限
chmod [{ugoa}{±=}{rwx}] 文件或目录
(2)第二种方式变更权限
chmod [mode=421 ] [文件或目录]
2)经验技巧
u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)
r=4 w=2 x=1 rwx=4+2+1=7
3)案例实操
(1)修改文件使其所属主用户具有执行权限
zxf@ubuntu:~/桌面$ chmod u+x passwd
(2)修改文件使其所属组用户具有执行权限
zxf@ubuntu:~/桌面$ chmod g+x passwd
(3)修改文件所属主用户执行权限,并使其他用户具有执行权限
zxf@ubuntu:~/桌面$ chmod u-x,o+x passwd
(4)采用数字的方式,设置文件所有者、所属组、其他用户都具有可读可写可执行权限。
zxf@ubuntu:~/桌面$ chmod 765 passwd
(5)修改整个文件夹里面的所有文件的所有者、所属组、其他用户都具有可读可写可执行权限。
zxf@ubuntu:~/桌面$ chmod -R 777 test
6.6.3 chown改变所有者
chown: 改变所有者(change owner)
1)基本语法
chown [选项] [最终用户] [文件或目录] (功能描述:改变文件或者目录的所有者)
2)选项说明
选项 功能
-R 递归操作
3)案例实操
(1)修改文件所有者
zxf@ubuntu:~/桌面$ sudo chown root note.txt
zxf@ubuntu:~/桌面$ ll

-rwxrwxrwx 1 root zxf 367 3月 6 15:44 note.txt

(2)递归改变文件所有者和所有组
zxf@ubuntu:~/桌面$ ll -R test/
test:
总计 16
drwxrwxr-x 4 zxf zxf 4096 8月 12 21:25 ./
drwxr-xr-x 4 zxf zxf 4096 8月 12 23:00 …/
drwxrwxr-x 2 zxf zxf 4096 8月 12 21:34 a/
drwxrwxr-x 3 zxf zxf 4096 8月 12 21:29 b/

test/a:
总计 12
drwxrwxr-x 2 zxf zxf 4096 8月 12 21:34 ./
drwxrwxr-x 4 zxf zxf 4096 8月 12 21:25 …/
-rw-rw-r-- 1 zxf zxf 12 8月 12 21:34 note.txt

test/b:
总计 12
drwxrwxr-x 3 zxf zxf 4096 8月 12 21:29 ./
drwxrwxr-x 4 zxf zxf 4096 8月 12 21:25 …/
drwxrwxr-x 2 zxf zxf 4096 8月 12 21:29 bb/

test/b/bb:
总计 8
drwxrwxr-x 2 zxf zxf 4096 8月 12 21:29 ./
drwxrwxr-x 3 zxf zxf 4096 8月 12 21:29 …/
-rw-rw-r-- 1 zxf zxf 0 8月 12 21:26 note2.txt

zxf@ubuntu:~/桌面$ sudo chown -R root:root test/
zxf@ubuntu:~/桌面$ ll -R test/
test:
总计 16
drwxrwxr-x 4 root root 4096 8月 12 21:25 ./
drwxr-xr-x 4 zxf zxf 4096 8月 12 23:00 …/
drwxrwxr-x 2 root root 4096 8月 12 21:34 a/
drwxrwxr-x 3 root root 4096 8月 12 21:29 b/

test/a:
总计 12
drwxrwxr-x 2 root root 4096 8月 12 21:34 ./
drwxrwxr-x 4 root root 4096 8月 12 21:25 …/
-rw-rw-r-- 1 root root 12 8月 12 21:34 note.txt

test/b:
总计 12
drwxrwxr-x 3 root root 4096 8月 12 21:29 ./
drwxrwxr-x 4 root root 4096 8月 12 21:25 …/
drwxrwxr-x 2 root root 4096 8月 12 21:29 bb/

test/b/bb:
总计 8
drwxrwxr-x 2 root root 4096 8月 12 21:29 ./
drwxrwxr-x 3 root root 4096 8月 12 21:29 …/
-rw-rw-r-- 1 root root 0 8月 12 21:26 note2.txt
6.6.4 chgrp 改变所属组
chgrp: 改变所属组(change group)
1)基本语法
chgrp [最终用户组] [文件或目录] (功能描述:改变文件或者目录的所属组)
2)案例实操
(1)修改文件的所属组
zxf@ubuntu:~/桌面$ ll

-rwxrwxrwx 1 root root 0 8月 12 22:53 tt.txt

zxf@ubuntu:~/桌面$ sudo chgrp zxf tt.txt
zxf@ubuntu:~/桌面$ ll

-rwxrwxrwx 1 root zxf 0 8月 12 22:53 tt.txt

6.7 搜索查找类
6.7.1 find查找文件或者目录
(1)find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端。
2)基本语法
find [搜索范围] [选项]
3)选项说明
选项 功能
-name <文件名> 按照指定的文件名查找模式查找文件(模式必须用引号包含)
-user <用户名> 查找属于指定用户名所有文件
-size <文件大小> 按照指定的文件大小查找文件,单位为:
b —— 块(512字节)
c —— 字节
w —— 字(2字节)
k —— 千字节
M —— 兆字节
G —— 吉字节
4)案例实操
(1)按文件名:根据名称查找当前目录下所有以.txt结尾的文件。
zxf@ubuntu:~/桌面$ find ./ -name “*.txt”
(2)按拥有者:查找当前目录下,用户名称的文件
zxf@ubuntu:~/桌面$ find ./ -user “zxf”
(3)按文件大小:在当前目录下查找大于200字节的文件(+n 大于 -n小于 n等于)
zxf@ubuntu:~/桌面$ find ./ -size “+200c”
6.7.2 grep与“|”管道符的过滤查找
管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。
Grep(Global Regular Expression Print),用于对指定文本根据正则表达式(特定规则)搜索匹配并输出到终端。一般与管道符进行配合使用。
1)基本语法
grep 选项 查找内容 源文件
2)选项说明
选项 功能
-n 显示匹配行及行号。
3)案例实操
(1)查找某文件在第几行
zxf@ubuntu:~/桌面$ find ./ -size “-200c” |grep a

zxf@ubuntu:~/桌面$ ll |grep -n zx

zxf@ubuntu:~/桌面$ cat passwd |grep -n wu

6.8 压缩和解压类
6.8.1 tar 打包
1)基本语法
tar [选项] XXX.tar.gz 将要打包进去的内容(功能描述:打包目录,压缩后的文件格式.tar.gz)
2)选项说明
选项 功能
-c 产生.tar打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩
-x 解包.tar文件
3)案例实操
(1)压缩多个文件
zxf@ubuntu:~/桌面$ touch tt2.txt

zxf@ubuntu:~/桌面$ tar -zcvf tt.tar.gz tt.txt tt2.txt

zxf@ubuntu:~/桌面$ ll

-rw-rw-r-- 1 zxf zxf 164 8月 13 00:10 tt.tar.gz

(2)压缩目录
zxf@ubuntu:~/桌面$ tar -zcvf b.tar.gz test/
test/
test/a/
test/a/note.txt
test/b/
test/b/bb/
test/b/bb/note2.txt
zxf@ubuntu:~/桌面$ ll

-rw-rw-r-- 1 zxf zxf 231 8月 13 00:23 test.tar.gz

(3)解压到当前目录
zxf@ubuntu:~/桌面$ rm -r test
zxf@ubuntu:~/桌面$ tar -zxvf test.tar.gz
test/
test/a/
test/a/note.txt
test/b/
test/b/bb/
test/b/bb/note2.txt
zxf@ubuntu:~/桌面$ ll

drwxrwxr-x 4 zxf zxf 4096 8月 12 21:25 test/

(4)解压到指定目录
zxf@ubuntu:~/桌面$ mkdir work
zxf@ubuntu:~/桌面$ tar -zxvf test.tar.gz -C ./work
zxf@ubuntu:~/桌面$ ls work/
test
6.9 磁盘类
6.9.1 df 查看磁盘空间使用情况
df: disk free 空余硬盘
1)基本语法
df 选项 (功能描述:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况)
2)选项说明
选项 功能
-h 以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
3)案例实操
查看磁盘使用情况。
atguigu@ubuntu-1:~$ df -h
文件系统 大小 已用 可用 已用% 挂载点
tmpfs 790M 2.0M 788M 1% /run
/dev/sda3 49G 21G 26G 44% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
/dev/sda2 512M 6.1M 506M 2% /boot/efi
tmpfs 790M 104K 790M 1% /run/user/1000
6.9.2 du 文件和目录的磁盘使用空间
1)基本语法
du 目录/文件(功能描述:显示每个文件和目录的磁盘使用空间)
2)选项说明
选项 功能
-a 显示当前目录下所有的文件目录及子目录大小
3)案例实操
查看目录的空间使用情况
atguigu@ubuntu-1:~$ du -a /opt/software/Anaconda3-2024.10-1-Linux-x86_64.sh
1076660 /opt/software/Anaconda3-2024.10-1-Linux-x86_64.sh
6.10 网络类
6.10.1 ifconfig
1)基本语法
ifconfig (功能描述:显示所有网络接口的配置信息)
2)案例实操
查看当前网络IP
atguigu@ubuntu-1:~$ ifconfig
6.10.2 ping 测试主机之间网络连通性
1)基本语法
ping 目的主机 (功能描述:测试当前服务器是否可以连接目的主机)
2)案例实操
测试当前服务器是否可以连接百度
atguigu@ubuntu-1:~$ ping www.baidu.com
6.10.3 修改主机名称
1)基本语法
hostname (功能描述:查看当前服务器的主机名称)
2)案例实操
(1)查看当前服务器主机名称。
atguigu@ubuntu-1:~$ hostname
(2)如果感觉此主机名不合适,我们可以进行修改。编辑/etc/hostname文件。
atguigu@ubuntu-1:~KaTeX parse error: Expected 'EOF', got '#' at position 1: #̲ vi /etc/hostna… ps -aux

(2)查看进程的父进程ID
zxf@ubuntu:~/桌面$ ps -ef

6.11.2 kill 终止进程
1)基本语法
kill [选项] 进程号 (功能描述:通过进程号杀死进程)
killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)
2)选项说明
选项 功能
-9 表示强迫进程立即停止
3)案例实操
(1)开启多个终端
在XShell中双击开启的标签,即可打开新的终端。

准备两个终端。
(2)监控houge.txt
在其中一个终端中执行以下命令。
zxf@ubuntu:~/桌面$ tail -F houge.txt
(3)查看tail进程号
在另一个终端中查看进程号。
zxf@ubuntu:~/桌面$ ps -ef | grep tail
zxf 3976 3660 0 00:56 pts/2 00:00:00 tail -F houge.txt
(4)杀死tail进程
zxf@ubuntu:~/桌面$ kill -9 3976
此时,另一个终端可以看到提示,进程已被杀死,如下图所示。

(5)通过名称杀死进程
killall命令可以根据名称杀死进程,此处的进程名称是精确匹配。通常进程名称为启动命令中可执行文件的名称。对于tail -F houge.txt启动的进程,其进程名称为tail。
再开启一个终端,在其中两个终端中执行以下命令。
zxf@ubuntu:~/桌面$ tail -F houge.txt
在最后一个终端中执行以下命令。
zxf@ubuntu:~/桌面$ killall tail
可以看到另外两个终端的tail进程均被杀死。
6.11.3 free查看服务器总体内存
1)基本语法
free -m (功能描述:查看服务器总体内存)
2)案例实操
zxf@ubuntu:~/桌面$ free -m
total used free shared buff/cache available
Mem: 3934 543 2879 12 511 3093
Swap:4095 0 4095

6.11.4 top查看系统健康状态
1)基本命令
top [选项]
2)选项说明
选项 功能
-d 秒数 指定top命令每隔几秒更新。
-i 使top不显示任何闲置或者僵死进程。
-p 通过指定监控进程ID来仅仅监控某个进程的状态。
3)操作说明
操作 功能
P 以CPU使用率排序,默认就是此项
M 以内存的使用率排序
N 以PID排序
q 退出top
4)查询结果字段解释
(1)第一行信息为任务队列信息
内容 说明
12:26:46 系统当前时间
up 1 day, 13:32 系统的运行时间,本机已经运行1天
13小时32分钟
2 users 当前登录了两个用户
load average: 0.00, 0.00, 0.00 系统在之前1分钟,5分钟,15分钟的平均负载。一般认为小于1时,负载较小。如果大于1,系统已经超出负荷。
(2)第二行为进程信息
Tasks: 95 total 系统中的进程总数
1 running 正在运行的进程数
94 sleeping 睡眠的进程
0 stopped 正在停止的进程
0 zombie 僵尸进程。如果不是0,需要手工检查僵尸进程
(3)第三行为CPU信息
Cpu(s): 0.1%us 用户模式占用的CPU百分比
0.1%sy 系统模式占用的CPU百分比
0.0%ni 改变过优先级的用户进程占用的CPU百分比
99.7%id 空闲CPU的CPU百分比
0.1%wa 等待输入/输出的进程的占用CPU百分比
0.0%hi 硬中断请求服务占用的CPU百分比
0.1%si 软中断请求服务占用的CPU百分比
0.0%st st(Steal time)虚拟时间百分比。就是当有虚拟机时,虚拟CPU等待实际CPU的时间百分比。
(4)第四行为物理内存信息
Mem: 625344k total 物理内存的总量,单位KB
571504k used 已经使用的物理内存数量
53840k free 空闲的物理内存数量,我们使用的是虚拟机,总共只分配了628MB内存,所以只有53MB的空闲内存了
65800k buffers 作为缓冲的内存数量
(5)第五行为交换分区(swap)信息
Swap: 524280k total 交换分区(虚拟内存)的总大小
0k used 已经使用的交互分区的大小
524280k free 空闲交换分区的大小
409280k cached 作为缓存的交互分区的大小
5)案例实操
zxf@ubuntu:~/桌面$ top -d 1
zxf@ubuntu:~/桌面$ top -p 3933
6.11.5 netstat显示网络统计信息和端口占用情况
1)基本语法
 netstat -anp |grep 进程号 (功能描述:查看该进程网络信息)
 netstat -nlp |grep 端口号 (功能描述:查看网络端口号占用情况)
2)选项说明
选项 功能
-n 拒绝显示别名,能显示数字的全部转化成数字
-l 仅列出有在listen(监听)的服务状态
-p 表示显示哪个进程在调用
3)案例实操
(1)查看某端口号是否被占用。
atguigu@ubuntu-1:~$ sudo netstat -nlp | grep 进程号
(2)通过进程号查看该进程的网络信息。
atguigu@ubuntu-1:~$ netstat -anp | grep进程号
6.12 路径类
6.12.1 basename
1)基本语法
basename [string / pathname] [suffix] (功能描述:basename命令会删掉所有的前缀包括最后一个(‘/’)字符,然后将字符串显示出来。
basename可以理解为取路径里的文件名称。
选项:
suffix为后缀,如果suffix被指定了,basename会将pathname或string中的suffix去掉。
2)案例实操
截取该/home/zxf/banzhang.txt路径的文件名称。
zxf@ubuntu:~$ basename /home/zxf/note.txt
note.txt
zxf@ubuntu:~$ basename /home/zxf/tt.txt .txt
tt
6.12.2 dirname
1)基本语法
dirname 文件绝对路径 (功能描述:从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径(目录的部分)。)
dirname 可以理解为取文件路径的绝对路径名称。
2)案例实操
获取banzhang.txt文件的路径。
zxf@ubuntu:~$ dirname /home/zxf/banzhang.txt
/home/zxf
6.13 crontab系统定时任务
6.13.1 crontab服务管理
重新启动crontab服务
atguigu@ubuntu-1:~$ sudo systemctl restart cron
atguigu@ubuntu-1:~$ systemctl status cron
6.13.2 crontab 定时任务设置
1)基本语法
crontab [选项]
2)选项说明
选项 功能
-e 编辑crontab定时任务
-l 查询crontab任务
-r 删除当前用户所有的crontab任务
3)参数说明
进入crontab编辑界面。会打开vim编辑你的工作。首次使用该命令时,系统会提示你选择一个文本编辑器,选择你熟悉的编辑器即可。
atguigu@ubuntu-1:~$ crontab -e
(1)* * * * * 执行的任务,的含义
项目 含义 范围
第一个“
” 一小时当中的第几分钟 0-59
第二个“” 一天当中的第几小时 0-23
第三个“
” 一个月当中的第几天 1-31
第四个“” 一年当中的第几月 1-12
第五个“
” 一周当中的星期几 0-7(0和7都代表星期日)
(2)特殊符号
特殊符号 含义

  • 代表任何时间。比如第一个“*”就代表一小时中每分钟都执行一次的意思。
    , 代表不连续的时间。比如“0 8,12,16 * * * 命令”,就代表在每天的8点0分,12点0分,16点0分都执行一次命令
  • 代表连续的时间范围。比如“0 5 * * 1-6命令”,代表在周一到周六的凌晨5点0分执行命令
    /n 代表每隔多久执行一次。比如“/10 * * * * 命令”,代表每隔10分钟就执行一遍命令
    (3)特定时间执行命令
    时间 含义
    45 22 * * * 命令 在22点45分执行命令
    0 17 * * 1 命令 每周1 的17点0分执行命令
    0 5 1,15 * * 命令 每月1号和15号的凌晨5点0分执行命令
    40 4 * * 1-5 命令 每周一到周五的凌晨4点40分执行命令
    */10 4 * * * 命令 每天的凌晨4点,每隔10分钟执行一次命令
    0 0 1,15 * 1 命令 每月1号和15号,每周1的0点0分都会执行命令。注意:星期几和几号最好不要同时出现,因为他们定义的都是天。非常容易让管理员混乱。
    4)案例实操
    每隔1分钟,向/opt/module/bailongma.txt文件中添加一个11的数字
    */1 * * * * /bin/echo ”11” >> /opt/module/bailongma.txt

相关文章:

  • 【论文阅读】-周总结-第5周
  • IDEA中使用Git
  • Vue2、Vue3区别之响应式原理
  • 深入理解 Java 单例模式:从基础到最佳实践
  • 【项目篇之垃圾回收】仿照RabbitMQ模拟实现消息队列
  • 查回来的数据除了 id,其他字段都是 null
  • 自然语言处理之机器翻译:注意力机制在低资源翻译中的突破与哲思
  • LeetCode每日一题4.27
  • 【dockerredis】用docker容器运行单机redis
  • C#中属性和字段的区别
  • pytorch搭建并训练神经网络
  • Golang 遇见 Kubernetes:云原生开发的完美结合
  • MPI Code for Ghost Data Exchange in 3D Domain Decomposition with Multi-GPUs
  • 20250427 对话1: 何东山的宇宙起源理论
  • vscode eslint与vue-official冲突,导致点击的时候鼠标不会变成手型,一直在加载,但是不转到相应方法。
  • vue2 项目的 vscode 插件整理
  • Marmoset Toolbag 5.0 中文汉化版 八猴软件中文汉化版 免费下载
  • Maven 依赖范围(Scope)详解
  • 写windows服务日志-.net4.5.2-定时修改数据库中某些参数
  • 批量级负载均衡(Batch-Wise Load Balance)和顺序级负载均衡(Sequence-Wise Load Balance)
  • 中纪报:五一节前公开通报释放强烈信号,以铁律狠刹歪风邪气
  • 暴涨96%!一季度“中国游中国购”持续升温,还有更多利好
  • 新任海南琼海市委副书记陈明已主持市政府党组全面工作
  • 公交公司须关注新出行需求:“单车巴士”能否常态化
  • 王庆成:儒家、墨家和洪秀全的“上帝”
  • 第二部以“法典”命名的法律!生态环境法典编纂迈出“关键步”