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}')

Shell基础:常用技巧&重定向&管道操作的更多相关文章

  1. shell脚本常用技巧

    shell脚本常用技巧 1.获取随机字符串或数字 ~]#echo $RANDOM | md5sum | cut -c 1-6 ~]#openssl rand -base64 4 | cut -c 1- ...

  2. [shell基础]——I/O重定向

    文件标识符(FD) 1. Linux使用文件标识符(FD)来标识一个进程正在访问的特定文件 2. 当打开一个文件或创建一个文件时,Linux将返回一个文件标识符供其他操作引用 3. 文件标识符是一个小 ...

  3. Shell基础、输入输出重定向

    1.Shell的功能: (1)Shell是命令解释器,把我们写的命令转化为内核能够识别的机器语言,然后内核调用硬件来完成相应的操作.操作完成后,内核操作结果返回给内核,Shell再将机器语言翻译为我们 ...

  4. shell编程常用的截取字符串操作

    1.          常用的字符串操作 1.1.           替换字符串:$ echo ${var/ /_}#支持正怎表达式 / /表示搜索到第一个替换,// /表示搜索到的结果全部替换. ...

  5. shell基础--字符串和变量的操作

    一.统计字符串长度 1.wc –L [root@~_~day4]# echo "hello" | wc -L 5 2.expr length string [root@~_~day ...

  6. shell基础:输入输出重定向

    输出重定向将命令输出存入到文件,类似日志.便于查看.2和>>间没空格.但这种方法没用 ,命令执行时并不知道对错. /dev/null下的null就是一个垃圾箱,脚本中的一些命令并不需要保存 ...

  7. JavaScript常用技巧之时间操作

    1.获取当前时间戳 +new Date Date.parse(new Date())

  8. JavaScript常用技巧之数组操作

    1.获取最后数组中最后一个元素 . arr.slice(-1).pop() . arr[arr.length - 1] 2.过滤重复元素 arr.filter(function(v, i) { ret ...

  9. JavaScript常用技巧之字符串操作

    1.首字母大写 str.replace(/\b\w+/g, function (word) { return word.substring(0, 1).toLowerCase() + word.sub ...

随机推荐

  1. SQL 汉字转换成拼音首字母 首字母查

    -- ============================================= -- 功能:汉字转换成拼音首字母 首字母查 -- ========================== ...

  2. mysql更改已有数据表的字符集,保留原有数据内容

    mysql更改已有数据表的字符集,保留原有数据内容     原文网址:http://blog.csdn.net/learn_2/article/details/6460370 环境:在应用开始阶段没有 ...

  3. JS cookie的使用

    js设置cookie有很多种方法. 第一种:(这个是w3c官网的代码) <script> //设置cookie function setCookie(cname, cvalue, exda ...

  4. virtualenv -- python虚拟沙盒(linux版本)

    有人说:virtualenv.fabric 和 pip 是 pythoneer 的三大神器. 不管认不认同,至少要先认识一下,pip现在倒是经常用到,virtualenv第一次听说,不过,总得尝试一下 ...

  5. 关于gitlab的一个问题解决

    这两天折腾一个关于gitlab的问题,搞得比较焦头烂额.不过经过折腾,最终还是成功了. 当面对着一个问题,并且看到还没被解决的时候,感觉很不舒服: 努力折腾之后,解决之后,也会身体轻松.或许工程师天生 ...

  6. [转]-如何将Eclipse中的项目迁移到Android Studio 中

    英文地址:http://developer.android.com/sdk/installing/migrate.html 翻译:Android Studio 中文组(大锤译) 如果你之前有用Ecli ...

  7. javascript知识总汇

    命名: 变量名和函数命名:第一个单词小写以后每个单词首字母大写.geteElementById() 对象命名:每个单词首字母大写. 数据类型 typeof()方法返回数据类型. number数据类型: ...

  8. HDU4801·二阶魔方

    题意:给定二阶魔方初始状态,问N(1 <= N <= 7)步旋转操作以内最多能使几个面相同. dfs搜索+剪枝. 魔方的每个旋转操作即对应于一个置换操作.又因为相对运动,上层左旋一次和下层 ...

  9. Oracle Regexp_substr

    Oracle中REGEXP_SUBSTR函数   Oracle中REGEXP_SUBSTR函数的使用说明:   题目如下: 在oracle中,使用一条语句实现将'17,20,23'拆分成'17','2 ...

  10. Android应用程序构成

    一个Android应用程序一般是由以下4个组件构成的: 活动(Activity) 意图(Intent) 服务(Service) 内容提供器(Content Provider) 这4个组件是构成andr ...