【Linux基础学习之三】Bash的一些基础知识总结(通配符、重定向、管道、命令补全)
Bash基础
通配符
cp *.txt tmp
表示将.txt为后缀的文件,复制到tmp的文件夹下
ls /dev/tty?
表示匹配tty后的一个字符
ls /dev/tty[1-5]
表示匹配tty后1到5范围内的字符
ls /dev/tty[136]
表示匹配tty后不连续的字符
ls /dev/tty[!136] 或者ls /dev/tty[^136]
表示匹配不在括号内的字符
ls /dev/tty{[136], [29]}
表示匹配多个集合
输入/输出重定向
1、ls -l /usr/tmp >dir
输出重定向是指原本应该是标准输出,输出到屏幕上的,如果让其重定向输出到一个文件中,就可以用重定向命令
将ls原本应该输出显示到屏幕上文件名,重定向输出到文件test中
cat test
查看test文件里内容,为执行ls命令输出的内容
2、ls -l /usr/tmp >>dir
追加重定向,不然每次重定向到一个文件中,都会覆盖上一次的重定向输出的结果,使用追加重定向,则不会覆盖
追加输出到test文件中
3、ls /root 2>err.file
将错误信息的重定向输出到文件中
原本是要查看/root目录的,但是有错误,错误信息会输出到test文件中
4、ls /usr/tmp &>output.file
将输出重定向,不论是输出还是错误输出都重定向输出到文件中
5、wc </etc/passwd
输入重定向,输入不是从键盘上获得的,而是从文件中获取输入
第一个命令统计的是从键盘上输入的字符
第二个命令统计的是/etc/passwd文件的字符
管道
将一个程序的标准输出写到一个文件中去,再将这个文件作为另一个程序的输入,管道要解决的就是不需要临时文件就能将两个命令结合在一起。
将前一条命令的输出作为后一条命令的输入,ls /usr/bin的查询结果由wc -w来统计输出的字符个数
ps aux
显示当前的所有进程
ps aux | grep bash
显示所有进程并且找到grep bash
ps aux | grep bash | grep -v grep
显示所有进程并且找到grep bash,在过滤掉grep bash,这其中有两个管道,第一个结果作为后一个输入,再查询的结果又作为后一个的输入
后台作业
fg
表示将一个后台作业转到前台来
bg
表示将一个前台作业转到后台来
按组合键CTRL + Z表示停止前台作业
输入命令的历史记录
history
查询之前输入过的命令操作符
查询得hostory表,如果你想执行其中一条很长的指令可以用!序号,如图箭头
命令补全
在送入命令的时候,可以按tab键,Shell就会试图补全该命令
如果命令不是唯一的,按两次tab键,就会显示所有的匹配的命令,如图:
别名
如果命令太长或者不符合用户习惯,那么可以指定一个别名
查看当前环境中的别名:alias
创建别名:alias cls = 'clear'
删除别名:unalias cls
如果需要一直使用别名,可以在.bashrc文件中配置别名
如果需要所有的用户都使用别名可以在/etc/bashrc文件中配置
alias cls='clear'
表示为clear取别名为cls
unalias cls
表示取消cls的别名
别名只对当前的用户有效