添加命令

This commit is contained in:
jaywcjlove 2016-11-30 14:53:07 +08:00
parent fee9124092
commit e5718867d5
41 changed files with 1815 additions and 0 deletions

41
command/as.md Normal file
View File

@ -0,0 +1,41 @@
as
===
汇编语言编译器
## 补充说明
**as命令** GNU组织推出的一款汇编语言编译器它支持多种不同类型的处理器。
### 语法
```
as(选项)(参数)
```
### 选项
```
-ac忽略失败条件
-ad忽略调试指令
-ah包括高级源
-al包括装配
-am包括宏扩展
-an忽略形式处理
-as包括符号
=file设置列出文件的名字
--alternate以交互宏模式开始
-f跳过空白和注释预处理
-g产生调试信息
-J对于有符号溢出不显示警告信息
-L在符号表中保留本地符号
-o指定要生成的目标文件
--statistics打印汇编所用的最大空间和总时间。
```
### 参数
汇编文件:指定要汇编的源文件。
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

79
command/bc.md Normal file
View File

@ -0,0 +1,79 @@
bc
===
算术操作精密运算工具
## 补充说明
**bc命令** 是一种支持任意精度的交互执行的计算器语言。bash内置了对整数四则运算的支持但是并不支持浮点运算而bc命令可以很方便的进行浮点运算当然整数运算也不再话下。
### 语法
```
bc(选项)(参数)
```
### 选项
```
-i强制进入交互式模式
-l定义使用的标准数学库
-w对POSIX bc的扩展给出警告信息
-q不打印正常的GNU bc环境信息
-v显示指令版本信息
-h显示指令的帮助信息。
```
### 参数
文件:指定包含计算任务的文件。
### 实例
算术操作高级运算bc命令它可以执行浮点运算和一些高级函数
```
echo "1.212*3" | bc
3.636
```
设定小数精度(数值范围)
```
echo "scale=2;3/8" | bc
0.37
```
参数`scale=2`是将bc输出结果的小数位设置为2位。
进制转换
```
#!/bin/bash
abc=192
echo "obase=2;$abc" | bc
```
执行结果为11000000这是用bc将十进制转换成二进制。
```
#!/bin/bash
abc=11000000
echo "obase=10;ibase=2;$abc" | bc
```
执行结果为192这是用bc将二进制转换为十进制。
计算平方和平方根:
```
echo "10^10" | bc
echo "sqrt(100)" | bc
```
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

72
command/cal.md Normal file
View File

@ -0,0 +1,72 @@
cal
===
显示当前日历或指定日期的日历
## 补充说明
**cal命令** 用于显示当前日历,或者指定日期的日历。
### 语法
```
cal(选项)(参数)
```
### 选项
```
-l显示单月输出
-3显示临近三个月的日历
-s将星期日作为月的第一天
-m将星期一作为月的第一天
-j显示“julian”日期
-y显示当前年的日历。
```
### 参数
```
月:指定月份;
年:指定年份。
```
### 实例
单独执行cal命令会打印出日历
```
[root@localhost ~]# cal
十二月 2013
日 一 二 三 四 五 六
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
```
```
[root@localhost ~]# cal -j
十二月 2013
日 一 二 三 四 五 六
335 336 337 338 339 340 341
342 343 344 345 346 347 348
349 350 351 352 353 354 355
356 357 358 359 360 361 362
363 364 365
```
```
[root@localhost ~]# cal -3
十一月 2013 十二月 2013 一月 2014
日 一 二 三 四 五 六 日 一 二 三 四 五 六 日 一 二 三 四 五 六
1 2 1 2 3 4 5 6 7 1 2 3 4
3 4 5 6 7 8 9 8 9 10 11 12 13 14 5 6 7 8 9 10 11
10 11 12 13 14 15 16 15 16 17 18 19 20 21 12 13 14 15 16 17 18
17 18 19 20 21 22 23 22 23 24 25 26 27 28 19 20 21 22 23 24 25
24 25 26 27 28 29 30 29 30 31 26 27 28 29 30 31
```
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

31
command/cancel.md Normal file
View File

@ -0,0 +1,31 @@
cancel
===
取消已存在的打印任务
## 补充说明
**cancel命令** 用于取消已存在的打印任务。
### 语法
```
cancel(选项)(参数)
```
### 选项
```
-a取消所有打印任务
-E当连接到服务器时强制使用加密
-U指定连接服务器时使用的用户名
-u指定打印任务所属的用户
-h指定连接的服务器名和端口号。
```
### 参数
打印任务号:指定要取消的打印任务编号。
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

21
command/clear.md Normal file
View File

@ -0,0 +1,21 @@
clear
===
清除当前屏幕终端上的任何信息
## 补充说明
**clear命令** 用于清除当前屏幕终端上的任何信息。
### 语法
```
clear
```
### 实例
直接输入clear命令当前终端上的任何信息就可被清除。
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

24
command/consoletype.md Normal file
View File

@ -0,0 +1,24 @@
consoletype
===
输出已连接的终端类型
## 补充说明
**consoletype命令** 用于打印已连接的终端类型到标准输出,并能够检查已连接的终端是当前终端还是虚拟终端。
### 语法
```
consoletype
```
### 实例
```
[root@localhost ~]# consoletype
pty
```
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

32
command/cupsdisable.md Normal file
View File

@ -0,0 +1,32 @@
cupsdisable
===
停止指定的打印机
## 补充说明
**cupsdisable命令** 用于停止指定的打印机。
### 语法
```
cupsdisable(选项)(参数)
```
### 选项
```
-E当连接到服务器时强制使用加密
-U指定连接服务器时使用的用户名
-u指定打印任务所属的用户
-c取消指定打印机的所有打印任务
-h指定连接的服务器名和端口号
-r停止打印机的原因。
```
### 参数
目标:指定目标打印机。
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

61
command/dpkg-deb.md Normal file
View File

@ -0,0 +1,61 @@
dpkg-deb
===
Debian Linux下的软件包管理工具
## 补充说明
**dpkg-deb命令** 是Debian Linux下的软件包管理工具它可以对软件包执行打包和解包操作以及提供软件包信息。
### 语法
```
dpkg-deb(选项)(参数)
```
### 选项
```
-c显示软件包中的文件列表
-e将主控信息解压
-f把字段内容打印到标准输出
-x将软件包中的文件释放到指定目录下
-X将软件包中的文件释放到指定目录下并显示释放文件的详细过程
-w显示软件包的信息
-l显示软件包的详细信息
-R提取控制信息和存档的清单文件
-b创建debian软件包。
```
### 参数
文件:指定要操作的“.deb”软件包的全名或软件名。
### 实例
解压程序文件:
```
dpkg-deb -x drcom-pum_1.0-0ubuntu1~ppa1~jaunty1_i386.deb drcom
```
解压控制文件:
```
dpkg-deb -e drcom-pum_1.0-0ubuntu1~ppa1~jaunty1_i386.deb drcom/DEBIAN
```
打包生成deb文件
```
dpkg-deb -b drcom drcom_1.4.8.2_i386.deb
```
查询deb包中的文件内容
```
dpkg-deb -c demo.deb
```
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

57
command/dpkg-divert.md Normal file
View File

@ -0,0 +1,57 @@
dpkg-divert
===
Debian Linux中创建并管理一个转向列表
## 补充说明
**dpkg-divert命令** 是Debian Linux中创建并管理一个转向diversion列表其使得安装文件的默认位置失效的工具。
### 语法
```
dpkg-divert(选项)(参数)
```
### 选项
```
--add添加一个转移文件
--remove删除一个转移文件
--list列出匹配的转移
--truename对应转移文件真实文件名
--quidet安静模式。
```
### 参数
文件:指定转移文件名。
### 实例
指定软件包wibble安装时写入`/usr/bin/example.foo`,而不是`/usr/bin/example`
```
dpkg-divert --package wibble --divert /usr/bin/example.foo --rename /usr/bin/example
```
指定软件包wibble安装时删除对`/usr/bin/example`的转移修改:
```
dpkg-divert --package wibble --rename --remove /usr/bin/example
```
删除对`/usr/bin/example`的转移修改:
```
dpkg-divert --rename --remove /usr/bin/example
```
添加一个软件包安装时,写入`/usr/bin/example.foo`,而不是`/usr/bin/example`的修改:
```
dpkg-divert --divert /usr/bin/example.foo --rename /usr/bin/example
```
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

View File

@ -0,0 +1,37 @@
dpkg-preconfigure
===
Debian Linux中软件包安装之前询问问题
## 补充说明
**dpkg-preconfigure命令** 用于在Debian Linux中软件包安装之前询问问题。
### 语法
```
dpkg-preconfigure(选项)(参数)
```
### 选项
```
-f选择使用的前端
-p感兴趣的最低的优先级问题
--apt在apt模式下运行。
```
### 参数
软件包:指定“.deb”软件包。
### 实例
导入debconf模板
```
dpkg-preconfigure /var/cache/apt/archives/mysql-server-5.5*.deb
```
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

71
command/dpkg-query.md Normal file
View File

@ -0,0 +1,71 @@
dpkg-query
===
Debian Linux中软件包的查询工具
## 补充说明
**dpkg-query命令** 是Debian Linux中软件包的查询工具它从dpkg软件包数据库中查询并辨识软件包的信息。
### 语法
```
dpkg-query(选项)(参数)
```
### 选项
```
-l列出符合匹配模式的软件包
-s查询软件包的状态信息
-L显示软件包所安装的文件列表
-S从安装的软件包中查询文件
-w显示软件包信息
-c显示软件包的控制文件路径
-p显示软件包的细节。
```
### 参数
软件包名称:指定需要查询的软件包。
### 实例
查找文件file1在哪个包里安装
```
dpkg-query -S file1
```
列出ubuntu下所安装软件列表
```
dpkg-query -W --showformat='${Package} ${Version}\n' > filename
```
查看软件包详细信息:
```
dpkg-query -s capistrano
```
查看软件包安装时安装到系统的文件列表:
```
dpkg-query -L capistrano
```
列出所有安装的包:
```
dpkg-query -l
```
查看软件包的确切状态(是否安装)以及版本号:
```
dpkg-query -W -f='${Status} ${Version}\n' apache-perl
```
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

46
command/dpkg-split.md Normal file
View File

@ -0,0 +1,46 @@
dpkg-split
===
Debian Linux中将大软件包分割成小包
## 补充说明
**dpkg-split命令** 用来将Debian Linux中的大软件包分割成小软件包它还能够将已分割的文件进行合并。
### 语法
```
dpkg-split(选项)(参数)
```
### 选项
```
-S设置分割后的每个小文件最大尺寸以字节为单位
-s分割软件包
-j<分块文件><分块文件>:把各个分块合并到一起;
-I<分块文件>:显示分块文件的相关信息;
-l列出不匹配的部分
-dscard<文件名>:忽略不匹配的部分。
```
### 参数
软件包:指定需要分割的“.deb”软件包。
### 实例
把foo.deb分割出N个大小为460KB的文件
```
dpkg-split -s foo.deb
```
合并分割文件:
```
dpkg-split -j "foo*"
```
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

View File

@ -0,0 +1,46 @@
dpkg-statoverride
===
Debian Linux中覆盖文件的所有权和模式
## 补充说明
**dpkg-statoverride命令** 用于Debian Linux中覆盖文件的所有权和模式让dpkg于包安装时使得文件所有权与模式失效。
### 语法
```
dpkg-statoverride(选项)
```
### 选项
```
-add为文件添加一个改写
--remove为文件删除一个改写
--list显示所有改写列表
--update如果文件存在则立刻执行改写操作。
```
### 实例
修改文件夹的权限属性:
```
sudo dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3
```
强制修改文件夹的权限属性:
```
sudo dpkg-statoverride --force --update --add root sasl 755 /var/spool/postfix/var/run/saslauthd
```
将文件从数据库中删除:
```
sudo dpkg-statoverride --remove /usr/bin/wall
```
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

31
command/dpkg-trigger.md Normal file
View File

@ -0,0 +1,31 @@
dpkg-trigger
===
Debian Linux下的软件包触发器
## 补充说明
**dpkg-trigger命令** 是Debian Linux下的软件包触发器。
### 语法
```
dpkg-trigger(选项)(参数)
```
### 选项
```
--check-supported检查运行的dpkg是否支持触发器返回值为0则支持触发器。
--help显示帮助信息
--admindir=<目录>设置dpkg数据库所在的目录
--no-act仅用于测试不执行任何操作
--by-package=<软件包>:覆盖触发器等待者。
```
### 参数
触发器名:指定触发器名称。
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

30
command/gcov.md Normal file
View File

@ -0,0 +1,30 @@
gcov
===
测试程序的代码覆盖率的工具
## 补充说明
**gcov命令** 是一款测试程序的代码覆盖率的工具。
### 语法
```
gcov(选项)(参数)
```
### 选项
```
-h显示帮助信息
-v显示版本信息
-a输出所有的基本块的执行计数
-n并创建输出文件。
```
### 参数
V语言文件C语言源代码文件。
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

27
command/gpm.md Normal file
View File

@ -0,0 +1,27 @@
gpm
===
提供文字模式下的滑鼠事件处理
## 补充说明
**gpm命令** 是Linux的虚拟控制台下的鼠标服务器用于在虚拟控制台下实现鼠标复制和粘贴文本的功能。
### 语法
```
gpm(选项)
```
### 选项
```
-a设置加速值
-b设置波特率
-B设置鼠标按键次序
-m指定鼠标设备文件
-t设置鼠标类型。
```
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

31
command/hostid.md Normal file
View File

@ -0,0 +1,31 @@
hostid
===
用来打印当前主机的数字化标识
## 补充说明
**hostid命令** 用于打印当前主机的十六进制数字标识。是主机的唯一标识,是被用来限时软件的使用权限,不可改变。
### 语法
```
hostid
```
### 选项
```
--help显示帮助信息
--version显示版本信息。
```
### 实例
```
[root@localhost ~]# hostid
007f0100
```
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

82
command/info.md Normal file
View File

@ -0,0 +1,82 @@
info
===
Linux下info格式的帮助指令
## 补充说明
**info命令** 是Linux下info格式的帮助指令。
就内容来说info页面比man page编写得要更好、更容易理解也更友好但man page使用起来确实要更容易得多。一个man page只有一页而info页面几乎总是将它们的内容组织成多个区段称为节点每个区段也可能包含子区段称为子节点。理解这个命令的窍门就是不仅要学习如何在单独的Info页面中浏览导航还要学习如何在节点和子节点之间切换。可能刚开始会一时很难在info页面的节点之间移动和找到你要的东西真是具有讽刺意味原本以为对于新手来说某个东西比man命令会更好些但实际上学习和使用起来更困难。
### 语法
```
info(选项)(参数)
```
### 选项
```
-d添加包含info格式帮助文档的目录
-f指定要读取的info格式的帮助文档
-n指定首先访问的info帮助文件的节点
-o输出被选择的节点内容到指定文件。
```
### 参数
帮助主题:指定需要获得帮助的主题,可以是指令、函数以及配置文件。
### 实例
在info后面输入命令的名称就可以查看该命令的info帮助文档了
```
info info
```
面介绍一下它的几个常用快捷键。
```
**?键:** 它就会显示info的常用快捷键。
**N键** 显示(相对于本节点的)下一节点的文档内容。
**P键** 显示(相对于本节点的)前一节点的文档内容。
**U键** 进入当前命令所在的主题。
**M键** 敲M键后输入命令的名称就可以查看该命令的帮助文档了。
**G键** 敲G键后输入主题名称进入该主题。
**L键** 回到上一个访问的页面。
**SPACE键** 向前滚动一页。
**BACKUP或DEL键** 向后滚动一页。
**Q** 退出info。
```
**命令**
```
**** 显示帮助窗口
在帮助窗口中:
**Ctrl-x 0** 关闭帮助窗口
**Ctrl-x Ctrl-c** 关闭整个 Info
**q** 退出 info
**n** 打开与本 Node 关联的下一个 Node
**p** 打开与本 Node 关联的前一个 Node
**u** 打开与本 Node 关联的上一个 Node
**l** 回到上一次访问的 Node
**m或g** 选择一个菜单项Node 的名字)
输入指定菜单的名字后按回车,打开指定菜单项关联的 Node
**空格键** 下一页PageDown 也可以,下一页从当前页的最后两行开始算起)
下一个 Node (若当前页在 Node 文档的末尾)
**Del 键** 上一页PageUp 也可以,上一页从当前页的开始两行开始算起)
上一个 Node (若当前页 Node 文档的开始)
**b 或 t 或 Home** 文档的开始b 是 begining 的意思)
**e 或 End** 文档的末尾b 是 ending 的意思)
**Ctrl-l** 刷新当前页,若当前文档显示情况有问题时
**Ctrl-g** 取消所键入的指令
```
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

28
command/ld.md Normal file
View File

@ -0,0 +1,28 @@
ld
===
将目标文件连接为可执行程序
## 补充说明
**ld命令** 是GNU的连接器将目标文件连接为可执行程序。
### 语法
```
ld(选项)(参数)
```
### 选项
```
-o指定输出文件名
-e指定程序的入口符号。
```
### 参数
目标文件:指定需要连接的目标文件。
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

74
command/lp.md Normal file
View File

@ -0,0 +1,74 @@
lp
===
打印文件或修改排队的打印任务
## 补充说明
**lp命令** 用于打印文件或者修改排队的打印任务。与lpr命令类似lp命令既支持文件输入也支持标准输入。它与lpr的不同之处在于它有一个不同稍微复杂点的参数选项设置。
### 语法
```
lp(选项)(参数)
```
### 选项
```
-E与打印服务器连接时强制使用加密
-U指定连接打印服务器时使用的用户名
-d指定接收打印任务的目标打印机
-i指定一个存在的打印任务号
-m打印完成时发送E-mail
-n指定打印的份数
-t指定打印任务的名称
-H指定打印任务开始的时间
-P指定需要打印的页码。
```
### 参数
文件:需打印的文件。
### 实例
要在连接在设备dlp0上的打印机lp0上打印文件`/etc/motd`,请输入:
```
lp /etc/motd
```
要使用文件的一个副本打印`/etc/motd`文件的30个副本并且要用邮件通知用户作业完成请输入
```
lp -c -m -n30 -dlp0:lpd0 /etc/motd
```
要使用后端标志-f和-a并带上作业标题blah打印`/etc/motd`文件,请输入:
```
lp -t "blah" -o -f -o -a /etc/motd
```
要排队MyFile文件并返回作业编号请输入
```
lp myfile
```
要排队MyFile文件并禁止作业编号请输入
```
lp -s myfile
```
**退出状态**
该命令返回以下退出值:
* 0所有输入文件成功处理。
* >0没有输出设备可用或者出现一个错误。
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

28
command/lpc.md Normal file
View File

@ -0,0 +1,28 @@
lpc
===
命令行方式打印机控制程序
## 补充说明
**lpc命令** 式命令行方式打印机控制程序有5个内置命令。
### 语法
```
lpc
```
### 实例
```
[root@localhost ~]# lpc
lpc> ?
命令可能是缩写。命令是:
exit help quit status ?
lpc> exit
```
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

29
command/lpq.md Normal file
View File

@ -0,0 +1,29 @@
lpq
===
显示打印队列中的打印任务的状态信息
## 补充说明
**lpq命令** 用于显示打印队列中的打印任务的状态信息。
### 语法
```
lpq(选项)
```
### 选项
```
-E强制使用加密方式与服务器连接
-P显示中的打印机上的打印队列状态
-U自动可选的用户名
-a报告所有打印机的定义任务
-h指定打印服务器信息
-l使用长格式输出
+:指定显示状态的间隔时间。
```
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

43
command/lpr.md Normal file
View File

@ -0,0 +1,43 @@
lpr
===
将文件发送给指定打印机进行打印
## 补充说明
**lpr命令** 用于将文件发送给指定打印机进行打印,如果不指定目标打印机,则使用默认打印机。
### 语法
```
lpr(选项)(参数)
```
### 选项
```
-E与打印服务器连接时强制使用加密
-H指定可选的打印服务器
-C指定打印任务的名称
-P指定接受打印任务的目标打印机
-U指定可选的用户名
-#:指定打印的份数;
-h关闭banner打印
-m打印完成后发送E-mail
-r打印完成后删除文件。
```
### 参数
文件:需打印的文件。
### 实例
将man1和man2送到打印机lp进行打印
```
lpr -P lp man1 man2
```
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

43
command/lprm.md Normal file
View File

@ -0,0 +1,43 @@
lprm
===
删除打印队列中的打印任务
## 补充说明
**lprm命令** 用于删除打印队列中的打印任务。尚未完成的打印机任务会被放在打印机贮列之中,这个命令可用来将常未送到打印机的任务取消。
### 语法
```
lprm(选项)(参数)
```
### 选项
```
-E与打印服务器连接时强制使用加密
-P指定接受打印任务的目标打印机
-U指定可选的用户名。
```
### 参数
打印任务:指定需删除的打印任务号。
### 实例
将打印机hpprint中的第102号任务移除
```
lprm -Phpprint 102
```
将第101号任务由预设打印机中移除
```
lprm 101
```
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

33
command/lpstat.md Normal file
View File

@ -0,0 +1,33 @@
lpstat
===
显示CUPS中打印机的状态信息
## 补充说明
**lpstat命令** 用于显示CUPS中打印机的状态信息。
### 语法
```
lpstat(选项)
```
### 选项
```
-E与打印机连接时加密
-R显示打印任务的等级
-U指定可选用户名
-a显示接受打印任务的打印机
-c显示打印机类
-d显示默认打印机
-h指定可选的服务器信息
-l显示长格式
-p显示指定打印机以及打印机是否接受打印任务
-s显示汇总信息
-t显示所有的状态信息。
```
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

47
command/man.md Normal file
View File

@ -0,0 +1,47 @@
man
===
查看Linux中的指令帮助
## 补充说明
**man命令** 是Linux下的帮助指令通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。
### 语法
```
man(选项)(参数)
```
### 选项
```
-a在所有的man帮助手册中搜索
-f等价于whatis指令显示给定关键字的简短描述信息
-P指定内容时使用分页程序
-M指定man手册搜索的路径。
```
### 参数
* 数字指定从哪本man手册中搜索帮助
* 关键字:指定要搜索帮助的关键字。
### 实例
我们输入`man ls`它会在最左上角显示“LS1在这里“LS”表示手册名称而“1”表示该手册位于第一节章同样我们输`man ifconfig`它会在最左上角显示“IFCONFIG8”。也可以这样输入命令“man [章节号] 手册名称”。
man是按照手册的章节号的顺序进行搜索的比如
```
man sleep
```
只会显示sleep命令的手册,如果想查看库函数sleep就要输入:
```
man 3 sleep
```
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

90
command/md5sum.md Normal file
View File

@ -0,0 +1,90 @@
md5sum
===
计算和校验文件报文摘要的工具程序
## 补充说明
**md5sum命令** 采用MD5报文摘要算法128位计算和检查文件的校验和。一般来说安装了Linux后就会有md5sum这个工具直接在命令行终端直接运行。
MD5算法常常被用来验证网络文件传输的完整性防止文件被人篡改。MD5 全称是报文摘要算法Message-Digest Algorithm 5此算法对任意长度的信息逐位进行计算产生一个二进制长度为128位十六进制长度就是32位的“指纹”或称“报文摘要”不同的文件产生相同的报文摘要的可能性是非常非常之小的。
### 语法
```
md5sum(选项)(参数)
```
### 选项
```
-b二进制模式读取文件
-t或--text把输入的文件作为文本文件看待
-c从指定文件中读取MD5校验和并进行校验
--status验证成功时不输出任何信息
-w当校验不正确时给出警告信息。
```
### 参数
文件:指定保存着文件名和校验和的文本文件。
### 实例
**生成一个文件insert.sql的md5值**
```
[root@localhost ~]# md5sum insert.sql
bcda6cb5c704664f989703ac5a88f112 insert.sql
```
**检查文件testfile是否被修改过**
首先生成md5文件
```
md5sum testfile > testfile.md5
```
检查:
```
md5sum testfile -c testfile.md5
```
如果文件没有变化,输出应该如下:
```
forsort: OK
```
此时md5sum命令返回0。
如果文件发生了变化,输出应该如下:
```
forsort: FAILED
md5sum: WARNING: 1 of 1 computed checksum did NOT match
```
此时md5sum命令返回非0。
这里,检查用的文件名随意。如果不想有任何输出,则`md5sum testfile --status -c testfile.md5`,这时候通过返回值来检测结果。
检测的时候如果检测文件非法则输出信息的选项:
```
md5sum -w -c testfile.md5
```
输出之后,文件异常输出类似如下:
```
md5sum: testfile.md5: 1: improperly formatted MD5 checksum line
md5sum: testfile.md5: no properly formatted MD5 checksum lines found
```
这里testfile.md5只有一行信息但是我认为地给它多加了一个字符导致非法。如果md5文件正常那么`-w`有没有都一样。
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

25
command/rcconf.md Normal file
View File

@ -0,0 +1,25 @@
rcconf
===
Debian Linux下的运行等级服务配置工具
## 补充说明
**rcconf命令** 是Debian Linux下的运行等级服务配置工具用以设置在特定的运行等级下系统服务的启动配置。
### 语法
```
rcconf(选项)
```
### 选项
```
--help打印帮助信息
--dialog使用对话命令显示菜单
--notermcheck不按照终端属性来设置窗口尺寸。
```
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

27
command/rpm2cpio.md Normal file
View File

@ -0,0 +1,27 @@
rpm2cpio
===
将RPM软件包转换为cpio格式的文件
## 补充说明
**rpm2cpio命令** 用于将rpm软件包转换为cpio格式的文件。
### 语法
```
rpm2cpio(参数)
```
### 参数
文件指定要转换的rpm包的文件名。
### 实例
```
rpm2cpio ../libstdc++-4.3.0-8.i386.rpm | cpio -idv
```
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

35
command/rpmbuild.md Normal file
View File

@ -0,0 +1,35 @@
rpmbuild
===
创建RPM的二进制软件包和源码软件包
## 补充说明
**rpmbuild命令** 被用于创建rpm的二进制软件包和源码软件包。
### 语法
```
rpmbuild(选项)
```
### 选项
```
--initdb初始化RPM数据库
--rebuilddb从已安装的包头文件方向重建RPM数据库
-ba创建二进制和源代码包
-bb创建二进制代码包
-bs创建源代码包。
```
### 实例
```
rpmbuild -ba 'spec文件路径'
```
build完后可以在`/usr/src/redhat/RPMS/`下找到二进制rpm包rpm包按照其对应的cpu体系结构分类通常在`/usr/src/redhat/RPMS/i386`目录下。`/usr/src/redhat/SRPMS/`下找到源码rpm包此时由于是源代码所以无须按体系结构分类。
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

24
command/rpmdb.md Normal file
View File

@ -0,0 +1,24 @@
rpmdb
===
初始化和重建RPM数据库
## 补充说明
**rpmdb命令** 用于初始化和重建rpm数据库。
### 语法
```
rpmdb(选项)
```
### 选项
```
--initdb初始化RPM数据库
--rebuilddb从已安装的包头文件反向重建RPM数据库。
```
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

36
command/rpmquery.md Normal file
View File

@ -0,0 +1,36 @@
rpmquery
===
从RPM数据库中查询软件包信息
## 补充说明
**rpmquery命令** 使用多种依据从rpm数据库中查询软件包信息。
### 语法
```
rpmquery(选项)
```
### 选项
```
-qf查询指定的文件所属的软件包
-q查询指定的软件包是否被安装
-qc查询软件包中的配置文件
-qd查询软件包中的文档文件
-qi查询软件包的基本信息。
```
### 实例
使用rpmquery命令查询指定文件所属的软件包
```
[root@localhost ~]# rpmquery -qf /usr/bin/htpasswd
httpd-2.2.3-81.el5.centos
```
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

29
command/rpmsign.md Normal file
View File

@ -0,0 +1,29 @@
rpmsign
===
使用RPM软件包的签名管理工具
## 补充说明
**rpmsign命令** 使用rpm软件包的签名管理工具。
### 语法
```
rpmsign(选项)
```
### 选项
```
--addsign为自动软件包添加签名
--checksig验证软件包签名
--delsign删除软件包签名
--import导入公钥
--resign重新签名软件包
--nodigest不验证软件包摘要
--nosignature不验证软件包签名。
```
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

25
command/rpmverify.md Normal file
View File

@ -0,0 +1,25 @@
rpmverify
===
验证已安装的RPM软件包的正确性
## 补充说明
**rpmverify命令** 用来验证已安装的rpm软件包的正确性。
### 语法
```
rpmverify(选项)
```
### 选项
```
-Va验证所有软件包
-V<软件包>f验证指定软件包
--nomd5不验证软件包的md5摘要。
```
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

40
command/sleep.md Normal file
View File

@ -0,0 +1,40 @@
sleep
===
将目前动作延迟一段时间
## 补充说明
**sleep命令** 暂停指定的时间。
### 语法
```
sleep(参数)
```
### 参数
时间:指定要暂停时间的长度。
时间长度,后面可接 s、m、h 或 d其中 s 为秒m 为 分钟h 为小时d 为日数。
### 实例
有时在写一些以循环方式运行的监控脚本设置时间间隔是必不可少的下面是一个Shell进度条的脚本演示在脚本中生成延时。
```
#!/bin/bash
b=''
for ((i=0;$i<=100;i++))
do
printf "Progress:[%-100s]%d%%\r" $b $i
sleep 0.1
b=#$b
done
echo
```
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

97
command/stty.md Normal file
View File

@ -0,0 +1,97 @@
stty
===
修改终端命令行的相关设置
## 补充说明
**stty命令** 修改终端命令行的相关设置。
### 语法
```
stty(选项)(参数)
```
### 选项
```
-a以容易阅读的方式打印当前的所有配置
-g以stty可读方式打印当前的所有配置。
```
### 参数
终端设置:指定终端命令行的设置选项。
### 实例
**在命令行下,禁止输出大写的方法:**
```
stty iuclc #开启
stty -iuclc #恢复
```
**在命令行下禁止输出小写:**
```
stty olcuc #开启
stty -olcuc #恢复
```
**打印出终端的行数和列数:**
```
stty size
```
**改变Ctrl+D的方法:**
```
stty eof "string"
```
系统默认是Ctrl+D来表示文件的结束而通过这种方法可以改变
**屏蔽显示:**
```
stty -echo #禁止回显
stty echo #打开回显
```
测试方法:
```
stty -echo;read;stty echo;read
```
**忽略回车符:**
```
stty igncr #开启
stty -igncr #恢复
```
**定时输入:**
```
timeout_read()
{
timeout=$1
old_stty_settings=`stty -g`  #save current settings
stty -icanon min 0 time 100  #set 10seconds,not 100seconds
eval read varname   #=read $varname
stty "$old_stty_settings"   #recover settings
}
```
更简单的方法就是利用read命令的`-t`选项:
```
read -t 10 varname
```
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

37
command/sum.md Normal file
View File

@ -0,0 +1,37 @@
sum
===
计算文件的校验码和显示块数
## 补充说明
**sum命令** 用于计算并显示指定文件的校验和与文件所占用的磁盘块数。
### 语法
```
sum(选项)(参数)
```
### 选项
```
-r使用BSD的校验和算法块大小为1k
-s使用system V的校验和算法块大小为512字节。
```
### 参数
文件列表:需要计算和与磁盘块数的文件列表。
### 实例
计算文件校验码:
```
[root@localhost ~]# sum insert.sql
00827 12
```
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

28
command/unprotoize.md Normal file
View File

@ -0,0 +1,28 @@
unprotoize
===
删除C语言源代码文件中的函数原型
## 补充说明
**unprotoize命令** 属于gcc套件用于删除C语言源代码文件中的函数原型。
### 语法
```
unprotoize(选项)(参数)
```
### 选项
```
-d设置需要转换代码的目录
-x转换代码时排除的文件。
```
### 参数
文件需要转换代码的C语言源文件。
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

31
command/users.md Normal file
View File

@ -0,0 +1,31 @@
users
===
显示当前登录系统的所有用户
## 补充说明
**users命令** 用于显示当前登录系统的所有用户的用户列表。每个显示的用户名对应一个登录会话。如果一个用户有不止一个登录会话,那他的用户名将显示相同的次数。
### 语法
```
users(选项)
```
### 选项
```
--help显示命令的帮助信息
--version显示命令的版本信息。
```
### 实例
```
[root@localhost ~]# users
root root
```
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

45
command/whatis.md Normal file
View File

@ -0,0 +1,45 @@
whatis
===
查询一个命令执行什么功能
## 补充说明
**whatis命令** 是用于查询一个命令执行什么功能,并将查询结果打印到终端上。
whatis命令在用`catman -w`命令创建的数据库中查找command参数指定的命令、系统调用、库函数或特殊文件名。whatis命令显示手册部分的页眉行。然后可以发出man命令以获取附加的信息。whatis命令等同于使用`man -f`命令。
### 语法
```
whatis
```
### 实例
```
[root@localhost ~]# whatis ls
ls (1) - list directory contents
ls (1p) - list directory contents
[root@localhost ~]# whatis cp
cp (1) - copy files and directories
cp (1p) - copy files
[root@localhost ~]# whatis chown
chown (1) - change file owner and group
chown (1p) - change the file ownership
chown (2) - change ownership of a file
chown (3p) - change owner and group of a file
[root@localhost ~]# whatis man
man (1) - format and display the on-line manual pages
man (1p) - display system documentation
man (7) - macros to format man pages
man (rpm) - A set of documentation tools: man, apropos and whatis.
man-pages (rpm) - Man (manual) pages from the Linux Documentation Project.
man.config [man] (5) - configuration data for man
```
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

102
command/yum.md Normal file
View File

@ -0,0 +1,102 @@
yum
===
基于RPM的软件包管理器
## 补充说明
**yum命令** 是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器它可以使系统管理人员交互和自动化地更细与管理RPM软件包能够从指定的服务器自动下载RPM包并且安装可以自动处理依赖性关系并且一次安装所有依赖的软体包无须繁琐地一次次下载、安装。
yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令而且命令简洁而又好记。
### 语法
```
yum(选项)(参数)
```
### 选项
```
-h显示帮助信息
-y对所有的提问都回答“yes”
-c指定配置文件
-q安静模式
-v详细模式
-d设置调试等级0-10
-e设置错误等级0-10
-R设置yum处理一个命令的最大等待时间
-C完全从缓存中运行而不去下载或者更新任何头文件。
```
### 参数
```
install安装rpm软件包
update更新rpm软件包
check-update检查是否有可用的更新rpm软件包
remove删除指定的rpm软件包
list显示软件包的信息
search检查软件包的信息
info显示指定的rpm软件包的描述信息和概要信息
clean清理yum过期的缓存
shell进入yum的shell提示符
resolvedep显示rpm软件包的依赖关系
localinstall安装本地的rpm软件包
localupdate显示本地rpm软件包进行更新
deplist显示rpm软件包的所有依赖关系。
```
### 实例
部分常用的命令包括:
* 自动搜索最快镜像插件:`yum install yum-fastestmirror`
* 安装yum图形窗口插件`yum install yumex`
* 查看可能批量安装的列表:`yum grouplist`
**安装**
```
yum install #全部安装
yum install package1 #安装指定的安装包package1
yum groupinsall group1 #安装程序组group1
```
**更新和升级**
```
yum update #全部更新
yum update package1 #更新指定程序包package1
yum check-update #检查可更新的程序
yum upgrade package1 #升级指定程序包package1
yum groupupdate group1 #升级程序组group1
```
**查找和显示**
```
yum info package1 #显示安装包信息package1
yum list #显示所有已经安装和可以安装的程序包
yum list package1 #显示指定程序包安装情况package1
yum groupinfo group1 #显示程序组group1信息yum search string 根据关键字string查找安装包
```
**删除程序**
```
yum remove &#124; erase package1 #删除程序包package1
yum groupremove group1 #删除程序组group1
yum deplist package1 #查看程序package1依赖情况
```
**清除缓存**
```
yum clean packages #清除缓存目录下的软件包
yum clean headers #清除缓存目录下的 headers
yum clean oldheaders #清除缓存目录下旧的 headers
```
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->