Linux中的命令格式及使用帮助

1、命令格式介绍

命令的语法通用格式:
# COMMAND OPTIONS ARGUMENTS
(1)COMMAND
发起一个命令表示请求内核将某个二进制程序运行为一个进程;
程序启动为进程,静态程序变为动态的进程(有生命周期)。
命令本身是一个可执行的二进制格式的程序文件,有可能会调用共享库文件。
多数系统程序文件都存放在:/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下;
32bits的库存放在:/lib, /usr/lib, /usr/local/lib下;
64bits的库存放在:/lib64, /usr/lib64, /usr/local/lib64下。
注意:并非所有的命令都有一个在某目录与之对应的可执行程序文件,Linux内置命令没有与之对应的可执行程序文件。
命令必须遵循特定格式规范,如Windows中的exe, msi, Linux中的ELF;
查看文件内容格式的类型:~]# file /bin/ls
eg. [root@localhost ~]# file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=aa7ff68f13de25936a098016243ce57c3c982e06, stripped
命令分为两类:由shell程序的自带的命令叫做内置命令(builtin),独立的可执行程序文件,文件名即命令名,叫做外部命令。
shell程序是独特的程序,负责解析用户提供的命令,其通过查找PATH环境变量来查找用户键入的命令字符串所对应的命令文件。查找次序:自左而右。
~]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
查看命令类型:type COMMAND
eg. [root@localhost ~]# type ls
ls is aliased to 'ls --color=auto'
[root@localhost ~]# type type
type is a shell builtin
# which ls:可查看 ls 命令对应的可执行程序(也可以使用 whereis ls);
# whereis ls:也可以获得 ls 有哪些帮助文件;
(2)OPTIONS
指定命令的运行特性,指明要运行命令中的哪一部分功能代码。
选项有两种表现形式:
短选项:-C,例如-l,-d。注意:有些命令的选项没有-。如果同一命令同时使用多个短选项,多数可合并:-l -d = -ld。
长选项:–word,例如–help,–human-readable。注意:长选项不能合并。
注意:有些选项可以带参数,此称为选项参数;短选项的参数用空格分隔,长选项的参数用=连接。
(3)ARGUMENTS
命令的作用对象,命令对什么生效。
注意:不同的命令有不同的参数,有些命令可同时带多个参数,多个之间以空白字符分隔。
例如:ls -ld /var /etc

2、获取命令的使用帮助

(1)help获取命令帮助(命令自带简要格式的使用帮助)
<1>内部命令获取帮助:help COMMAND
eg. help type
<2>外部命令获取帮助:# COMMAND --help
eg. ls --help
(2)使用手册:manual
位置:/usr/share/man
命令:# man COMMAND
eg. man poweroff
试想一下man命令怎么知道去哪里找呢?
其实man有自己的配置文件,会在配置文件里面定义man文档的路径,配置文件为:
CentOS 6:/etc/man.config;
CentOS 7:/etc/man_db.conf;
man -M /PATH/TO/SOMEWHERE COMMAND:到指定位置下搜索手册并显示之。
手册的各个部分SECTION:
NAME:简要功能性说明;
SYNOPSIS:命令使用语法格式;
DESCRIPTION:描述信息;
OPTIONS:选项;
EXAMPLES:使用示例;
AUTHOR:命令的作者;
BUGS:报告程序bug的方式;
SEE ALSO:额外参考哪些命令;

SYNOPSIS:
[]:可选内容;
<>:必须提供的内容;
a|b|c:多选一;
…:同类内容可出现多个;
{}:用来做分组
手册为压缩格式的文件,有章节之分,分别存放在/usr/share/man下的man1,man2,…;
各个章节说明:
man1:用户命令手册;普通用户和管理员都可以运行的命令;
man2:系统调用手册;eg. open, read, write;
man3:C库调用手册;
man4:设备文件及特殊文件手册;
man5:文件格式手册(配置文件格式);
man6:游戏使用帮助手册;
man7:杂项手册;
man8:管理工具及守护进程手册;管理工具:只有管理员可以运行的命令帮助;
查询某章节的某命令:~]# man CHAPTER COMMAND
eg. man 5 passwd
并非每个COMMAND在所有章节下都有手册,查看该命令在哪个章节下有手册:
~]# whatis COMMAND
eg. whatis passwd
注意:其执行过程是查询数据库进行的,数据库会定期更新。
手动更新数据库:~]# makewhatis
man命令打开手册以后的操作方法:
翻屏:
空格键:向文件尾翻一屏;
b: 向文件首部翻一屏;
Ctrl+d:向文件尾部翻半屏;
Ctrl+u:向文件首部翻半屏;
回车键:向文件尾部翻一行;
k: 向文件首部翻一行;
G:跳转至最后一行;
#G: 跳转至指定行;
1G:跳转至文件首部;
文本搜索:
/keyword:从文件首部向文件尾部依次查找;不区分字符大小写;
?keyword:从文件尾部向文件首部依次查找;不区分字符大小写;
n: 与查找命令方向相同;下一个;
N: 与查找命令方向相反;下一个;
退出:
q: quit
选项:
到指定目录下查找命令手册并打开之:-M /PATH/TO/SOMEDIR
例:获取useradd命令的用法
<1>添加用户gentoo:
# useradd gentoo
# id gentoo //验证用户创建成功
<2>添加用户slackware,要求指定其所用的shell为/bin/tcsh:
# useradd -s /bin/tcsh slackware
# tail -1 /etc/passwd //显示文件最后一行
(3)获取命令的在线文档:info COMMAND
(4)很多应用程序会自带帮助文档:/usr/share/doc/APP-VERSION;
README:程序的相关的信息;
INSTALL:安装帮助;
ChangeLog:版本迭代时的改动信息;
(5)主流发行版官方文档:http://www.redhat.com/doc
(6)程序的官方文档:官方站点上的“Document”;
(7)搜索引擎:google;
keyword filetype:pdf
keyword site:domain.tld //域名,不加www
(8)参考书籍
经典书籍的出版社:
国外出版社:O’Reiley、Wrox;
国内出版社:机械工业出版社、电子工业出版社、人民邮电出版社、清华大学出版社、水利水电出版社。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页