在 Linux 下最常用的文本编辑器莫过于 vim,而这篇文章就会介绍 vim 编辑器的使用方法。vi 是 Visual Interface 的缩写,而 vim (VI iMproved) 则是其增加版本。
与其他编辑器不同,vim 编辑器拥有三种模式
- 编辑模式(命令模式)
- 输入模式
- 末行模式
每种模式都有其各自的用途与操作方式。
在 Linux 下最常用的文本编辑器莫过于 vim,而这篇文章就会介绍 vim 编辑器的使用方法。vi 是 Visual Interface 的缩写,而 vim (VI iMproved) 则是其增加版本。
与其他编辑器不同,vim 编辑器拥有三种模式
每种模式都有其各自的用途与操作方式。
内部命令是 shell 程序的一部分,其中包含的是一些比较简单的 linux 系统命令,这些命令由shell程序识别并在 shell 程序内部完成运行,通常在 Linux 系统加载运行时 shell 就被加载并驻留在系统内存中。内部命令是写在 bash 源码里面的,其执行速度比外部命令快,因为解析内部命令 shell不需要创建子进程。比如:exit, history, cd, echo等。 外部命令是 Linux 系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以其包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调用内存。通常外部命令的实体并不包含在 shell 中,但是其命令执行过程是由 shell 程序控制的。shell 程序管理外部命令执行的路径查找、加载存放,并控制命令的执行。外部命令是在 bash 之外额外安装的,通常放在/bin
, /usr/bin
, /sbin
,/usr/sbin
等位置。 使用type
命令可以区分内部命令
sed 是 Linux 下的一种流编辑器(Stream Editor),用以处理编辑输入流(文件、管道等)。在使用时,sed 将输入流逐行读进一个叫做模式空间的缓存区,进行编辑处理后再输出。
sed 的命令语法如下
sed [options] ‘AddressCommand’ FILE
参数
-n 静默模式,不显示模式空间中的内容
-i 直接修改源文件
-e SCRIPT 执行脚本,可以同时执行多个( -e SCRIPT -e SCRIPT …)
-f /PATH/TO/SCRIPT/ 从文件读取脚本
-r 使用扩展正则表达式 在引号间,可以使用以下定址来决定处理哪些行
在定址之后,便可以用命令来决定如何处理刚刚选定的行
d: 删除符合条件的行
p: 显示符合条件的行
a \string: 在符合条件的行后追加内容为 string 的新行
i \string: ~前
r FILE 将指定文件的内容添加到符合条件的行后
w FILE 将地址指定的行另存到指定文件中
s/pattern/replacement 查找并替换,默认只替换每一行第一次被匹配到的字符串修饰符g: 全局替换i: 忽略大小写
shell是指一种提供了访问操作系统内核服务界面的应用程序。Ken Thompson的sh是第一种Unix Shell,而Windows Explorer则是一个典型的图形界面Shell。而Shell脚本(shell script),是则是指为shell编写的脚本程序。
和其他脚本程序一样,Shell脚本只许一个解释器就可以运行。在Linux下,默认安装了Shell解释器,而其中最为流行的就是bash。
继续阅读Linux学习笔记(十)——bash脚本编程:变量、条件判断、算数运算
grep是Global search regular expression(RE) and Print out the line的缩写,全面搜索匹配正则表达式的内容并输出。
grep家族包括了grep、egrep和fgrep三个命令。其中egrep和fgrep的命令只跟grep有很小的不同。egrep(Extended grep)是grep的扩展,支持更多的正则元字符,而 fgrep(Fixed grep或Fast grep)则把所有的字母都看作单词。
grep [OPTIONS] PATTERN [FILE…]
常用参数
-i 忽略大小写
–color 匹配到的文字高亮显示
-v 显示没有被匹配的行
-o 只显示被匹配到的字符串
计算机的五大部件分别是运算器、控制器(这两部分合称CPU)、存储器(RAM)输入设备和输出设备。
这三种总线在机器内部这是复用的,因此就需要寄存器暂时储存数据和指令。
此外,就是I/O设备来实现数据的输入和输出了。
useradd USERNAME
groupadd USERNAME
useradd [options] USERNAME
-u UID
-g GID 基本组
-G GID 附加租
-c ‘COMMENT’ 注释
-d DIR 家目录
-s SHELL shell路径
-m 创建家目录
-M 不创建家目录
继续阅读Linux学习笔记(六)——用户管理命令
在之前的内容里已经提到,Linux的权限分为以下三种:
而每一个文件或者目录,又为三种用户类别设置了分别设置了权限:
因此,就有了Linux下的9位一组的权限。
继续阅读Linux学习笔记(七)——权限管理
Linux为了保证安全,为每个文件设置了r、w、x这3种代表不同操作的权限,而对文件和目录,这三种权限的表现方式略有不同。
对于文件来说,
r代表可读,可以使用类似cat等命令查看命令内容;
w代表可写,可以编辑或删除;
x代表可执行,可以命令提示符下当做命令提交给内核运行;
而对于目录来说,
r表示可以对此目录ls以列出内部所有文件;
w表示可以在此目录创建文件;
x则表示可以使用cd切换进此目录,也可以使用ls -l查看内部文件的详细信息;
这些3种权限合为一组,可以用8进制的数字表示出来:
继续阅读Linux学习笔记(五):用户及权限
说到bash,就不得不提到shell。
在Linux中,shell是直接和内核交互的最低层的应用程序从而实现用户和计算机交互。shell有很多种,而bash则是其中的一员。bash的功能相对气筒shell来说功能更为强大,又是开源软件,因此成为了大多数Linux系统的默认shell。
当用户登录系统后,系统就为当前用户建立了一个进程用来运行bash,不用的用户之间互不影响。
作为一款功能强大的shell,bash提供了很多特性,可以大大简化我们的操作,其中大致包括: