LINUX企业运维 February 24, 2020

六、Linux使用技巧和帮助信息获取

Words count 5.9k Reading time 5 mins. Read count 0

(一)命令行扩展、被括起来的集合

命令行扩展:$( ) 或 ``

  把一个命令的输出打印给另一个命令的参数

    echo "This system's name is $(hostname)”

    This system’s name is server1.example.com

    echo “i amwhoami

    i am root

括号扩展:{}

  打印重复字符串的简化形式

    echo file{1,3,5}

      file1 file3 file5

    rm –f file{1,3,5}

    echo{1…10}

    echo{a..z}

    echo{000..20..2}

  注意:“ ”只能识别变量,不能识别命令;‘ ’不能识别变量也不能识别命令只能输出字符串。``既能识别变量,也能识别命令,当一个命令要调用另一个命令的输出信息时,要把被引用的命令放在反向单引号里面。

tab 键

命令补全

   内部命令:
   外部命令:bash根据PATH环境变量定义的路径,自左而右在每个路径搜寻以给定命令名命名的文件,第一次找到的命令即为要执行的命令。
   用户给定的字符串只有一条准一对应的命令,直接补全,否则,再次Tab会给出列表。

路径补全

   把用户给出的字符串当做路径开头,并在其指定上级目录下搜索以指定的字符串开头的文件名
   如果惟一:则直接补全
   否则:再次Tab给出列表

双击tab键及调用历史参数

  command 2Tab所有子命令或文件补全

  string2Tab 以string开头命令

  /2Tab 显示所有根目录下一级目录,包括隐藏目录

  ./2Tab 当前目录下子目录,包括隐藏目录

  * 2Tab 当前目录下子目录,不包括隐藏目录

  ~2Tab 所有用户列表

  $2Tab 所有变量

  @2Tab /etc/hosts记录(centos7不支持)

  =2b 相当于ls-A(centos7不支持)

命令行历史

  • 保存你输入的命令历史。可以用它来重复执行命令
  • 登录shell时,会读取命令历史文件中记录下的命令~/.bashhistory
  • 登录进shell后新执行的命令只会记录在缓存中;这些命令会在用户退出时”追加”至命令历史文件中
  • 重复前一个命令,有4种方法

      重复前一个命令使用上方向键,并回车执行

      按!!并回车执行

      输入!-1并回车执行

      按Ctrl+P并回车执行
  • !:0 执行前一条命令(去除参数)
  • Ctrl+n 显示当前历史中的下一条命令,但不执行
  • Ctrl+j 执行当前命令
  • !n 执行history命令输出对应序号n的命令
  • !-n 执行history历史中倒数第n个命令
  • !string 重复前一个以 “string”开头的命令
  • !?string 重复前一个包含string的命令
  • !string:p 仅打印命令历史,而不执行
  • !$:p 打印输出!$(上一条命令的最后一个参数)的内容
  • !:p 打印输出!(上一条命令的所有参数)的内容
  • ^string 删除上一条命令中的第一个string
  • ^string1^string2 将上一条命令中的第一个string1替换为string2
  • !:gs/string1/string2将上一条命令中所有的string1都替换为string2
  • 使用up(向上)和down(向下)键来上下浏览从前输入的命令
  • ctrl-r来在命令历史中搜索命令
  •   (reverse-i-search)
  • Ctrl+g:从历史扌叟索模式退出
  • 要重新调用前一个命令中最后一个参数

      !$表示

      Esc点击Esc键后松开,然后点击.键)

      Alt+.(按住Alt键的同时点击.键)
  • command !^ 利用上一一个命令的第一个参数做cmd的参数
  • command !$ 利用上一个命令的最后一个参数做cmd的参数
  • command !* 利用上一个命令的全部参数做cmd的参数
  • command !:n利用上一个命令的第n个参数做cmd的参数
  • command !n:^调用第n条命令的第一个参数
  • command !n:$调用第n条命令的最后一个参数
  • command !n:m调用第n条命令的第m个参数
  • command !n:*调用第n条命令的所有参数
  • command !string:^ 从命令历史中扌叟索以string开头的命令,并获取它的第一个参数
  • command !string:$从命令历史中搜索以string开头的命令并获取它的最后一个参数
  • command !string:n从命令历史中搜索以string开头的命令,并获取它的第n个参数
  • command !string:*从命令历史中搜索以string开头的命令,并获取它的所有参数

    命令history

      history [-c] [-d offset] [n]

      history -anrw [filename]

      history –ps arg [arg...]

      -c.清空命令历史

      -d offset:删除历史中指定的第offset个命令

      n:显示最近的n条历史

      -a:追加本次会话执行的命令历史列表至历史文件

      -r读历史文件附加到历史列表

      -w:保存历史列表到指定的历史文件

      -n:读历史文件中未读过的行到历史列表

      -p:展开历史参数成多行,但不存在历史列表中

      -s:展开历史参数成一行,附加在历史列表后

    (二)获得帮助

      获取帮助的能力决定了技术的能力!

      多层次的帮助

      whatis

      command --help

      man and info

      /usr/share/doc/

      Red Hat documentation

      其它网站和s搜索

    whatis

      显示命令的简短描述

      使用数据库

      刚安装后不可立即使用

      makewhatis|mandb制作娄划居库

      使用示例

      whatis cal或man—f cal

    命令帮助

      内部命令:help COMMAND

      man bash

      外部命令:

      (1)CPMMAND –help

        COMMAND -h

      (2)使用手册(manual)

        man COMMAND

      (3)信息页

        info COMMAND

      (4)程序自身的帮助文档

        README

        INSTALL

        ChangeLog

      (5)程序官方文档

        官方站点:Documentation

      (6)发行版的官方文档

      (7)Google
0%