“Linux-2020-spring-3-25”的版本间的差异

来自SUDA-HLT
跳到导航 跳到搜索
第62行: 第62行:
 
== vi使用==  
 
== vi使用==  
  
*vi的三个模式
+
vi的三个模式(模式的区分和命令不是很统一,以后会给大家一个PDF学习讲义)
   1、命令模式
+
   命令模式
   2、插入模式
+
   插入模式
   3、底层命令
+
   底层命令
  
*三个模式之间转换
+
三个模式之间转换
 
+
   命令--->插入模式(i/I光标在行首/a/A光标在行尾/o光标在下一行/O上面再插入一行,光标在下一行)
   1、命令--->插入模式(i/I光标在行首/a/A光标在行尾/o光标在下一行/O上面再插入一行,光标在下一行)
 
 
   插入模式--->命令模式下(ESC键,u撤销,x删除一个字符,r替换,yy复制一行,p粘贴,dd删除一行,3dd删除三行:set nu 显示行号;^光标到行首,$光标到行尾,G光标到最后一行,:5直接跑到第五行,3G跑到第三行)
 
   插入模式--->命令模式下(ESC键,u撤销,x删除一个字符,r替换,yy复制一行,p粘贴,dd删除一行,3dd删除三行:set nu 显示行号;^光标到行首,$光标到行尾,G光标到最后一行,:5直接跑到第五行,3G跑到第三行)
 
   命令--->视图模式(v)  按字符选择
 
   命令--->视图模式(v)  按字符选择
第77行: 第76行:
 
   vi wenjianming---进入命令模式---输入“i/insert”---进入插入模式----按“ESC”---进入命令模式---“:wq”---保存退出
 
   vi wenjianming---进入命令模式---输入“i/insert”---进入插入模式----按“ESC”---进入命令模式---“:wq”---保存退出
 
    
 
    
*打开多个文件
+
打开多个文件
 
   命令模式“:sp”利用“ctrl +w+w”进行切换
 
   命令模式“:sp”利用“ctrl +w+w”进行切换
  
 
中枢,中轴
 
中枢,中轴

2020年3月18日 (三) 05:14的版本

回顾上节课的内容

文件查看命令

 less、more、cat、head、tail

文件操作命令

 cp、mv、mkdir rm

查看帮助文档

  man、info、help
  info类似在浏览网页,可以在不同网页上跳转,我不熟悉

文本编辑

 vim,另一个是emacs(更难一点,用的人少一些)

命令的类型和执行过程

命令的三种类型

 外部命令:命令由kernel和shell外部程序实现,可以找到这个命令对应的可执行文件,bin目录下的命令均为外部命令
    mv more bash
 内部(内嵌)命令:命令由shell(或kernel?)实现,对应shell(或kernel)的一部分代码
    cd type alias help
 别名:ls is aliased to'ls --color=none'

shell有很多种

 bash是最常用的一种shell(GNU Bourne-Again Shell)
 其他的:sh csh ksh dash

type命令:查看命令类型

 $ type ls mv cd less
 
 $ps afx 查看进程的情况
 $echo $PATH查看路径

alias:取别名

 $ alias lm='ls -a'

内部命令的执行过程

 相当于调用一个函数

外部命令的执行过程

 $ mv x.c xx.c (例如)
 找到mv对应的可执行文件
 把可执行文件的代码Load到内存中
 设置命令行参数
 开启子进程,执行mv命令对应的代码(切换进程)
 执行结束后回到shell

外部命令执行的一个例子

   $ cat (不输入参数,这时cat进程就会和用户交互,等待用户输入内容)
   在另一个文字终端中输入
   $ ps afx,查看进程树的快照(snapshot),会看到
       \_ bash
       |      \_ cat
   其含义就是cat进程是bash进程的子进程
 此例子说明:shell通过创建子进程来执行外部命令。否则怎么执行呢?外部命令有完整的代码(有入口函数main)
   

shell如何找外部命令

  PATH环境变量,逐一扫描路径(注意不会递归的进入到子目录中)

vi使用

vi的三个模式(模式的区分和命令不是很统一,以后会给大家一个PDF学习讲义)

  命令模式
  插入模式
  底层命令

三个模式之间转换

  命令--->插入模式(i/I光标在行首/a/A光标在行尾/o光标在下一行/O上面再插入一行,光标在下一行)
  插入模式--->命令模式下(ESC键,u撤销,x删除一个字符,r替换,yy复制一行,p粘贴,dd删除一行,3dd删除三行:set nu 显示行号;^光标到行首,$光标到行尾,G光标到最后一行,:5直接跑到第五行,3G跑到第三行)
  命令--->视图模式(v)  按字符选择
  命令--->视图行模式(V) 按行选择 
  命令--->按列选择(ctrl+v)
  命令--->底行模式(/搜索 n正向找,N反着找; ?反向搜索;正则表达式查找/o[uv]---找到所有含有ou或者ov的字符;“:!date”可查看时间;“:r!date”将命令执行的结果保存在当前文本中;“:n1,n2s/word1/word2/g   n1和n2为数字,在第n1行和n2行之间寻找word字符串,并将该字符串替换为word2  :1,$s/word1/word2/g    从第一行到最后一行查找字符串word1字符串,并将字符串word1替换为word2 :1,$s/word1/word2/gc   从第一行到最后一行查找字符串word1,并将字符串word1替换为word2,在替换之前提示用户确认是否替换(confirm)”替换)
  vi wenjianming---进入命令模式---输入“i/insert”---进入插入模式----按“ESC”---进入命令模式---“:wq”---保存退出
  

打开多个文件

  命令模式“:sp”利用“ctrl +w+w”进行切换

中枢,中轴