原创blog,转载请注明出处
Shell是命令解释器
[[email protected] ~]# cat /etc/shells
查看本系统共支持哪些shell
1 tab 命令补全
这个几乎每次都能用到,比如我有个文件叫file.txt,如果这个目录下只有一个文件名以f开头,则我输入f然后tab就会自动补全出file.txt
2 两个快捷键
CTRL+L 清屏
CTRL+U 清除一行中(光标前的部分)
3 命令别名
alias:查看当前的别名
定义一个新的别名,这里定义删除目录的别名xrm
当然,这样定义仅仅是临时定义,并没有写入到文件中,每次重启后都要重新alias
可以讲自定义的别名写道配置文件~/.bashrc中
解除一个别名用unalias
4.输入输出重定向
就是把输出的内容写道另外一个地方,或者从一个地方获得一个输入
输出重定向:
[[email protected] ~]# ls -l >> /dev/null
将输出的内容重定向到/dev/null中,这里可以理解/dev/null为一个黑洞,重定向到这里的东西都不会打印出来
符号 >> 是清空原内容,然后写入
符号 > 是在原内容的末尾追加
输入重定向
符号 <
/dev/tty 这个文件常用来重定向到一个终端,对输入来说十分有用
read password < /dev/tty 从终端读取密码
比如我要广播file.txt中的内容
错误输出重定向,只有在遇到错误的时候才进行重定向
常用的处理是生成相关的log文件
例如,在备份服务器文件的时候,往往是选在下半夜服务器访问量很少的时候,这个时候你还在梦乡呢,所以,对错误的信息进行重定向很重要。这样第二天你上班只要看看错误的文件就可以知道哪里出问题了
cp –R /usr /backup/ 2> /bak.error
5 管道
管道就是把一个输出作为另一个输入,常用在分步处理
例如
ls -/etc |more;对文件内容分页浏览 ls –l/etc | grep init;用命令执行结果里提取 ls –l /etc | grep init | wc –l;其中wc用于计算有多少行
这里简单讲解下wc命令
wc命令用来统计多少行,多少个单词,多少个字符
wc #会依次输出 行数,单词数,字符个数
wc -l #行数
wc -w#单词数
wc -c #字符个数
6 命令连接符
&& 前一个命令执行成功,后一个命令才会执行
|| 前一个命令执行失败,后一个命令才会执行
7 命令替换符号
在键盘tab上边的那个·,注意不是引号
遇到命令替换符号,会把命令替换符号内的语句当成命令执行,然后把执行结果返回给上一层
8 读取文件的开头或者结尾
head -n 文件前几行
tail -n file 文件后几行
tail -f file 持续观察一个文件的结尾,适合动态观察log文件
当然,我们也可以配合grep,只查看包含指定字符的log信息
[[email protected] ~]#tail -f file | grep --line-buffered your_pattern
最后,附上之前写的awk,grep,sed的链接