3-2 bash 特性详解

时间:2021-03-01 15:10:29

根据马哥Linux初级 3-2,3-3,编写

1. 文字排序

不影响源文件,只是显示根据ASCII码字符升序

3-2 bash 特性详解

nano的用法,

其实这个是生成一个文本,然后就可以在里面编辑。

3-2 bash 特性详解

Ctrl + o, 后回车enter

3-2 bash 特性详解

之后再Ctrl + x 退出来了。

3-2 bash 特性详解

-n : 按照数值大小排序

3-2 bash 特性详解

-r:降序

3-2 bash 特性详解

-t:字段分隔符

-k:以哪个字段为关键字进行排序

3-2 bash 特性详解

-u:unique,排序后相同的行只显示一行

3-2 bash 特性详解

-f: 排序后忽略大小写

3-2 bash 特性详解

uniq的用法:消除相邻的

3-2 bash 特性详解

-d: 只显示重复的行

3-2 bash 特性详解

-c : 显示文件中行重复的次数

3-2 bash 特性详解

2. 文本统计

wc : (word count)

注:空白也是字符

3-2 bash 特性详解

3-2 bash 特性详解

3-2 bash 特性详解

-l,-w,-m的用法

3-2 bash 特性详解

3. 字处理命令

tr: 装换或者删除字符

3-2 bash 特性详解

只是显示改变,但是它的原始数据不变

3-2 bash 特性详解

3-2 bash 特性详解

4. bash及其特性

程序:进程是程序执行的实例

进程:在每个过程看来,当前主机上只存在内核,和当前进程

shell,子shell:有父shell和子shell

5. bash命令行编辑

Ctrl + a : 跳到命令行首

Ctrl + e  :跳到命令行尾

Ctrl + d  :删除光标当前的字母

Ctrl + u: 删除光标至命令行首的内容

Ctrl + k : 删除光标至命令行尾的内容

Ctrl + l: 清屏,类似于clear

6. 命令行历史

history:查看命令行历史

3-2 bash 特性详解

因为命令是保存在缓存中的, -c是清除命令历史

3-2 bash 特性详解

-d offset

3-2 bash 特性详解

Linux系统当你在shell(控制台)中输入并执行命令时,shell会自动把你的命令记录到历史列表中,一般保存在用户目录下的.bash_history文件中。默认保存1000条,你也可以更改这个值

不过,我看了一下,这个文件好像是影藏的。有个命令,history -w这个命令应该是把命令写入这个文档中。

3-2 bash 特性详解

7. 环境变量

path:命令的搜索路径

HISTSIZE:命令历史大小,正常是1000条。

8. 命令历史的使用技巧

!n: 执行命令历史中的第几条命令

3-2 bash 特性详解

!-n: 执行历史命令中的第负n条命令

3-2 bash 特性详解

!! :执行上一条命令

3-2 bash 特性详解

!string : 执行命令历史中最近一个以指定字符串开头的命令

3-2 bash 特性详解

!$  : 引用前一个命令的最后一个参数

这个先不问

9. 命令补全

tab, 连续两次tab,可看到对应的相似的命令,但前提是环境变量是正确的。

3-2 bash 特性详解

10. 路径补全:敲tab,类似命令补全。

11.文件通配符

*匹配任意长度的任意字符(没有长度,没有)

3-2 bash 特性详解

?任意单个字符

3-2 bash 特性详解

[]匹配指定范围内的单个字符

[abc]   [a-m],   [a-z],    [A-Z],    [0-9], [a-zA-Z]

^ 不匹配指定范围内的任意单个字符

另外还有几个其它特殊的用法,如

3-2 bash 特性详解

12. 命令别名

格式: alias COMALIAS=‘COMNAME [options] [arguments]’

例如:#alias cls =’clear’但是如下的格式没有单引号,居然也对,还是带引号吧

3-2 bash 特性详解

在shell中定义的别名仅在当前shell生命周期中有效,别名有效范围尽在当前shell进程

有效就会在配置文件中写好,不是命令中配置(还不是特别清楚)

如果想显示当前系统中的所有别名:

#alias

3-2 bash 特性详解

撤销别名:

#unalias COMALIAS

3-2 bash 特性详解

13. 命令替换

把命令中的某个子命令替换为其执行结果的过程,这个问题还需要好好考虑

3-2 bash 特性详解

14. bash支持引号有三种

`` :反引号:命令替换

““:弱引用,可以实现变量替换

‘’:强引号,