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 与变量内容的删除替代与替换。的更多相关文章

  1. 常见linux命令释义(第六天)——shell环境变量

    太懒了,这几天好像得了懒癌,一点都不想写博客.后来想想,知识嘛,还是分享出来的好.第一治自己的懒癌:第二顺便巩固下自己的知识. Linux的变量分为两种,一种是系统变量,是系统一经启动,就写进内存中的 ...

  2. 常见linux命令释义(第八天)—— Bash Shell 的操作环境

    换了新公司,公司的领导很不错.自己感受比较多的地方是,自己的工作效率明显比以前高了.以前会对频繁变动的需求十分不耐烦,现在接到需求后会仔细的思考,进行整体构建.即使以后需求有变动,也能够比较轻易的在原 ...

  3. 常见linux命令释义(第一天)

    快到中午吃饭了,然后忽然想起来samba里面没有添加用户.于是乎,就玩弄起了samba. Samba三下五除二就安装好了,想想window里面不断的点击下一步,还要小心提防各种隐藏再角落里的绑定软件. ...

  4. Linux入门培训教程 常见linux命令释义

    快到中午吃饭了,然后忽然想起来samba里面没有添加用户.于是乎,就玩弄起了samba. Samba三下五除二就安装好了,想想window里面不断的点击下一步,还要小心提防各种隐藏再角落里的绑定软件. ...

  5. 常见linux命令释义(第三天)

    今天晚上看鸟哥的私房菜,边学边写笔记. 在linux中压缩大多是.tar, .tar.gz , .tgz, /gz, .bz2等. .gz 是通过gzip压缩的文件. .bz2 是通过bzip2压缩的 ...

  6. 常见linux命令释义(第五天)——shell变量学习

    由于时间有限,我写这篇博客的时间上限为30分钟.仅作为学习笔记而用,内容会尽量的讲清楚.如果讲的不清楚,你来打我啊! 玩笑开过,正式开始今天的学习. linux系统的中一些命令是在/bin下,这个是一 ...

  7. 常见linux命令释义(第四天)——bash部分

    学linux的时候,我跳过了一些很重要的东西.比如分区.还有vim的深入学习.分区没有学习是因为我装的是虚拟机,不知道是什么原因,格式化分区不能正常显示.至于vim,简单的增删改查我已经了解了.能够顺 ...

  8. 常见linux命令释义(第九天)—— Bash Shell 的操作环境Shell 中的管道命令一些管道命令

    最近好懒好懒.连写文章都写不好了.于是只能写读一点书,记一点读书笔记了.太懒了,没办法.慢慢恢复自己的状态吧. 管道命令仅会处理strandard output 的内容,对于strandard err ...

  9. 常见linux命令释义(第二天)

    查看磁盘与目录的容量. df 与du df  是英语Disk Free的意思.磁盘空余. df -h  -h中h指的是一human(人类)的角度,即用GB,MB的格式显示.这个比较常用,还有其他的选项 ...

随机推荐

  1. 从语言到库到框架,再到API,再到标记最后到DSL语言

    计算机技术发展很快,而且越来越快,结果也是越来越复杂,那么我们到底怎么搞定复杂性并重用代码? 很明显,这是个大难题.一开始我们要解决计算问题,发展了基本的编程语言. 很快,编程语言不能满足需求,我们需 ...

  2. ModernUI教程:如何从MUI样式中派生自定义样式

    下面的步骤用来说明怎么样去创建一个基于MUI的自定义样式.让我们创建一个字体颜色显示为红色的按钮样式. 可视化显示如下: 因为我们并没有明确生命继承自MUI风格,它还是采用WPF的默认风格.我们需要设 ...

  3. ArcGIS支持MongoDB数据源

    ArcGIS支持MongoDB数据源 自从NoSQL推出之后,MongoDB就作为比较杰出的代表受到广大用户的推崇,当然,与之而来的大数据的讨论也非常激烈,GIS数据源向来都是以海量来计算,所以,GI ...

  4. exgcd,求乘法逆元

    procedure exgcd(a,b:int64); var t:longint; begin then begin x:=;y:=; exit; end else exgcd(b,a mod b) ...

  5. 数据库系统原理——ER模型与关系模型

    原文链接: http://blog.csdn.net/haovip123/article/details/21614887 犹记得第一次看<数据库系统原理>时看天书的感觉,云里雾里:现在已 ...

  6. ssh全屏退出的办法

    在使用ssh的时候遇到,不知道碰到哪里了,突然xshell就全屏了 解决方法 按下键盘 Alt+Enter就好了

  7. swift 学习(二)基础知识 (函数,闭包,ARC,柯里化,反射)

    函数 func x(a:Int, b:Int)  {}   func x(a:Int, b:Int) -> Void {}  func x(a:Int, b:Int) ->(Int,Int ...

  8. 线段树 poj3225

    U:把区间[l,r]覆盖成1I:把[-∞,l)(r,∞]覆盖成0    D:把区间[l,r]覆盖成0C:把[-∞,l)(r,∞]覆盖成0 , 且[l,r]区间0/1互换S:[l,r]区间0/1互换 因 ...

  9. js-jquery-将table的td转化成可编辑的文本

    1.使用插件mindmup-editabletable.js $('#table').editableTableWidget({editor: $('<textarea>')}); 2.j ...

  10. TODO: 图片加载框架ImageLoader的实现

    1, 使用三级缓存策略 2, 使用builder模式设置ImagLoager的config