shell 命令之bind,enable,ulimit
1、bind
在shell中,内建(builtin)命令bind,格式如下:
bind [-m keymap] [-lpsvPSVX]
bind [-m keymap] [-q function] [-u function] [-r keyseq]
bind [-m keymap] -f filename
bind [-m keymap] -x keyseq:shell-command
bind [-m keymap] keyseq:function-name
bind readline-command
bind命令用于显示当前“readline”中键和function的绑定,绑定键序列与function或宏,设置“readline”变量。每个非选项参数都是一个命令,好像来自特殊文件“.inputrc”一样。所有的绑定和命令都必须作为一个单独的参数,例如’”\C-x\C-r”: re-read-init-file’。
bind命令中各选项的作用:
“-m keymap”:用参数keymap作为后续绑定的键映射,参数可以是emacs、emacs-standard、emacs-meta、emacs-ctlx、vi、vi-move、vi-command、vi-insert,其中vi和vi-command相同,emacs和emacs-standard相同。
“-l”:列出所有的“readline”的function名称。
“-p”:以可以作为重新输入的格式显示“readline”的function名称和绑定。
“-P”:列出当前“readline”的function名称和绑定。
“-s”:以可以作为重新输入的格式显示“readline”绑定到宏的键序列和输出的字符串。
“-S”:显示“readline”绑定到宏的键序列和输出的字符串。
“-v”:以可以作为重新输入的格式显示“readline”变量名和值。
“-V”:显示当前“readline”变量名和值。
“-f filename”:从文件filename中读取键绑定。
“-q function”:查询与function绑定的键。
“-u function”:解除所有与function绑定的键。
“-r keyseq”:删除当前所有的与键序列keyseq的绑定。
“-x keyseq:shell-command”:每次获取键序列keyseq时都执行shell命令shell-command。执行shell命令时,变量READLINE_LINE保存“readline”缓冲的内容,变量READLINE_POINT保存当前插入点的位置,如果这两个变量被修改,新的变量值会在编辑状态中出现。
“-X”:以可以作为重新输入的格式显示所有的绑定到shell命令的键序列。
例如,对于shell命令uname,把它绑定到按键“u”上。
$ bind -x '"u": uname'

当在shell终端按下“u”键时就会直接执行uname命令。
2、enable
在shell中,内建(builtin)命令enable,格式如下:
enable [-a] [-dnps] [-f filename] [name ...]
enable命令用于启用或禁用shell内建命令。在执行shell命令时,先查找是否属于内建命令,然后才在环境变量PATH中查找,如果使用enable禁用了这个命令,那么PATH中的同名命令就会执行。选项“-n”用于禁用命令,不使用时则启用命令。在支持动态加载的系统上,选项“-f”设置从动态库filename中加载新的内建命令,“-d”则用来删除加载的这些命令。如果不指定命令name或者只是使用了选项“-p”时,则输出当前启用的内建命令。选项“-a”显示所有的内建命令,包括启用的和禁止的命令。选项“-s”仅输出POSIX内建命令。
先来看一下特殊的POSIX内建命令:

提示:POSIX特殊命令是什么?由于历史原因,POSIX标准把几个内建命令归类为特殊命令。当Bash在POSIX模式下运行时,这些特殊的内建命令与普通的内建命令有几点不同:特殊命令先于shell函数被搜索,特殊命令返回false时如果是非交互运行的shell就会退出,命令前面的赋值语句在命令结束后仍对shell环境有效。
禁用内建命令exit:
3、ulimit
在shell中,内建(builtin)命令ulimit,格式如下:
ulimit [-HSTabcdefilmnpqrstuvx [limit]]
如果系统支持,ulimit命令能够控制shell中的有效资源。选项“-H”、“-S”分别指硬限制、软限制,硬限制设置好之后不能由非root用户来增加其值,软限制则可能增加到硬限制的值,这两个选项都不指定时会同时设置它们的值。参数limit可以为数字,也可以是三个特殊的字符串,hard、soft和unlimited,不设置limit时显示当前软限制值,此时除非设置了“-H”才显示硬限制值。
下面是ulimit命令其它选项的含义。
“-a”:显示当前所有的限制。
“-b”:套接字socket缓冲的最大长度。
“-c”:可创建的core文件的最大个数。
“-d”:一个进程的数据段的最大长度。
“-e”:调度优先级即nice的最大值。
“-f”:shell及其子进程写文件时的最大长度。
“-i”:等待的信号的最大个数。
“-l”:锁在内存中最大长度。
“-m”:常驻内存的最大值(许多系统不支持这个限制)。
“-n”:打开的文件描述符的最大个数(许多系统禁止设置这个限制)。
“-p”:块block大小为512字节的管道长度。
“-q”:POSIX消息队列的最大字节数。
“-r”:实时调度的最大优先级。
“-s”:堆栈stack的最大长度。
“-t”:累计CPU时间(秒)的最大值。
“-u”:单个用户可以拥有的进程的最大个数。
“-v”:shell可用的虚拟内存的最大值。
“-x”:文件锁的最大个数。
“-T”:最大线程数。
ulimit命令中,如果设置了参数limit,且没有使用选项“-a”,指定的资源便会设置为这个新的limit值。如果不使用任何选项的话,默认使用“-f”。选项“-t”增值的单位为秒,“-p”增值的单位为块block即512字节,“-T”、“-b”、“-N”、“-u”则没有这种特殊的增长幅度,剩余其它选项的增值单位为1024各字节。
系统默认的ulimit值:

原文参考来自: https://blog.csdn.net/iEearth/article/details/52641058
shell 命令之bind,enable,ulimit的更多相关文章
- Linux基础命令---enable开启shell命令
enable enable指令用来关闭或者激活shell内部命令.此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.Fedora. 1.语法 enable [-a] ...
- 73条日常Linux shell命令汇总,总有一条你需要!
转载: 73条日常Linux shell命令汇总,总有一条你需要! 1.检查远程端口是否对bash开放: echo >/dev/tcp/8.8.8.8/53 && echo &q ...
- 如何查看系统内置的shell命令及帮助信息
1.打开终端,输入help命令可以查看系统默认的shell(通常是bash)的内置的shell命令列表: [tansheng@localhost ~]$ help GNU bash, version ...
- Linux中shell命令的用法和技巧
使用Linux shell是我每天的基本工作,但我经常会忘记一些有用的shell命令和l技巧.当然,命令我能记住,但我不敢说能记得如何用它执行某个特定任务.于是,我开始在一个文本文件里记录这些用法,并 ...
- 【原创】Android开发之ADB及ADB SHELl命令的应用
adb的全称为Android Debug Bridge,就是起到调试桥的作用.通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具.adb的工作方式比 ...
- 常用的shell命令整理
工作快一年了,shell命令也玩了一年了.还是有点积累的,下面是本人常用的. 1.pwd | xargs -i basename {} 获取当前所在目录的名称 2.ps -ef|grep -w ...
- Android 的独特shell命令
Android本来就是一个linux操作系统,所以大部分都是linux的命令,如mkdir,ls,netstat,mount,ps 等,这里就不具体介绍了, 主要介绍几个Android特有的. get ...
- HBase shell 命令介绍
HBase shell是HBase的一套命令行工具,类似传统数据中的sql概念,可以使用shell命令来查询HBase中数据的详细情况.安装完HBase之后,如果配置了HBase的环境变量,只要在sh ...
- HBASE SHELL 命令使用
HBASE SHELL命令的使用 在hbase shell客户端有许多的操作命令,今天回顾并且总结一二,希望和广大读者共同进步,并且悉心聆听你们的意见.在此的hbase版本是:HBase 1.2.0- ...
随机推荐
- Newtonsoft.Json.Linq
var json = "{\"name\":\"ok1\",\"sex\":\"man\"}"; / ...
- WinForm中DataGridView的使用(三) - 各种事件
CellMouseDown/CellMouseUp 可获得行.列号 可用if (rowIndex >= 0 && e.Y > 4 && e.Y < ( ...
- 【大数据系统架构师】0.3 MySQL数据库
1. MySQL的基本操作 2. SQL语句 3. 高级查询 1)聚合函数.分组查询 2)联合查询.连接查询 3)子查询 4. 高级应用 1)视图与索引 2)数据可视化管理 5. 使用JDBC操作数据 ...
- kali linux之xss
攻击web客户端 客户端脚本语言(弹窗,广告,在浏览器中执行,javascript) javascript--与java语言无关,使用最广的客户端脚本语言 xss(cross-site scripti ...
- 使用Eclipse的几个必须掌握的快捷方式
“工若善其事,必先利其器”,感谢Eclipse,她 使我们阅读一个大工程的代码更加容易,在阅读的过程中,我发现掌握几个Eclipse的快捷键会使阅读体验更加流畅,写出来与诸君分享,欢迎补充. 1. C ...
- loj #2051. 「HNOI2016」序列
#2051. 「HNOI2016」序列 题目描述 给定长度为 n nn 的序列:a1,a2,⋯,an a_1, a_2, \cdots , a_na1,a2,⋯,an,记为 a[1: ...
- 微信开发——测试号申请,接口配置,JS接口安全域名,自定义菜单
1.申请测试账号: 先申请公众号后,点击进入公从号的管理页面:找到“开发者工具”,找到“公众平台测试账号”,点击“进入”. 2.接口配置信息设置 必须要外网哦,也就是微信服务器要能访问到你填写到url ...
- 3. C/C++笔试面试经典题目三
64. 如何打印出当前源文件的文件名以及源文件的当前行号? [参考答案]cout << __FILE__ ; cout<<__LINE__ ; __FILE__和__LINE_ ...
- 关于VisualStudio性能分析数据中的独占样本数和非独占样本数的意义
VisualStudio中自带有Profile工具进行性能性能分析,其中用得比较多的数据是函数调用时间,它主要有独占样本数和非独占样本数两个指标,关于这两个指标代表的意义,MSDN的解释比较文艺: 非 ...
- Windows Server 2008 R2中IIS7.5配置完网站权限不足问题的解决办法:
Windows Server 2008 R2中IIS7.5配置完网站权限不足问题的解决办法:常见问题:HTTP 错误 500.0 - Internal Server Error无法显示页面,因为发生内 ...