Linux学习笔记5—获取命令使用帮助详解

获取命令使用帮助详解

开源协定:GPL,LGPL,BSD,Apache
BSD条款:
1、 如果二次发布的产品种包含源代码,则在源代码种必须带有原来的代码中的BSD协定
2、 如果二次发布的产品是二进制格式的库或程序,则需要在发布的文档或版权声明中说明原来代码中的BSD协定
3、 不可以使用开源代码的作者或组织,以及原来的产品的名字做市场推广

文件系统、文件、目录:
倒置树状结构:目录(可以分叉)、文件(不能分叉)
目录:主要实现路径映射,实际上也是文件,只不过表现形式不同
文件:存储在磁盘上的某个存储空间的流式数据,文件不能再实现作为路径映射
Linux文件名:严格区分字符大小写,并且路径分隔符为/
路径分为两种形式:
1、绝对路径:以根的位置起始
2、相对路径:相对于当前文件所在位置起始

程序的组成部分:
1、二进制文件:可执行,可独立执行
2、库文件:二进制文件,可执行但不能独立执行
3、配置文件:可被查看其内容的文件,程序文件的配置文件一般为文本文件
4、帮助文件:帮助文件为文本文件,可被查看其内容的文件

《穿越计算机的迷雾》,《量子物理史话》

人机交互界面分为两类:
1、GUI
2、CLI

Linux基础知识:命令的执行方式,每个命令运行的语法方式基本是通用的
COMMAND(命令) OPTIONS(选项) ARGUMENTS(参数)
命令分类:内部命令,外部命令
发起一个命令:请求内核将某个二进制程序运行为一个进程,从程序态转换为进程,从静态转换为动态,有生命周期,运行完毕后进程将终止

COMMAND(命令)
命令本身是一个可执行的程序文件,内部直接调用CPU指令集中可允许运行的指令(顺序运行,循环执行,选择执行),命令本身是二进制格式的文件,有可能会调用共享库文件,大多数的程序文件都存放在:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin
普通命令放置:/bin,/usr/bin,/usr/local/bin
管理命令放置:/sbin,/usr/sbin,/usr/local/sbin

程序在研发时调用了库文件(共享库文件),这些库文件在运行时需要一并装入到内存中运行,库文件即共享功能性程序,无法独立运行,需要调用时才能执行
共享库存放在:/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64
系统位数32bit的库:/lib, /usr/lib, /usr/local/lib
系统位数64bit的库:/lib64,/usr/lib64,/usr/local/lib64

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

命令必须遵循特定格式规范:比如Window的格式规范exe,msi格式, Linux的格式规范为elf格式
~]# file /bin/ls(使用file命令查看/bin/ls文件的格式)

命令分为两类:
1、 内置命令:由shell程序的自带的命令,即built in
2、 外部命令(可执行程序):每一个命令都有一个与之对应的独立的可执行的程序文件,文件名即命令名

为什么键入ls命令,Linux系统就能够找到ls的位置?
由于是在shell环境中运行,因此ls命令的路径是shell提供并运行的,由命令提示符背后的程序来自动提供运行环境的,即通过shell自身的环境变量去定义工作特性

Shell程序是独特的程序,负责解析用户提供的命令,包含词法分析,语法分析,句法分析等等。Shell按照特定格式来解析用户提供的命令,以空格做切分,最左侧当作命令,中间当作选项,右边当作参数,是有特定结构和特定组织方式的

环境变量:在众多环境变量中,有一个PATH变量
PATH: 从哪些路径中查找用户键入的命令字符串所对应的命令文件
~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
如果运行ls命令,会在以上路径中,自左向右寻找ls命令,依次寻找
如果碰巧在第一个路径有ls,第三个路径有ls,自左向右,先运行第一个路径
以上是外部命令(可执行程序),如果是shell的内置命令,是没有程序文件的,在以上路径中是找不到的

如何区分内置命令还是外部命令?
查看shell命令类型:
~]# type ls (查看ls命令类型)
ls is aliased to ‘ls –color=auto’ 外部命令(可执行程序)
~]# type type (查看type命令类型)
type is a shell builtin,内置命令,在以上路径中就不可能找到该文件名

OPTIONS(选项)
指定命令的运行方式:使用不同的选项,命令的运行特性将不同,指定运行命令当中的哪些功能
~]# ls var
~]# ls -d var
显示的结果都不同

选项有两种表现形式:
1、短选项:-#,例如,-c,-l,-d
注意:有些命令的选线更没有-,同一个命令使用多个短选项,多数可以进行合并,比如写成-ld
2、长选项:–#,两个横线或接单词,例如,–help, --long, --human-readable
注意:长选项不能合并,有些选项可以带参数,此称为选项参数

ARGUMENTS(参数)
命令参数,即为命令的作用对象(生效对象),代表命令对什么生效
注意:不同的命令,其参数格式是不一样的,有些命令可同时带多个参数,彼此之间用空格分割
例如:~]# ls –l –d /var /etc(ls –l –d作用在/var和/etc文件)
ls:命令
–l –d:选项参数
/var /etc:命令参数

获取命令的使用帮助
1、 内部命令:help COMMAND
~]# help type
2、 外部命令:
(1) 命令自带简要格式的使用帮助
#COMMAND –help, 例如~]# ls --help
(2) 使用手册:manual
命令必须带有使用手册,位于/usr/share/man/路径,查看手册直接使用man命令,例如~]# man ls
man的section含义:
NAME:功能性说明
SYNOPSIS:语法格式(重点关注的)
OPTIONS:选项
EXAMPLES:使用示例
AUTHOR:作者
BUGS:报告程序bug的方式
SEE ALSO:参考

SYNOPSIS:符号语法格式含义
[]:代表可选内容
<>:代表必须提供的内容
a|b|c:代表多选一
…:代表同类内容可出现多个

使用手册:属于压缩格式的文件,还有章节之分
章节位于:/usr/share/man
man1:用户命令
man2:系统调用
man3:C库调用
man4:设备文件及特殊文件
man5:文件格式(配置文件格式)
man6:系统自带游戏的使用帮助
man7:杂项
man8:管理工具以及守护进程

man后面跟字符串时,会自动从man的章节进行搜索,显示最先找到的章节
~]# man CHAPTER COMMAND
~]# man 5 passwd
注意:并非每个COMMAND在所有章节下都有手册
如何查看命令在哪个章节下面有手册?使用whatis 命令
注意: whatis执行过程是根据数据库查询得到的,有可能并非最新的内容
~]# whatis passwd
手工更新数据库
~]# makewhatis

man命令打开手册后页面的操作方法
翻屏操作:
空格:向文件尾部翻一屏
b:向文件首部反一屏
ctrl+d:向文件尾部翻半屏
ctrl+u:向文件首部翻半屏
回车键:一次向文件尾部翻一行
k:向文件首部翻一行
G:快速跳到文件尾部,跳转至最后一行
nG: 跳转至指定行
1G:跳转至文件首部

文件搜索:
/关键词(/keyword):从文件首部向文件尾部依次查找
?关键词(?keyword):从文件尾部向文件首部依次查找
n:与查找命令方向相同切换下一个关键词
N:与查找命令方向相反切换下一个关键词
查找时不区分字符大小写

退出:
q: quit

man命令查找选项:
-M /PATH/TO/SOMEDIR:到指定目录下查找命令手册并打开之

了解useradd命令的用法:
(1) 添加用户gentoo
(2) 添加用户slackware, 要求指明其所用的shell为/bin/tcsh
~]# man useradd
~]# useradd gentoo
~]# id gentoo
uid=1001(gentoo) gid=1001(gentoo) groups=1001(gentoo)
~]# useradd –s /bin/tcsh slackware
~]#id slackware
~]#tail -1 /etc/passwd
在这里插入图片描述

info COMMAND获取命令的在线文档信息页,一般作为man手册的辅助文档

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

主流发行版官方系统文档
http://www.redhat.com/doc

程序官方站点上的文档“Document”
使用搜索引擎google
比如搜索:
centos filetype pdf
site:domain.tld

参考书籍:
O’reiley
Wrox
机械工业出版社、电子工业出版社、人邮、清华大学、水利水电

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值