Linux基础入门:从零开始掌握Linux命令行操作

news2025/4/2 18:26:59
🙋大家好!我是毛毛张!
🌈个人首页: 神马都会亿点点的毛毛张

🎈有没有觉得电影里的黑客🐒酷毙了?他们只用键盘⌨就能搞定一切。今天,毛毛张要带你们体验这种快感😀!学会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中,命令有其通用的格式:
image-20240529160819479

  • 解释:
    • 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返回命令行界面
      image-20240529150824733

2.2 help命令

  • 作用:查看shell内建命令的简要帮助信息,例如:cdechopwd等,但它并不是用于查看所有命令的手册

  • 语法:

    help [parameter:命令名称]  # 如果不指定参数,就是查看bash的所有内建命令
    
  • 实例1:查看切换目录命令cd的简要帮助信息

    help cd
    
image-20240529152330574
  • 实例2:查看bash的所有内建命令
    help
    
  • 图例2:只有下图中的命令才可是使用help命令来查看简要帮助信息
    image-20240529151718583

2.3 --help选项

  • 作用:大多数命令行工具提供 --help 选项,用于在命令行中显示命令的简要帮助信息

  • 语法:

    命令 --help
    
  • 实例1:查看列出当前文件目录命令ls的详细使用参数

    ls --help
    
image-20240529152817449

2.4 总结

  • 授人以鱼不如授人以渔,毛毛张在上面介绍了三个命令,毛毛张推荐大家记住man命令和--help选项,这两种方式来查看命令的帮助信息

3.文件目录管理命令

3.1 Linux的目录结构

  • 在介绍和文件相关的命令之前,毛毛张在这里先介绍Linux的文件目录结构,如下图所示:
    image-20240417210006970

  • 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目录,如图:
    image-20231207170352353

image-20231207170419544

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
    

image-20240529163636874

  • 说明: 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
    
    image-20240529161407781

3.3.1 适用于全文的说明

  • 语法中的选项是可以组合使用的,比如学习的-a-l可以组合应用
  • 写法:以下三种写法都是一样的,表示同时应用-a-l的功能
    • ls -l -a
    • ls -la
    • ls -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选项,将一整个链条都创建完成。
      image-20231207171106280
      image-20231207171113888

3.6 touch命令

  • 功能:创建文件
  • 语法:touch 参数
    • 说明:该命令无选项,参数必填,表示要创建的文件路径,相对、绝对、特殊路径符均可以使用
      image-20231207171500659

3.7 查看文件命令

3.7.1 cat命令

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

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:复制文件
    image-20231207172343583

示例演示2:复制文件夹:
image-20231207172404209

3.9 mv命令

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

3.10 rm命令

  • 功能:删除文件、文件夹,来自英文单词remove
  • 语法:rm [-r -f] 参数...参数
    • 参数:支持同时删除一个活多个文件或文件夹,每一个表示被删除的使用空格进行分隔
    • 选项:-r,同cp命令一样,删除文件夹使用
    • 选项:-f,表示force,强制删除(不会给出确认提示),一般root用户会用到
      • 普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示
      • 所以一般普通用户用不到-f选项
  • 注意事项:rm命令很危险,一定要注意,特别是切换到root用户的时候
  • 示例演示1: 删除文件
    image-20231207172530484
  • 示例演示2:删除多个文件
    image-20231207172539483
  • 示例演示3:删除文件夹,如下图,必须使用-r选项才可以
    image-20231207172619243
  • 示例演示4:演示强制删除,-f选项(可以通过 su - root,并输入密码123456(和普通用户默认一样)临时切换到root用户体验)

image-20231207172634295image-20231207172639609

通过输入exit命令,退回普通用户。(临时用root,用完记得退出,不要一直用,关于root我们后面会讲解)

  • *rm命令支持通配符 ,用来做模糊匹配:
    • 符号* 表示通配符,即匹配任意内容(包含空),示例:
    • test*,表示匹配任何以test开头的内容
    • *test,表示匹配任何以test结尾的内容
    • *test *,表示匹配任何包含test的内容
  • 示例演示5:删除所有以test开头的文件或文件夹
    image-20231207172124708

3.11 which命令

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

3.12 find命令

  • 功能:按文件名查找文件,或者按文件大小查找文件夹
  • 语法:
    • 按文件名查找文件夹:find 路径 -name 参数
      • 路径:搜索的起始路径
      • 参数:被查找的文件名
    • 按文件大小查找文件夹:find 起始路径 -size +|-n[kMG]
      • +-表达大于和小于
      • n表示大小数字
      • kMG表示大小单位,k(小写字母)表示kb,M表示MB,G表示GB
  • 示例演示1:从根目录搜索文件名为test的文件
    image-20241027203857491
  • 示例演示2:
    查找小于10KB的文件: find / -size -10k
    查找大于100MB的文件:find / -size +100M
    查找大于1GB的文件:find / -size +1G
    
  • 进阶语法:被查找的文件名支持使用通配符*来模糊查询
    • 符号*表示通配符,即匹配任意内容(包含空)
    • test*:表示匹配任何以test开头的内容
    • *test:表示匹配任何以test结尾的内容
    • *test*:表示匹配任何包含test的内容
  • 示例演示1:查找所有以test开头的文件:find / -name “test*”
    image-20241027204237833
  • 查找所有以test结尾的文件:find / -name “*test”
    image-20241027204247687
  • 查找所有包含test的文件:find / -name “*test*”
    image-20241027204254973

3.13 grep命令

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

参数文件路径,可以作为管道符的输入

3.14 wc命令

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

参数文件路径,可作为管道符的输入

3.15 管道符|

  • 功能:将管道符左边命令的结果,作为右边命令的输入
  • 写法:|
  • 示例演示1:cat itheima.txt | grep itheima,将cat itheima.txt的结果,作为grep命令的输入,用来过滤itheima关键字
    image-20241027205903008
  • 示例演示2:可以支持嵌套:cat itheima.txt | grep itheima | grep itcast
    image-20241027210125372
  • 示例演示3:ls | grep Desktop,过滤ls的结果
    image-20241027210023651
  • 示例演示4:find / -name “test” | grep “/usr/lib64”,过滤结果,只找路径带有/usr/lib64的结果
    image-20241027210053625

3.16 echo命令

  • 功能:在命令行内输出指定内容

  • 语法:echo 输出的内容

    • 无需选项,只有一个参数表示要输出的内容,复杂内容可以用双引号包围
  • 示例演示1:在终端上显示Hello Linux
    image-20241027210343610

3.17 `反引号

  • 功能:被两个反引号包围的内容,会作为命令执行
  • 示例: 通过echo命令输出当前工作目录
    image-20241027210638931
  • 说明:本意是想输出当前的工作路径,但是echo pwdpwd被作为普通字符输出了,可以通过将命令用反引号(通常也称之为飘号)`将其包围,被`包围的内容,会被作为命令执行,而非普通字符

3.18 重定向符

  • 功能:将符号左边的结果,输出到右边指定的文件中去

  • 语法:

    • >:将左侧命令的结果,覆盖写入到符号右侧指定的文件中
    • >>:将左侧命令的结果,追加写入到符号右侧指定的文件中
  • 示例演示1:echo “Hello Linux” > itheima.txt
    image-20241027211032745

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

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

3.19 tail命令

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

3.20 head命令

  • 功能:查看文件头部内容
  • 语法:head [-n] 参数
    • 参数:被查看的文件
    • 选项:-n,查看的行数

和上面一个命令类似,毛毛张在这里不过多介绍了

3.21 history命令

  • 作用:查看历史输入过的命令
    image-20250331144800377

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

  • 可以通过快捷键Ctrl + R,输入内容去匹配历史命令,如果搜索到的内容是你需要的

    • 回车键可以执行
    • 键盘左右键,可以得到此命令(不执行)
      image-20231207164754334
  • 清楚所有历史命令记录:history -c
  • 部分删除操作可以进入该文件:vim ~/.bash_history
    • 该文件即为历史记录存储文件,我们随意修改
    • 修改后再次 history 查看,发现并没有变化。原因:缓存
    • 执行:history -r
    • 读取历史文件并将其内容添加到历史记录中,即重置文件里的内容到内存中,完成修改

3.22 vi/vim编辑器

3.22.1 简介

  • vi\vimvisual interface的简称,是Linux中最经典的文本编辑器。同图形化界面中的 文本编辑器一样,vi是命令行下对文本文件进行编辑的绝佳选择。vim 是 vi 的加强版本,兼容 vi 的所有指令,不仅能编辑文本,而且还具有 shell 程序编辑的功能,可以不同颜色的字体来辨别语法的正确性,极大方便了程序的设计和编辑性。

  • vi\vim编辑器的三种工作模式:

    • 命令模式(Command mode):命令模式下,所敲的按键编辑器都理解为命令,以命令驱动执行不同的功能。此模型下,不能自由进行文本编辑。
    • 输入模式(Insert mode):也就是所谓的编辑模式、插入模式。此模式下,可以对文件内容进行自由编辑。
    • 底线命令模式(Last line mode):以:开始,通常用于文件的保存、退出。
      image-20241027211751440
  • 编辑模式没有什么特殊的,进入编辑模式后,任何快捷键都没有作用,就是正常输入文本而已。唯一大家需要记住的,就是:通过esc,可以退回到命令模式中即可。

  • 底线命令快捷键:

模式命令描述
底线命令模式:wq保存并退出
底线命令模式:q仅退出
底线命令模式:q!强制退出
底线命令模式:w仅保存
底线命令模式:set nu显示行号
底线命令模式:set paste设置粘贴模式
  • 命令模式快捷键:
模式命令描述
命令模式i在当前光标位置进入输入模式
命令模式a在当前光标位置 之后 进入输入模式
命令模式I在当前行的开头,进入输入模式
命令模式A在当前行的结尾,进入输入模式
命令模式o在当前光标下一行进入输入模式
命令模式O在当前光标上一行进入输入模式
输入模式ESC任何情况下输入ESC都能回到命令模式
模式命令描述
命令模式向上移动光标
命令模式向下移动光标
命令模式向左移动光标
命令模式向右移动光标
命令模式0移动光标到当前行的开头
命令模式$移动光标到当前行的结尾
命令模式pageup向上翻页
命令模式pagedown向下翻页
命令模式/进入搜索模式
命令模式n向下继续搜索
命令模式N向上继续搜索
命令模式dd删除光标所在行的内容
命令模式nddn是数字,表示删除当前光标向下n行
命令模式yy复制当前行
命令模式nyyn是数字,复制当前行和下面的n行
命令模式p粘贴复制的内容
命令模式u撤销修改
命令模式ctrl+r反向撤销修改
命令模式gg跳到首行
命令模式G跳到行尾
命令模式dG从当前行开始,向下全部删除
命令模式dgg从当前行开始,向下全部删除
命令模式d$从当前光标开始,删除到本行的结尾
命令模式d0从当前行开始,删除到本行的开头

3.22.2 使用

  • 语法:由于vim兼容全部的vi功能,后续全部使用vim命令

    vi 文件路径
    vim 文件路径
    
  • 解释:

    • 如果文件路径表示的文件不存在,那么此命令会用于编辑新文件
    • 如果文件路径表示的文件存在,那么此命令用于编辑已有文件
  • 用法:通过vim命令编辑文件,会打开一个新的窗口,此时这个窗口就是:命令模式窗口,如下图所示,命令模式是vi编辑器的入口和出口

    • 进入vim编辑器会进入命令模式
    • 通过命令模式输入键盘指令,可以进入输入模式
    • 输入模式需要退回到命令模式,然后通过命令可以进入底线命令模式
      image-20250331155543330

都看到这了,不妨一键三连再走吧!

🌈欢迎和毛毛张一起探讨和交流!
联系方式点击下方个人名片

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

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

相关文章

C++第13届蓝桥杯省b组习题笔记

1.九进制转十进制 九进制正整数 (2022)9转换成十进制等于多少&#xff1f; 第一位乘9的0次方&#xff0c;第二位乘9的1次方&#xff0c;第三位乘9的二次方以此类推 #include <iostream> using namespace std;int main() {// 请在此输入您的代码int t2022;int res0;int c…

python-leetcode 61.N皇后

题目&#xff1a; 按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击 给你一个整数 n &#xff0c;返回所有不同的 n 皇后问题 的解…

产教融合|暴雨技术专家执裁江苏省职业院校技能大赛

3月28-30日&#xff0c;由江苏省教育厅、省发改委、省工信厅等15家单位主办的2025年江苏省职业院校技能大赛网络系统管理赛项如期举办。此次赛事吸引了全省52支参赛队伍、156名选手踊跃参与&#xff0c;参赛人数再创新高。 暴雨信息技术专家李明宇作为此赛项的往届省赛冠军&am…

BUUCTF-web刷题篇(6)

15.PHP 知识点&#xff1a; ①__wakeup()//将在反序列化之后立即调用&#xff08;当反序列化时变量个数与实际不符是会绕过&#xff09;我们可以通过一个cve来绕过:CVE-2016-7124。将Object中表示数量的字段改成比实际字段大的值即可绕过wakeup函数。条件&#xff1a;PHP5<…

周总结aa

上周学习了Java中有关字符串的内容&#xff0c;与其有关的类和方法 学习了static表示静态的相关方法和类的使用。 学习了继承(extends) 多态&#xff08;有继承关系&#xff0c;有父类引用指向子类对象&#xff09; 有关包的知识&#xff0c;final关键字的使用&#xff0c;及有…

31天Python入门——第17天:初识面向对象

你好&#xff0c;我是安然无虞。 文章目录 面向对象编程1. 什么是面向对象2. 类(class)3. 类的实例关于self 4. 对象的初始化5. __str__6. 类之间的关系继承关系组合关系 7. 补充练习 面向对象编程 1. 什么是面向对象 面向对象编程是一种编程思想,它将现实世界的概念和关系映…

计算机视觉准备八股中

一边记录一边看&#xff0c;这段实习跑路之前运行完3DGAN&#xff0c;弄完润了&#xff0c;现在开始记忆八股 1.CLIP模型的主要创新点&#xff1a; 图像和文本两种不同模态数据之间的深度融合、对比学习、自监督学习 2.等效步长是每一步操作步长的乘积 3.卷积层计算输入输出…

【C语言】文件操作(2)

一、文件的随机读写 在前面我们学习了文件的顺序读写的函数&#xff0c;那么当我们要读取某个指定位置的内容的时候&#xff0c;是否只能顺序的读取到这个内容&#xff1f;还有在对文件进行输入的时候&#xff0c;需要对指定的位置进行写入&#xff0c;那么此时应该怎么办呢&a…

CCCC天梯赛L1-094 剪切粘贴

题目链接&#xff1a; 字符串函数&#xff1a; 1、截取字符串&#xff1a; //起始位置为3,结束位置为5string s "aabcdefg";//下标从0开始 [从开始位置,结束位置]string sub s.substr(3,3);//输出cde, 有返回值string//并且原字符串不改变&#xff0c; s"aab…

某地81栋危房自动化监测试点项目

1. 项目简介 房屋进入老龄化阶段后&#xff0c;结构安全风险越来越大。近10年来&#xff0c;每年都会产生房屋倒塌人员伤亡的重大安全事故。调研分析显示&#xff0c;老旧房屋结构安全风险管理的有效路径为&#xff0c;通过“人防技防”的组合模式&#xff0c;对房屋安全风险进…

远程装个Jupyter-AI协作笔记本,Jupyter容器镜像版本怎么选?安装部署教程

通过Docker下载Jupyter镜像部署&#xff0c;输入jupyter会发现 有几个版本&#xff0c;不知道怎么选&#xff1f;这几个版本有什么差别&#xff1f; 常见版本有&#xff1a; jupyter/base-notebookjupyter/minimal-notebookjupyter/scipy-notebookjupyter/datascience-notebo…

山东大学软件学院项目创新实训开发日志(4)之中医知识问答数据存储、功能结构、用户界面初步设计

目录 数据库设计&#xff1a; 功能设计&#xff1a; 用户界面: 数据库设计&#xff1a; --对话表 (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)可以增强网络连接的带宽和可…

【多线程】单例模式和阻塞队列

目录 一.单例模式 1. 饿汉模式 2. 懒汉模式 二.阻塞队列 1. 阻塞队列的概念 2. BlockingQueue接口 3.生产者-消费者模型 4.模拟生产者-消费者模型 一.单例模式 单例模式&#xff08;Singleton Pattern&#xff09;是一种常用的软件设计模式&#xff0c;其核心思想是确保…

Qt5.14.2+Cmake使用mingw64位编译opencv4.5成功图文教程

​ 一、下载安装相关编译环境软件 1.1 Python3.8&#xff1a;安装路径:C:\Users\Administrator\AppData\Local\Programs\Python\Python38-32 安装包&#xff1a;python3.8.exe 1.2 QT5.14.2&#xff1a;安装路径:C:\Qt\Qt5.14.2 1.3 opencv4.5&#xff1a;解压路径D:\o…

Mamba4D阅读

CVPR 2025 创新 基于transformer的4D主干由于其二次复杂度而通常存在较大的计算成本&#xff0c;特别是对于长视频序列。 开发了帧内空间Mamba模块&#xff0c;建立时空相关性。 GPU占用和速度很有优势。 代码还没发。 Pipeline 输入点云序列&#xff0c;根据超参数构建点管…

手工排查后门木马的常用姿势

声明&#xff01;本文章所有的工具分享仅仅只是供大家学习交流为主&#xff0c;切勿用于非法用途&#xff0c;如有任何触犯法律的行为&#xff0c;均与本人及团队无关&#xff01;&#xff01;&#xff01; 1. 检查异常文件 &#xff08;1&#xff09;查找最近修改的文件 # 查…

算法导论(动态规划)——简单多状态

算法思路&#xff08;17.16&#xff09; 状态表示&#xff1a; 在处理线性动态规划问题时&#xff0c;我们可以通过“经验 题目要求”来定义状态表示。通常有两种选择&#xff1a; 以某个位置为结尾的情况&#xff1b;以某个位置为起点的情况。 本题中&#xff0c;我们选择更常…

LeetCode 438. 找到字符串中所有字母的异位词

438. 找到字符串中所有字母的异位词 题目描述 给定两个字符串 s 和 p&#xff0c;找到 s 中所有 p 的 异位词 的子串&#xff0c;返回这些子串的起始索引。不考虑答案输出的顺序。 输入输出示例及数据范围 思路 这道题的思路其实很简单&#xff0c;就是一个滑动窗口的裸题&a…

java详细笔记总结持续完善

一.Java开发环境的搭建 1. 单位换算 1TB 1024GB 1GB 1024MB 1MB 1024KB 1KB 1024Byte (字节) 1Byte 8 bit(位) 注意&#xff1a;一个字节占8位 2. DOS命令 DOS : Disk Operation System 磁盘操作系统 即用于操作本地磁盘的系统 命令操作符号盘符切换命令盘符名:查看当前文…