随笔分类 - 操作系统
摘要:which:在PATH变量指定的路径中查找是否存在相应的可执行程序,如which ls,通过添加-a选项可查找PATH变量中的所有包含指定程序的路径;whereis:不单列出程序所在的路径,还列出可执行程序的文档对应的路径;find:不局限于搜索的是可执行程序,任何文件均可搜索。locate:由于find要搜索指定目录下的所有路径,所以执行时间较长。locate可以通过查找由updatedb周期性建立的数据库加速查找过程,locate不单搜索文件名本身,它会搜索路径字符串中的所有和指定字符串匹配的对象。如:$ locate bin/ls/var/ftp/bin/ls/bin/ls/sbin/l
阅读全文
摘要:通配符与正则表达式很容易混淆,首先要明白二者是不同的,个人感觉通配符用于Linux的shell命令(如文件名相关操作)中,而正则表达式用于文本内容中的字符串搜索和替换等。通配符是Linux系统本身就支持的,而正则表达式用于vim编辑器或awk程序,这些文本处理工具正是由于支持正则表达式才变得强大。通配符[a-z]或[12]:匹配方括号中指定范围内的单个字符或方括号列出的其中一个字符。[!9]:不匹配方括号中所列字符或指定范围内的单个字符。*:匹配0个字符或多个字符。?:匹配任何单个字符,且不能为空字符。 由于shell会将字符?[ ] * 区别对待,因此在命令参数时如果需要用到这几个特殊...
阅读全文
摘要:inode 在讨论Linux系统的链接之前,不得不先说下inode。Linux文件系统中的每一个对象都有唯一的inode索引,每一个inode号和文件系统的一个对象一一对应,要查看文件或目录的inode号可在ls命令中使用-i选项,每个目录下的.(当前目录)和..(上级目录)都是硬链接。如下面例子:root@vrlab726-desktop:~/Desktop# pwd/root/Desktoproot@vrlab726-desktop:~/Desktop# ls -ialtotal 86726447440 drwxr-xr-x 9 root root 4096 20...
阅读全文
摘要:进程进程是系统中独立存在的实体,它可以拥有自己独立的资源,比如文件和设备描述符等。在没有经过进程本身允许的情况下,其它进程不能访问到这些资源。这一点上和线程有很大的不同。进程与程序的区别在于,程序只是一个静态的指令集合,而进程是一个正在系统中活动的指令集合。在进程中加入了时间的概念。进程具有自己的生命周期和各种不同的状态,这些概念在程序中都是不具备的。若干个进程可以在单处理机状态上并发执行。进程运行的环境称为进程上下文(context),进程的上下文由进程控制块PCB(process control block)、正文段(text segment)、数据段(data segment)以及用户堆
阅读全文
摘要:Linux ext2/ext3文件系统使用索引节点来记录文件信息,作用像windows的文件分配表。索引节点是一个结构,它包含了一个文件的长度、创建及修改时间、权限、所属关系、磁盘中的位置等信息。一个文件系统维护了一个索引节点的数组,每个文件或目录都与索引节点数组中的唯一一个元素对应。系统给每个索引节点分配了一个号码,也就是该节点在数组中的索引号,称为索引节点号。 linux文件系统将文件索引节点号和文件名同时保存在目录中。所以,目录只是将文件的名称和它的索引节点号结合在一起的一张表,目录中每一对文件名称和索引节点号称为一个连接。对于一个文件来说有唯一的索引节点号与之对应,对于一个索引节点号,
阅读全文
摘要:死锁的原因主要是:(1) 因为系统资源不足。(2) 进程运行推进的顺序不合适。(3) 资源分配不当等。如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁。产生死锁的四个必要条件:(1) 互斥条件:一个资源每次只能被一个进程使用。(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。(3) 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。(4) 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。这四个条件是死锁的必要条件,只要系统发生死锁,这些条
阅读全文

浙公网安备 33010602011771号