鸟哥的linux私房菜学习笔记《十》命令与文件的查询

  1. file:查看文件类型
    如果想知道某个文件的基本数据,例如是属于ASCII码或者是data文件,或者是binary,且其中有没有使用到动态函数库等等信息,可以使用file命令。

    [root@CentOS ~]# file ~/.bashrc
    /root/.bashrc: ASCII text
    
    [root@CentOS ~]# file /usr/bin/passwd 
    /usr/bin/passwd: setuid ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
    
  2. which:脚本文件名的查询
    参数:
    -a:将所有PATH目录中可以找到的命令均列出,而不只第一个被找到的命令名称

    [root@CentOS lib]# which ifconfig
    /sbin/ifconfig
    [root@CentOS lib]# which ls
    alias ls='ls --color=auto'
    [root@CentOS lib]# which cd
    /usr/bin/which: no cd in (/usr/lib/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/kevin/bin)
            # 查不到cd,这是因为cd是内置命令,不在PATH路径中。 

    这里写图片描述

  3. whereis:文件名的查找
    参数:
    -b:只找二进制格式的文件
    -m:只找在说明文件manual路径下的文件
    -s:只找source源文件
    -u:查找不在上述三个选项当中的其他特殊文件
    一般用户找不到的命令却可以让whereis找到
    这里写图片描述
  4. locate:文件名查找
    参数:
    -i:忽略大小写
    -r:后面可接正则表达式的显示方式
    忘记某个文件时,直接在后面输入“文件的部分名称”后就能找到结果,因为locate寻找的数据是由已创建的数据库/var/lib/mlocate/里面的数据所查找到的,不用直接在硬盘访问数据
    手动更新数据库直接输入“updatedb”就可以了。
    updatedb命令会去读取/etc/updatedb.conf这个配置文件的设置,然后再去硬盘里查找文件名的操作,最后更新整个数据库文件。
    这里写图片描述
  5. find:查找文件名
    1 . 参数:
    这里写图片描述
    这里写图片描述

    
    # 4天内被改动过文件名:
    
    [root@CentOS lib]# find /var -mtime -4
    
    # 4天前的那一天改动过的文件名:
    
    [root@CentOS lib]# find /var -mtime 4
    

    这里写图片描述
    2 . 参数:
    这里写图片描述
    可以找出某用户在系统中创建了什么

    
    # 找出某用户的所有文件:
    
    [root@CentOS lib]# find /home -user kevin
    
    
    # 找出不属于系统中任何人的文件
    
    
    # / 代表根目录
    
    [root@CentOS lib]# find / -nouser
    

    3 . 参数:
    这里写图片描述
    这里写图片描述

    
    # 找出文件名为paswd的文件:
    
    [root@CentOS lib]# find / -name passwd
    
    #找出/var目录下文件类型为socket的文件名有哪些:
    
    [root@CentOS lib]# find /var -type s
    
    #找出/var目录下文件类型为FIFO的文件名有哪些:
    
    [root@CentOS lib]# find /var -type p
    
    # 查找文件当中含有SGID或SUID或SBIT的属性
    
    [root@CentOS lib]# find / -perm +7000
    
    # +7000是----s--s--t,那么只要含有s或t的就列出
    
    
    # -7000表示含有----s--s--t的所有三个权限
    
    
    
    # 假设我想要将/bin、/sbin这两个目录下只要具有SUID或者SGID的文件就列出
    
    [root@CentOS lib]# find /bin /sbin -perm +6000
    
    # find本身就会列出子目录
    

    4 . 参数:
    这里写图片描述

    
    # 将找到的文件使用ls -l列出
    
    [root@CentOS lib]# find / -perm +7000 -exec ls -l () \
    
    # -exec后面的ls -l就是额外命令,命令不支持命令别名,不能用ll
    
    
    
    # 找出系统中大于1M的文件
    
    [root@CentOS lib]# find / -size +1000k
    

    这里写图片描述
    这里写图片描述

    
    # find还支持通配符来查找
    
    [root@CentOS lib]# find /etc -name '*hpptd*'
    
    # find自动查询子目录
    
  6. 权限与命令间的关系
    指令需要在什么样的权限下才能运作:
    这里写图片描述
    这里写图片描述
    这里写图片描述
  7. 重点回顾
    这里写图片描述
    这里写图片描述
    这里写图片描述
    这里写图片描述
    这里写图片描述
  8. 简答题
    这里写图片描述
    这里写图片描述
    这里写图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值