shell+vim——05

ln --->link 链接, 链接有两种:

  软连接 ln -s 源文件 目标文件   :相当于创建了一个快捷方式,源文件损坏后这个链接也就失效了
    ln -s  a.text  a.text.soft    //给a.text  创建一个名为 a.text.soft 的软链接
  硬连接 ln 源文件 目标文件
    ln   a.text   a.text.hard    //给a.text  创建一个名为 a.text.soft 的硬链接

    #硬连接相当于cp -p +同步跟新 ,-p就是拥有原来文件所有的属性

重定向与管道符

  作用:将命令的执行结果输出到指定的文件中,而不是直接显示在屏幕上

    0 标准输入 键盘 stdin 仅读取
    1 标准输出 终端 stdout 仅写入
    2 标准错误 终端 stderr 仅写入

    3+ filename 其他文件 读/写

在linux中构建了一个带有编号标记的通道(文件描述符)的进程结构来管理打开文件
通过进程连接到文件,进行文件数据的操作

类型1:重定向标准输入,将命令的执行结果输出到指定的文件家中

  • 1>(也可以省略写为 > )代表覆盖写
  • 1>>(也可以省略写为 >> )代表追加写

类型2:重定向标准错误,将错误信息写入指定文件中

  • 2> 代表覆盖写
  • 2>>  代表追加写

类型3:重定向标准输入和标准错误,将标准输出和标准错误输出写入指定的文件中

  • &> 代表覆盖写
  • &>> 代表追加写

举例子:

  • 我用的是root登录,来到一个文件夹中,随便啥文件夹都可以  执行 命令 ll > message.txt   你会发现执行的结果都在message中了
  • 执行ls > message.txt  你会发现执行的结果仍然在message.txt 中,但是原来的内容被覆盖掉了
  • 执行 find / -user student(我事先有一个student的用户) 就会出现一堆执行结果,有错误输出和正常输出
  • 执行 find / -user studnet  > message.txt 你会发现,屏幕上只是打印了标准错误输出,正常输出写入了message.txt 文件中
  • 执行 find / -user studnet  2> message.txt 你会发现,屏幕上只是打印了标准输出,标准错误输出写入了message.txt 文件中
  • 执行 find / -user studnet  &> message.txt  你会发现所有的输出都写入了文件中 

管道符:传送  符号  |  (将管道前面的输出结果作为后面语句的条件执行)

  举栗子:加入在当前目录下  ls 命令会打印许多内容  那么我们就可以使用 ls |  more,就可以将打印的结果分页展示

Vim文本编辑器
vi/vim vim是 vi 的一个升级版本
vim特点:可拓展性比较高,支持多种语言的脚本,支持文件类型的插件,支持文本的各种骚气操作

直接在终端中输入 vim 或者 vi 都可以查看一下当前vim的一些信息

vim filename  就可以使用vim对这个文件进行一些骚操作了,打开后有三种模式:

命令模式:此模式用于文件导航,复制粘贴,剪切,可以使用简单的命令,撤销,恢复
输入模式:正常的文本编辑模式,进行文本的常规操作,还可以替换文本
末行模式:保存,退出,搜索,替换

使用vim打开文件的默认模式是命令模式,这个时候你对文件是无法操作的,按o键会给你换行切换到输入模式,按i键会直接给你切换到输入模式,按Esc键又可以回到命令模式,然后 输入 : 就可以到末行模式  在末行模式或者命令中输入 :w 就可以保存对文件的修改,同样在这两种模式下输入 :w 就可以对文件进行保存,:q,就可以退出,但是如果你改动了文件没有保存 :q 时无法退出了,这个时候就需要强制退出   :q! 

末行模式和输入模式之间不能互相切换,只有通过命令模式进行中转 

原文地址:https://www.cnblogs.com/luojianyi/p/9314526.html