Linux命令格式及man命令用法
1. Linux系统运行机制
2. 命令的语法通用格式:
# COMMAD OPTIONS ARGUMENTS
COMMAD:
发起一命令:请求内核将一个二进制程序运行为一个进程
程序--》进程
静态--》动态(有生命周期)
命令本身是一个可执行的程序文件:二进制格式的文件,有可能会调用共享库文件。
多数系统程序文件都存放在:/bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin
普通命令:/bin /usr/bin /usr/local/bin
管理命令:/sbin /usr/sbin /usr/local/sbin
共享库:
32bits的库:/lib /usr/lib /usr/local/lib
64bits的库:/lib64 /usr/lib64 /usr/local/lib64
命令分为两类:
由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
查看文件类型:file 文件名
OPTIONS:
指定命令的运行特性:
选项有两种表现形式:
短选项:-C,例如:-l,-d
注意:有些命令的选项没有-:
如果同一命令同时使用多个短选项,多数可合并:-l -d = -ld
长选项:--word,例如--help,--human-readable
注意:长选项不能合并:
注意:有些选项可以带参数,此称为选项参数
ARGUMENTS:
命令的作用对象,命令对什么生效:
注意:不同命令参数的格式也不同,有些命令可以同时带多个参数,多个之间以空白分隔符分割:
例如:ls -ld /var /etc
3. 获取命令的使用帮助:
内部命令:
help COMMAD
外部命令:
(1)命令自带简要格式的帮助
# COMMAD --help
(2)使用手册:manual
位置:/usr/share/man
~】# man COMMAD
SECTION:
NAME:功能性说明
SYNOPSIS:语法格式
DESCRIPTION:描述
OPTIONS:选项
EXAMPLES:使用示例
AUTHOR:作者
BUGS:报告程序BUG的方式
SEE ALSO:参考
。。。
SYNOPSIS:
【】:可选内容
<>:必须提供的内容
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:跳转至指定文件
1G:跳转至文件首部
文件搜索:
/keyword:从文件首部向文件尾部依次查找,不区分大小写
?keyword:从文件尾部向文件首部依次查找,不区分大小写
n:与查找命令方向相同
N:与查找命令方向相反
q:退出
选项:
-M /PATH/TO/SOMEDIR:到指定目录下查找命令手册并打开之
练习:获取useradd的命令用法:man useradd
(1)添加用户test
~】# useradd test
~】# id test(验证)
(2)添加用户test1,要求其指定所用的shell为/bin/tcsh
~】# useradd -s /bin/tcsh test1
~】# tail -1 /etc/passwd(验证)
(3)info COMMAND
获取命令的在线文档
(4)很多应用程序会自带帮助文档:/usr/share/doc/APP-VERSION
README:程序相关的信息
INSTALL:安装帮助
CHANGES:版本迭代的
(5)主流发行版官方文档
http://www.redhat.com/doc
(6)程序官方文档
官方站点上的“Document”
(7)搜索引擎
keyword filetype:pdf
keyword site:domain.tld
4. .basename和dirname
basename:最右侧的文件或者目录名。
dirname:basename左侧的路径。
例如:
~】# basename /etc/sysconfig/network-scripts
network-scripts
~】# dirname /etc/sysconfig/network-scripts/
/etc/sysconfig
5. bash的基础特性
a) 命令补全
b) globbing:文件名通配
c) IO重定向
6. Linux系统上的文件类型
-:常规文件
d:directory,目录文件
b:block device,块设备文件,支持以‘block’为单位进行线性访问
c:character device,字符设备文件,支持以‘character’为单位进行线性访问
major number:主设备号,用于标识设备类型,进而确认要加载的驱动程序
minor number:次设备号,用于标识同一类型中的不同设备
8位二进制:0-255
l:symbolic link:符号链接文件
p:pipe,命令管道
s:socket,套接字文件