Shell基础:常用技巧&重定向&管道操作

Shell脚本介绍和常用工具

  • Shell脚本
    • Shell脚本:实际就是windows里的批处理脚本,多条可一次执行的Shell命令集合。Linux上的脚本可以用很多种语言实现,bash shell是比较简单的一种,更高阶的可以用其他脚本语言,比如Python。
    • Shell脚本对系统的管理能力非常强大,甚至可以使用Shell结合php实现Web管理Linux系统功能:可以自己写一个Web页面(示例:基于Php),对系统进行管理,包括查看删除用户,配置网络,发送邮件,重启系统,一键备份,一键搭建服务器。
  • 搭建一个高效的Shell脚本开发环境(putty+winscp+sublime)
    • 敲命令直接用putty,免得在虚拟机里挪动来挪动去,鼠标识别影响速度。
    • 如果开发脚本建议用winscp+sublime实现脚本的开发。Sublime开发Html或是脚本都非常快,可以学习一下Sublime, 被称为业界的开发神器,补全功能非常强大。

 常用Bash命令加速操作

  • Tab键自动补全: 非常有用
  • 命令历史 history:history/ !(命令行数) 或者是!匹配符
    • (!vi 会调用历史中最后一条以vi开头的命令)
    • (!5 会调用历史中的第五条命令)
  • 命令别名
    • (alias 列出当前别名)
    • (alias 别名=‘linux 命令’)
    • (unalias 别名, 取消别名)
    • (永久保存命令别名需要去更改用户根目录(/root/.bashrc)下.bashrc文件)
  • 输出重定向(把命令的结果不显示在屏幕上,而是现实在特定的区域)
    • 命令 > 重定向的文件,覆盖式重定向(ifconfig eth0 > test.txt: 把eth0网卡的情况输入到当前目录下test.txt文件中)
    • 命令>>重定向文件,追加式重定向(ifconfig eth0>> test.txt:把eth0网卡的情况输入到当前目录下test.txt文件中)
    • 命令 2> 重定向文件(aaaa 2>test.txt:把错误命令输入到test.txt中,没有写数字默认为1>,表示把正确结果写入文件。如果特别标明2>, 表示把错误结果写入test.txt)
    • 命令 &> 重定向文件 (bash test.sh &> all.txt,把脚本正确和错误的结果都重定向到all.sh文件当中)
    • 追加重定向,把错误的结果沿着1的通道追加到test.txt文件中(bash test.txt 1>>all.txt 2>&1)
  • 管道操作(|,把左边的输出作为右边的输入)
    • 使用管道查看mem内存的情况 (eg:free -m|grep -i mem)
    • | 管道可以在一条命令里多次使用(eg:查看可用内存情况 free -m|grep -i mem|awk '{print $4}')

相关推荐