linux操作系统基础复习

目录

前言

一、操作系统简介(Operation System OS)

 1.1 操作系统的作用

 1.2  操作系统分类

二、linux 安装

2.1 虚拟机

2.2 镜像

三、linux 简介

3.1 liunx 发展历程

3.2 linux 内核版本、发行版本

四、虚拟机运行centos

4.1 启动过程

4.2 图形界面与命令行界面交换

五、文件目录

六、命令行基础命令

6.1 打开终端

6.2 文件路径

6.3查看、修改文件或者文件夹信息

 6.4 文件夹操作

6.5 文件删除、复制、移动

6.6 创建文件

6.7 --help  which

6.8 man  clear

6.9  ln

6.10 正则通配符

6.11 管道 |

6.12  分屏显示 more

6.13 重定向 + 查看或合并文件内容 cat

6.14  文本文件搜索

6.15  查找文件

6.16  文件归档

6.17  文件压缩解压

6.18  用户

6.19  关机重启

七 vim 与shell

后续学习



前言

liunx操作系统基础及其基础命令操作


一、操作系统简介(Operation System OS)

 1.1 操作系统的作用

  • os是现代计算机系统中最基本和最重要的系统软件
  • os是配置在计算机硬件上的第一层软件,
  • os是对硬件系统的首次扩展 主要作用是管理好硬件设备,并为用户和应用程序提供一个简单的接口,以便于使用

 1.2  操作系统分类

  • 桌面操作系统 :windows, macos, linux
  • 服务器操作系统 :linux ,windows server
  • 嵌入式操作系统 :linux 
  • 移动设备操作系统 :ios ,android(基于linux),鸿蒙

二、linux 安装

2.1 虚拟机

虚拟机:vmare ,vtbox

虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机 系统

  • 虚拟系统通过生成现有操作系统的全新虚拟镜像,具有真实操作系统完全一样的功能
  • 进入虚拟系统后,所有操作都是在这个全新的独立的虚拟系统里面进行,可以独立安装运行软件,保存数据, 拥有自己的独立桌面,不会对真正的系统产生任何影响
  • 能够在现有系统与虚拟镜像之间灵活切换的一类操作系统

vMware : https://docs.vmware.com/cn/VMware-Workstation-Pro/14.0/com.vmware.ws.using.doc/GUID-0EE752F8-C159-487A-9159-FE1F646EE4CA.html

2.2 镜像

清华镜像,各大高校镜像网站

例如:阿里云网站 https://developer.aliyun.com/mirror/

三、linux 简介

3.1 liunx 发展历程

unix——minix——linux

unix

1969 年从这个项目中退出的Ken Thompson当时在实验室无聊时,为了让一台空闲的电脑上能够运行 "星际  旅行(SpaceTravel)" 游行,在 8 月份左右趁着其妻子探亲的时间,用了 1 个月的时间,使用汇编写出了 Unix 操作系统的原型

1970 年,美国贝尔实验室的Ken Thompson,以BCPL语言为基础,设计出很简单且很接近硬件的B 语言 (取BCPL的首字母),并且他用B 语言写了第一个 UNIX 操作系统

1971 年,同样酷爱 "星际旅行(Space Travel)" 的Dennis M.Ritchie为了能早点儿玩上游戏,加入了 Thompson的开发项目,合作开发 UNIX,他的主要工作是改造B 语言,因为B 语言的跨平台性较差 1972 年,Dennis M.Ritchie在B 语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为 这种语言的名字,这就是C 语言

1973 年初,C 语言的主体完成,Thompson和Ritchie迫不及待地开始用它完全重写了现在大名鼎鼎的Unix 操作系统

 肯·汤普逊(左)和丹尼斯·里奇(右)

Minix

因为AT&T(通用电气)的政策改变,在 Version 7 Unix 推出之后,发布新的使用条款,将 UNIX 源代码私有 化,在大学中不能再使用 UNIX 源代码 Andrew S. Tanenbaum(塔能鲍姆)教授为了能在课堂上教授学生操作系统运作的细节,决定在不使用任 何 AT&T 的源代码前提下,自行开发与 UNIX 兼容的操作系统,以避免版权上的争议 以小型 UNIX(mini-UNIX)之意,将它称为MINIX

Linux

1991 年林纳斯(Linus)就读于赫尔辛基大学期间,对 Unix 产生浓厚兴趣,尝试着在Minix 上做一些开发工 作 因为Minix只是教学使用,因此功能并不强,林纳斯经常要用他的终端仿真器(Terminal Emulator)去访问 大学主机上的新闻组和邮件,为了方便读写和下载文件,他自己编写了磁盘驱动程序和文件系统,这些在后来 成为了 Linux 第一个内核的雏形

林纳斯利用 GNU 的 bash 当做开发环境,gcc 当做编译工具,编写了 Linux 内核,一开始 Linux 并不能兼容 Unix 即 Unix 上跑的应用程序不能在 Linux 上跑,即应用程序与内核之间的接口不一致 一开始 Linux 只适用于 386,后来经过全世界的网友的帮助,最终能够兼容多种硬件.

unix 家族图谱

3.2 linux 内核版本、发行版本

内核(kernel)是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序,它提供了一个在裸 设备与应用程序间的抽象层

Linux 内核版本又分为稳定版和开发版,两种版本是相互关联,相互循环

稳定版:具有工业级强度,可以广泛地应用和部署。新的稳定版相对于较旧的只是修正一些 bug 或加入 一些新的驱动程序

开发版:由于要试验各种解决方案,所以变化很快

内核源码网址: http://www.kernel.org

 Linux 发行版(也被叫做 GNU/Linux 发行版) 通常包含了包括桌面环境、办公套件、媒体播放器、数据库 等应用软件

常见的发行版本如下: Ubuntu ,Redhat, Fedora ,openSUSE, Linux ,Mint Debian, Manjaro,Mageia ,CentOS ,Arch

四、虚拟机运行centos

4.1 启动过程

 POST --》BIOS --》GRUB --》 kernel--》 init --》建立终端--》系统登录

一硬件阶段,二软件阶段

  • 一.内核的引导。

Linux系统在接通电源后,首先系统会启动POST加电自检程序来对内部的各个配件进行自检,

BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。

当查到第一个有引导程序的设备时,改设备即为本次启动要用到的设备.随后BIOS会读取改引导设备的MBR来进行系统启动的下一阶段。

MBR通常为硬盘的第一个扇区,大小为512字节,前446个字节为bootloader,接着64个字节为分区表,剩下2个字节为结束标识。

BIOS读取MBR后,系统来到了GRUB启动引导阶段。
GRUB引导阶段大致分为三个阶段
1. 1st stage: 启动Boot loader来加载2nd stage的内容至内存中
2. 1.5 stage: 位于MBR的分区表中,能够之别出2nd stage所在分区上的文件系统
3. 2nd stage: 读取配置文件/etc/grub/grub.conf,该文件为grub启动提供了菜单及加载的kernel位置,当kernel被成功加载到内存中时,系统进入到kernel启动阶段

操作系统接管硬件以后,首先读入 /boot 目录下的内核文件。

  • 二.运行 init。

init 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动。

init 程序首先是需要读取配置文件 /etc/inittab。

Linux允许为不同的场合,分配不同的开机启动程序,这就叫做"运行级别"(runlevel)。也就是说,启动时根据"运行级别",确定要运行哪些程序。

Linux系统有7个运行级别(runlevel):

  • 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
  • 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
  • 运行级别2:多用户状态(没有NFS)
  • 运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
  • 运行级别4:系统未使用,保留
  • 运行级别5:X11控制台,登陆后进入图形GUI模式
  • 运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
  • 二.系统初始化。

在init的配置文件中有这么一行: si::sysinit:/etc/rc.d/rc.sysinit 它调用执行了/etc/rc.d/rc.sysinit,而rc.sysinit是一个bash shell的脚本,它主要是完成一些系统初始化的工作,rc.sysinit是每一个运行级别都要首先运行的重要脚本。

它主要完成的工作有:激活交换分区,检查磁盘,加载硬件模块以及其它一些需要优先执行任务。

到了这个阶段,系统开始进行完成启动前的初始化操作,其实际上是根据 /etc/inittab 的设置进行脚本执行.
第一个执行的脚本为/ect/rc.d/rc.sysinit , 这是系统的初始化脚本
其中完成的操作有:
1. 设置主机名
2. 设置欢迎信息
3. 激活 udev 和 selinux
4. 挂载 /etc/fstab 文件中定义的所有文件系统
5. 检测根文件系统,并以读写的方式重新挂载根文件系统
6. 设置系统时间
7. 根据 /etc/sysctl.conf 文件来设置内核参数
8. 激活 lvm 及 raid 设备
9. 激活 swap 设备
10. 加载额外设备的驱动程序
11. 清理过期的锁和进程文件

5:wait:/etc/rc.d/rc 5
  • 二.建立终端 。

rc执行完毕后,返回init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。

init接下来会打开6个终端,以便用户登录系统。在inittab中的以下6行就是定义了6个终端:

  • 二.用户登录系统。
  • (1)命令行登录
  • (2)ssh登录
  • (3)图形界面登录

4.2 图形界面与命令行界面交换

ctrl+alt+F2 命令行界面

ctrl+alt+F1   图形界面

五、文件目录

  •  /:根目录,一般根目录下只存放目录,在 linux 下有且只有一个根目录,所有的东西都是从这里开始 当在终端里输入 /home ,其实是在告诉电脑,先从 / (根目录)开始,再进入到 home 目录
  • /bin、/usr/bin:可执行二进制文件的目录,如常用的命令 ls、tar、mv、cat 等
  • /boot:放置 linux 系统启动时用到的一些文件,如 linux 的内核文件:/boot/vmlinuz ,系统引导管理 器: /boot/grub
  • /dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱 mount /dev/cdrom /mnt
  • /etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有 /etc/inittab /etc/fstab /etc/init.d /etc/X11 /etc/sysconfig /etc/xinetd.d
  • /home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下 ~ 表示当前用户的家目录 ~edu 表示用户 edu 的目录
  • /lib、/usr/lib、/usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要 函数库的协助
  • /lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下
  • /mnt: /media:光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不一定,可以选择任意位置进行挂载
  • /opt:给主机额外安装软件所摆放的目录
  • /proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占 用磁盘空间,比较重要的文件有:/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等
  • /root:系统管理员root的家目录
  • /sbin、/usr/sbin、/usr/local/sbin:放置系统管理员使用的可执行命令,如 fdisk、shutdown、mount 等。与 /bin 不同的是,这几个目录是给系统管理员 root 使用的命令,一般用户只能"查看"而不能设置和使用
  • /tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下
  • /srv:服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在 /srv/www 内 /usr:应用程序存放目录 /usr/bin:存放应用程序;/usr/share:存放共享数据 ;/usr/lib:存放不能直接运行的,却是许多程序运行所必需的一些函数库文件 ;/usr/local:存放软件升级包;/usr/share/doc:系统说明文件存放目录;/usr/share/man:程序说明文件存放目录;
  • /var:放置系统执行过程中经常变化的文件 /var/log:随时更改的日志文件; /var/spool/mail:邮件存放的目录 ;/var/run:程序或服务启动后,其 PID 存放在该目录下;

六、命令行基础命令

6.1 打开终端

alt+F2打开运行,输入命令gnome-terminal

进入终端之后  ctrl+shift += 放大窗口字体  ;  ctrl+ - - 缩小终端窗口字体 ;; tab  自动联想相关命令;

6.2 文件路径

  • cd【目录名】  change directory  切换文件夹
  • cd .. 返回上一级目录
  • cd. 返回当前目录
  • cd -  返回上次切换的目录
  • cd  切换到当前用户的主目录(/home/用户目录),用户登陆的时候,默认的目录就是用户的主目录。
  • cd ~ 切换到当前用户的主目录(/home/用户目录)
  • pwd  print work directory 打印当前目录

6.3查看、修改文件或者文件夹信息

  • ls  -alh list  查看当前目录内容
  • ls -a  显示文件夹内容所有文件,包括隐藏文件,默认有  .  ..
  • ls -l 列表方式显示文件的详细信息
  • ls -h 列表显示文件信息,包括文件大小信息
  • ll  等价于 ls -l
    • 文件属性认识
      drwxrwxrwx

      d表示文件夹

      ,- 表示文件

      属主权限属组权限其他用户权限
      012345678

      R的值等于4 W的值等于2 X的值等于1 完全权限:4+2+1=7 读写权限:4+2=6 读执行权限:4+1=5

drwxr-xr-x 文件夹权限数字755,root用户对a_bak目录有完全权限7,root用户组对a_bak目录有读、执行权限5,其他用户对a_bak目录有读、执行权限5

  • 修改文件权限   chmod u/g/o/a +/-/=  rwx 文件

[ u/g/o/a ] 含义 u user 表示该文件的所有者; g group 表示与该文件的所有者属于同一组( group )者,即用户组; o other 表示其他以外的人 ;a all 表示这三者皆是

[ +-= ] 含义 + 增加权限; - 撤销权限; = 设定权限

rwx 含义 r read 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。

w write 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。 x excute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。 如果需要同时进行设定拥有者、同组者以及其他人的权限,

参考如下: 数字法:“rwx” 这些权限也可以用数字来代替 字母 说明 r 读取权限,数字代号为 "4" w 写入权限,数字代号为 "2" x 执行权限,数字代号为 "1" - 不具任何权限,数字代号为 "0

 6.4 文件夹操作

  • rmdir 【文件夹】 新建文件夹 
  • rm 【文件夹】 -r   删除文件夹
  • rmdir {文件夹1,文件夹2}  创建多个文件夹
  • rmdir a/b/c -p   依次创建文件夹a,在a中创建b,在b中创建c

6.5 文件删除、复制、移动

rm 【文件名】删除文件

-i 以进行交互式方式执行

-f 强制删除,忽略不存在的文件,无需提示

-r 递归地删除目录下的内容,删除文件夹时必须加此参数

cp命令的功能是将给出的文件或目录复制到另一个文件或目录中

cp 1.txt  2.txt 

-a 该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制目录,简单而言,保持文件 原有属性。 

-f 覆盖已经存在的目标文件而不提示 -i 交互式复制,在覆盖目标文件之前将给出提示要求用户确认 -r 若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个 目录名。

-v 显示拷贝进度

6.6 创建文件

  • touch  hello.txt   创建任意后缀名
  • gedit hello.txt   打开编辑器编辑格式允许的文件 如果文件不存在的情况,则会创建文件
  • touch a b c 批量创建文件

6.7 --help  which

command  --help   显示command 命令的帮助信息

which command 查command 位置

6.8 man  clear

man command  查阅command 命令使用手册

  • 空格         显示下一屏幕
  • Enter   滚动一行
  • b     回滚一屏
  • f    前滚一屏
  • q     退出
  • /word    搜索word  字符串
  • clear  清屏终端操作

6.9  ln

链接文件分为软链接和硬链接。

软链接:软链接不占用磁盘空间,源文件删除则软链接失效。 可个文件或者目录创建快捷方式。

链接文件,写绝对路径,否则指向的文件不存在。

链接目录  ln -s 目录  链接名称

硬链接:硬链接只能链接普通文件,不能链接目录。 本身占空间,相当于把源文件赋值一份,与源文件同步变化,删除硬连接文件不影响文件,不能给目录创建硬连接

使用格式: 硬链接 ln 源文件 链接文件 ;软链接 ln -s 源文件 链接文件

如果 没有-s 选项代表建立一个硬链接文件,两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是 存在,所以-s选项是更常见的形式。

注意:如果软链接文件和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。

6.10 正则通配符

* 文件代表文件名中所有字符

ls te* 查找以te开头的文件

ls *html 查找结尾为html的文件

? 代表文件名中任意一个字符

ls ?.c 只找第一个字符任意,后缀为.c的文件

ls a.? 只找只有3个字符,前2字符为a.,最后一个字符任意的文件

[] [”和“]”将字符组括起来,表示可以匹配字符组中的任意一个。“-”用于表示字符范围。

[abc] 匹配a、b、c中的任意一个

[a-f] 匹配从a到f范围内的的任意一个字符

ls [af]* 找到从a到f范围内的的任意一个字符开头的文件

ls a-f 查找文件名为a-f的文件,当“-”处于方括号之外失去通配符的作用 \ 如果要使通配符作为普通字符使用,可以在其前面加上转义字符。“?”和“*”处于方括号内时不用使 用转义字符就失去通配符的作用。

ls \*a 查找文件名为*a的文件

6.11 管道 |

管道:一个命令的输出可以通过管道做为另一个命令的输入。 管道我们可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里“ | ”的左右分为两端,左端塞 东西(写),右端取东西(读)。

ls / | more

6.12  分屏显示 more

more命令,每次只显示一页,按下空格键可以显示下一页,按下q键退出显示,按下h键可以获取帮助。

6.13 重定向 + 查看或合并文件内容 cat

允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中。

>输出重定向会覆盖原来的内容,>>输出重定向则会追加到文件的尾部。

ls > test.txt ( test.txt 如果不存在,则创建,存在则覆盖其内容 )

将目录信息输入到test.txt 文件中

ls >> test.txt  目录信息追加信息到test.txt

cat 1.txt 2.txt   查看合并的内容

cat 1.txt >> 2.txt 查看1.txt 的内容 追加保存到2.txt 中

6.14  文本文件搜索

grep命令是一种强大的文本搜索工具,grep允许对文本文件进行模式查找。如果找到匹配模式, grep 打印包含模式的所有行。

grep一般格式为: grep [-选项] ‘搜索内容串’文件名 在grep命令中输入字符串参数时,最好引号或双引号括起来。

-v 显示不包含匹配文本的所有行(相当于求反)

-n 显示匹配行及行号

-i 忽略大小写 grep搜索内容串可以是正则表达式。

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一 个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

^m 行首,搜寻以 m 开头的行;grep -n '^a' 1.txt

ke$ 行尾,搜寻以 ke 结束的行;grep -n 'ke$' 1.txt

[Ss]igna[Ll] 匹配 [] 里中一系列字符中的一个;搜寻匹配单词signal、signaL、Signal、SignaL的行;grep -n '[Ss]igna[Ll]' 1.txt

. (点)匹配一个非换行符的字符;匹配 e 和 e 之间有任意一个字符,可以匹配 eee,eae, eve,但是不匹配 ee,eaae;grep -n 'e.e' 1.txt

6.15  查找文件

find 通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。:

find . -name test.sh 查找当前目录下所有名为test.sh的文件

find . -name '*.sh' 查找当前目录下所有后缀为.sh的文件

6.16  文件归档

tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件 中,也可以把档案文件解开以恢复数据。

tar使用格式 tar [参数] 打包文件名 文件 打包 tar cvf a.tar *.txt 解包 tar xvf a.tar -C atar tar命令很特殊,其参数前面可以使用“-”,也可以不使用。

常用参数:  -c 生成档案文件,创建打包文件

-v 列出归档解档的详细过程,显示进度

-f 指定档案文件名称

-t 列出档案中包含的文件

-x 解开档案文件

6.17  文件压缩解压

gzip

tar与gzip命令结合使用实现文件打包、压缩。 tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩 展名一般用xxxx.tar.gz。

gzip使用格式如下: gzip [选项] 被压缩文件

常用选项: -d 解压 ;-r 压缩所有子目录

tar这个命令并没有压缩的功能,它只是一个打包的命令,但是在tar命令中增加一个选项(-z)可以调用gzip实现了一 个压缩的功能,实行一个先打包后压缩的过程。

压缩用法:tar cvzf 压缩包包名 文件1 文件2 ... -z :指定压缩包的格式为:file.tar.gz

解压用法: tar zxvf 压缩包包名 -z :指定压缩包的格式为:file.tar.gz

解压到指定目录:-C (大写字母“C”)

bzip2

tar与bzip2命令结合使用实现文件打包、压缩(用法和gzip一样)。 tar只负责打包文件,但不压缩,用bzip2压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz2。

在tar命令中增加一个选项(-j)可以调用bzip2实现了一个压缩的功能,实行一个先打包后压缩的过程。

压缩用法:tar -jcvf 压缩包包名 文件...(tar jcvf bk.tar.bz2 *.c)

解压用法:tar -jxvf 压缩包包名 (tar jxvf bk.tar.bz2)

zip  uzip

通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip。

压缩文件:zip [-r] 目标文件(没有扩展名) 源文件

解压文件:unzip -d 解压后目录文件 压缩文件

6.18  用户

who命令用于查看当前所有登录系统的用户信息。

-q或--count 只显示用户的登录账号和登录用户的数量

-u或--heading 显示列标题

切换到管理员账号 Centos下切换到root的简单命令:su

passwd 在Unix/Linux中,超级用户可以使用passwd命令为普通用户设置或修改用户密码。用户也可以直接使用该命令来修 改自己的密码,而无需在命令后面使用用户名。

 exit 如果是图形界面,退出当前终端; 如果是使用ssh远程登录,退出登陆账户; 如果是切换后的登陆用户,退出则返回上一个登陆账号。 

6.19  关机重启

  •  reboot 重新启动操作系统
  • shutdown –r now 重新启动操作系统,shutdown会给别的用户提示
  • shutdown -h now 立刻关机,其中now相当于时间为0的状态
  • shutdown -h 20:25 系统在今天的20:25 会关机
  • shutdown -h +10 系统再过十分钟后自动关机

七 vim 与shell

Vi有三种基本工作模式: + 命令模式 + 文本输入模式 + 末行模式

命令行模式 任何时候,不管用户处于何种模式,只要按一下ESC键,即可使Vi进入命令模式;我们在shell环境(提示符为$)下 输入启动Vi命令,进入编辑器时,也是处于该模式下。在该模式下,用户可以输入各种合法的Vi命令,用于管理自 己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释,若输入的字符是合法的Vi命令,则Vi在接受用 户命令之后完成相应的动作。但需注意的是,所输入的命令并不在屏幕上显示出来。若输入的字符不是Vi的合法命 令,Vi会响铃报警。

文本输入模式 在命令模式下输入插入命令i、附加命令a 、打开命令o、修改命令c、取代命令r或替换命令s都可以进入文本输入模 式。在该模式下,用户输入的任何字符都被Vi当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中, 若想回到命令模式下,按键ESC即可。

末行模式也称ex转义模式。在命令模式下,用户按“:”键即可进入末行模式下,此时Vi会在显示窗口的最后一行(通 常也是屏幕的最后一行)显示一个“:”作为末行模式的提示符,等待用户输入命令。多数文件管理命令都是在此模式 下执行的(如把编辑缓冲区的内容写到文件中等)。末行命令执行完后,Vi自动回到命令模式。例如: :sp newfile 则分出一个窗口编辑newfile文件。如果要从命令模式转换到编辑模式,可以键入命令a或者i;如果需要从文本模式 返回,则按Esc键即可。在命令模式下输入“:”即可切换到末行模式,然后输入命令。

vim基础操作

vim是从 vi 发展出来的一个文本编辑器 。代码补完、编译及错误跳转等方便编程的功能特别丰富 进入插入模式:

i: 插入光标前一个字符

I: 插入行首

a: 插入光标后一个字符

A: 插入行未

o: 向下新开一行,插入行首

O: 向上新开一行,插入行首

进入命令模式:

ESC:从插入模式或末行模式进入命令模式

移动光标: h: 左移 j: 下移 k: 上移 l: 右移

:set nu 显示行数

M(shift+m): 光标移动到中间行

L: 光标移动到屏幕最后一行行首

G: 移动到指定行,行号 -G

w: 向后一次移动一个字

b: 向前一次移动一个字

{: 按段移动,上移

}: 按段移动,下移

Ctrl-d: 向下翻半屏  Ctrl-u: 向上翻半屏  

Ctrl-f: 向下翻一屏  Ctr-b: 向上翻一屏

gg: 光标移动文件开头 G: 光标移动到文件末尾

删除命令:

x: 删除光标后一个字符,相当于 Del

X: 删除光标前一个字符,相当于 Backspace

dd: 删除光标所在行,n dd 删除指定的行数

D: 删除光标后本行所有内容,包含光标所在字符

d0: 删除光标前本行所有内容,不包含光标所在字符

dw: 删除光标开始位置的字,包含光标所在字符

撤销命令:

u: 一步一步撤销 Ctr-r: 反撤销

重复命令: .: 重复上一次操作的命令

文本行移动: >>(shift + >): 文本行右移 ;<<:文本行左移

复制粘贴: yy: 复制当前行,n yy 复制 n 行 p: 在光标所在位置向下新开辟一行,粘贴

可视模式: v: 按字符移动,选中文本 V: 按行移动,选中文本

可视模式可以配合 d, y,

>>, <<实现对文本块的删除,复制,左右移动

v替换操作: r: 替换当前字符 R: 替换当前行光标后的字符,直到按esc 

查找命令: /: str查找 n: 下一个 N:上一个


后续学习

拓展shell、基础运维知识、服务搭建

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kusasakey

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值