常见linux命令释义(第七天)——ulimit 与变量内容的删除替代与替换。
linux是一个多用户多任务的系统,不同于windows的单人多任务操作系统。再linux上,在同一个时间点上,可以有多个人同时执行多个任务。
那么假若有10个用户,同时打开了100个100M的文件。你觉得你的linux能够吃的消吗。你能任由其他的用户肆意的占用你的linux运行内存吗?如果你能忍受,现在你的机子估计已经宕机了。接下来我们来看看如何来限制用户的某些系统资源,包括可以打开的文件数量、可以使用的CPU时间,可以使用的内存总数量,如何设置呢?
试试ulimit吧。这ulimit命令也十分好记忆。u代表user limit是限制的意思。组合起来就是用户限制。
ulimit -a 可以列出目前用户所有限制的数据值。如果数据值是0的话,就代表没有任何限制,可以随意使用。
那么这个a 代表的事什么意思。可以先man ulimit看一下。
这个a其实就代表 array的意思。意思是用一个数组将用户所有拥有的权限给显示出来。当然我认为如果能理解为access(权限)的话会更好记一点。大家各取自己记忆的方法就好。总之能够记住,会用就好。
我们来看一下。
比较一下,就会发现root用户的max user processes 与jack就不太一样。
我们可以设置用户可以创建文件的大小。ulimit -f num
如果普通用户使用ulimit -f 设置值只能往下调低,不能往上调高。
如果想要复原ulimit的设置值,可以注销后再登陆。exit出去就行了。更加的详细的内容我们后面再讲。
变量内容的删除、替代与替换
变量的内容可以删除、替代、替换基本上和PHP一样。来吧,我们来看下linux下如何进行这些步骤的吧。
鸟哥使用路径来演示这些内容,以后的生活中大多数也是这种操作,都是在路径上做改动。那我们来看看图吧,还是看图比较好。
下面我们再来看看另一种删除:
下面我们来看下上面一些符号的意思:
# 一个#号表示从从最前面开始删除,且删除最短的部分。(不开启贪婪模式)贪婪模式的概念是我自己理解,不知道对不对。
## 删除能够匹配到最长的部分。开启贪婪模式。
* 匹配任意字符。
我觉得用贪婪模式来描述这个可能更好更快的理解这个东西。
有过编程经历的可能知道正则表达式里面就有这个概念。贪婪模式和非贪婪模式。还是用通俗的话解释一下吧。不开启贪婪模式,只要找到第一个匹配结果,就结束匹配。开启贪婪模式,直到找到最后一个匹配结果,才结束匹配。
前面介绍的是从前往后匹配,linux竟然给出从后向前匹配的栗子,本着学习,我们还是来看一下。继续看图。
这个从后向前匹配删除前面介绍的从前删除是差不多的。原理是一样的,只是匹配符换了一样,由#换成%号了。
时间久了,可能会忘了,哪个是从前匹配的,那个是从后匹配的。这个不用记的。忘记的时候看看键盘,#号在%号的左边。
不知道有没有姑娘学习linux的。我上学的时候我们的老师龙哥就说了,女孩子不要学linux了。学linux对女孩子是一种摧残。我觉得没有那么夸张,linux挺好用的,当手指在键盘上跳着舞,打出一串串命令。会有一瞬间的错觉,这简直就是弹钢琴。无声的舞,无声的音乐、只能属于一个人的浪漫幻想。
不扯淡了,上面只是一个单身狗发的牢骚话。继续我们的学习,替换变量中内容。
替换的变量的格式:${TMP/原变量里需要替换的部分/你提供替换的内容}
一条斜线是默认不开启贪婪模式的,只匹配找到的第一个要替换的内容,然后停止匹配。
我们来看看全部替换。全部替换是两条//(斜线) 来吧,看图爽。
上面已经练习了变量的删除与变量的替换。
但是我们在实际的应用过程中,经常需要判断某些变量死否存在,如果变量存在就使用既有的设置,如果变量不存在就给予一个常用的设置。PHP里也经常这么干,特别是在载入首页的时候,如果get中有值,就按照get中的条件去载入首页,如果get中没有值,就载入预先设置好的默认值。继续看图。
原有的变量 - 如果为空需要赋给的值。关键是中间的符号 -
如果我们的myName=""一个空的字符串,那么用echo ${myName-rover} 还会输出空。这时候,我们要区分null与""字符串。用:(:号区分)区分。还是看图说话:
今天这些内容,就先看到这些吧。其实还有许多的用法,只是上面的更常用而已。
我如果有写的不对的地方,还请大家能够指出,谢谢了。
常见linux命令释义(第七天)——ulimit 与变量内容的删除替代与替换。的更多相关文章
- 常见linux命令释义(第六天)——shell环境变量
太懒了,这几天好像得了懒癌,一点都不想写博客.后来想想,知识嘛,还是分享出来的好.第一治自己的懒癌:第二顺便巩固下自己的知识. Linux的变量分为两种,一种是系统变量,是系统一经启动,就写进内存中的 ...
- 常见linux命令释义(第八天)—— Bash Shell 的操作环境
换了新公司,公司的领导很不错.自己感受比较多的地方是,自己的工作效率明显比以前高了.以前会对频繁变动的需求十分不耐烦,现在接到需求后会仔细的思考,进行整体构建.即使以后需求有变动,也能够比较轻易的在原 ...
- 常见linux命令释义(第一天)
快到中午吃饭了,然后忽然想起来samba里面没有添加用户.于是乎,就玩弄起了samba. Samba三下五除二就安装好了,想想window里面不断的点击下一步,还要小心提防各种隐藏再角落里的绑定软件. ...
- Linux入门培训教程 常见linux命令释义
快到中午吃饭了,然后忽然想起来samba里面没有添加用户.于是乎,就玩弄起了samba. Samba三下五除二就安装好了,想想window里面不断的点击下一步,还要小心提防各种隐藏再角落里的绑定软件. ...
- 常见linux命令释义(第三天)
今天晚上看鸟哥的私房菜,边学边写笔记. 在linux中压缩大多是.tar, .tar.gz , .tgz, /gz, .bz2等. .gz 是通过gzip压缩的文件. .bz2 是通过bzip2压缩的 ...
- 常见linux命令释义(第五天)——shell变量学习
由于时间有限,我写这篇博客的时间上限为30分钟.仅作为学习笔记而用,内容会尽量的讲清楚.如果讲的不清楚,你来打我啊! 玩笑开过,正式开始今天的学习. linux系统的中一些命令是在/bin下,这个是一 ...
- 常见linux命令释义(第四天)——bash部分
学linux的时候,我跳过了一些很重要的东西.比如分区.还有vim的深入学习.分区没有学习是因为我装的是虚拟机,不知道是什么原因,格式化分区不能正常显示.至于vim,简单的增删改查我已经了解了.能够顺 ...
- 常见linux命令释义(第九天)—— Bash Shell 的操作环境Shell 中的管道命令一些管道命令
最近好懒好懒.连写文章都写不好了.于是只能写读一点书,记一点读书笔记了.太懒了,没办法.慢慢恢复自己的状态吧. 管道命令仅会处理strandard output 的内容,对于strandard err ...
- 常见linux命令释义(第二天)
查看磁盘与目录的容量. df 与du df 是英语Disk Free的意思.磁盘空余. df -h -h中h指的是一human(人类)的角度,即用GB,MB的格式显示.这个比较常用,还有其他的选项 ...
随机推荐
- CI(CodeIgniter)框架入门教程——第二课 初始MVC
本文转载自:http://www.softeng.cn/?p=53 今天的主要内容是,使用CodeIgniter框架完整的MVC内容来做一个简单的计算器,通过这个计算器,让大家能够体会到我在第一节课中 ...
- 三言两语聊Python模块–文档测试模块doctest
doctest是属于测试模块里的一种,对注释文档里的示例进行检测. 给出一个例子: splitter.pydef split(line, types=None, delimiter=None): &q ...
- 【JavaEE企业应用实战学习记录】struts配置文件详细解析
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-/ ...
- yii2权限控制rbac之详细操作步骤
本篇的主题是 rbac权限控制的详细操作步骤,注意是操作步骤哦,关于配置与rbac的搭建,我们在博文 yii2搭建完美后台并实现rbac权限控制实例教程说的再清楚不过了. 但是,在很多人的反馈下,说是 ...
- SharePoint Web Part Error – The Specified Solution Was Not Found
If you develop, release and add a SharePoint 2010 sandboxed solution web part to a page, then change ...
- asp.net MVC添加HtmlHelper扩展示例和用法
一.先创建一个HtmlHelper的扩展类,代码: using System; using System.Collections.Generic; using System.Linq; using S ...
- 转 -- linux IO子系统和文件系统读写流程
我们含有分析的,是基于2.6.32及其后的内核. 我们在linux上总是要保存数据,数据要么保存在文件系统里(如ext3),要么就保存在裸设备里.我们在使用这些数据的时候都是通过文件这个抽象来访问的, ...
- jQuery基础--样式篇(4)
jQuery选择器: 1.id选择器:通过id名来获取节点,id是唯一的,每个id在页面上只能使用一次. $( "#id" ) 2.类选择器:通过class样式类名来获取节点 $( ...
- ActiveMQ_安全配置(五)
如果Activemq不加安全配置,那么任何知道队列所在服务器IP的人都可以发送接收队列消息 安全配置主要是通过配置账号密码增强安全性 参考资料:http://activemq.apache.org/s ...
- 【BZOJ 2038】【2009 国家集训队】小Z的袜子(hose) 分块+莫队
$SDOI2016Day-1$临时抱佛脚学习一下莫队算法$233$ 我预感到自己省选要爆0hhh #include<cmath> #include<cstdio> #inclu ...