获取命令使用帮助

回顾:

  • 开源协定
  1. GPL(v1,v2,v3共三个版本),LGPL
  2. BSD:1,如果二次发布的产品中包含源代码,则在源代码中必须带有原来的代码中的BSD协定;2,如果二次发布的产品是二进制格式的库或者程序,则需要在发布的文档或者版权声明中说明包含原来的代码中的BSD协定;3,不可以用原来代码的作者或组织,以及原来产品的名字做市场推广
  3. Apache
  • 文件系统,文件,目录
  1. 文件系统是一个倒置的树状结构,在树状结构中,可以继续分叉的叫做目录,不能继续分叉的叫做文件。
  2. 对于系统来说,目录和文件没有区别,都是文件。目录是路径映射,文件是存储在磁盘上的一段流式数据。
  3. 文件名严格区分大小写
  4. 路径分隔符为/
  5. 路径分为绝对路径和相对路径
  • 程序的组成部分
  1. 二进制程序文件
  2. 库文件
  3. 配置文件
  4. 帮助文档
  5. 前两者为二进制格式,后两者为文本格式
  6. 前两者为可执行文件,后两者为可被查看其内容的文件。二进制文件可以独立被执行,而库文件不可以独立被执行,只能被调用执行。
  7. 推荐一本书,穿越计算机的迷雾
  • 人机交互界面
  1. GUI
  2. CLI,bash命令提示符的格式为:[LoginName@HostName WorkingDirectory]#/$

Linux基础知识

  • 命令
  1. 语法通用格式:Command Options Arguments
  2. 按回车发起命令:请求内核将某个二进制程序文件运行为一个进程。从静态到动态,有了声明周期。
  3. 命令本身是一个可执行的程序文件:二进制可执行文件,有可能会调用共享库文件
  4. 大多数系统自带的程序文件都放置在:/bin,/sbin (sbin表示只有管理员才能执行的二进制文件),/usr/bin,/usr/sbin。非系统自带的有可能会在/usr/local/bin,/usr/local/sbin
  5. 普通命令放置在:/bin,/usr/bin,/usr/local/bin
  6. 管理命令放置在:/sbin,/usr/sbin,/usr/local/sbin
  7. ls命令显示的结果中,绿色表示可执行文件,青色表示链接文件
  8. 大多数共享库文件都放置在:/lib(32位系统)/lib64(64位系统),/usr/lib,/usr/lib64,/usr/local/lib,/usr/local/lib64
  9. 32位库放置在:/lib,/usr/lib,/usr/local/lib
  10. 64位库放置在:/lib64,/usr/lib64,/usr/local/lib64
  11. 64位系统为了兼容,可能会出现32位的库,但是32位的系统上不会出现64位的库
  12. 命令必须遵循特定的格式规范:比如windows中的exe格式,msi格式;Linux中的ELF格式
  13. 命令:file /bin/ls表示查看bin目录下的ls命令文件信息
  14. 命令分为两类

              1,由shell程序自带的命令:内置命令/builtin

      2,独立的可执行程序文件,在上面提到的目录中,文件名即命令名:外部命令

              3,并非所有的命令都有一个在某目录与之对应的可执行程序文件,比如cd

      15,shell程序是独特的程序,负责解析用户提供的命令

              1,环境变量:PATH:从哪些路径中查找用户键入的命令字符串所对应的命令文件,查找的次序为自左而右;echo $PATH

      2,如果PATH被清空了,就只能通过绝对路径来运行外部命令了

      16,查看命令类型

      1, type Command,比如type ls,type type

  17,Options:指定命令的运行特性

      1,选项有两种表现形式

        1,短选项:- 加一个字符,例如-l,-d。注:某些命令的选项没有-。如果某个命令同时使用了多个短选项,多数可以合并,例如-l -d = -ld

        2,长选项:--叫一个或多个单词,例如--help,--human-readable。长选项多数不能合并。

        3,有些选项可以带参数,被称为选项参数

  18,Arguments:命令的作用对象,即命令对什么生效,例如ls /var。某些命令可以带多个参数,以空格分隔。

  19,获取命令的使用帮助

    1,内部命令:help command

    2,外部命令(使用type命令查看是内部命令还是外部命令)

      (1)第一种方式,每个命令都自带简要格式的使用帮助:command --help

      (2)第二种方式,使用手册。手册放在/usr/share/man/。使用方式:man command。man的显示结果分为以下几个section:

          a,name

          b,Synopsis:[]中的内容为可选内容,<>中的内容为必须内容,{}用来分组避免混淆,a|b|c为多选一,...表示同类内容可以出现多个   

          c,description

          d,options

          e,examples

          f,author

          g,bugs:报告bug的方式

          h,see also

      (3)使用手册:压缩格式的文件,有章节之分:/usr/share/man下的man1,man2,...

          a,第一章节为用户命令

          b,第二章节为系统调用:程序员用的

          c,第三章节为C库调用

          d,第四章节为设备文件及特殊文件

          e,第五章节为文件格式说明:配置文件格式的说明

          f,第六章节为系统自带的游戏使用帮助

          g,第七章节为杂项

          h,第八章节为管理工具及守护进程

          i,在man命令的显示结果的左上角,会显示当前的章节

          j,如果一个命令在多个章节里都有内容,可以在man命令里指定要查看哪个章节,比如:man 5 passwd。

          k,可以使用whatis command查看一个命令在哪些章节下面有帮助文档。whatis的执行结果是查看数据库得到的,由于数据库内容不一定是最新的(比如新安装了一些文件),

            所以我们要手动更新数据库:makewhatis

      (4)man命令打开手册以后的操作方法

          a,翻屏:空格键为向尾部翻屏;b键为向首部翻屏;ctrl+d为向尾部翻半屏;ctrl+u为向首部翻半屏;回车键为向尾部翻一行;k键为向首部翻一行;G为跳转至最后一行;#G为跳转至指定行(#为数字);

          b,文本搜索:/keyword(从文件首部向尾部依次查找)或者?keyword(从文件尾部向首部依次查找),keyword为要查找的内容,不区分大小写;n为查看下一个找到的内容(与查找命令方向相同),

               N为查看上一个找到的内容;

          c,退出:q

      (5)选项:-M,加上路径,指明到指定目录下查找命令手册并打开

        练习:获取useradd命令的用法。1,添加用户gentoo;2,添加用户slackware,指明其用到的shell为/bin/tcsh   

        答案:1,添加:useradd gentoo;2,验证:id gentoo;3,添加:useradd -s /bin/tcsh slackware;4,验证:id slackware;只要可以id成功,说明添加完成了。5,验证:tail -1 /etc/passwd

      (6)第三种方式,info command,获取命令的在线文档。命令的补充性文档,并不是每个命令都有,不常用。

      (7)第四种方式,很多应用程序自带帮助文档,位置在/usr/share/doc/App-Version。App-Version表示软件或命令名称加版本号。在目录下有三个重要文件:

          a,readme:程序的相关的信息

          b,install:安装帮助

          c,changes:版本迭代时的改动信息

      (8)第五种方式,主流发行版官方文档

          a,http://www.redhat.com/doc

      (9)程序官方的文档

          a,官方站点上的“Document”

      (10)搜索引擎:google:keyword filetype:pdf,centos site:magedu.com(注:site后面加domain.tld,tld代表top level domain)

    3,推荐的书籍出版社:O'Reiley,Wrox,机械工业出版社,电子工业出版社,人民邮电出版社,清华大学出版社,水利水电出版社 

原文地址:https://www.cnblogs.com/jacky1982/p/7572529.html