1.2 文件层级系统

文件层级系统_重定向_管道_vi编辑器

1. FHS文件层级系统

  • /:根分区
  • /boot:系统启动相关的文件,如内核(vmlinuz)、initrd(initramfs)以及grub(bootloader)
  • /dev:设备文件,不能单独分区
  • /etc:配置文件目录
  • /home:普通用户家目录
  • /root:管理员家目录
  • /lib:库文件目录
  • /media:挂载点目录,通常用来挂载移动设备
  • /mnt:挂载点目录,通常用来挂载额外的临时文件系统,比如另一块硬盘
  • /opt:可选目录,早期通过用来安装第三方软件
  • /proc:伪文件系统,内核映射文件,不能单独分区
  • /sys:伪文件系统,跟硬件设备相关的属性映射文件,不能单独分区
  • /tmp:临时文件目录
  • /var:可变化的文件,比如log、cache。存放日志文件、pid文件、lock文件
  • /bin:可执行文件,用户命令
  • /sbin:管理命令
  • /usr:全局共享只读文件。提供操作系统核心功能,可以单独分区
    /usr/bin
    /usr/sbin
    /usr/lib
    
  • /usr/local:第三方软件安装路径
    /usr/local/bin
    /usr/local/sbin
     /usr/local/lib
    /usr/local/etc
     /usr/local/man
    
  • /etc、/bin、/sbin、/lib等目录内是系统启动就需要用到的程序,这些目录不能挂载额外的分区,必须在根文件系统的分区上
  • /usr/bin、/usr/sbin、/usr/lib提供操作系统核心功能,/usr可以单独分区
  • /usr/local/bin、/usr/local/sbin、/usr/local/lib、/usr/local/etc、/usr/local/man等等在/usr/local目录下的内容都是第三方软件,建议单独分区

2. 重定向

2.1 系统设定

  • 默认输入设备:标准输入,STDIN,0(键盘)
  • 默认输出设备:标准输出,STDOUT,1(显示器)
  • 标准错误输出:标准错误,STDERR,2(显示器)

2.2 I/O重定向

  • >:覆盖输出
  • >>:追加输出
  • 2>:重定向错误输出
  • &>:覆盖重定向标准输出和错误输出至同一文件
  • <:输入重定向
  • <<:Here Document

3. 管道

  • 前一个命令的输出作为后一个命令的输入。
  • 最后一个命令会在当前shell进程的子shell进程中执行。
  • 命令1 | 命令2 | 命令3 | …
  • tee命令:从标准输入读取数据,输出一份到屏幕,一份保存到文件
    [root@localhost er]# echo 'holle young boy' | tee holle
    holle young boy
    [root@localhost er]# cat holle 
    holle young boy
    

4. Linux下的编辑器

4.1 Linux下常见的文本编辑器

  • emacs
  • pico
  • nano
  • joe
  • jed
  • vi

vi编辑器是linux和unix上最基本的文本编辑器,工作在字符模式下。由于不需要图形界面,vi是效率很高的文本编辑器。尽管在linux上也有很多图形界面的编辑器可用,但vi在系统和服务器管理中的功能是那些图形编辑器所无法比拟的。

vi编辑器可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序所没有的。

vim是vi的增强版,比vi更容易使用。vi的命令几乎都可以在vim上使用。

4.2 vi/vim的特点

  • vi/vim是一种纯文本编辑器,它不像word可以排版,可以调整字体大小,可以改变字体等等。
  • vi/vim只是一个文本编辑工具,只能对文本的内容进行操作,比如新增内容、修改内容、删除内容等等
  • 全屏幕显示

4.3 vi/vim的三种编辑模式

  • 命令模式
    • 作用:用户执行命令,比如复制行、粘贴行等等
  • 输入模式
    • 作用:用于输入文本、修改文本等等
  • 末行模式
    • 作用:用于查找文本、保存修改等等

4.4 vi/vim的三种编辑模式间转换的方式

  • 命令模式–>输入模式
    • i:insert,在当前光标所在字符的前面,转为输入模式
    • I:大写的i,在当前光标所在行的行首转换为输入模式
    • a:append,在当前光标所在字符的后面转换为输入模式
    • A:在当前光标所在行的行尾转换为输入模式
    • o:open,在当前光标所在行的下方新建一行并转为输入模式
    • O:大写的o,不是数字0,在当前光标所在行的上方新建一行并转换为输入模式
  • 模式切换
    • 输入模式–>命令模式
      • 命令 ESC
    • 命令模式–>末行模式
      • 命令 :
    • 末行模式–>命令模式
      • 命令 ESC ESC

4.5 vi/vim打开文件方式

  • 文件打开后默认处于命令模式下
  • vim filename //打开文件
  • vim +n filename //打开文件并定位到第n行
  • vim +/pattern filename //打开文件并定位到第一次被/pattern匹配到的内容行首

4.6 关闭文件方式

  • 末行模式下关闭文件
命令意义
q退出
wq保存并退出
q!不保存退出
w保存但不退出
w!强行保存
wq!强行保存并退出
x强行保存并退出
  • 命令模式下关闭文件(强行退出并保存)
    • 命令:ZZ(shift+zz)

4.7 移动光标的方式

  • 逐字符移动
    • h :向左移动一个字符
    • l :向右移动一个字符
    • j :向下移动一个字符
    • k :向上移动一个字符
    • #h:向左移动#个字符
    • #l:向右移动#个字符
    • #j:向下移动#个字符
    • #k:向上移动#个字符
  • 以单词为单位移动
    • w:移动至下一个单词的词首
    • e:跳至当前或下一个单词的词尾
    • b:跳至当前或上一个单词的词首
    • #w:以当前光标为起点跳至第#个单词的词首
    • #e:以当前光标为起点跳至第#个单词的词尾
    • #b:以当前光标为起点跳至第#个单词的词首
  • 行内跳转
    • 0:数字0,跳转到绝对行首
    • ^:跳转到行首的第一个非空白字符
    • $:跳转到绝对行尾
  • 行间跳转
    • gg:跳转到第一行
    • G:跳转到最后一行
    • #gg:跳转至第#行
    • #G:跳转至第#行
  • 翻屏
    • ctrl+f:向下翻一屏
    • ctrl+b:向上翻一屏
    • ctrl+d:向下翻半屏
    • ctrl+u:向上翻半屏

4.8 字符编辑

  • x:删除光标所在处的单个字符
  • #x:删除光标所在处及其向后共#个字符
  • xp:交换光标所在处的字符及其后面字符的位置

4.9 删除命令:d

  • 命令模式下d命令常与跳转命令组合使用,如
    • d$:表示删除当前光标所在位置到行尾的内容
    • d^:表示删除当前光标所在位置到第一个行首非空白字符位置的内容
    • d0:表示删除当前光标所在位置到绝对行首的内容
    • #d跳转符:删除跳转符指定范围内的#个,例如:
      • #dw
      • #de
      • #db
    • dd:删除当前光标所在行整行
    • #dd:删除包括当前光标所在行在内的#行
    • D:删除当前光标所在行的内容,保留空行
  • 末行模式下d命令的使用
    • :StartADD,EndADDd

      • 这里的StartADD与EndADD是指一个范围,例如:

        1,5d:表示删除第1到第5行

    • 范围表示方法:

      • x:删除光标所在处的单个字符
      • #x:删除光标所在处及其向后共#个字符
      • xp:交换光标所在处的字符及其后面字符的位置
      • . :光标所在当前行
      • $:最后一行
      • +#:光标所在行往后#行
      • $-#:倒数第#行
      • %:全文

4.10 复制与粘贴

  • 复制命令:yy
  • 粘贴命令:p
    • p:小写p
      • 若删除或复制的为整行内容,则粘贴至光标所在行的下方
      • 若删除或复制的为非整行,则粘贴至光标所在字符的后面
    • P:大写p
      • 若删除或复制的为整行内容,则粘贴至光标所在行的上方
      • 若删除或复制的为非整行,则粘贴至光标所在字符的前面

4.11 替换、撤销编辑与重复编辑操作

  • 替换:r
    • R:替换模式,替换多个字符
    • r#:将当前光标的字符替换为#,这里的#可以是任何字符
  • 撤销编辑:u
    • u:撤销前一次的编辑操作,连接u命令可以撤销此前的n次编辑操作
    • #u:直接撤销此前的#次编辑操作
    • ctrl+r:还原最近一次的撤销操作
  • 重复前一次编辑操作:.
    • .

4.12可视化与文本查找

  • 可视化模式:可视化模式下可以对选取的内容进行前面讲的所有编辑操作

    • v:按字符选取内容
    • V:按矩形块(行)选取内容
  • 文本查找:

    • /pattern:从上往下查找匹配的内容
    • ?pattern:从下往上查找匹配的内容
    • n:从上往下查找匹配到的内容的下一条
    • N:从下往上查找匹配到的内容的下一条

4.15 查找并替换与行号控制

  • 查找并替换:s
  • s命令只能在末行模式下使用,语法如下:
    • :ADDR1,ADDR2 s/pattern/string/gi
    • 示例:

    :1,5 s/abc/def/g 表示把第一行到第五行的所有abc替换为def

  • 末行模式下显示或取消显示行号:
    • set nu:显示行号
    • set nonu:取消显示行号
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值