zl程序教程

您现在的位置是:首页 >  其他

当前栏目

CentOS6.5菜鸟之旅:关于搜索的shell命令

搜索命令shell 关于 之旅 菜鸟 centos6.5
2023-09-14 08:57:59 时间
// 凡是绝对路径当中含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


Shell脚本的常用执行方式、bash 和 sh 的关系、子shell、Centos 默认的解析器是 bash、Linux 提供的 Shell 解析器、Shell 概述、Shell 脚本入门 采用 bash 或 sh+脚本的相对路径或绝对路径(不用赋予脚本+x 权限)、采用输入脚本的绝对路径或相对路径执行脚本(必须具有可执行权限+x)、在脚本的路径前加上“.”或者 source(了解)原因: 前两种方式都是在当前 shell 中打开一个子 shell 来执行脚本内容,当脚本内容结束,则 子 shell 关闭,回到父 shell 中。第三种,也就是使用在脚本路径前加“.”或者 source 的方式,`可以使脚本内容在当前 shell 里执行,而无需打开子 shell!`这也是为什么我们每次要修改完
Centos7:“Entering emergency mode. Exit the shell to continue”错误解决方法 想过很多朋友有遇到这种情况,就是正在远程使用centos7系统时,一旦让远程虚拟机或服务器断电或强制关机,那么再次重启时就会出现“Entering emergency mode. Exit the shell to continue.”的错误。