这次主要说一下搜索的命令
在Linux 底下也有相当优异的搜寻命令!find 不很常用的!因为速度慢之外,也很耗硬盘!
通常我们都是先使用whereis 或者是locate 来检查,如果真的找不到了,才以find 来搜寻
先说一下find
find 实际搜寻硬盘去查询文件名称
-atime n :在n*24 小时内被access 即存取过的档案列出来!
-ctime n :在n*24 小时内被changed 即改变、新增的档案或目录印出
-mtime n :在n*24 小时内被modified 即修改过的档案印出
-newer file :比file 还要新的档案就列出来!
2. 使用名称:
-gid n :寻找群组ID 为n 的档案
-group name :寻找群组名称为name 的档案
-uid n :寻找拥有者ID 为n 的档案
-user name :寻找使用者名称为name 的档案
-name file :寻找档名为file 的文件名称(可以使用万用字符)
-type type :寻找档案属性为type 的档案,type 包含了b(块设备文件),
c(字符设备文件), d(目录), f(普通文件), l(符号链接), s(套接字文件)
find 路径 参数
liuxin这是我刚建的文件
会从 / 一直找完,很浪费硬盘 所以一般也不经常用
which 查看可执行档案的位置 会在环境变量$PATH设置的目录里查找可执行文件
在那些环境变量里找不到liuxin这个文件 但我们刚才用find是可以找到的
/home /root不在环境变量里,所以找不到
看,在环境变量里了,也有这个文件了,可为什么还找不到呢?
因为它查找的是可执行文件,一般其它的文件是不找的
所以liuxin这个文件是找不到的
whereis 在特定目录中查找符合条件的文件。还可以提供这个文件的二进制可执行文件,
源代码文件 使用帮助的位置
-b :只找binary 的档案
-m :只找在说明文件manual 路径下的档案
-s :只找source 来源档案
-u :不经常用的文件
这个文件的位置 使用帮助的位置
locate 配合数据库查看档案位置
locate 的使用方式很简单 直接键入你要找的文件名即可!但是,这个东西还是有使用上的限制
使用locate 来寻找数据的时候特别的快,因为locate 寻找的数据是由
『已建立的数据库/var/lib/slocate』里面的数据所搜寻到的,所以不用直接在去硬盘当中存取数据
当然是很快速。就是因为他是经由数据库来搜寻的,而数据库的建立预设是在每个礼拜执行一次,
所以当您新建立起来的档案,却还在数据库更新之前搜寻该档案,那么locate 会告诉您『找不到!』
或者 有的时后你还会发现,会找到已经被删除的档案!
这就是因为他是一个『数据库』 因此必须要更新数据库。
可以自己选择需要建立档案数据库的目录 在/etc/updatedb.conf 这个内即可设定了!
另外,基本上Linux 每天会针对Linux 主机进行updatedb 就是对个数据库进行更新,
你可以在/etc/cron.daily/slocate.cron 这里找到相关的内容!
updatedb 立刻更新数据库
第一次还没有slocate.db这个数据库,所以要以root身份去updatedb一下
过程还是有点慢,快进吧...
最基础的英语应该也是很需要看得懂的
更新完成了
可以看到,查找的非常快
grep 一般我们常用它是用在文件中查找字符串
一般也是和其它的命令一起用 ls cat 等等
像我刚才用的 ls | grep liuxin
意思就是显示当然目录的内容,查找liuxin这个文件
换句话说就是在当前目录显示liuxin这个文件
在passwd文件中查找root这个字符
这几个查找命令就到这里
成功!!!!!!!!!!!!!!!!!!!!!!!
本文出自 “单身贵族” 博客,请务必保留此出处http://blog.chinaunix.net/uid-10915175-id-3209200.html
附件下载:
搜索命令.part1.rar
搜索命令.part2.rar