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字符
相关推荐
HLC++10 小时前
Linux的进程间通信
android·linux·服务器
华清远见IT开放实验室11 小时前
实验室建设案例 | 石家庄科技信息职业学院嵌入式实验室——从底层硬件到系统应用,一所应用型高校的嵌入式人才培养这样落地
linux·arm开发·stm32·嵌入式硬件·高校·实验室建设
groundhappy14 小时前
idalib安装和codex ida-mcp配置
linux·开发语言·python
通信小小昕15 小时前
Ubuntu 26.04 中文输入法安装
linux·运维·ubuntu
张小姐的猫16 小时前
【Linux】网络编程 —— HTTP协议(上)
linux·运维·服务器·网络·http·单例模式·策略模式
栩栩云生16 小时前
AI 写代码犯的错,早被写进了错题集
linux·安全·ai编程
imc.1117 小时前
linux基础IO
linux·运维·服务器
BelongPanda19 小时前
Linux Nginx 纯手动 Let‘s Encrypt 泛域名证书配置教程
linux·nginx
酷可达拉斯19 小时前
Linux操作系统-shell编程(0)
linux·运维·服务器·python·云计算
2301_7779983420 小时前
Linux中断机制:操作系统如何高效运行
linux·运维·服务器