bind

bind命令用于显示和设置命令行的键盘序列绑定功能。通过这一命令,可以提高命令行中操作效率。您可以利用bind命令了解有哪些按键组合与其功能,也可以自行指定要用哪些按键组合。

语法

bind(选项)

选项

-d:显示按键配置的内容;
-f<按键配置文件>:载入指定的按键配置文件;
-l:列出所有的功能;
-m<按键配置>:指定按键配置;
-q<功能>:显示指定功能的按键;
-v:列出目前的按键配置与其功能。

实例

bind -x '"\C-l":ls -l'    #直接按 CTRL+L 就列出目录

其中keyseq可以使用showkey -a命令来获取:

[root@localhost ~]# showkey -a

Press any keys - Ctrl-D will terminate this program

^[[A     27 0033 0x1b  上
         91 0133 0x5b
         65 0101 0x41
^[[B     27 0033 0x1b  下
         91 0133 0x5b
         66 0102 0x42
^[[D     27 0033 0x1b  左
         91 0133 0x5b
         68 0104 0x44
^[[C     27 0033 0x1b 右
         91 0133 0x5b
         67 0103 0x43
         32 0040 0x20
^M       13 0015 0x0d 字母M
^C        3 0003 0x03 Ctrl-C
^D        4 0004 0x04 Ctrl-D 退出

fc

fc命令自动掉用vi编辑器修改已有历史命令,当保存时立即执行修改后的命令,也可以用来显示历史命令。fc命令编辑历史命令时,会自动调用vi编辑器。fc保存文件后,会自动执行所编辑过的命令。

语法

fc(选项)(参数)

选项

-l:显示历史命令;
-n:显示历史命令时,不显示编号;
-r:反序显示历史命令。

参数

  • 起始指令编号:指定要编辑的起始指令编号;
  • 结尾指令编号:指定要编辑的结尾指令编号。

实例

使用该指令显示最近使用的10条历史命令,输入如下命令:

[root@localhost ~]# fc -l -10     #显示10条历史命令
1039     type -a grep
1040     export
1041     history 10
1042     ulimit -a
1043     shopt
1044     help ls
1045     help env
1046     help short
1047     help shopt
1048     showkey -a

第一列信息是历史命令的编号,第二列信息是历史命令的具体格式。若用户需要编辑第1040条历史命令时,则输入如下命令:

fc 1040                    #编辑第1040条历史命令

命令执行成功后,将自动调用vi编辑器编辑指定的命令,编辑完成后保存,会自动执行修改后的命令。当用户在vi编辑器中修改指令并保存后,被修改的命令会被自动调用并执行。

lvscan

lvscan命令用于扫描当前系统中存在的所有的LVM逻辑卷。使用lvscan指令可以发现系统中的所有逻辑卷,及其对应的设备文件。

语法

lvscan(选项)

选项

-b:显示逻辑卷的主设备和次设备号。

实例

使用lvscan命令扫描系统中的所有逻辑卷。在命令行中输入下面的命令:

[root@localhost ~]# lvscan     #扫描所有的逻辑卷

输出信息如下:

ACTIVE          '/dev/vg1000/lvol0' [200.00 MB] inherit

pvscan

pvscan命令会扫描系统中连接的所有硬盘,列出找到的物理卷列表。使用pvscan命令的-n选项可以显示硬盘中的不属于任何卷组的物理卷,这些物理卷是未被使用的。

语法

pvscan(选项)

选项

-d:调试模式;
-e:仅显示属于输出卷组的物理卷;
-n:仅显示不属于任何卷组的物理卷;
-s:短格式输出;
-u:显示UUID。

实例

使用pvscan命令扫描当前系统中所有硬盘的物理卷,在命令行中输入下面的命令:

[root@localhost ~]# pvscan     #扫描所有硬盘上的物理卷 

输出信息如下:

PV /dev/sdb1         lvm2 [101.94 MB]  
PV /dev/sdb2         lvm2 [101.98 MB]  
Total: 2 [203.92 MB] / in use: 0 [0   ] / in no VG: 2 [203.92  
MB] 

说明:本例中,输出了两个物理卷,它们不属于任何卷组,是可被利用的物理卷。

kexec

kexec命令是Linux内核的一个补丁,让您可以从当前正在运行的内核直接引导到一个新内核。在上面描述的引导序列中,kexec跳过了整个引导装载程序阶段(第一部分)并直接跳转到我们希望引导到的内核。不再有硬件的重启,不再有固件操作,不再涉及引导装载程序。完全避开了引导序列中最弱的一环 — 固件。这一功能部件带来的最大益处在于,系统现在可以极其快速地重新启动。

kexec的好处:要求高可用性的系统,以及需要不断重新启动系统的内核开发人员,都将受益于kexec。因为 kexec跳过了系统重新启动过程中最耗时的部分(也就是固件初始化硬件设备的阶段),所以重新启动变得非常快,可用性得到了提高。

语法

kexec(选项)

选项

-l:指定内核映像文件;
-e:允许当前被加载的内核;
-f:强制立即调用系统调用“kexec”,而不调用“shutdown”;
-t:指定新内核的类型;
-u:卸载当前的kexec目标内核。

command

command命令调用指定的指令并执行,命令执行时不查询shell函数。command命令只能够执行shell内部的命令。

语法

command(参数)

参数

指令:需要调用的指令及参数。

实例

使用command命令调用执行echo Linux,输入如下命令:

command echo Linux            #调用执行shell内部指令

上面的命令执行后,将调用执行命令echo Linux,其执行结果如下:

Linux

lvdisplay

lvdisplay命令用于显示LVM逻辑卷空间大小、读写状态和快照信息等属性。如果省略"逻辑卷"参数,则lvdisplay命令显示所有的逻辑卷属性。否则,仅显示指定的逻辑卷属性。

语法

lvdisplay(参数)

参数

逻辑卷:指定要显示属性的逻辑卷对应的设备文件。

实例

使用lvdisplay命令显示指定逻辑卷的属性。在命令行中输入下面的命令:

[root@localhost ~]# lvdisplay /dev/vg1000/lvol0     #显示逻辑卷属性

输出信息如下:

  --- Logical volume ---  
  LV Name                /dev/vg1000/lvol0  
......省略部分输出内容......  
  Block device           253:0

get_module

get_module命令用于获取Linux内核模块的详细信息。

语法

get_module 模块名

实例

使用lsmod命令查看内核模块:

lsmod | head -5
Module                  Size  Used by
ipv6                  272801  15
xfrm_nalgo             13381  1 ipv6
crypto_api             12609  1 xfrm_nalgo
ip_conntrack_ftp       11569  0

使用get_module命令查看模块详细信息:

get_module ipv6
        refcnt               : 15
        srcversion           : 8CC9C024755B4483E56C0EF

Parameters:
        autoconf             : 1
        disable              : 0
        disable_ipv6         : 0
Sections:
        .altinstr_replacement : 0xf8f1a3cf
        .altinstructions     : 0xf8f1d03c
        .bss                 : 0xf8f36000
        .data.read_mostly    : 0xf8f34d20
        .data                : 0xf8f2f7a0
        .exit.text           : 0xf8f1a234
        .gnu.linkonce.this_module : 0xf8f34e00
        .init.data           : 0xf8a16a60
        .init.text           : 0xf8a16000
        .module_sig          : 0xf8f37960
        .rodata.str1.1       : 0xf8f1ae46
        .rodata              : 0xf8f1a420
        .smp_locks           : 0xf8f1d150
        .strtab              : 0xf8f29840
        .symtab              : 0xf8f24000
        .text                : 0xf8ef5000
        __kcrctab            : 0xf8f1de70
        __kcrctab_gpl        : 0xf8f1d9cc
        __ksymtab            : 0xf8f1dd78
        __ksymtab_gpl        : 0xf8f1d954
        __ksymtab_strings    : 0xf8f1da44
        __param              : 0xf8f1da08
        __versions           : 0xf8f1df00

pvdisplay

pvdisplay命令用于显示物理卷的属性。pvdisplay命令显示的物理卷信息包括:物理卷名称、所属的卷组、物理卷大小、PE大小、总PE数、可用PE数、已分配的PE数和UUID。

语法

pvdisplay(选项)(参数)

选项

-s:以短格式输出;
-m:显示PE到LE的映射。

参数

物理卷:要显示的物理卷对应的设备文件名。

实例

使用pvdisplay命令显示指定的物理卷的基本信息。在命令行中输入下面的命令:

[root@localhost ~]# pvdisplay /dev/sdb1    #显示物理卷基本信息

输出信息如下:

"/dev/sdb1" is a new physical volume of "101.94 MB"  
--- NEW Physical volume ---  
PV Name               /dev/sdb1  
....省略部分输出内容......  
PV UUID         FOXiS2-Ghaj-Z0Mf- cdVZ-pfpk- dP9p-ifIZXN