Zbrel 发表于 2017-7-20 11:18:10

Linux文件和目录管理4

4.指令与档案的搜寻:知道档案放在哪里才能对该档案进行一些修改或维护等动作。
代码文件名的搜寻which:
        which [-a] command
        -a 将所有由PATH目录中可以找到的指令均列出,而不止第一个被找到的指令名称档案档名的搜寻:

        whereis 查看档案的位置
        whereis [-bmsu] 档案或目录名
        -b 只找binary格式的档案
        -m 只找在说明文件manual路径下的档案
        -s 只找source来源档案
        -u 搜寻不在上述三个项目当中的其他特殊档案

        locate 配合数据库查看档案位置
        locate [-ir] keyword
        -i 忽略大小写的差异
        -r 后面可接正规表示法的显示方式
        updatedb:根据/etc/updatedb.conf的设定去搜寻系统硬盘内的文件名,并更新/var/lib/mlocate内的数据库档案;
        locate:依据/var/lib/mlocate内的数据库记载,找出用户输入的关键词文件名。

        find 实际搜寻硬盘去查询文件名称
        find
1.与时间有关的选项:有-atime, -ctime与-mtime,以mtime说明
-mtime n: n为数字,意义为在n天之前的[一天之内]被更动过内容的档案;
-mtime +n: 列出在n天之前(不含n天本身)被更动过内容的档案档名;
-mtime -n: 列出在n天之内(含n天本身)被更动过内容的档案档名;
-newer file: file为一个存在的档案,列出比file还要新的档案档名
$find /var -mtime +4 #+4代表大于等于5天前的档案名
$find /var -mtime -4 #-4代表小于等于4天内的档案名
$find /var -mtime 4 #4则代表4-5那一天的档案名
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
-type TYPE 搜寻档案类型为TYPE的,类型主要有:f一般正规档案,b,c装置档案,d目录,l链接档,s socket及FIFO(p)等属性
-perm mode 搜寻档案权限刚好等于mode的档案,这个mode为类似chmod的属性值
-perm -mode 搜寻档案权限必须要全部囊括mode的权限的档案
-perm +mode 搜寻档案权限包含任一mode的权限的档案
4.额外可进行的动作
-exec command command为其他指令,-exec后面可再接额外的指令来处理搜寻到的结果
{}表示由find查找到的内容,\;表示-exec命令结束
$find /tmp -perm 644 -exec ls -l {} \;
-print 将结果打印到屏幕上,这个动作是预设动作!

页: [1]
查看完整版本: Linux文件和目录管理4