CentOS6.5菜鸟之旅:关于搜索的shell命令
一、locate命令
用于模糊搜索文件(目录)的绝对路径。
示例1:
// 凡是绝对路径当中含jdk字符串的文件(目录)均被搜索出来
fsjohnhuang@fsjohnhuang~# locate jdk
示例2:
// 在家目录添加文件mytest.md
fsjohnhuang@fsjohnhuang~# touch mytest.md
fsjohnhuang@fsjohnhuang~# locate mytest
上述例子再添加mytest.md后马上通过locate搜索mytest的绝对路径,但什么都搜不到。那是因为locate命令是从系统db中搜索的,而这个系统db是定时在晚上与文件系统的目录结构同步,因此刚才添加文件信息无法通过locate搜索出来。这也是locate的速度必find高的原因。我们可以通过 sudo updatedb 命令手动方式同步系统db,现在就可以通过locate来搜索了。
示例3:
// 精确查找文件(目录),那么就只有文件或目录名为jdk才匹配成功
locate -b "\jdk"
// 精确查找文件(目录),那么就只有文件或目录名含jdk才匹配成功
locate -b "jdk"
二、find命令
用于在特定目录(默认是当前目录)下根据文件名称、文件类型等信息搜索文件相对特定目录的相对路径。
// 在当前目录下搜索
find -name "mytest.md"
// 使用通配符
find -name "mytest*" // 在特定目录下搜索
find /home/fsjohnhuang // 仅列出普通文件
find -type f
// 仅列出目录
find -type d // 对find搜索出来的文件或目录执行其他命令
// -exec 其他命令 ';'
// 而'{}'就是代表find搜索出来的文件或目录
find -exec ls -l '{}' ';'
三、grep命令
在文本字符串当中查找。
// 基本格式:grep 字符串 文件名
grep hello a.txt // 不区分大小写
grep -i hello a.txt // 显示行号
grep -n hello a.txt
假如是对代码搜索则可以使用ack-grep,具体教程请看happycasts.net。
四、 which命令
用于搜索命令的可执行文件所在位置。
如 which cat 将返回/bin/cat
五、 whereis命令
用于搜索命令的可执行文件、源码文件和man文件所在位置。
如 which cat 将返回cat: /bin/ls /usr/share/man/man1/ls.1.gz /usr/ share/man/man1p/ls.1p.gz
尊重原创,转载请注明来自:http://www.cnblogs.com/fsjohnhuang/p/3997211.html ^_^肥仔John
CentOS6.5菜鸟之旅:关于搜索的shell命令的更多相关文章
- CentOS6.5菜鸟之旅:U盘安装CentOS64位
一.前言 之前下载了个CentOS7 32位版,一下就安装成功了,但由于其目录结构等与之前的CentOS版本有很大的不同,加上教程不多不利于我这种菜鸟学习,于是决定重装CentOS6.5来学习.本篇用 ...
- CentOS6.5菜鸟之旅:安装Realtek无线网卡驱动
一.前言 CentOS6.5不像CentOS7和Unbuntu那样自动安装好了无线网卡驱动,因此需要我们折腾一下. 二.安装前的准备工作 [a] 检查无线网卡驱动的安装情况(通过查看网络接口的安装 ...
- CentOS6.5菜鸟之旅:安装SUN JDK1.7和Tomcat7
一.前言 CentOS6.5系统自带Open JDK1.7.1.6和1.5,但OpenJDK部分内容与SUN JDK不兼容,因此打算重新安装SUN JDK1.7来开发. 二.卸载Open JDK ...
- CentOS6.5菜鸟之旅:中文编辑器忍痛放弃Sublime
一.前言 Windows下习惯使用Sublime作为编辑器,谁知道Linux下的Sublime是如此不照顾中文用户,找了N久终于找到一个蹩脚的解决方案,于是我毅然决然地加入Vim的阵营. 二.苦苦追寻 ...
- CentOS6.5菜鸟之旅:安装ATI显卡驱动
一.前言 自从安装了CentOS,我的显卡就没消停过,一直在彪高温而且噪音特别大,于是决定上网搜索解决办法.下面记录下来以供日后查阅. 二.安装fglrx driver(ATI/AMD 显卡的linu ...
- CentOS6.5菜鸟之旅:文件权限详解
一.前言 Linux下所有资源.设备均被视作文件来操作,而文件权限则是决定用户可各文件操作的范围,无论是平时使用Linux,还是写程序均涉及这方面.以下为个人学习的整理,供以后查阅. 二. 三种权限 ...
- CentOS6.5菜鸟之旅:VirtualBox4.3识别USB设备
一.前言 VirtualBox默认是不能识别USB设备的,但可以通过Oracle VM VirtualBox Extension Pack来增强VirtualBox的功能,增强的功能如下: 1. US ...
- CentOS6.5菜鸟之旅:安装VirtualBox4.3
一.下载VirtualBox的RHEL软件库配置文件 cd /etc/yum.repos.d wget http://download.virtualbox.org/virtualbox/rpm/rh ...
- CentOS6.5菜鸟之旅:识别NTFS分区
一.前言 CentOS默认时不能识别NTFS分区的,需要那么需要安装fuse-ntfs-3g来处理了. 二.安装fuse-ntfs-3g yum install fuse-ntfs-3g
随机推荐
- java 调用 .net webservice 示例
String url="http://IP:端口/LisService.asmx"; String methodName="GetLisResultForBlood&qu ...
- IT技术团队行而有效的管理之道
在博客园看到的一份读书笔记,如果日后有机会去管理一个技术团队,那么下面这些经验可能会让你更好地实施工作. IT技术团队员工的特点 高学历,知识密集型,技术立身. 人际关系简单,摩擦大多数由技术产生,相 ...
- finished with non-zero exit 添加v7包报错的问题
错误: 添加 compile 'com.android.support:appcompat-v7:22.2.0'后报错,里面有其它的jar包,但是只要添加这个v7包就报错. Error:Executi ...
- 持续集成(二)环境搭建篇—内网邮件server搭建
在我们的持续构建中,项目构建中出现错误提醒.或者开发者之间的沟通交流,进度汇报的事务,都是离不开一个通信工具.那就是邮件.在我们的项目开发中假设使用第三方的邮件平台,这肯定不是最好的选择.由于第三方的 ...
- 用户管理 之 Linux 用户(user)和用户组(group)管理概述
一.理解Linux的单用户多任务,多用户多任务概念:Linux 是一个多用户.多任务的操作系统:我们应该了解单用户多任务和多用户多任务的概念: 1.Linux 的单用户多任务:单用户多任务:比如我们以 ...
- 架设laravel
用laravel 架设的用户单点登录授权系统,git clone项目文件后,需要下面的方法初始化,纪录以供项目成员参考 错误信息:`Warning: require(/http/www.mywakav ...
- Cocos2d-JS项目之四:UI界面的优化
测试环境: iphone4.iOS6.1.2.chrome 37.2062.60,Cocos2d-js 3.6 之前写了不少,实际项目也按这个去优化了,也有效果,但到最后才发现,尼玛,之前都搞错了,之 ...
- SZ,RZ传送文件
linux 和window之间通过xshell的命令 SZ,RZ传送文件:
- WIN8 下Cisco VPN连接 出现vpn 422 failed to enable virtual adapter错误
今天在家用VPN软件连接,出现了“vpn 422 failed to enable virtual adapter”的错误,系统安装的是Win8专业版32位,百度了半天又很多方法解决不了,后来发现了一 ...
- grails 私有库相关设置
针对grails的私有库的设置,设置USER_HOME/settings.groovy如下: grails.dependency.cache.dir = "c:/m2_repositorie ...