美文网首页Linux入门学习计划
【Linux基础之命令规范】笔记

【Linux基础之命令规范】笔记

作者: goee | 来源:发表于2018-03-20 20:29 被阅读26次

    开源协定

    如果程序使用并且修改了GPL代码,那么相应程序也必须要开源,否则就不能使GPL的软件,是否把程序商用和GPL没关系。
    使用开源软件并不受GPL约束,只有基于开源软件,修改开源软件的源码的时才受 GPL约束。
    GPL开源软件都不能卖版权,因为是公共版权

    Linux基础知识

    命令提示符

    # COMMAND OPTIONS ARGUMENTS
    当发起一个命令,表示请求内核将某个二进制程序运行为一个进程,由程序转换为进程,由静态转换为动态(有生命周期);并且由OPTIONS对命令进行修正;作用于所给定的参数ARGUMENTS上。
    命令本身是一个可执行的程序文件:二进制格式的文件,有可能会调用共享库文件
    多数系统程序文件都存放于:/bin,/sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin目录
    普通命令存放于:/bin, /sbin, /usr/local/bin目录
    管理命令存放于:/sbin, /usr/sbin, /usr/local/sbin目录
    共享库文件多数存放于:/lib,/lib64, /usr/lib64, /usr/local/lib, /usr/local/lib64
    32位系统的库存放于:/lib /usr/lib /usr/local/lib
    64位系统的库存放于:/lib64 /usr/lib64 /usr/local/lib64

    查看路径下的文件命令:

    ~]# ls (以上文件路径)
    

    注意:并非所有的命令都有一个在某目录与之对应的可执行程序文件

    命令必须遵循特定格式规范:
    Linux为:ELF,Windows为:exe、msi,等

    查看程序类型及相关信息:

    ~]# file /bin/ls
    

    命令分为两类:

    • 由shell程序 的自带的命令:内置命令(builtin)
    • 独立的可执行程序文件,文件名即命令名:外部命令

    shell程序是独特的程序,负责解析用户提供的命令:
    环境变量:PATH决定了从哪些路径中查找用户键入的命令字符串所对应的命令文件,查找次序:自左而右。

    ~]# echo $ PATH
    

    按空格分隔命令各单元

    查看命令类型:

    ~]# type COMMAND
    

    选项OPTIONS:
    指定命令的运行特性:
    选项有两种表现形式

    • 短选项:-C,-l,-d
      注意:有些命令的选项没有-
      如果同一命令同时使用多个短选项,多数可合并,如:
     ~]# ls -l -d /var 
     等同于
     ~]# ls -ld /var
    
    • 长选项:--word,--help,--human,--readable。长选项不能合并。
      注意:有些选项可以带参数,此参数称为选项参数。长选选项的参数由“=”号连接,短选项的参数由空格分隔

    参数 ARGUMENTS
    命令的作用或生效对象
    注意:不同的命令的参数格式是不一样的,有些命令可同时带多个参数,中间以空格分隔,如:ls -ld /var /etc

    获取命令的使用帮助

    • 内部命令帮助:
    ~]# help COMMAND
    

    外部命令帮助
    (1. 命令自带简要格式的使用帮助

    ~]# COMMAND --help
    

    (2.使用手册:manual
    位置:/usr/share/man

    ~]# man COMMAND
    

    SECTION:

    • NAME:功能性说明
    • SYNOPSIS:语法格式
    • DESCRIPTION:描述
    • OPTIONS:选项
    • EXAMPLES:使用示例
    • AUTHOR:作者
    • BUGS:报告程序BUG的方式
    • SEE ALSO:参考
      ……

    操作方法
    “[]”内为可选内容
    “<>”内为必选内容
    ”a|b|c“为多选一
    “……”为同类内容可出现多个:
    使用手册:是压缩格式的文件,有章节之分。

    /usr/share/man
    man1,man2,……

    上例中尾数的含义
    1:用户命令
    2:系统调用
    3:C库调用
    4:设备文件或特殊文件
    5:文件格式(配置文件格式)
    6:游戏使用帮助
    7: 杂项
    8:管理工具及守护进行

    ~]# man CHAPTER COMMAND
    

    注意:并非每个COMMAND在所有章节下都有手册
    查看命令:

    ~]# whatis COMMAND
    

    注意:其执行过程是查询数据库进行的
    手动更新数据库

    ~]# makewhatis
    

    man命令翻页操作
    向文件尾部翻一屏:空格键
    向文件首部翻一屏:b
    向文件尾部翻半屏:Ctrl + d
    向文件首部翻半屏:Ctrl + u
    向文件尾部翻一行:回车键
    向文件首部翻一行:k
    转到最后一行:g
    跳转指定行:#G
    文本搜索:
    /keyword:从文件首部向文件尾部依次查找,不区分大小写
    ?keyword:从文件尾部向文件首部依次查找
    n:与查找命令方向相同
    N:与查找命令方向相反
    退出:
    q:quit
    选项:
    -M /PATH/TO/SOMEDIR:到指定目录下查找命令手册并打开手册

    练习:
    获取useradd命令用法

    • 添加用户gentoo
    • 添加用户slackware,要求指定其所用的shell为/bin/tcsh

    (3.info COMMAND
    获取命令的在线文档

    (4.很多应用程序会自带帮助文档:/usr/share/doc/APP-VERSION
    README:程序的相关信息
    INSTALL:安装帮助
    CHANGES:版本迭代时的改动信息

    (5.主流发行版官方文档
    https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/

    (6.程序官方文档
    官方站点上的“Document(Doc)”

    (7.搜索引擎
    google

    如文件参考手册不能直接查到,可以先用whereis查找文件路径,看文件在man目录下的哪个文件,如查到:man/3/printf 则可用~]# man 3 printf命令查看相关参考手册

    相关文章

      网友评论

      • 子奕:你需要改一下笔记:普通用户命令存放在:bin /usr/bin /usr/local/bin
      • 子奕:这笔记做的不错
        goee:@lvdunlinux 嗯嗯,内容已更新,非常感谢。
        lvdunlinux:现在的地址是这个,https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/#7_System-administration 那个打不开
        goee:感谢鼓励和关注,如笔记有误望指正。:coffee:

      本文标题:【Linux基础之命令规范】笔记

      本文链接:https://www.haomeiwen.com/subject/olapqftx.html