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. .NET C#微信公众号开发远程断点调试(本地远程调试生产环境代码)

    最近在做微信公众号开发,由于之前没有接触过,突然发现调试不方便,不方便进行断点跟踪调试.因为微信那边绑定的服务器地址必须是公网地址,但是还是想进行断点调试(毕竟这样太方便了,程序有Bug,一步步断点跟 ...

  2. java中的static详解

    如果一个类成员被声明为static,它就能够在类的任何对象创建之前被访问,而不必引用任何对象.static 成员的最常见的例子是main( ) .因为在程序开始执行时必须调用main() ,所以它被声 ...

  3. C#实现每隔一段时间执行代码(多线程)

    总结以下三种方法,实现c#每隔一段时间执行代码: 方法一:调用线程执行方法,在方法中实现死循环,每个循环Sleep设定时间: 方法二:使用System.Timers.Timer类: 方法三:使用Sys ...

  4. mysql 启动失败

    1 mysql 启动时报:MySQL Daemon failed to start.并且启动失败 2 查看mysql log日志  less /var/log/mysqld.log 3 从两行erro ...

  5. difference between append and appendTo

    if you need append some string to element and need set some attribute on these string at the same ti ...

  6. PHP中生成json信息的方法

    <?php //php中生成json信息 //json_encode(数组/对象) $color = array('red','blue','green'); //[索引数组] echo jso ...

  7. html5 css3中的一些笔记

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" > <title> ...

  8. SimpleDateFormate的使用

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public cl ...

  9. Ubuntu14.04下安装Hadoop2.4.0 (单机模式)

    一.在Ubuntu下创建hadoop组和hadoop用户 增加hadoop用户组,同时在该组里增加hadoop用户,后续在涉及到hadoop操作时,我们使用该用户. 1.创建hadoop用户组 2.创 ...

  10. ViewPager导航栏TabLayout

    ViewPager中加入TabLayout导航 需要导入依赖包:  'com.android.support:appcompat-v7:xxxxx' compile 'com.android.supp ...