blockdev
从命令行调用区块设备控制程序
补充说明
blockdev命令 在命令调用“ioxtls”函数,以实现对设备的控制。
语法
blockdev(选项)(参数)
选项
-V:打印版本号并退出;
-q:安静模式;
-v:详细信息模式;
--setro:只读;
--setrw:只写;
--getro:打印只读状态,“1”表示只读,“0”表示非只读;
--getss:打印扇区大小。通常为521;
--flushbufs:刷新缓冲区;
--rereadpt:重新读取分区表。
参数
设备文件名:指定要操作的磁盘的设备文件名。
实例
设置设备为只读:
blockdev --setro /dev/hda4
读取设备是否为只读:
blockdev --getro /dev/hda4
设置设别为可读写:
blockdev --setrw /dev/hda4
bmodinfo
显示给定模块的详细信息
补充说明
bmodinfo命令 用于显示给定模块的详细信息。
语法
bmodinfo(选项)(参数)
选项
-a:显示模块作者;
-d:显示模块的描述信息;
-l:显示模块的许可信息;
-p:显示模块的参数信息;
-n:显示模块对应的文字信息;
-0:用ASCII码的0字符分割字段值,而不使用新行。
参数
模块名:要显示详细信息的模块名称。
实例
显示sg模块的信息:
[root@localhost ~]# modinfo sg
filename: /lib/modules/2.6.9-42.ELsmp/kernel/drivers/scsi/sg.ko
author: Douglas Gilbert
description: SCSI generic (sg) driver
license: GPL
version: 3.5.31 B0B0CB1BB59F0669A1F0D6B
parm: def_reserved_size:size of buffer reserved for each fd
parm: allow_dio:allow direct I/O (default: 0 (disallow))
alias: char-major-21-*
vermagic: 2.6.9-42.ELsmp SMP 686 REGPARM 4KSTACKS gcc-3.4
depends: scsi_mod
break
结束for,while或until循环。
概要
break [n]
主要用途
- 结束for,while或until循环,可指定退出几层循环。
参数
n(可选):大于等于1的整数,用于指定退出几层循环。
返回值
返回成功除非n小于1。
例子
# break的可选参数n缺省值为1。
# 从外层for循环继续执行。
for((i=3;i>0;i--)); do
for((j=3;j>0;j--)); do
if((j==2)); then
# 换成break 1时结果一样
break
fi
printf "%s %s\n" ${i} ${j}
done
done
# 输出结果
3 3
2 3
1 3
# 当n为2时:
# 退出两层循环,结束。
for((i=3;i>0;i--)); do
for((j=3;j>0;j--)); do
if((j==2)); then
break 2
fi
printf "%s %s\n" ${i} ${j}
done
done
# 输出结果
3 3
注意
- 该命令是bash内建命令,相关的帮助信息请查看
help命令。
builtin
执行bash内建命令。
概要
builtin [shell-builtin [arg ...]]
主要用途
- 用于执行指定的bash内建命令。
builtin命令调用的bash内建命令优先于同名的外部命令及同名的shell函数。
参数
shell-builtin(可选):要调用的bash内建命令。
arg(可选):传递给bash内建命令的一到多个参数。
返回值
返回该内建命令执行的返回值,除非传递的不是bash内建命令或该内建命令被禁用。
例子
同名情况下的优先级顺序:
builtin 内建命令 > 函数 > 内建命令 > 外部命令
# 关于外部命令优先级最高的情况请参考enable命令。
# 此时内建命令优先使用
echo "the Great Wall"
# 调用内建命令type,返回命令的类型(builtin)
type -t echo
# 定义 echo 函数
echo(){
printf "123\n"
}
# 此时同名函数优先使用,显示(123)
echo
# 调用内建命令type,返回命令的类型(function)
type -t echo
# 此时内建命令优先使用
builtin echo -e "backslash \\"
# 执行shell内部指令,输出当前系统下的命令别名
builtin alias
alias cp='cp -i'
alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
注意
-
该命令是bash内建命令,相关的帮助信息请查看
help命令。
bunzip2
可解压缩.bz2格式的压缩文件。
补充说明
bzip2可以对文件进行压缩与解压缩。此命令类似于“gzip/gunzip”命令,只能对文件进行压缩。对于目录只能压缩目录下的所有文件,压缩完成后,在目录下生成以“.bz2”为后缀的压缩包。bunzip2其实是bzip2的符号链接,即软链接,因此解压都可以通过bzip2 -d实现。
语法
bunzip2(选项)(参数)
选项
-f或--force:解压缩时,若输出的文件与现有文件同名时,预设不会覆盖现有的文件;
-k或——keep:在解压缩后,预设会删除原来的压缩文件。若要保留压缩文件,请使用此参数;
-s或——small:降低程序执行时,内存的使用量;
-v或——verbose:解压缩文件时,显示详细的信息;
-l,--license,-V或——version:显示版本信息。
参数
.bz2压缩包:指定需要解压缩的.bz2压缩包。
实例
将/opt目录下的etc.zip、var.zip和backup.zip进行压缩,设置压缩率为最高,同时在压缩完毕后不删除原始文件,显示压缩过程的详细信息。
bzip2 -9vk /opt/etc.zip /opt/var.zip /opt/backup.zip
压缩完毕后,在/opt下就会生成相应的etc.zip.bz2、var.zip.bz2和backup.zip.bz2文件。
解压缩:
bunzip2 -v /opt/etc.zip.bz2
bye
命令用于中断FTP连线并结束程序
补充说明
bye命令 在ftp模式下,输入bye即可中断目前的连线作业,并结束ftp的执行。
语法
bye
实例
bye
bzcat
不解压,直接查看指定的.bz2文件
补充说明
bzcat命令 无需解压缩指定的.bz2文件,即可显示解压缩后的文件内容。
语法
bzcat(参数)
参数
.bz2压缩文件:指定要显示内容的.bz2压缩文件。
实例
将/tmp/man.config以bzip2格式压缩:
bzip2 -z man.config
此时man.config会变成man.config.bz2
将上面的压缩文件内容读出来:
bzcat man.config.bz2
此时屏幕上会显示 man.config.bz2 解压缩之后的文件内容。
bzcmp
比较两个压缩包中的文件
补充说明
bzcmp命令 主要功能是在不真正解压缩.bz2压缩包的情况下,比较两个压缩包中的文件,省去了解压缩后在调用cmp命令的过程。
语法
bzcmp(参数)
参数
- 文件1:指定要比较的第一个.bz2压缩包;
- 文件2:指定要比较的第二个.bz2压缩包。
bzdiff
直接比较两个.bz2压缩包中文件的不同
补充说明
bzdiff命令 用于直接比较两个“.bz2”压缩包中文件的不同,省去了解压缩后再调用diff命令的过程。
语法
bzdiff(参数)
参数
- 文件1:指定要比较的第一个.bz2压缩包;
- 文件2:指定要比较的第二个.bz2压缩包。
bzgrep
使用正则表达式搜索.bz2压缩包中文件
补充说明
bzgrep命令 使用正则表达式搜索“.bz2”压缩包中文件,将匹配的行显示到标注输出。
语法
bzgrep(参数)
参数
- 搜索模式:指定要搜索的模式;
- .bz2文件:指定要搜索的.bz2压缩包。