常见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的格式显示.这个比较常用,还有其他的选项 ...
随机推荐
- WinObjc - 使用iOS项目生成通用Windows应用
Github上一周年的WinObjc项目最近发布了预览版本,终于等到了这一天.WinObjc项目就是Build 2015大会上微软宣布的Project IslandWood项目,致力于将iOS应用快速 ...
- C# 7.0 新特性2: 本地方法
本文参考Roslyn项目中的Issue:#259. 1. C# 7.0 新特性1: 基于Tuple的“多”返回值方法 2. C# 7.0 新特性2: 本地方法 3. C# 7.0 新特性3: 模式匹配 ...
- java并发:同步容器&并发容器
第一节 同步容器.并发容器 1.简述同步容器与并发容器 在Java并发编程中,经常听到同步容器.并发容器之说,那什么是同步容器与并发容器呢?同步容器可以简单地理解为通过synchronized来实现同 ...
- HTML5+JS 《五子飞》游戏实现(五)移动棋子
上一章 我们知道了怎么处理两个重要的吃棋动作,想要吃对方的棋子,首先得移动自己的棋子.现在里沃特跟大家分享分享,怎么移动棋子. 想要移动棋子,在页面上,首先要点击一下要移动的棋子,然后再点击一下目标位 ...
- 如何阻止SELECT * 语句
我们每个人都知道是个不好的做法,但有时我们还是要这样做:我们执行SELECT * 语句.这个方法有很多弊端: 你从你的表里返回每个列,甚至后期加的列.想下如果你的查询里将来加上了VARCHAR(MAX ...
- git的理解
1.对git的分支怎么理解. git的本地,git的跟踪,如果我们的本地的命令行进入某个分支的话,我们的本地对应的文件夹就显示某个,然后我们的ide打开的就是那个分支 2.git的在线视频教学 htt ...
- JavaScript学习笔记-循环输出菱形,并可菱形自定义大小
var Cen = 6;//定义菱形中部为第几行(起始值为0) //for循环输出菱形 document.write("<button onclick='xh()'>点我for循 ...
- [转]run for a girl
上了四个星期决不情愿的自习,终于找到了她上自习的规律, 每个星期五肯定在主教楼525第三排中间,其实第一眼看见她已经喜欢她了,在她周围坐了十天之后更觉得她是我喜欢的那种女孩, (不是每天都能见到她), ...
- Python基础-字符串格式化_百分号方式_format方式
Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...
- 1415-2 计科&计高 软件工程博客&Github地址汇总-修正版
序号 标识 博客 代码 1 1121袁颖 joanyy joanyy 2 1122崔琪 chitty ChittyCui 3 1123吕志浩 lucy123 715lvzhihao 4 1124张静 ...