zoukankan      html  css  js  c++  java
  • shell应用技巧

    Shell 应用技巧

    Shell是一个命令解释器,是在内核之上和内核交互的一个层面。

     

    Shell有很多种,我们所使用的的带提示符的那种属于/bin/bash,几乎所有的linux系统缺省就是这种shell,很方便做一些管理,通常使用这种shell

    bash应用技巧

    命令补齐

    命令补齐允许用户输入文件名或命令名起始的若干个字母后,按<Tab>键补齐文件名,命令名,若以此开头的文件名或命令名不唯一,则按一下tab键没反应,按第二下列出所有。若唯一则直接补全。

    命令历史

    命令历史允许用户浏览先前输入的命令并重新调用他们,用history命令可以显示命令列表,!+命令数字可执行,按方向键 ↑和↓可以找到以前执行过的命令

    Clear清屏 ctrl+l(快捷键)

    Ctrl+u  删除光标前所有字符

     

    命令别名

    命令别名定义:

    范例:alias  copy=cp

          alias  xrm=rm  -r

    命令直接写,有选项参数的带双引号

    查看别名信息:alias

    删除别名信息:unalias copy

    可以使操作更简单容易

    alias直接列出别名

    每个用户自己定义的别名只能自己使用。

    输入/输出重定向

    同标准I/O一样,shell对于每一个进程预先定义3个文件描述字(0,1,2,)。分别对应于:

    0 STDIN) 标准输入 键盘

    1 STDOUT)标准输出  显示器

    2 STDERR)标准错误输出 显示器

    重定向表示输入不是从键盘,输出不是从显示器,标准错误输出不是从显示器

    >>>  输出重定向

    范例:ls  -l   /temp>/tmp.msg   重定向到根目录下tmp.msg

              Date >> /tmp.msg

    错误输出重定向

    范例:cp -R /usr/backup/usr.bak 2>/bak.error

    所谓重定向,就是把原本显示在显示器上的内容输出到文件中。

    date查看系统当前时间

    >会将文件内容清空,这可能不是我们想要的。

    于是我们可以用>>可以追加

    输入重定向是指不是从键盘输入,而是从其他地方输入

    错误输出重定向

    范例:cp -R /usr/backup/usr.bak 2>/bak.error

    Usrunix系统资源,十分重要,有时需要备份,此条命令执行备份,若出错将2写入bak.error,成功什么都不做)

    2是什么鬼?

      其实0> 0>>  1<   这是输入,输出重定向的标准写法,0,1都可省略。

      2>  此时2不可省略,若省略则和输出重定向一样了

    管道

    管道:讲一个命令的输出传送给另一个命令,作为另一个命令的输入

    使用方法:命令1|命令2|命令3.....|命令n

    范例:

      ls -l /etc | more  分页浏览前边命令执行的结果,空格翻页,回车翻行,q退出

      ls -l /etc | grep init  提取与关键词相关的行,并将其列出来

      ls -l /etc | grep init | wc -l  在目录etc下包含init的文件有多少个

    管道的作用就是让几个简单的命令发挥很大的作用

    wc -l 文件名  显示此文件有多少行

    命令连接符

    用;间隔的各命令按顺序依次执行,比如在写系统的计划任务时,让几个命令在后台依次执行。编译内核时就是敲那几个命令,几个命令间隔时间长,此时便可用;使之依次执行,再加个错误判断,将错误写到日志里。

    &&

    Command1 && comand2

    成功         执行

    失败         不执行

    前后命令的执行存在逻辑与关系,只有&&前面的命令执行成功后,它后面的命令才被执行

    ||

    Command1 || command2

    成功        不执行

    失败         执行

    前后命令的执行存在逻辑或关系,只有||前面的命令执行失败后,他后面的命令才被执行

    命令替换符

    命令替换:讲一个命令的输出作为另一个命令的参数

    格式为:命令1  ‘命令2’(键盘数字一左边的小撇)

    范例:ls -l ‘which touch’

  • 相关阅读:
    luogu P1840 Color the Axis_NOI导刊2011提高(05)|并查集
    luogu P5414 [YNOI2019]排序 |动态规划
    luogu P4064 [JXOI2017]加法 |二分+堆
    luogu P4065 [JXOI2017]颜色 |随机化+前缀和
    luogu P2135 方块消除 |dp
    luogu P1650 田忌赛马 |贪心
    IM群聊消息究竟是存1份(即扩散读)还是存多份(即扩散写)?
    IM群聊消息的已读回执功能该怎么实现?
    IPv6技术详解:基本概念、应用现状、技术实践(下篇)
    IPv6技术详解:基本概念、应用现状、技术实践(上篇)
  • 原文地址:https://www.cnblogs.com/invisible2/p/6978940.html
Copyright © 2011-2022 走看看