enable
启动或禁用shell内建命令
概要enable [-a] [-dnps] [-f filename] [name …]
主要用途
禁用一到多个内建命令。
启用一到多个内建命令。
直接调用与禁用的内建命令同名且在$PATH路径下找到的外部命令。
打印所有内建命令,无论是否禁用。
打印处于启用状态的内建命令。
打印处于禁用状态的内建命令。
打印处于启用状态的posix标准内建命令。
打印处于禁用状态的posix标准内建命令。
打印posix标准内建命令,无论是否禁用。
从动态库中加载内建命令。
移除从动态库中加载的内建命令。
选项12345678-a 打印所有内建命令,无论是否禁用。-d 移除从动态库中加载的内建命令。-n 禁用内建命令或显示已禁用的内建命令。-p 以可复用格式打印。-s 只显示处于启动状态的posix标准内建命令。-f 动态库中加载内建命令。-ns 打印处于禁用状态的posix标准内建命令。-as 打印posix标准内建命令,无论是否禁用。
参数filename:动态库文件名。
name(可选):内建命令,可以为多个。
返回值enable返回成功 ...
hping3
测试网络及主机的安全
补充说明hping 是用于生成和解析TCPIP协议数据包的开源工具。创作者是Salvatore Sanfilippo。目前最新版是hping3,支持使用tcl脚本自动化地调用其API。hping是安全审计、防火墙测试等工作的标配工具。hping优势在于能够定制数据包的各个部分,因此用户可以灵活对目标机进行细致地探测。
安装12345678yum install libpcap-devel tc-develln -s /usr/include/pcap-bpf.h /usr/include/net/bpf.hwget http://www.hping.org/hping3-20051105.tar.gztar zxvf hping3-20051105.tar.gzcd hping3-20051105./configuremakemake install
选项1234567891011121314151617181920212223242526272829303132333435363738394041424344-H --help 显示帮助。-v -VERSION ...
times
显示进程累计时间。
主要用途
打印出shell及其子进程累计使用的用户时间和系统时间。
返回值总是返回成功。
例子12345678# 执行命令times# 返回结果0m0.037s 0m0.009s0m0.010s 0m0.024s# 根据times(2)的man手册,对应关系如下:# 用户时间 | 系统时间# 子进程的用户时间 | 子进程的系统时间
注意
该命令是bash内建命令,相关的帮助信息请查看help命令。
fuser
使用文件或文件结构识别进程
补充说明fuser命令 用于报告进程使用的文件和网络套接字。fuser命令列出了本地进程的进程号,那些本地进程使用file,参数指定的本地或远程文件。对于阻塞特别设备,此命令列出了使用该设备上任何文件的进程。
每个进程号后面都跟随一个字母,该字母指示进程如何使用文件。
c :指示进程的工作目录。
e :指示该文件为进程的可执行文件(即进程由该文件拉起)。
f :指示该文件被进程打开,默认情况下f字符不显示。
F :指示该文件被进程打开进行写入,默认情况下F字符不显示。
r :指示该目录为进程的根目录。
m :指示进程使用该文件进行内存映射,抑或该文件为共享库文件,被进程映射进内存。
语法1fuser(选项)(参数)
选项1234567-a:显示命令行中指定的所有文件;-k:杀死访问指定文件的所有进程;-i:杀死进程前需要用户进行确认;-l:列出所有已知信号名;-m:指定一个被加载的文件系统或一个被加载的块设备;-n:选择不同的名称空间;-u:在每个进程后显示所属的用户名。
参数文件:可以是文件名或者TCP、UDP端口号。
实例要列出使用/etc/pa ...
ethtool
显示或修改以太网卡的配置信息
补充说明ethtool命令用于获取以太网卡的配置信息,或者修改这些配置。这个命令比较复杂,功能特别多。
语法1234567891011ethtool [ -a | -c | -g | -i | -d | -k | -r | -S |] ethXethtool [-A] ethX [autoneg on|off] [rx on|off] [tx on|off]ethtool [-C] ethX [adaptive-rx on|off] [adaptive-tx on|off] [rx-usecs N] [rx-frames N] [rx-usecs-irq N] [rx-frames-irq N] [tx-usecs N] [tx-frames N] [tx-usecs-irq N] [tx-frames-irq N] [stats-block-usecs N][pkt-rate-low N][rx-usecs-low N] [rx-frames-low N] [tx-usecs-low N] [tx-frames-lowN] [pkt-rate-high ...
bind
显示或设置键盘按键与其相关的功能
补充说明bind命令 用于显示和设置命令行的键盘序列绑定功能。通过这一命令,可以提高命令行中操作效率。您可以利用bind命令了解有哪些按键组合与其功能,也可以自行指定要用哪些按键组合。
语法1bind(选项)
选项123456-d:显示按键配置的内容;-f<按键配置文件>:载入指定的按键配置文件;-l:列出所有的功能;-m<按键配置>:指定按键配置;-q<功能>:显示指定功能的按键;-v:列出目前的按键配置与其功能。
实例1bind -x '"\C-l":ls -l' #直接按 CTRL+L 就列出目录
其中keyseq可以使用showkey -a命令来获取:
1234567891011121314151617181920showkey -aPress any keys - Ctrl-D will terminate this program^[[A 27 0033 0x1b 上 91 0133 0x5b 65 0101 0 ...
ping
测试主机之间网络的连通性(ipv4)
补充说明ping命令 用来测试主机之间网络的连通性。执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
语法1ping (选项) (参数)
选项123456789101112131415-d:使用Socket的SO_DEBUG功能;-c<完成次数>:设置完成要求回应的次数;-f:极限检测;-i<间隔秒数>:指定收发信息的间隔时间;-I<网络界面>:使用指定的网络界面送出数据包;-l<前置载入>:设置在送出要求信息之前,先行发出的数据包;-n:只输出数值;-p<范本样式>:设置填满数据包的范本样式;-q:不显示指令执行过程,开头和结尾的相关信息除外;-r:忽略普通的Routing Table,直接将数据包送到远端主机上;-R:记录路由过程;-s<数据包大小>:设置数据包的大小;-t<存活数值>:设置存活数值TTL的大小;-v:详细显示指令的执行过程。-w<超时秒数>:无论之前 ...
mailq
显示待发送的邮件队列
补充说明mailq命令 用户显示待发送的邮件队列,显示的每一个条目包括邮件队列id、邮件大小、加入队列时间、邮件发送者和接受者。如果邮件最后一次尝试后还没有将邮件投递出去,则显示发送失败的原因。
语法1mailq(选项)
选项1-v:显示详细的信息。
实例123[root@localhost ~]# mailq -v/var/spool/mqueue is empty Total requests: 0
csplit
将一个大文件分割成小的碎片文件
补充说明csplit命令 用于将一个大文件分割成小的碎片,并且将分割后的每个碎片保存成一个文件。碎片文件的命名类似“xx00”,“xx01”。csplit命令是split的一个变体,split只能够根据文件大小或行数来分割,但csplit能够根据文件本身特点来分割文件。
语法1csplit(选项)(参数)
选项123456-b<输出格式>或--suffix-format=<输出格式>:预设的输出格式其文件名称为xx00,xx01等,用户可以通过改变<输出格式>来改变输出的文件名;-f<输出字首字符串>或--prefix=<输出字首字符串>:预设的输出字首字符串其文件名为xx00,xx01等,如果制定输出字首字符串为“hello”,则输出的文件名称会变成hello00,hello、01......-k或--keep-files:保留文件,就算发生错误或中断执行,与不能删除已经输出保存的文件;-n<输出文件名位数>或--digits=<输出文件名位数>:预设的输出文件名位数 ...
continue
结束本次循环,继续执行下一个for,while或until循环。
概要1continue [n]
主要用途
结束本次循环,继续执行下一个for,while或until循环;可指定从第几层循环继续执行。
参数n(可选):大于等于1的整数,用于指定从第几层循环继续执行。
返回值返回状态为成功除非n小于1。
例子123456789101112131415161718# continue的可选参数n缺省值为1。for((i=3;i>0;i--)); do # 跳到内层for循环继续执行。 for((j=3;j>0;j--)); do if((j==2)); then # 换成continue 1时结果一样 continue fi printf "%s %s\n" ${i} ${j} donedone# 输出结果3 33 12 32 11 31 1
1234567891011121314# 当n为2时:# 跳到外层for循环继续执行。for((i=3;i>0;i--)); ...