学习shell与shell script 01_vi与vim

一起来写Shell Script 01 接触linux时间有段时间,虽然之前对shell脚本如雷贯耳,一直相学,但是一直没找到一些比较基础的教程,常常看的晕晕乎乎的,直到我看到了鸟哥的私房菜:http://cn.linux.vbird.org/linux_basic/0220filemanager_4.php#file shell Script篇,觉得豁然开朗,下面就和我一起来学习shell Script 吧 要学习shell脚本,就... 阅读详情

目录

为什么学习vi

什么是vim

vi的使用

1.一般模式

2.编辑模式

3.命令行模式

查看文件的默认权限

1)通过直接输入umask,就可以看到数字形态的权限设置分数。

2)umask -S 

按键说明

一、一般模式

1)移动光标

2)撤销与恢复

3)查找与替换(重点掌握)

4)删除复制粘贴

5)移动光标的方法

二、一般模式切换到编辑模式可用按钮说明

i I 

a A

r R

三、一般模式切换到命令行模式


Linux配置文件都是以ASCII的纯文本形式存在。

为什么学习vi

1)UnixLike系统都会内置vi文本编辑器,其他的文本编辑器则不一定存在

2)许多软件的编辑接口都会主动调用vi

3)vi具有程序编辑的能力,可以主动以字体颜色辨别语法的正确性

4)程序简单,编辑速度相当快

什么是vim

vim是vi的高级版本,vim可以以颜色或底线等方式来显示一些特殊的信息。

vim可以依据文件的扩展名或者文件内的开头信息判断该文件的内容,从而自动调用

改程序的语法判断。再以颜色来显示程序和一般信息。也就是说vim是个程序编辑器。

vim里面提供了很多额外的功能,例如

1.支持正则表达式的查找框架

2.多文件编辑

3.块复制

vi的使用

1.一般模式

直接使用vi打开文件,就是一般模式。

可以使用上下左右按键来移动光标

可以删除字符和整行

可以复制黏贴数据

无法编辑

2.编辑模式

i I a A o O r R按键之后可以进入编辑模式。

这时候,界面左下角会出现INSERT或REPLACE的字样,此时才可以进行编辑。

通过Esc按键可以退出编辑模式,回到一般模式

3.命令行模式

在一般模式中,输入: /  ?中的任意一个按钮,就可以将光标移动到最下面那一行。

可以用于

1)查找数据

2)读取

3)保存

4)大量替换字符

5)离开vi

6)显示行号

 

查看文件的默认权限

我们查看权限的时候

ubuntu@ubuntu:~$ pwd
/home/ubuntu
ubuntu@ubuntu:~$ umask
0002
ubuntu@ubuntu:~$ 

1)通过直接输入umask,就可以看到数字形态的权限设置分数。

0002:第一个数字是特殊权限用的,我们先不要理他

后面三个数字分别代表:user、group、other(其他组)

文件的默认权限:

若用户创建文件,那么默认没有执行权限,即只有rw 两个权限。最大值为666

所以本例子中的文件实际权限为664

若用户创建文件夹,那么,由于可不可以进入文件夹和x有关,所以默认值为777

所以本例子中的文件夹实际权限为775

umask分数就是指的是默认值需要剪掉的权限。

2)umask -S 

直接以符号的形式显示出权限

ubuntu@ubuntu:~$ umask -S
u=rwx,g=rwx,o=rx

创建文件和文件夹权限确认

ubuntu@ubuntu:~$ touch test.txt
ubuntu@ubuntu:~$ ls -lh test.txt
-rw-rw-r-- 1 ubuntu ubuntu 0 Jan 23 18:48 test.txt
ubuntu@ubuntu:~$ mkdir test
ubuntu@ubuntu:~$ ls -l |grep test
drwxrwxr-x  2 ubuntu ubuntu 4096 Jan 23 18:49 test
-rw-rw-r--  1 ubuntu ubuntu    0 Jan 23 18:48 test.txt

按键说明

一、一般模式

1)移动光标

移动光标
hjkl左下上右
Ctrl + f向下移一页
Ctrl + b向上移一页
Ctrl + d向下移半页
Ctrl + u向上移半页
+光标移动到非空格符的下一行
-光标移动到非空格符的上一行
n<space>光标向右移动n个字符
0或home这一行最前面字符常用
$或End这一行最后面字符常用
H最上方那一行的第一个字符
M中间那一行的第一个字符
L最下方那一行的第一个字符
gg移动到文件的第一行常用
G光标移动到文件的最后一行常用
nG光标移动到文件的第n行常用
N<Enter>光标向下移动N行常用

2)撤销与恢复

撤销与恢复
u撤销上一步的操作常用
Ctrl+r恢复上一步被撤销的操作常用

3)查找与替换(重点掌握)

查找与替换
/word向下查找名为word的字符串常用
?word向上查找名为word的字符串常用
n重复上一个查找动作常用
N反方向重复上一个查找动作常用
:n1,n2s/word1/word2/g

n1,n2代表起始和结束行的行号,代表搜索范围

word1代表你要搜索的字符

word1代表你要替换的字符

常用
:1,$s/word1/word2/g

将全文的word1替换为word2

常用
:1,$s/word1/word2/gc

将全文的word1替换为word2,且在替换前要求用户确认

y 确认执行这个替换

n 取消这个替换

a 执行所有替换且不再询问

q 退出且不做任何修改

 l 替换完匹配点后退出

Ctrl + E 向下翻滚一行

Ctrl + Y 向上翻滚一行

常用

4)删除复制粘贴

删除复制粘贴
x向后删除一个字符常用
X向前删除一个字符常用
nx向后删除n个字符
dd删除光标所在行常用
ndd删除光标向下的n行常用
d1G删除光标所在行到第一行的所有数据常用
dG删除光标所在行到最后一行的所有数据常用
d$删除光标所在处到该行的最后一个字符常用
d0删除光标所在处到该行的第一个字符常用
yy复制光标所在行常用
nyy复制光标向下的n行常用
y1G复制光标所在行到第一行的所有数据
yG复制光标所在行到最后一行的所有数据
y0复制光标所在处到该行行首的所有数据
y$复制光标所在处字符到该行行尾所有数据
p将已复制的数据在光标下一行粘贴常用
P将已复制的数据在光标上一行粘贴常用

5)移动光标的方法

J将光标所在行与下一行的数据结合成同一行
c重复删除多个数据???
.重复前一个操作,比如重复删除 重复粘贴等操作,使用小数点就好常用

二、一般模式切换到编辑模式可用按钮说明

i I 

i进入插入模式,从目前光标处插入常用
I进入插入模式,从所在行第一个非空格字符处开始插入常用

a A

a进入插入模式,从当前光标所在的下一个字符处开始插入常用
A进入插入模式,从光标所在行的最后一个字符处开始插入常用

o O

o进入插入模式,为目前光标所在的下一行处插入新的一行常用
O进入插入模式,为目前光标所在的上一行处插入新的一行常用

r R

r进入替换模式,r只会替换光标所在的那一个字符一次常用
R进入替换模式,R会一直替换光标所在的字符,直到按下【Esc】为止常用

三、一般模式切换到命令行模式

:w将编辑的数据写入磁盘文件中常用
:w!

若文件属性为“只读”时,强制写入该文件。不过,到底能不能

写入和你对该文件的文件权限相关

常用
:q离开vi常用
:q!若曾修改过文件,又不想存储,使用“!”,为强制离开不保存常用
:wq先保存后离开常用
:wq!强制保存后离开常用
ZZ文件没有改动,则不保存离开,若文件已经被更改,则保存后离开
:w [file name]     将编辑的数据保存为另一个文件(类似另存文件的意思)
:r [filename]

在编辑的数据中,读入另外一个文件的数据,

即将filename这个文件内容加到光标所在行后面

:n1,n2 w [filename]         将n1到n2行的内容保存成filename这个文件
:! command 暂时离开vi到命令行模式下执行command的显示结果。常用

                        !在vi中经常带有“强制”意思

:set nu显示行号,设置之后,会在每一行的前缀显示该行的行号
:set nonu取消行号显示

特别注意 vi中,数字是很有意义的,数字通常代表重复做几次的意思。也有可能是代表去到

第几个什么什么的意思。

50dd: 删除50行

50j: 向下移动50行

(28)Shell脚本【expr计算】 A、Shell 是一个 C 语言编写的脚本语言,它是用户与 Linux 的桥梁,用户输入命令交给 Shell 处理,shell是一个命令解释器,是一个工具箱, Shell 将相应的操作传递给内核(Kernel),内核把处理的结果输出给用户;B、Shell Script,Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。 阅读详情

相关推荐

单细胞空间转录组分析流程学习python版(三)

空转python版学习

zfyyzhys的博客 2084

shell编程vim编辑器(shell编程三)

讲解vi编辑器的三种模式和vi编辑器中的各种命令。

Java.L的博客 2144

RGB接口电容触摸屏驱动(二)接口与时序说明

RGB接口电容触摸屏驱动(二)接口与时序说明

杰克拉力船长个人博客 4917

Shell与vim编辑器

shell(即:Linux shell)shell脚本业界所说的 shell 通常都是指 shell 脚本,但读者朋友要知道,shell 和 shell script 是两个不同的概念。

net的博客 1160

【第三只眼:Oracle通过归档日志查看系统的业务高峰sql】

根据oracle归档的业务高峰量,查找业务sql,进行优化

霍然的专栏 578

【同花顺公式编辑教程】第4章 功能函数

本章节主要给出大部分能够运行且常用的同花顺指标编辑器提供的函数。其中,计算类函数不作演示,绘图类函数提供示例及示例运行结果。

LiaoYi2016218的博客 2万+

Shell命令-文件及内容处理之vi、vim

文件及内容处理 - vi、vim 1、Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。 但是目前我们使用比较多的是 vim 编辑器。 vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。 2、什么是 vim? Vim 是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能...

weixin_33775582的博客 198

第八篇 永磁同步电机控制-MTPA、MTPV

MTPA 的全称是 Maximum Torque Per Ampere,即 最大转矩电流比控制。核心思想:在输出特定转矩时,通过控制定子电流的幅值和相位(即d轴和q轴电流的分量),使得所需要的定子电流幅值最小。通俗理解:就是用“最省电”的方式产生所需要的力矩。就像开车时,找到一个最合适的油门和档位配合,使得在输出相同动力时,油耗最低。

深耕汽车电子:AUTOSAR、电机控制,助力数字汽车 1868

Shell——vi(vim)编辑器三种模式下的常用命令

vi(vim) 编辑器 是Linux上最常用的编辑器,vim是vi的增强版。 vi 编辑器一般分为三种模式,一般模式、编辑模式 和 命令模式。不同模式下可以进行不同的操作。 一般模式 一般模式下,可进行光标位置的移动,删除字符 以及 复制 字符等。 光标移动快捷键 操作 快捷键 说明 向下移动光标 ↓(向下方向键)、j键 或 space(空格) 每按一次光标向下移动一行 – – – 向上移动光标 ↑(向上方向键)、k键 或 backspace 每按一次光标向上移动一行 –

少歌的博客 1500

AutoSAR配置与实践(深入篇)5.4 OS原理(下 )- 内存保护(MPU)

ECU可能由内部模块、第三方模块等各模块集成的。需求对每个模块所定义的安全等级可能有差异,需要考虑不同安全等级的模块和代码间减少相互干扰,防止程序错误传播。可以理解为包含Task、Alarm、Counter、Schedule table、ISRs、Event等基本对象的容器,用于隔离Task/Alarm等,进行内存保护。

nihaoljq2010的博客 3536

第6章: MMU Notifier在KVM虚拟化中的应用

本文分析了KVM如何利用MMU Notifier机制维护客户机与宿主机地址映射一致性。KVM采用三层地址空间转换架构(GVA→GPA→HPA),通过硬件辅助虚拟化(EPT/NPT)实现高效转换。重点探讨了KVM MMU Notifier回调实现,包括invalidate_range_start/end等核心函数,以及HVA范围处理流程。当宿主机内存变化时,KVM通过注册的notifier回调及时更新映射关系,确保虚拟化环境的内存一致性。文章详细解析了相关数据结构和关键代码实现,揭示了KVM内存管理的核心机制

图形/计算GPU的驱动与虚拟化技术分享园地 2318

Vim编辑器与Shell命令脚本

1  Vim文本编辑器如何使用Vim编辑器来编写、修改文档,然后通过逐个配置主机名称、系统网卡以及Yum软件仓库参数文件等在Linux系统中一切都是文件,而配置一个服务就是在修改其配置文件的参数”。而且在日常工作中大家也肯定免不了要编写文档,这些工作都是通过文本编辑器来完成的.Vim之所以能得到广大厂商与用户的认可,原因在于Vim编辑器中设置了三种模式—命令模式、末行模式和编辑模式,每种模式分别又...

小菜鸟 5540

ABB机器人刷功能选项全一篇就够——不怕丢失程序和IO配置数据

ABB机器人刷功能选项

m0_66701835的博客 1259

Linux学习—认识shell script

什么是shell scrip? shell script 是利用shell功能所写的一个“程序”,这个程序是使用纯文本文件,将一些shell的语法与命令写在里面,搭配正则表达式、管道命令与数据流重定向等功能,以达到我们所想要的处理目的。 shell 可以简单被看成是一个程序语言,且这个程序语言是利用shell与相关工具命令,所以不需要编译即可执行,且拥有不错的排错(debug)工具,可以帮助管理员快速管理好主机。 1 为什么学习shell script 如果只是想会用就不需要学习shell script,但

qq_41596734的博客 695

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Linux学习笔记(9)----shell script

一.定义: shell:一个命令行界面与系统沟通的接口. script:脚本,可以搭配正则表达式,管道命令,数据流重定向功能. 引用鸟哥的话 shell script 是利用 shell 的功能所写的一个『程序 (program)』,这个程序是使用纯文字档,将一些 shell 的语法与命令(含外部命令)写在里面, 搭配正规表示法、管线命令与数据流重导向等功能,以达到我们所想要的处理目的。

Pixel_pig 687

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

20天会学bash shell script(一)

20天会学bash shell script(一)什么是shell script?shell script. 就是一系列的shell 命令组成的文本文件。该文件时可执行的。类似于MS-DOS 下的批处理文件。为什么需要...

188

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Shell高级编程

Shell Script 是一个脚本语言,跟java、php、python、scala一样,都有变量、方法、循环、数组,IO流都有。解释器中比较有名的是Bash,简单易用,免费,经常使用这个,Bash也是大多数Linux厂商使用的解释器。Linux中有多个shell解释器(类似于java JRE),可以通过一些命令查看有哪些解释器。Shell编程,编写Shell脚本,并且该脚本可以运行,一般用于Linux运维(云计算)Shell是一个用C语言编写的程序,可以通过shell进行操作系统的服务。

GSON的博客 236

shell脚本项目一(脚本基础)

shell 脚本基础

2401_83562494的博客 782

Shell脚本编程之(一)Shell脚本简介

什么是Shell脚本 shell script 是利用 shell 的功能所写的一个『程序 (program)』,这个程序是使用纯文本文件,将一些 shell 的语法与指令(含外部指令)写在里面, 搭配正则表达式、管线命令与数据流重导向等功能,以达到我们所想要的处理目的 shell script 可以简单的被看成是批处理文件, 也可以被说成是一个程序语言,且这个程序语言由于都是利用 shell ...

SunnyRivers 1373

项目一实训 shell脚本基础

(1)创建shell脚本firstscript.sh,使用vim文本编辑器在用户家目录下创建一个新的文本文件,将其命名为firstscript.sh,插入以下文本并保存文件,将输入重定向到文件中。(1)编写shell脚本,使用变量获取主机的内存信息、网络互联网协议(Internet Protocol, IP)(4)编写shell脚本,使用变量并结合printf命令格式化输出当前系统的磁盘分区、swap分区、逻辑卷等信息。(3)输出当前目的的日历信息,并使用printf命令格式化输出。

Baekhyuncccc的博客 730

5.vim 编辑器(从零开始学)

每一个系统管理员都有一个偏爱的文本编辑器。有的管理员偏爱gedit,有的偏爱nano,甚至有的偏爱emacs。即使已经有偏爱的编辑器,了解vim还是有必要的。因为vim可以安装在任何系统。:只提供vi和相关命令。:提供vim命令,提供语法高亮拼写检查等特性。vim-X11:提供gvim,图形界面下的vim。gvim包涵菜单栏。当用户不知道命令的时候,可以通过菜单操作。# 安装 vim 工具密码:已加载插件:fastestmirror, langpacks未知的错误"

fengkai4545的博客 374

第34周-鸟哥的Linux私房菜基础篇第三版- 第十三章、Shell Scripts

1、Linux系统的启动接口在/etc/init.d/目录下,目录下的所有档案都是scripts.    重新启动系统注册表档:/etc/init.d/syslogd restart    其中syslogd就是script 2、简单入侵检测功能:       系统注册表档案,记录系统的异状,可用抵挡砍站软件的shell script 3、撰写程序要点:          a、必须以#!

时缔&实验室 995

从零开始学 Linux:从环境搭建到核心命令全攻略

建议收藏!!本文是一份从零开始的 Linux 学习全攻略,涵盖环境搭建(VMware + CentOS 7)、核心命令(文件操作、查找过滤、权限管理)、vi/vim 编辑器、Shell 脚本入门及常见问题排查。全文以实战为导向,每个命令都配有详细示例,适合后端开发、运维、数据分析等方向的初学者快速上手。

yxn4065的博客 522

shell常实用命令

利用ssh远程执行服务器命令 fuction expect_server() { expect <<EOF set timeout 1000 spawn $@ expect { "(yes/no)?" {send "yes\r"; exp_continue} "asswor*" {send "${SERVER_PASSWD}\r"; exp_continue} eo...

weixin_41469272的博客 7558

shell脚本从入门到精通干货第一部分.

1.简介 shell脚本执行方式Shell 是一个用 C 语言编写的程序,通过 Shell 用户可以访问操作系统内核服务。它类似于 DOS 下的 command 和后来的 cmd.exe。Shell 既是一种命令语言,又是一种程序设计语言。 2.入门 vim hello.sh 编辑如下内容 #!/bin/bash echo "Hello Bigdata" echo "Hello Hadoop" echo "Hello Spark" echo "xixixixixix" #! 是一个约定的标记,它告诉系统

LBJ_小松鼠的博客 341

Shell 脚本从入门到精通:万字长文详解基础、变量、流程控制与文本三剑客

本文介绍了Shell的基础知识,包括Shell的功能、种类、调用方式以及脚本编写方法。Shell作为用户与内核交互的桥梁,接收用户命令并调用应用程序,最终将处理结果返回给用户。文章详细说明了不同Shell的种类(如sh、bash、csh等),并演示了如何查看和更改用户默认Shell。此外,还讲解了Shell脚本的基本写法,包括声明解释器和注释规范。最后,介绍了Shell变量的定义、赋值、删除及数组变量的使用方法,帮助读者掌握Shell编程的基础概念和操作。

weixin_53177141的博客 217
上一篇: QXDM 存储log的方法
下一篇: 学习shell与shell script 02_vim 的保存恢复与打开时的警告信息
sinat_36070482
博客等级 码龄10年 118粉丝 97原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值