Linux课程知识点总结(二)

七、Shell实用功能

7.1 命令行自动补全

在Linux系统中,有太多的命令和文件名称需要记忆,使用命令行补全功能[Tab]可以快速的写出文件名和命令名

7.2 命令历史记录

在操作Linux系统的时候,每一个操作的命令都会记录到命令历史中,在以后可以通过命令历史查看和使用以前操作的命令。

bash启动的时候会读取/.bash_history文件,并将其载入到内存中,$HISTFILE变量就用于设置/.bash_history文件,bash退出时也会把内存中的历史记录回写到~/.bash_history文件中。

使用history命令可以查看命令历史记录,每一条命令前面都会有一个序列号标示。

命令语法:

history [选项]

7.3 命令排列

如果希望一次执行多个命令,Shell允许在不同的命令之间,放上特殊的排列字符。

(1)使用“;”

使用“;”命令时先执行命令1,不管命令1是否出错,接下来就执行命令2。

命令语法:

命令1; 命令2;命令3;命令4

(2)使用“&&”

使用“&&”命令时只有当命令1正确运行完毕后,才能执行命令2 。

命令语法:

命令1 && 命令2 && 命令3 && 命令4

(3)使用“||”

命令1 || 命令2 ||命令3 || 命令4

7.4 命令替换

在Linux系统中,Shell命令的参数可以由另外一个命令的结果来替代,这种称之为命令替换。

1.使用“$( )”

命令语法:

命令1 $(命令2)

2.使用 ““

命令语法:

命令1`命令2

7.5 命令别名

在需要执行某一个非常长的命令时,所有的命令以及命令的选项、参数都要一一输入,很枯燥也容易出现错误。可以为常用命令定义快捷方式,这些快捷方式可以用比较简单的命令别名来定义。

1、创建别名

使用alias命令可以为命令定义别名。如果命令中有空格的话,就需要使用双引号(比如在命令与选项之间就有空格)。

命令语法:

alias [别名]=[需要定义别名的命令]

2.取消别名

当用户需要取消别名的定义时,可以使用unalias命令。

命令语法:

unalias [别名]

7.6 文件名匹配

文件名匹配使得用户不必一一写出文件名称就可以指定多个文件。这将用到一些特殊的字符,称之为通配符。

1通配符“*”

“*”可匹配一个或多个字符。

2通配符“?”

在匹配时,一个问号只能代表一个字符。

7.7 管道

Linux系统的理念是汇集许多小程序,每个程序都有特殊的专长。复杂的任务不是由大型软件完成,而是运用Shell 的机制,组合许多小程序共同完成。管道就在其中发挥着重要的作用,它可以将某个命令的输出信息当作某个命令的输入,由管道符号“|”来标识。

命令语法:[命令1] | [ 命令2] | [ 命令3]

7.8 重定向

希望将命令的输出结果保存到文件中,或者以文件内容作为命令的参数,这时就需要用到重定向。重定向不使用系统的标准输入端口、标准输出端口或是标准错误端口,而是进行重新的指定。

重定向有四种方式:输出重定向、输入重定向、错误重定向以及同时实现输出和错误的重定向。

错误重定向,即将某一命令执行的出错信息输出到指定文件中。

命令语法:

[命令] 2> [文件]

另外一种特殊的错误重定向是错误追加重定向,即将某一命令执行的出错信息添加到已经存在的文件中。

命令语法

[命令] 2>> [文件]

同时实现输出和错误的重定向,即可以同时实现输出重定向和错误重定向的功能。

命令语法:

[命令] &> [文件]

八、Vi编辑器

进入插入模式:

命令 功能
i 从光标当前所在位置之前开始插入
a 从光标当前所在位置之后开始插入
I 在光标所在行的行首插入
A 在光标所在行的行末尾插入
o 在光标所在的行的下面新开一行插入
O 在光标所在的行的上面新开一行插入
s 删除光标位置的一个字符,然后进入插入模式
S 删除光标所在的行,然后进入插入模式

光标移动:

命令 功能
↑键(向上箭头 ) 使光标向上移动一行
↓键(向下箭头 ) 使光标向下移动一行
←键(向左箭头) 使光标向左移动一个字符
→键(向右箭头 ) 使光标向右移动一个字符
k 使光标向上移动一行
j 使光标向下移动一行
h 使光标向左移动一个字符
l 使光标向右移动一个字符
nk 使光标向上移动n行,n代表数字
nj 使光标向下移动n行,n代表数字
nh 使光标向左移动n个字符,n代表数字
nl 使光标向右移动n个字符,n代表数字
H 使光标移动到屏幕的顶部
M 使光标移动到屏幕的中间
L 使光标移动到屏幕的底部
Ctrl+b 使光标往上移动一页屏幕
Ctrl+f 使光标往下移动一页屏幕
Ctrl+u 使光标往上移动半页屏幕
Ctrl+d 使光标往下移动半页屏幕
0(数字0) 使光标移到所在行的行首
$ 使光标移动到光标所在行的行尾
^ 使光标移动到光标所在行的行首
w 使光标跳到下一个字的开头
W 使光标跳到下一个字的开头,但会忽略一些标点符号
e 使光标跳到下一个字的字尾
E 使光标跳到下一个字的字尾,但会忽略一些标点符号
b 使光标回到上一个字的开头
B 使光标回到上一个字的开头,但会忽略一些标点符号
( 使光标移动到上一个句首
) 使光标移动到下一个句首
{ 使光标移动到上一个段落首
} 使光标移动到下一个段落首
G 使光标移动到文件尾(最后一行的第一个非空白字符处)
gg 使光标移动到文件首(第一行第一个非空白字符处)
space键(空格键) 使光标向右移动一个字符
Backspace键 使光标向左移动一个字符
Enter键 使光标向下移动一行
Ctrl+p 使光标向上移动一行
Ctrl+n 使光标向下移动一行
n| 使光标移动到第n个字符处,n代表数字
nG 使光标移动到第n行首,n代表数字
n+ 使光标向下移动n行,n代表数字
n- 使光标向上移动n行,n代表数字
n$ 使光标移动到以当前行算起的第n行尾,n代表数字

命令模式命令:



版权声明:本文为unleashed原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/unleashed/p/14213318.html