Linux文件的搜寻

1 脚本文件名的查询

which(寻找“执行文件”)
# which [-a] command
选项或参数:
-a :将所有由 PATH 目录中可以找到的命令均列出,而不止第一个被找到的命令名称
注意:这个命令是根据PATH这个环境变量所规范的路径去查询“执行文件”的文件名。<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span>

2 文件名的查找

whereis (寻找特定文件)

# whereis [-bmsu] 文件或目录名
选项与参数:
-b:只找 binary 格式的文件
-m:只找在说明档 manual 路径下的文件
-s:只找 source 来源文件
-u:搜寻不在上述三个项目当中的其他特殊文件

locate

# locate [-ir] keyword
选项与参数:
-i:忽略大小写的差异;
-r:后面可接正规表示法的显示方式
你会发现使用 locate 来寻找数据的时候特别的快, 这是因为 locate 寻找的数据是由(已创建的数据库/var/lib/mlocate/) 里面的数据所搜寻到的,所以不用直接在去硬盘当中存取数据。数据库的创建默认是在每天运行一次。
升级 locate 数据库的方法非常简单,直接输入『 updatedb 』就可以了。 updatedb 命令会去读取/etc/updatedb.conf 这个配置文件的配置,然后再去硬盘里面进行搜寻文件名的动作, 最后就升级整个数据库文件。

find

# find [PATH] [option] [action]
选项与参数:
1. 与时间有关的选项:共有 -atime, -ctime 与 -mtime
  -mtime  n :n 为数字,意义为在 n 天之前的『一天之内』被更动过内容的文件;
  -mtime +n :列出在 n 天之前(不含 n 天本身)被更动过内容的文件档名;
  -mtime -n :列出在 n 天之内(含 n 天本身)被更动过内容的文件档名。
   -newerfile :file 为一个存在的文件,列出比 file 还要新的文件档

2. 与使用者或群组名称有关的参数:
  -uid n :n 为数字,这个数字是使用者的帐号 ID,亦即 UID ,这个 UID 是记录在
           /etc/passwd 里面与帐号名称对应的数字。
  -gid n :n 为数字,这个数字是群组名称的 ID,亦即 GID,这个 GID 记录在
           /etc/group。
  -user name :name 为使用者帐号名称。
  -group name:name 为群组名称。
  -nouser    :寻找文件的拥有者不存在 /etc/passwd 的人。
  -nogroup   :寻找文件的拥有群组不存在於 /etc/group 的文件。

3. 与文件权限及名称有关的参数:
  -name filename:搜寻文件名称为 filename 的文件;
  -size [+-]SIZE:搜寻比 SIZE 还要大(+)或小(-)的文件。这个 SIZE 的规格有:
                   c: 代表 byte, k: 代表 1024bytes。所以,要找比 50KB
                   还要大的文件,就是『 -size +50k 』
  -type TYPE    :搜寻文件的类型为 TYPE 的,类型主要有:一般正规文件 (f),
                   装置文件 (b, c), 目录 (d), 连结档 (l), socket (s),
                   及 FIFO (p) 等属性。
  -perm mode  :搜寻文件权限『刚好等于』 mode 的文件,这个 mode 为类似 chmod
                 的属性值,举例来说, -rwsr-xr-x 的属性为 4755 。
   -perm-mode :搜寻文件权限『必须要全部囊括 mode 的权限』的文件,举例来说,
                 我们要搜寻 -rwxr--r-- ,亦即 0744 的文件,使用 -perm-0744,
                 当一个文件的权限为 -rwsr-xr-x ,亦即 4755 时,也会被列出来,
                 因为 -rwsr-xr-x 的属性已经囊括了 -rwxr--r-- 的属性了。
  -perm +mode :搜寻文件权限『包含任一 mode 的权限』的文件,举例来说,我们搜寻
                 -rwxr-xr-x ,亦即 -perm +755 时,但一个文件属性为 -rw-------
                 也会被列出来,因为他有 -rw.... 的属性存在!

4. 额外可进行的动作:
  -exec command :command 为其他命令,-exec 后面可再接额外的命令来处理搜寻到
                   的结果。
  -print        :将结果打印到屏幕上,这个动作是默认动作。

+4代表大于等于5天前的档名:ex>find /var -mtime +4

-4代表小于等于4天内的文件档名:ex>find /var -mtime -4

4则是代表4-5那一天的文件档名:ex>find /var -mtime 4

# find / -perm +7000 -exec ls -l {} \;

{} 代表的是『由 find 找到的内容』,如上图所示,find的结果会被放置到 {} 位置中;

-exec 一直到 \; 是关键字,代表 find 额外动作的开始 (-exec) 到结束 (\;) ,在这中间的就是 find 命令内的额外动作。 在本例中就是『 ls -l {} 』。

因为『 ; 』在 bash 环境下是有特殊意义的,因此利用反斜线来跳脱。

时间: 2024-11-03 22:01:36

Linux文件的搜寻的相关文章

linux入门教程(六) Linux文件与目录管理

在linux中什么是一个文件的路径呢,说白了就是这个文件存在的地方,例如在上一章提到的/root/.ssh/authorized_keys 这就是一个文件的路径.如果你告诉系统这个文件的路径,那么系统就可以找到这个文件.在linux的世界中,存在着绝对路径和相对路径. 绝对路径:路径的写法一定由根目录”/”写起,例如/usr/local/mysql 这就是绝对路径. 相对路径:路径的写法不是由根目录”/”写起,例如,首先用户进入到/ 然后再进入到home ,命令为 cd /home 然后 cd

第七章、Linux 文件与目录管理

1. 目录与路径 1.1 相对路径与绝对路径 1.2 目录的相关操作: cd, pwd, mkdir, rmdir 1.3 关於运行档路径的变量: $PATH 2. 文件与目录管理 2.1 文件与目录的检视: ls 2.2 复制.删除与移动: cp, rm, mv 2.3 取得路径的文件名称与目录名称 3. 文件内容查阅: 3.1 直接检视文件内容: cat, tac, nl 3.2 可翻页检视: more, less 3.3 数据撷取: head, tail 3.4 非纯文字档: od 3.5

Linux文件查找.md

Linux 文件查找 在Linux系统的查找相关的命令: which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查询文件名称 whereis whereis命令是定位可执行文件.源代码文件.帮助文件在文件系统中的位置.这些文件的属性应属于原始代码,二进制文件,或是帮助文件.whereis 程序还具有搜索源代码.指定备用搜索路径和搜索不寻常项的能力. 语法 whereis [-bmsu] 文件或者目录名称 参数 -b 定位可执

文件的搜寻【转vbird】

which (寻找『运行档』) [[email protected] ~]# which [-a] command 选项或参数: -a :将所有由 PATH 目录中可以找到的命令均列出,而不止第一个被找到的命令名称 分别用root与一般帐号搜寻 ifconfig 这个命令的完整档名 [[email protected] ~]# which ifconfig /sbin/ifconfig <==用 root 可以找到正确的运行档名喔! [[email protected] ~]# su - vbi

Linux 文件与目录管理

我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /. 其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们. 在开始本教程前我们需要先知道什么是绝对路径与相对路径. 绝对路径:路径的写法,由根目录 / 写起,例如: /usr/share/doc 这个目录. 相对路径:路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd ../man 这就是相对路径的写法啦! 处理目录的常用命令 接下来我们就来看几

linux文件的编辑、压缩、归档、操作

一.文件内容操作(/etc/passwd) 1. cat 查看文件内容比较少的 2. more 可以分页显示 3. less 比more更全面 4. head 默认显示文件头10行 -n 数字 显示头n行 5. tail 默认显示文件尾10行 -n 数字 显示尾n行 -f 实时查看 6. wc 统计 7. grep 输出包含指定字符串的行 -i 忽略大小写 -v 取反 ^root 以root开头 root$ 以root结尾 ^$ 匹配空行 -E 查找多个关键字,匹配其中任意一个都输出 8. dm

菜鸟学linux之五Linux文件与目录管理第二节

环境变量PATH 在环境变量之前先介绍一个命令 which, 它用来查找某个命令的绝对路径. [[email protected] ~]# which rmdir /bin/rmdir [[email protected] ~]# which rm alias rm='rm -i' /bin/rm [[email protected] ~]# which ls alias ls='ls --color=auto' /bin/ls 'rm' 和 'ls' 是两个特殊的命令,使用alias 命令做了

【转】第七章、Linux 文件与目录管理

原文网址:http://vbird.dic.ksu.edu.tw/linux_basic/0220filemanager.php 第七章.Linux 文件与目录管理 最近升级日期:2009/08/26 在第六章我们认识了Linux系统下的文件权限概念以及目录的配置说明. 在这个章节当中,我们就直接来进一步的操作与管理文件与目录吧!包括在不同的目录间变换. 创建与删除目录.创建与删除文件,还有寻找文件.查阅文件内容等等, 都会在这个章节作个简单的介绍啊! 1. 目录与路径 1.1 相对路径与绝对路

2.Linux文件和目录

1. 目录和路径 linux下比较特殊的目录: . 代表此层目录 .. 代表上一层目录 - 代表前一个工作目录 ~ 代表『目前使用者身份』所在的home目录 ~account 代表 account 这个使用者的home目录(account是个帐号名称) $PATH变量 $PATH和Windows系统下的Path环境变量是差不多的,执行命令是会去PATH所指定的路径下搜索是否存在该命令. echo $PATH 可以显示当前的$PATH变量的值. 目录和文件常用命令 cd:切换目录 pwd [-P]