Linux基础知识巩固-3

Bash基础特性
1、命令别名 alias
临时生效:alias COMMAND = 'PATH/TO/'
永久生效:
对当前用户生效:~/.bashrc
对所有用户生效:/etc/bashrc

使命令立即生效:
source /path/to/config-file
. /path/to/config-file

撤消别名:unalias

如果别名使用的是原命令名称,可以使用"\COMMAND"执行原命令。

2、Glob(Globbing) bash中用于实现文件名“通配”
通配符:
* 任意长度的任意字符
? 任意单个字符
[] 匹配指定范围内的任意单个字符
[a-z] 不区分字符大小写
[^] 匹配指定范围之外的字符
[:digit:] 任意数字,0-9
[:lower:] 任意小写字母
[:upper:] 任意大写字母
[:alpha:] 大小写字母
[:alnum:] 任意数字或字母
[:space:] 空格
[:punct:] 标点符号

3、Bash快捷键
Ctrl + l 清屏
Ctrl + a 跳转至命令开始处
Ctrl + e 跳转至命令结尾处
Ctrl + c 取消
Ctrl + u 删除命令行首至光标所在处的内容
Ctrl + k 删除光标所在处至命令行尾部

4、Bash的I/O重定向及管道
程序:指令+数据

打开的每个文件都有一个fd(file descriptor,文件描述符)
标准输入:keyborad(默认键盘输入),fd = 0
标准输出:monitor,fd = 1
标准错误:monitor,fd = 2
I/O重定向:改变标准位置
输出重定向:
> 覆盖重定向
>> 追加重定向
>| 强制覆盖
set -C 禁止将内容覆盖输出至已有文件中
set +C 打开

2> 覆盖重定向错误输出数据流
2>> 追加重定向错误输出数据流

标准输出和错误输出各自定向至不同位置:
COMMAND > /PATH/TO/FILE.LOG 2> /PATH/TO/ERROR.LOG

合并标准输入输出为同一数据流进行重定向
&> 覆盖重定向
&>> 追加重定向
COMMAND > /PATH/TO/FILE.LOG 2> &1
COMMAND >> /PATH/TO/FILE.LOG 2> &1

输入重定向: <

tr命令:转换或删除字符
tr abc ABC < /etc/fstab //把/etc/fstab文件中的所有abc转换成ABC
tr -d 删除某字符

Here Documentation: <<

管道:
command1 | command2 | command3 | ...

tee命令:从标准输入读数据并输出到文件

文本处理工具:
wc
-l 行数 lines
-w 单词 words
-c 字节数 characters

cut
-f 第某个字段,如1-3 / 1-5,7 / 1,2,8
-d 指明分隔符
--output-delimiter 以什么为分隔符

sort
-r 降序
-f 忽略大小写
-k 以指定字段排序
-t 指定分隔符
-n 以数值大小排序
-u 排序后去重

uniq 连续且完全相同即为重复
-c 显示重复次数
-d 显示重复过的行
-u 显示未重复过的行

取出/etc/passwd第6到10行,以冒号分隔,将此信息按第三个字段的数值大小进行排序,最后仅显示各自第一个字段。
1、取出/etc/passwd第6到10行
awk -F: 'NR>5&&NR<11{print}' /etc/passwd
2、将以上信息按第三个字段的数值大小进行排
sort -t: -k3 -n -r
3、仅显示各自第一个字段
cut -d: -f1

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容