在使用过程中,备忘各种高效的命令
1、locate 命令
最初在android代码中查找文件使用find命令,后来发现android代码越来越多,有时搞不准在哪个大目录下,
只好在android代码的根目录下搜索,非常慢,非常影响工作效率,为了实现提高效率,早搬完砖早下班的心态,积极搜索其他高效命令,偶尔间发现了locate 命令,令人眼前一亮,三分到手。
locate 命令用来查找linux的文件或目录。 locate命令要比find . -name快得多的多,原因在于它不搜索具体目录,而是搜索linux中的数据库(/var/lib/mlocate/mlocate.db),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate查询不到最新添加的文件,遇到这种情况,网上说可以使用 updatedb 来手动更新数据库,想想还是算了,更新一个这么大的数据库,太慢了。如果连刚刚建立的文件都记不清路径了,还是多喝六个核桃吧 。
locate命令很简单,后面直接跟文件名就好了
locate Binder.java
下面还有一大堆,为了精确搜索
locate /home/xxx/xxx/framework/base/*/Binder.java
2. sed 命令
sed 命令可以在文件中实时替换,也可以在命令行中实施替换功能
比如android 8.0升级到9.0时
代码中使用 MediaBuffer的地方都换成了 MediaBufferBase
我们可以使用sed命令来替换特定目录下所有文件中的所有的 MediaBuffer 为 MediaBufferBase
即
sed -i "s/MediaBuffer/MediaBufferBase/g" `grep "MediaBuffer" -rl .`