shell中常用命令:
shell须知:
单引号:内容原样输出
echo '$SHELL'
#print-----> $SHELL
双引号:执行后输出
反引号:把内部子串当作命令去执行
1、tr命令:用来翻译、转换、删除字符串(也支持正则表达式)
tr命令不能直接跟文件,需用 < 传入文件内容
1、转换功能演示
(1) 字符替换案列 a-A、b-B、c-C
cat person.txt
101,abc
102,alex
[root@localhost ~]# tr 'abc' 'ABC' < person.txt
101,ABC
102,Alex (因为不可直接跟文件,使用 < 把文件内容传入)
(2)正则表达式应用到tr案列
[root@localhost ~]# echo hamenghao| tr '[a-z]' '[A-Z]'
HAMENGHAO
2、删除功能案列 -d(--delete)
(1) 删出字符串中的 h 字母
[root@localhost ~]# echo hanmenghao | tr -d h
anmengao
(2)删除也可以支持特殊字符
[root@localhost ~]# tr -d '\n' <aaa
hanmenghaohanyanyuhanhuiminhanchengwang[root@localhost ~]#
2、tee命令:多重重定向,把一个数据重定向到多个地方
作用:重定向到文件的同时,把结果也在终端输出
案列:
[root@localhost ~]# ls
aaa anaconda-ks.cfg bbb initial-setup-ks.cfg person.txt
[root@localhost ~]# ls|tee tmp 把ls出的内容追加到tmp.txt的同时,也把内容输出到屏幕
aaa
anaconda-ks.cfg
bbb
initial-setup-ks.cfg
person.txt
tmp.txt
3、diff:主要用于比较两个文件(目录)的不同,同时输出两个文件的不同
格式:diff filename1 filename2
输出中:a (add)增加 c 改变 d删除
vimdiff:可视化对比文件异同 (可接最多4个文件)
格式:vimdiff filename1 filename2
注:此命令会进入vim编辑器,不好之处在于:对比几个文件需要退出几次