Linux创建与编辑视图

本博客将会详细讲解如何在Linux中如何编辑配置文件

输出重定向

对于一台设备而言,存在着两种设备,分别负责输入与输出:
显示器(输出设备>) 与 键盘(输入设备<)

对于Linux系统而言,我们可以使用 echo 命令在终端上输出一些我们想要的内容

即使是命令错误,Linux也会输出错误信息到终端上

对于这两种情况,我们分别可以理解为标准输出设备/0标准错误输出/2

在未来的一些比较专业的需求中,也许我们需要保存一些数据,或者是日志错误信息等

这时候我们就需要使用到输出中的输出重定向

输出重定向的标识符为>

一般是下面的这种使用方式

可以看到,echo原本会将haha输出到终端上,现经过>输出重定向后到一个文件中

这里便多创造了一个文件,cat显示该文件内容,发现是原本该输出在终端的haha

这便是输出重定向的作用

追加重定向

但是假如我们想要重定向其他信息到文件中,继续使用>会发现原来的信息被覆盖了

这时候我们就需要使用到追加重定向 >>

这里我们使用>>将I Love Linux!追加重定向到1.txt文件中
cat显示该文件内容,可以看到,在原有的hehe基础上,换行添加了I Love Linux!的数据

错误重定向

如果我们这里直接使用>>追加重定向到一个新的文件中,会发现与>效果一致

所以与输出重定向不同的是,追加重定向并不会将原来的信息覆盖

而是在原有的基础上继续添加数据

我们也可以使用错误重定向2>将错误信息给重定向到文件中

由于这里使用了大写的Echo,终端在正常情况下会报错

但是我们使用2>错误重定向将错误信息输出在3.txt文件中

使用cat显示该文件内容,可以发现错误信息被输出了出来

这个方法可以运用在未来需要导出错误报告数据的生产环境中


构造管道

什么是管道?

管道拥有两个参数:命令1 | 命令2(|即为管道)

他的作用是将命令1的结果传递给命令2,作为命令2的第一个参数继续执行

我们下面举个例子来观察一下现象:

bc命令是一个用于执行数学计算的命令行工具。它支持各种数学运算,包括整数和小数的加减乘除,取余数,指数运算等

这里我们使用echo 10-5 | bc的命令,最后在终端上输出5

过程是首先echo将10-5作为输出值,也就是返回值,通过管道传递给bc
bc接收到10-5作为参数,随后将其计算出值为5,输出在终端上

当然,这只是一个很简单的例子,真正在生产中往往还有比这更加复杂的使用情景

除此之外,|管道还有一个非常强大的功能:tee

tee是三通,下面使用一个例子来方便理解:

这里我们使用echo 233666 | tee 4.txt的命令来进行操作

可以看到,命令执行完毕之后首先在终端上输出了233666

随后使用ls查看当前文件可以发现多了一个文件4.txt

使用cat显示4.txt文件内容,可以发现4.txt的文件内容是233666

这便是三通的用法

首先将233666输出至终端上,并将输出值保留,存放至4.txt中

当然,tee还有非常强大的一个选项 -a

他的使用效果如下:

我们这里使用了echo 666233 | tee -a 4.txt的命令来进行操作

与上面一样,首先是在终端中输出了666233的内容

随后显示4.txt的文件却发现

666233被追加在了233666的后面

这便是tee -a的使用效果:追加(等同于>>)

这个方法一般使用在权限操作文件的生产中,在未来会提及


vim编辑器

Vim是一个在Linux和其他Unix操作系统上广泛使用的文本编辑器

它包含了很多高级的特性和功能

如语法高亮、智能缩进、宏、光标位置记录、多级撤销、拼写检查和补全等

我们一般在Linux进行文件编辑修改一般都是使用vim编辑器

在Linux中,我们可以使用vim + [文件名] 或者 vi + [文件名]

使用vim编辑器打开一个文件进行编辑操作(vi是vim的别名)

三种环境

vim编辑器中有三种模式:命令模式编辑模式行底模式

  • 命令模式:进入vim默认是命令模式,在此模式下无法编辑,需要按i进入编辑模式
  • 编辑模式:在此模式下可以进行文本编辑,按esc键退出编辑模式回到命令模式
  • 行底模式:想要进入此模式,需要在命令模式下输入':'
    下面给大家举一个实例来观察一下:

    首先我们创建一个名为test.txt的文件
    随后使用vim test.txt命令在vim中打开此文件

    进入之后显示如图上
    现在我们所在的是命令模式
    我们需要在此模式下按键盘i键进入编辑模式

    进入编辑模式后如图所示,我们当前便可以在此页面输入或修改我们想要的信息

    输入结束后我们需要保存并退出vim编辑器,在编辑模式下按esc退出回到命令模式

    随后在此页面输出键盘组合键Shitf + ;(也就是输入':')进入行底模式
    在行底模式输入w(保存)q(退出)即可保存并退出vim编辑器

    推出之后我们再使用cat test.txt命令来查看文件内容

    可以看到,文件已经被保存了,这就是vim的最简单的使用方法
    除了上面三种模式之外,下面还有两种模式需要大家了解:
  • 视图模式:在命令模式下使用v进入(选择单个单词)使用V进入(选择一行数据)
  • 块模式:在命令模式下用键盘组合键Ctrl+v进入

快捷键

  • 命令模式
    键盘'h'(光标左移)
    键盘'l'(光标右移)
    键盘'j'(光标下移)
    键盘'k'(光标上移)
    键盘'w'(单词后移)
    键盘'b'(单词前移)
    键盘'gg'(光标移到第一行)
    键盘'G'(光标移到最后一行)
    键盘'y'(复制)
    键盘'yw'(复制一个单词)
    键盘'yy'(复制一行)
    键盘'p'(粘贴在光标下面)
    键盘'P'(粘贴在光标上面)
    键盘'x'(删除光标所在字符)
    键盘'X'(删除光标前的字符)
    键盘'u' (撤销)
    键盘'dw'(删除一个单词)
    键盘'dd'(删除一行)
    键盘'd^'(删除到行首)
    键盘'd$'(删除到行尾)
    键盘'Ctrl + r'(撤销撤销操作)
  • 编辑模式
    键盘'I'(行首插入)
    键盘'a'(光标前插入)
    键盘'A'(行末插入)
    键盘'o'(光标下开一行)
    键盘'O'(光标上开一行)
    键盘's'(删除光标所在字符,并进入命令模式)
    键盘'S'(删除光标所在行,并进入命令模式)
  • 行底模式
    set nu显示行号
    set nonu取消显示行号
    w保存文件
    w /newfile另存为其他文件
    q未保存退出
    q!放弃对内容修改并强制退出
    s/old/new 将当前行中所查找到的第一个old字符替换为new字符
    s/old/new/g 将当前行中查找到的所有old字符全部替换为new字符
    #,#s/old/new/g 在行号"#,#"范围内查找到的所有old字符全部替换为new字符
    %s/old/new/g 将整个文件中查找到的所有old字符全部替换成new字符
    #,$s/old/new/g 将#行到末行中查找到的所有old字符全部替换成new字符
相关推荐
Flying_Fish_roe3 分钟前
linux-软件包管理-包管理工具(Debian 系)
linux·运维·debian
大广-全栈开发42 分钟前
centos 7 安装gitlab
linux·git·centos
666786661 小时前
Mysql高级篇(中)—— SQL优化
linux·运维·服务器·数据库·sql·mysql
宇宙第一小趴菜1 小时前
虚拟机安装xubuntu
linux·服务器·vmware
悲伤的创可贴2 小时前
Docker安装以及简单使用
linux·docker·centos
zhaowangji2 小时前
ubuntu虚拟机装载共享文件夹导致的诡异错误
linux·运维·ubuntu
小崔爱读书2 小时前
普元DWS - Linux下安装DWS标准版
linux·运维·服务器
PerfMan2 小时前
基于eBPF的procstat软件追踪程序垃圾回收(GC)事件
linux·开发语言·gc·ebpf·垃圾回收·procstat
小安运维日记3 小时前
Linux云计算 |【第三阶段】PROJECT1-DAY1
linux·运维·云计算·apache
pyliumy3 小时前
rsync 全网备份
linux·运维·服务器