Solaris 10下文件查找指南(图)(2)

  应用技巧:

  在Solaris系统中“find”命令是大多数系统用户都可以使用的命令,并不是ROOT系统管理员的专利。但是普通用户使用“find”命令时也有可能遇到这样的问题,那就是Solaris系统中系统管理员ROOT可以把某些文件目录设置成禁止访问模式。这样普通用户就没有权限用“find”命令来查询这些目录或者文件。当普通用户使用“find”命令来查询这些文件目录是,往往会出现"Permissiondenied."(禁止访问)字样。系统将无法查询到你想要的文件。为了避免这样的错误,我们可是使用转移错误提示的方法尝试着查找文件,输入命令:“find / -name access_log 2>/dev/null ”操作界面如图2 。  

Solaris 10下文件查找指南(图)

  图 2 转移错误提示的方法

  这个方法是把查找错误提示转移到特定的目录中去。系统执行这个命令后,遇到错误的信息就直接输送到stderrstream 2 中,access_log 2就是表明系统将把错误信息输送到stderrstream 2中,/dev/null是一个特殊的文件,表明空的或者错误的信息,这样查询到的错误信息将被转移了,不会再显示了。

  3. 快速查找方法

  在Solaris系统查找文件也会遇到这样一个实际问题。如果我们在整个硬盘,这个系统中查找某个文件就要花费相当长的一段时间,特别是大型Solaris系统和容量较大的硬盘,文件放在套嵌很深的目录中的时候。如果我们知道了这个文件存放在某个大的目录中,那么只要在这个目录中往下找就能节省很多时间了。使用find /etc -name sshd_config就可以解决这个问题。上面的命令就是表示在etc目录中查询httpd.conf这个文件。这里再说明一下“/ ”这个函数符号的含义,如果输入 “find/ ”就是表示要求Solaris系统在整个ROOT目录下查找文件,也就是在整个硬盘上查找文件,而“find/etc”就是只在 etc目录下查找文件。因为“find/etc”表示只在etc目录下查找文件,所以查找的速度就相应要快很多了。

  4. 根据部分文件名查找方法:

  这个方法和在WINDOWS中查找已知的文件名方法是一样的。不过在Solaris中根据部分文件名查找文件的方法要比在WINDOWS中的同类查找方法要强大得多。例如我们知道某个文件名称含有ssh这两个字母,那么要找到系统中所有包含有这几个字母的文件是可以实现的,输入:

  # find /etc -name '*ssh*'

  /etc/svc/volatile/network-ssh:default.log

  /etc/ssh

  /etc/ssh/sshd_config

  /etc/ssh/ssh_config

  /etc/ssh/ssh_host_rsa_key

  /etc/ssh/ssh_host_rsa_key.pub

  /etc/ssh/ssh_host_dsa_key

  /etc/ssh/ssh_host_dsa_key.pub

  /etc/ssh/sshd_config~

  /etc/webmin/sshd

  以上命令表明了Solaris系统将在/etc整个目录中查找所有的包含有ssh 这3个字母的文件,比如 ssh myz等等符合条件的文件都能显示出来。如果你还知道这个文件是由ssh 这3个字母打头的,那么我们还可以省略最前面的星号,命令如下:

  # find /etc -name 'ssh*'

  这是只有像sshd 这样的文件才被查找出来,象asshmyz这样的文件都不符合要求,不被显示,这样查找文件的效率和可靠性就大大增强了。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/13b288207298fed665c5265691c4b069.html