Linux基础入门:从零开始掌握Linux命令行操作
🌈个人首页: 神马都会亿点点的毛毛张
🎈有没有觉得电影里的黑客🐒酷毙了?他们只用键盘⌨就能搞定一切。今天,毛毛张要带你们体验这种快感😀!学会Linux命令行💻操作,你也能像他们一样高效、强大。不用鼠标🖱,只用命令,你准备好了吗?🚀
🎈由于文章内容比较长,毛毛张将分两个章节进行介绍
🎈本篇是第一章:《Linux基础入门:从零开始掌握Linux命令行操作》
🎈第二章:Linux基础进阶:从文件管理到网络监控,解锁Linux系统管理的核心技能
🎈完整版可参见毛毛张的Github仓库:Linux命令详解
文章目录
- 1.前言
- 2.帮助指令
- 2.1 man命令
- 2.2 help命令
- 2.3 `--help`选项
- 2.4 总结
- 3.文件目录管理命令
- 3.1 Linux的目录结构
- 3.1.1 HOME目录
- 3.1.2 相对路径与绝对路径
- 3.1.3 特殊路径符
- 3.2 pwd命令
- 3.3 ls命令
- 3.3.1 适用于全文的说明
- 3.3.2 ll命令
- 3.4 cd命令
- 3.5 mkdir命令
- 3.6 touch命令
- 3.7 查看文件命令
- 3.7.1 cat命令
- 3.7.2 more命令
- 3.7.3 对比
- 3.8 cp命令
- 3.9 mv命令
- 3.10 rm命令
- 3.11 which命令
- 3.12 find命令
- 3.13 grep命令
- 3.14 wc命令
- 3.15 管道符|
- 3.16 echo命令
- 3.17 `反引号
- 3.18 重定向符
- 3.19 tail命令
- 3.20 head命令
- 3.21 history命令
- 3.22 vi/vim编辑器
- 3.22.1 简介
- 3.22.2 使用
1.前言
本文将详细介绍Linux命令,每个Linux命令它们所拥有的选项都是非常多的。
比如,简单的ls命令就有:-a -A -b -c -C -d -D -f -F -g -G -h -H -i -I -k -l -L -m -n -N -o -p -q -Q -r-R -s -S -t -T -u -U -v -w -x -X -1等选项,可以发现选项是极其多的;但是毛毛张并不会将全部的选项都进行介绍,会对常见的选项进行介绍, 足够满足绝大多数的学习、工作场景。
同时对于没有介绍的选项,毛毛张也介绍了帮助指令,当不记得或者不知道指令的用法的时候可以通过帮助指令来查看选项的意思
Linux中的命令是区分大小写的,无论是什么命令,用于什么用途,在Linux中,命令有其通用的格式:

- 解释:
command: 命令本身-options:[可选,非必填]命令的一些选项,可以通过选项控制命令的行为细节parameter:[可选,非必填]命令的参数,多数用于命令的指向目标等- 语法中的
[],表示可选的意思
- 同时毛毛张在这几先推荐几个学习Linux命令的网站:
- 菜鸟教程:https://www.cainiaoplus.com/linux/linux-command-manual.html
- https://man.niaoge.com/mv
- https://www.linuxcool.com/?s=%E8%AF%B7%E8%BE%93%E5%85%A5%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E6%88%96%E7%9B%B8%E5%85%B3%E5%8A%9F%E8%83%BD
下面毛毛张将分门别类的进行介绍
2.帮助指令
- 正如前言所说,Linux的命令很多,参数很多,所以毛毛张想首先介绍
帮助类指令,该类指令可以帮助大家查看指令的可选参数以及参数的意义,达到授人以鱼不如授人以渔的目的
2.1 man命令
- 作用:查看命令的详细使用手册
- 语法:
man 命令名称 - 实例1:查看列出当前文件目录命令
ls的详细使用参数man ls- 图例1:输入该命令并回车之后会进入命令手册界面,键盘输入
q返回命令行界面

- 图例1:输入该命令并回车之后会进入命令手册界面,键盘输入
2.2 help命令
-
作用:查看shell内建命令的简要帮助信息,例如:
cd、echo、pwd等,但它并不是用于查看所有命令的手册 -
语法:
help [parameter:命令名称] # 如果不指定参数,就是查看bash的所有内建命令 -
实例1:查看切换目录命令
cd的简要帮助信息help cd
- 实例2:查看bash的所有内建命令
help - 图例2:只有下图中的命令才可是使用
help命令来查看简要帮助信息

2.3 --help选项
-
作用:大多数命令行工具提供
--help选项,用于在命令行中显示命令的简要帮助信息 -
语法:
命令 --help -
实例1:查看列出当前文件目录命令
ls的详细使用参数ls --help
2.4 总结
- 授人以鱼不如授人以渔,毛毛张在上面介绍了三个命令,毛毛张推荐大家记住
man命令和--help选项,这两种方式来查看命令的帮助信息
3.文件目录管理命令
3.1 Linux的目录结构
-
在介绍和文件相关的命令之前,毛毛张在这里先介绍Linux的文件目录结构,如下图所示:

-
Linux目录结构:
/:代表根目录,根目录是最顶级的目录,Linux只有这一个顶级目录,不同于Windows有C盘、D盘、E盘等- 路径描述的层次关系同样适用
/来表示 /home/itheima/a.txt:表示根目录下的home文件夹内有一个itheima文件夹,itheima文件夹内有一个a.txt文件
-
Linux的文件夹含义:
Linux 含义 windows /bin所有用户可用的基本命令存放的位置 windows没有固定的命令存放目录 /sbin需要管理员权限才能使用的命令 /bootLinux系统启动的时候需要加载和使用的文件 /dev外设连接Linux后,对应的文件存放的位置 类似Windows中的U盘,光盘的符号文件。 /etc存放系统或者安装的程序的配置文件,注册服务等 类似Windows中的注册表, /home家目录,Linux中每新建一个用户,会自动在home中为该用户分配一个文件夹 类似Windows中的"我的文档",每个用户有自己的目录。 /rootroot账户的家目录,仅供root账户使用 类似Windows中的Administrator账户的"我的文档" /libLinux的命令和系统启动,需要使用一些公共的依赖,放在lib中,类似我们开发的代码执行需要引入的jdk的jar /usr很多系统软件的默认安装路径 类似Windows中的C盘下的Program Files目录。 /var系统和程序运行产生的日志文件和缓存文件放在这里
3.1.1 HOME目录
- 每一个用户在登陆Linux系统时都有自己的专属工作目录,称之为HOME目录
- 普通用户的HOME目录,默认在:
/home/用户名 - root用户的HOME目录,在:
/root - Windows系统和Linux系统,均设有用户的HOME目录,如图:


3.1.2 相对路径与绝对路径
- 在Linux中,路径用于指定文件或目录的位置,路径可以分为绝对路径和相对路径。
- 绝对路径 :是从文件系统的根目录(
/)开始的完整路径。它始终以/开头,并提供文件或目录的确切位置。无论当前工作目录是什么,绝对路径都唯一标识一个文件或目录。- 示例:
/home/user/document.txt:从根目录开始,依次进入home目录、user目录,最后到达document.txt文件。/var/log/syslog:从根目录开始,依次进入var目录、log目录,最后到达syslog文件。
- 示例:
- 相对路径: 是相对于当前工作目录的路径。它不以
/开头,而是根据当前工作目录提供文件或目录的位置。相对路径可以使用.(表示当前目录)和..(表示上一级目录)来导航。- 示例: 假设当前工作目录是
/home/user:document.txt:指的是/home/user/document.txt。../user2/document.txt:从当前目录的上一级目录开始(即/home),进入user2目录,最后到达document.txt文件。
- 示例: 假设当前工作目录是
3.1.3 特殊路径符
.: 代表当前目录- 比如:
./a.txt,表示当前文件夹内的a.txt文件
- 比如:
..:表示上一级目录- 比如:假设当前工作目录是
/home/itheima/mmz/test../表示上级目录:/home/itheima/mmz../../表示上一级的上一级目录:/home/itheima
- 比如:假设当前工作目录是
~:表示当前用户的HOME目录- 比如:
cd ~,即可切回用户HOME目录
- 比如:
3.2 pwd命令
- 功能: 以绝对路径的方式显示用户当前工作目录,第一个
/表示根目录,最后一个目录是当前目录。执行pwd命令可立刻得知您目前所在的工作目录的绝对路径名称 - 语法:
pwd [ --help --version ] - 选项: 这两个参数一般不常用,一般就单纯使用
pwd命令--help:显示帮助信息--version:显示版本信息
- 实例1:显示当前工作目录的绝对路径
pwd

说明: Linux系统的命令行终端,在启动的时候,会默认加载的是当前登录用户的HOME目录作为当前工作目录,所以
pwd命令列出的是当前用户HOME目录的绝对路径每个用户在登录
Linux的时候,都会在Linux系统下有一个个人账户目录,路径为:/home/用户名,以毛毛演示的这台Linux为例,用户名是flyvideo,其HOME目录为:/home/flyvideo
3.3 ls命令
-
功能:列出目录下的文件/文件夹信息,在Linux中是使用率较高的命令
-
语法:
ls [-a -l -h] [Linux路径] -
选项:
-l:以列表(竖向排列)的形式展示内容,并展示更多信息,输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等-h:以易于阅读的形式列出文件大小,如K、M、G,必须要配合-l选项使用-a:显示所有文件及目录,包括隐藏文件夹及目录,Linux内将文件名或文件名以.开头的视为隐藏文件或文件夹,默认不会列出,需要-a选项才可查看到--help:显示帮助信息
-
参数:
- Linux路径:被查看的文件夹,如果不指定,表示查看当前工作目录
-
实例1:列出当前工作目录下的文件和文件夹
# 当不使用选项和参数,直接使用ls命令本体,表示:以平铺形式,列出当前工作目录下的内容,即HOME目录 (base) flyvideo@flyvideo:~$ ls anaconda3 Downloads Music Public sensors Templates Desktop frp_0.33.0_linux_amd64-cc NVIDIA_CUDA-11.3_Samples root@i-2.gpushare.com snap Videos Documents home Pictures Sata spinningu -
实例2:以列表的形式显示当前目录下的所有文件和文件夹,包括隐藏的文件及文件夹
# 以下三种方式是等价的 ls -alh ls -a -l -h ls -lh -a
3.3.1 适用于全文的说明
- 语法中的选项是可以组合使用的,比如学习的
-a和-l可以组合应用 - 写法:以下三种写法都是一样的,表示同时应用
-a和-l的功能ls -l -als -lals -al
3.3.2 ll命令
ll命令是该文件下的所有文件信息,包括隐藏的文件,还包括文件的可读写信息,等价于ll -alh
3.4 cd命令
- 功能:切换工作目录
- 语法:
cd [dirName]dirName表示法可为绝对路径或相对路径- 若目录名称省略,则变换至使用者的
home directory(也就是刚login时所在的目录)。另外,~也表示为home directory的意思 .则是表示目前所在的目录..则表示目前目录位置的上一层目录
- 示例:
cd 进入用户主目录; cd ~ 进入用户主目录; cd - 返回进入此目录之前所在的目录; cd .. 返回上级目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思); cd ../.. 返回上两级目录; cd !$ 把上个命令的参数作为cd参数使用 cd /usr/local/ 切换到local目录
3.5 mkdir命令
- 功能:通过mkdir命令可以创建新的目录(文件夹)(Make Directory)
- 语法:
mkdir [-p] 参数- 参数:必填,表示Linux路径,即要创建的文件夹的路径,相对路径或绝对路径均可
- 选项:
-p,表示自动创建不存在的父目录,适用于创建连续多层级的目录
- 案例:
- 如果想要一次性创建多个层级的目录(如下图),会报错,因为上级目录itcast和good并不存在,所以无法创建666目录,可以通过
-p选项,将一整个链条都创建完成。


- 如果想要一次性创建多个层级的目录(如下图),会报错,因为上级目录itcast和good并不存在,所以无法创建666目录,可以通过
3.6 touch命令
- 功能:创建文件
- 语法:
touch 参数- 说明:该命令无选项,参数必填,表示要创建的文件路径,相对、绝对、特殊路径符均可以使用

- 说明:该命令无选项,参数必填,表示要创建的文件路径,相对、绝对、特殊路径符均可以使用
3.7 查看文件命令
3.7.1 cat命令
- 功能:查看文件内容
- 语法:
cat 参数- 说明:该命令没有选项,只有必填参数,参数表示被查看的文件路径,相对、绝对、特殊路径符都可以使用

- 说明:该命令没有选项,只有必填参数,参数表示被查看的文件路径,相对、绝对、特殊路径符都可以使用
3.7.2 more命令
- 功能:查看文件,可以支持翻页查看
- 语法:
more 参数- 参数:同样没有选项,只有必填参数,参数表示被查看的文件路径,相对、绝对、特殊路径符都可以使用
- 使用技巧:如果查看的文件超过了一页,按
空格键翻页;如果不想看了,按q退出查看
3.7.3 对比
cat是直接将内容全部显示出来more支持翻页,如果文件内容过多,可以一页页的展示
3.8 cp命令
-
功能:复制文件、文件夹
-
语法:
cp [-r] 参数1 参数2- 参数1:Linux路径,表示被复制的文件或者文件夹
- 参数2:Linux路径,表示要复制去的地方
- 选项:
-r,可选,复制文件夹使用,表示递归
-
示例:
- cp a.txt b.txt,复制当前目录下a.txt为b.txt
- cp a.txt test/,复制当前目录a.txt到test文件夹内
- cp -r test test2,复制文件夹test到当前文件夹内为test2存在
-
示例演示1:复制文件

示例演示2:复制文件夹:

3.9 mv命令
- 功能: 用于移动文件、文件夹,来自英文单词:move
- 语法:
mv 参数1 参数2- 参数1,Linux路径,表示被移动的文件或文件夹
- 参数2,Linux路径,表示要移动去的地方,如果目标不存在,该命令就是对文件进行改名
- 示例演示:

3.10 rm命令
- 功能:删除文件、文件夹,来自英文单词remove
- 语法:
rm [-r -f] 参数...参数- 参数:支持同时删除一个活多个文件或文件夹,每一个表示被删除的使用空格进行分隔
- 选项:
-r,同cp命令一样,删除文件夹使用 - 选项:
-f,表示force,强制删除(不会给出确认提示),一般root用户会用到- 普通用户删除内容不会弹出提示,只有
root管理员用户删除内容会有提示 - 所以一般普通用户用不到
-f选项
- 普通用户删除内容不会弹出提示,只有
- 注意事项:
rm命令很危险,一定要注意,特别是切换到root用户的时候 - 示例演示1: 删除文件

- 示例演示2:删除多个文件

- 示例演示3:删除文件夹,如下图,必须使用
-r选项才可以

- 示例演示4:演示强制删除,
-f选项(可以通过 su - root,并输入密码123456(和普通用户默认一样)临时切换到root用户体验)


通过输入exit命令,退回普通用户。(临时用root,用完记得退出,不要一直用,关于root我们后面会讲解)
- *rm命令支持通配符 ,用来做模糊匹配:
- 符号* 表示通配符,即匹配任意内容(包含空),示例:
- test*,表示匹配任何以test开头的内容
- *test,表示匹配任何以test结尾的内容
- *test *,表示匹配任何包含test的内容
- 示例演示5:删除所有以test开头的文件或文件夹

3.11 which命令
- 功能:查看命令的程序本体文件路径,即查看所使用的一系列命令的程序文件存放在哪里
- 语法:
which 要查找的命令 - 示例:

3.12 find命令
- 功能:按文件名查找文件,或者按文件大小查找文件夹
- 语法:
- 按文件名查找文件夹:
find 路径 -name 参数- 路径:搜索的起始路径
- 参数:被查找的文件名
- 按文件大小查找文件夹:
find 起始路径 -size +|-n[kMG]+、-表达大于和小于n表示大小数字kMG表示大小单位,k(小写字母)表示kb,M表示MB,G表示GB
- 按文件名查找文件夹:
- 示例演示1:从根目录搜索文件名为
test的文件

- 示例演示2:
查找小于10KB的文件: find / -size -10k 查找大于100MB的文件:find / -size +100M 查找大于1GB的文件:find / -size +1G - 进阶语法:被查找的文件名支持使用通配符
*来模糊查询- 符号
*表示通配符,即匹配任意内容(包含空) test*:表示匹配任何以test开头的内容*test:表示匹配任何以test结尾的内容*test*:表示匹配任何包含test的内容
- 符号
- 示例演示1:查找所有以test开头的文件:
find / -name “test*”

- 查找所有以test结尾的文件:
find / -name “*test”

- 查找所有包含test的文件:
find / -name “*test*”

3.13 grep命令
- 功能:过滤关键字,例如从文件中通过关键字过滤文件行
- 语法:
grep [-n] 关键字 文件路径- 选项
-n,可选,表示在结果中显示匹配的行的行号。 - 关键字:必填,表示过滤的关键字,带有空格或其它特殊符号,建议使用双引号将关键字包围起来
- 文件路径:必填,表示要过滤内容的文件路径,可作为内容输入端口
- 选项
- 示例演示1:过滤itheima关键字

- 示例演示2:过滤itcast关键字

- 示例演示3:过滤code关键字,并显示行号

参数文件路径,可以作为管道符的输入
3.14 wc命令
- 功能:统计文件的行数、单词数量等
- 语法:
wc [-c -m -l -w] 文件路径- 选项
-c:统计bytes数量 - 选项
-m:统计字符数量 - 选项
-l:统计行数 - 选项
-w:统计单词数量 - 文件路径:被统计的文件,可作为内容输入端口
- 选项
- 示例演示:不带选项,统计文件

参数文件路径,可作为管道符的输入
3.15 管道符|
- 功能:将管道符左边命令的结果,作为右边命令的输入
- 写法:
| - 示例演示1:
cat itheima.txt | grep itheima,将cat itheima.txt的结果,作为grep命令的输入,用来过滤itheima关键字

- 示例演示2:可以支持嵌套:
cat itheima.txt | grep itheima | grep itcast

- 示例演示3:
ls | grep Desktop,过滤ls的结果

- 示例演示4:
find / -name “test” | grep “/usr/lib64”,过滤结果,只找路径带有/usr/lib64的结果

3.16 echo命令
-
功能:在命令行内输出指定内容
-
语法:
echo 输出的内容- 无需选项,只有一个参数表示要输出的内容,复杂内容可以用双引号包围
-
示例演示1:在终端上显示
Hello Linux

3.17 `反引号
- 功能:被两个反引号包围的内容,会作为命令执行
- 示例: 通过echo命令输出当前工作目录

- 说明:本意是想输出当前的工作路径,但是
echo pwd中pwd被作为普通字符输出了,可以通过将命令用反引号(通常也称之为飘号)`将其包围,被`包围的内容,会被作为命令执行,而非普通字符
3.18 重定向符
-
功能:将符号左边的结果,输出到右边指定的文件中去
-
语法:
>:将左侧命令的结果,覆盖写入到符号右侧指定的文件中>>:将左侧命令的结果,追加写入到符号右侧指定的文件中
-
示例演示1:
echo “Hello Linux” > itheima.txt

-
示例演示2:
echo “Hello itheima” > itheima.txt,再次执行,覆盖新内容

-
示例演示3:
echo “Hello itcast” >> itheima.txt,再次执行,使用>>追加新内容

3.19 tail命令
- 功能:查看文件尾部内容,跟踪文件的最新更改
- 语法:
tail [-f -num] 参数- 参数:表示被跟踪的文件路径
- 选项
-f:持续跟踪文件修改 - 选项
-num:表示查看尾部多少行,不填默认10行
- 示例演示:查看
/var/log/vmware-network.log文件的尾部10行:tail /var/log/vmware-network.log

3.20 head命令
- 功能:查看文件头部内容
- 语法:
head [-n] 参数- 参数:被查看的文件
- 选项:
-n,查看的行数
和上面一个命令类似,毛毛张在这里不过多介绍了
3.21 history命令
-
作用:查看历史输入过的命令

-
可以通过:
!命令前缀,自动执行上一次匹配前缀的命令

-
可以通过快捷键Ctrl + R,输入内容去匹配历史命令,如果搜索到的内容是你需要的
- 回车键可以执行
- 键盘左右键,可以得到此命令(不执行)

- 清楚所有历史命令记录:
history -c- 部分删除操作可以进入该文件:
vim ~/.bash_history
- 该文件即为历史记录存储文件,我们随意修改
- 修改后再次 history 查看,发现并没有变化。原因:缓存
- 执行:history -r
- 读取历史文件并将其内容添加到历史记录中,即重置文件里的内容到内存中,完成修改
3.22 vi/vim编辑器
3.22.1 简介
-
vi\vim是visual interface的简称,是Linux中最经典的文本编辑器。同图形化界面中的 文本编辑器一样,vi是命令行下对文本文件进行编辑的绝佳选择。vim 是 vi 的加强版本,兼容 vi 的所有指令,不仅能编辑文本,而且还具有 shell 程序编辑的功能,可以不同颜色的字体来辨别语法的正确性,极大方便了程序的设计和编辑性。 -
vi\vim编辑器的三种工作模式:
- 命令模式(Command mode):命令模式下,所敲的按键编辑器都理解为命令,以命令驱动执行不同的功能。此模型下,不能自由进行文本编辑。
- 输入模式(Insert mode):也就是所谓的编辑模式、插入模式。此模式下,可以对文件内容进行自由编辑。
- 底线命令模式(Last line mode):以
:开始,通常用于文件的保存、退出。

-
编辑模式没有什么特殊的,进入编辑模式后,任何快捷键都没有作用,就是正常输入文本而已。唯一大家需要记住的,就是:通过
esc,可以退回到命令模式中即可。 -
底线命令快捷键:
| 模式 | 命令 | 描述 |
|---|---|---|
| 底线命令模式 | :wq | 保存并退出 |
| 底线命令模式 | :q | 仅退出 |
| 底线命令模式 | :q! | 强制退出 |
| 底线命令模式 | :w | 仅保存 |
| 底线命令模式 | :set nu | 显示行号 |
| 底线命令模式 | :set paste | 设置粘贴模式 |
- 命令模式快捷键:
| 模式 | 命令 | 描述 |
|---|---|---|
| 命令模式 | i | 在当前光标位置进入输入模式 |
| 命令模式 | a | 在当前光标位置 之后 进入输入模式 |
| 命令模式 | I | 在当前行的开头,进入输入模式 |
| 命令模式 | A | 在当前行的结尾,进入输入模式 |
| 命令模式 | o | 在当前光标下一行进入输入模式 |
| 命令模式 | O | 在当前光标上一行进入输入模式 |
| 输入模式 | ESC | 任何情况下输入ESC都能回到命令模式 |
| 模式 | 命令 | 描述 |
|---|---|---|
| 命令模式 | 上 | 向上移动光标 |
| 命令模式 | 下 | 向下移动光标 |
| 命令模式 | 左 | 向左移动光标 |
| 命令模式 | 右 | 向右移动光标 |
| 命令模式 | 0 | 移动光标到当前行的开头 |
| 命令模式 | $ | 移动光标到当前行的结尾 |
| 命令模式 | pageup | 向上翻页 |
| 命令模式 | pagedown | 向下翻页 |
| 命令模式 | / | 进入搜索模式 |
| 命令模式 | n | 向下继续搜索 |
| 命令模式 | N | 向上继续搜索 |
| 命令模式 | dd | 删除光标所在行的内容 |
| 命令模式 | ndd | n是数字,表示删除当前光标向下n行 |
| 命令模式 | yy | 复制当前行 |
| 命令模式 | nyy | n是数字,复制当前行和下面的n行 |
| 命令模式 | p | 粘贴复制的内容 |
| 命令模式 | u | 撤销修改 |
| 命令模式 | ctrl+r | 反向撤销修改 |
| 命令模式 | gg | 跳到首行 |
| 命令模式 | G | 跳到行尾 |
| 命令模式 | dG | 从当前行开始,向下全部删除 |
| 命令模式 | dgg | 从当前行开始,向下全部删除 |
| 命令模式 | d$ | 从当前光标开始,删除到本行的结尾 |
| 命令模式 | d0 | 从当前行开始,删除到本行的开头 |
3.22.2 使用
-
语法:由于vim兼容全部的vi功能,后续全部使用vim命令
vi 文件路径 vim 文件路径 -
解释:
- 如果文件路径表示的文件不存在,那么此命令会用于编辑新文件
- 如果文件路径表示的文件存在,那么此命令用于编辑已有文件
-
用法:通过vim命令编辑文件,会打开一个新的窗口,此时这个窗口就是:命令模式窗口,如下图所示,命令模式是vi编辑器的入口和出口
- 进入vim编辑器会进入命令模式
- 通过命令模式输入键盘指令,可以进入输入模式
- 输入模式需要退回到命令模式,然后通过命令可以进入底线命令模式

🌈欢迎和毛毛张一起探讨和交流!
联系方式点击下方个人名片
相关文章:
Linux基础入门:从零开始掌握Linux命令行操作
🙋大家好!我是毛毛张! 🌈个人首页: 神马都会亿点点的毛毛张 🎈有没有觉得电影里的黑客🐒酷毙了?他们只用键盘⌨就能搞定一切。今天,毛毛张要带你们体验这种快感😀&…...
C++第13届蓝桥杯省b组习题笔记
1.九进制转十进制 九进制正整数 (2022)9转换成十进制等于多少? 第一位乘9的0次方,第二位乘9的1次方,第三位乘9的二次方以此类推 #include <iostream> using namespace std;int main() {// 请在此输入您的代码int t2022;int res0;int c…...
探索 Gaggol:理解 10^^^100 的宇宙级常数
一、常数概述: Gaggol 是一个极其巨大的数学常数,其数值表示为 10^^^100。这个常数是通过对数字 10 进行超递归幂运算得到的结果。 二、Gaggol 的定义: Gaggol 被定义为 10 的超多层超递归幂,即 10 被连续地提升到自身幂的层次达…...
python-leetcode 61.N皇后
题目: 按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上,并且使皇后彼此之间不能相互攻击 给你一个整数 n ,返回所有不同的 n 皇后问题 的解…...
Centos8 系統Lnmp服務器環境搭建
Centos8 系統Lnmp服務器環境搭建 服務器環境 Centos8 [rootcentos8 ~]# uname -a Linux centos8 4.18.0-348.el8.x86_64 #1 SMP Tue Oct 19 15:14:17 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux# 更新軟件包列表 rootdebian:~# dnf update安裝信息 PHP 版本8.2.27 https://ww…...
产教融合|暴雨技术专家执裁江苏省职业院校技能大赛
3月28-30日,由江苏省教育厅、省发改委、省工信厅等15家单位主办的2025年江苏省职业院校技能大赛网络系统管理赛项如期举办。此次赛事吸引了全省52支参赛队伍、156名选手踊跃参与,参赛人数再创新高。 暴雨信息技术专家李明宇作为此赛项的往届省赛冠军&am…...
BUUCTF-web刷题篇(6)
15.PHP 知识点: ①__wakeup()//将在反序列化之后立即调用(当反序列化时变量个数与实际不符是会绕过)我们可以通过一个cve来绕过:CVE-2016-7124。将Object中表示数量的字段改成比实际字段大的值即可绕过wakeup函数。条件:PHP5<…...
AIP-203 域行为文档
编号203原文链接AIP-203: Field behavior documentation状态批准创建日期2018-07-17更新日期2018-07-17 在定义protocol buffer中的域时,按惯例要向用户解释域行为的某些方面(例如域是必需的还是可选的)。此外,让其他工具理解域行…...
在 Cloud Run 上使用 Gemini API 构建聊天应用
李升伟 编译 (🎨 封面由 Gemini 中的 Imagen 3 生成!) 欢迎来到我的谷歌AI工具构建系列博客!本文将带您创建一个由Gemini驱动并托管在Cloud Run上的简易聊天应用。如果您正在探索大语言模型或希望将AI集成到网页应用中,那么您来…...
周总结aa
上周学习了Java中有关字符串的内容,与其有关的类和方法 学习了static表示静态的相关方法和类的使用。 学习了继承(extends) 多态(有继承关系,有父类引用指向子类对象) 有关包的知识,final关键字的使用,及有…...
31天Python入门——第17天:初识面向对象
你好,我是安然无虞。 文章目录 面向对象编程1. 什么是面向对象2. 类(class)3. 类的实例关于self 4. 对象的初始化5. __str__6. 类之间的关系继承关系组合关系 7. 补充练习 面向对象编程 1. 什么是面向对象 面向对象编程是一种编程思想,它将现实世界的概念和关系映…...
计算机视觉准备八股中
一边记录一边看,这段实习跑路之前运行完3DGAN,弄完润了,现在开始记忆八股 1.CLIP模型的主要创新点: 图像和文本两种不同模态数据之间的深度融合、对比学习、自监督学习 2.等效步长是每一步操作步长的乘积 3.卷积层计算输入输出…...
【C语言】文件操作(2)
一、文件的随机读写 在前面我们学习了文件的顺序读写的函数,那么当我们要读取某个指定位置的内容的时候,是否只能顺序的读取到这个内容?还有在对文件进行输入的时候,需要对指定的位置进行写入,那么此时应该怎么办呢&a…...
CCCC天梯赛L1-094 剪切粘贴
题目链接: 字符串函数: 1、截取字符串: //起始位置为3,结束位置为5string s "aabcdefg";//下标从0开始 [从开始位置,结束位置]string sub s.substr(3,3);//输出cde, 有返回值string//并且原字符串不改变, s"aab…...
C语言:多线程
多线程概述 定义 多线程是指在一个程序中可以同时运行多个不同的执行路径(线程),这些线程可以并发或并行执行。并发是指多个线程在宏观上同时执行,但在微观上可能是交替执行的;并行则是指多个线程真正地同时执行&…...
livekit ICE连接失败的一些总结
在使用livekit做的项目过程中碰到了一些ICE连接失败的问题, 一个时在同网段的局域网下 ,livekti服务和客户端不能联通,后来发现是服务端是多网卡,通过网络抓包才知道服务端在stun binding的时候使用了错误的网卡,在co…...
Python神经网络1000个案例算法汇总
【2025最新版】Python神经网络优化1000个案例算法汇总(长期更新版) 本文聚焦神经网络、优化算法,神经网络改进,优化算法改进,优化算法优化神经网络权重、超参数等,现在只需订阅即可拥有,简直是人工智能初学者的天堂。…...
某地81栋危房自动化监测试点项目
1. 项目简介 房屋进入老龄化阶段后,结构安全风险越来越大。近10年来,每年都会产生房屋倒塌人员伤亡的重大安全事故。调研分析显示,老旧房屋结构安全风险管理的有效路径为,通过“人防技防”的组合模式,对房屋安全风险进…...
远程装个Jupyter-AI协作笔记本,Jupyter容器镜像版本怎么选?安装部署教程
通过Docker下载Jupyter镜像部署,输入jupyter会发现 有几个版本,不知道怎么选?这几个版本有什么差别? 常见版本有: jupyter/base-notebookjupyter/minimal-notebookjupyter/scipy-notebookjupyter/datascience-notebo…...
python文件的基本操作和文件读写
目录 文件的基本操作 文件读写 文件的基本操作 Python 中对文件的基本操作主要包括打开文件、读取文件、写入文件和关闭文件等操作。下面是一个简单的示例: 打开文件: file open(example.txt, r) # 使用 open() 函数打开一个名为 example.txt 的文…...
山东大学软件学院项目创新实训开发日志(4)之中医知识问答数据存储、功能结构、用户界面初步设计
目录 数据库设计: 功能设计: 用户界面: 数据库设计: --对话表 (1个对话包含多条消息) CREATE TABLE conversations ( conv_id VARCHAR(36) PRIMARY KEY, -- 对话ID user_id VARCHAR(36) NOT NULL, -- 所属用户 title VARCHAR(100), -- 对话…...
20.思科交换机二层链路聚合的详细配置命令解析
思科交换机二层链路聚合的详细配置命令解析 一、PAgP协议的配置SW1的配置SW2的配置二、LACP标准协议三、配置聚合组的带宽和速率四、确保所有接口的双工模式和速率一致五、故障排除和监控在Cisco设备上配置链路聚合(也称为端口通道或EtherChannel)可以增强网络连接的带宽和可…...
【FreeRtos】随手记录想法和DeepSeek的交流
纯记录个人RTOS学习过程和DeepSeek的交流,或记录一些学习过程中奇怪的想法(也会喂给deepseek哈哈) 2025/3/31 1. prvCreateTask在干啥? Question prvTaskCreate这个函数做了什么:分配内存,首先会判断栈…...
【多线程】单例模式和阻塞队列
目录 一.单例模式 1. 饿汉模式 2. 懒汉模式 二.阻塞队列 1. 阻塞队列的概念 2. BlockingQueue接口 3.生产者-消费者模型 4.模拟生产者-消费者模型 一.单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,其核心思想是确保…...
Qt5.14.2+Cmake使用mingw64位编译opencv4.5成功图文教程
一、下载安装相关编译环境软件 1.1 Python3.8:安装路径:C:\Users\Administrator\AppData\Local\Programs\Python\Python38-32 安装包:python3.8.exe 1.2 QT5.14.2:安装路径:C:\Qt\Qt5.14.2 1.3 opencv4.5:解压路径D:\o…...
Transformer习题
(1) 自注意力机制的特点: 并行计算:可同时处理序列中所有位置的关联,避免RNN的时序依赖问题。长距离依赖建模:直接捕捉序列中任意两个元素的关系,不受距离限制。动态权重分配:通过查询(Query&a…...
Mamba4D阅读
CVPR 2025 创新 基于transformer的4D主干由于其二次复杂度而通常存在较大的计算成本,特别是对于长视频序列。 开发了帧内空间Mamba模块,建立时空相关性。 GPU占用和速度很有优势。 代码还没发。 Pipeline 输入点云序列,根据超参数构建点管…...
uWebSockets开发入门
一、常用C++ WebSocket开源库 一些常用的 C++ WebSocket 开源库,它们支持 WebSocket 协议的实现,适用于客户端或服务器端开发。 1. Boost.Beast (推荐) 特点:基于 Boost.Asio 的高性能库,支持 HTTP/WebSocket,属于 Boost 官方库的一部分,稳定且跨平台。 适用场景:需要高…...
x265不同preset级别控制的编码参数与编码性能影响
目录 x265中preset 实验preset效果 写在最后 x265中preset 定义:preset是x265中用于平衡编码速度与压缩效率的核心参数。通过预定义的多组编码参数组合,用户无需手动调整复杂选项即可快速选择合适的编码模式。preset控制的参数(具体参数含义解析可参考专栏中相关博客)pr…...
Qt图形化界面为何总被“冷落“?
在Qt开发者的IDE中,Qt Designer总像一个被遗忘的角落——即便它有着直观的拖拽式界面设计功能。通过分析GitHub上超过5000个Qt项目发现,仅有17%的项目使用.ui文件构建界面。这个数据背后,隐藏着开发者群体对GUI构建方式的集体选择。我们不禁要…...
