Linux基础之文件查找压缩

为何学习本章节,可以设想一下,在未来工作中面对大量用户时,想要找到同一类型属性的用户文件时,需要一个工具可以快速准确的定位到所寻找的文件,那就是locate和find。

 

*******************************************************

重点:

    1.德摩根定律

    非(P且Q) = (非P)或(非Q)

    非(P或Q)=(非P)且(非Q)

 

    !A -a !B = !(A -o B)

    !A -o !B = !(A -a B)

2.

find 条件权限perm

    -perm -MODE

    MODE 精确查找 -perm 755

    /MODE 任何一类(u,g,o)对象的权限中只要能一位匹配即可,之间关系为或

    -MODE 每一类对象都必须同时拥有指定权限,之间为与关系

    -020 表示只要组权限为写就可以,0表示不匹配

示例

    find -perm 755 精确匹配权限为755的文件

    find -perm +222 只要任意人有写权限,就会匹配

    find -perm -222 当每个人都有写权限时才匹配

 

 

 

******************************************************

1、查找/var目录下属主为root,且属组为mail的所有文件

    find /var -user root -group mail

2、查找/var目录下不属于root、lp、gdm的所有文件

    find /var -not \( -user root -o -user lp -o -user gdm \)

    #\(  \) 与字符之间要有空格

3、查找/var目录下最近一周内其内容修改过,同时属主不为root,也不是postfix的文件

    find /var -mtime -7 -not \( -user root -o -user postfix \) 

 

4、查找当前系统上没有属主或属组,且最近一个周内曾被访问过的文件

    find / \( -nouser -o -nogroup \) -atime -7

 

5、查找/etc目录下大于1M且类型为普通文件的所有文件

    find /etc/ -size +1M -type f

 

6、查找/etc目录下所有用户都没有写权限的文件

    find /etc/ -not -perm +222

#都没有= -not 至少有一个 

7、查找/etc目录下至少有一类用户没有执行权限的文件

    find /etc/ -not -222  

 # 至少有一个没有= -not 全都有

8、查找/etc/init.d目录下,所有用户都有执行权限,且其它用户有写权限的文件

find /etc/init.d -perm -113

 

*********************************************************

shell脚本遗漏点

1.seq 5:1 ,2,3,4,5 默认从1开始

    2.seq 240 255

    3.seq -s + 1 9|bc

    4.grep -q:常常用在条件判断位置,判断是否能找到该行

    5.ping -c1 -w1 :用于判断是否能ping通某个IP地址,-c是指次数,-w指的是超时时间

    

    6.当shell中单独一行只有echo时,表示换行

        echo -n 不换行输出

 7. echo “user$i”| passwd –stdin “user$i” &> /dev/null条件判断 

    8.当判断文件类型时,[ -L file ]要用在其它判断前面

    9,-a(与)比-o(或)的优先级高  

 

原创文章,作者:000,如若转载,请注明出处:http://www.178linux.com/36602

(2)
000000
上一篇 2016-08-22 09:29
下一篇 2016-08-22 09:29

相关推荐

  • 第五周作业:find、cut、grep用法

    第五周作业 1、显示当前系统上root、fedora或user1用户的默认shell; 2、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello(); 3、使用echo命令输出一个绝对路径,使用grep取出其基名; 扩展:取出其路径名  4、找出ifconfig命令结果中的1-255之间数字; …

    Linux干货 2016-11-28
  • Linux程序包管理相关

    前言 首先说说一个软件的诞生过程: 程序员用编程语言写文本格式的源代码,但是计算机只能读懂二进制文件,那么就需要将源代码转换成二进制格式,这个过程称为编译。编译用的工具称为编译器,编译器有很多种,在Linux上常用gcc这个编译器。利用编译器,得到二进制格式的文件(二进制程序(Windows上.exe.msi,Linux.elf)、库文件、配置文件、帮助文件…

    Linux干货 2018-01-04
  • tcp通讯的服务器和客户端解析

    服务器端编程步骤, 1.创建Socket对象,下文中的socket都表示一个socket对象 2.绑定IP地址和端口,服务器的IP和端口 3.开始监听,将在指定的端口上监听,listen() 如果对方申请连接这个IP和端口,将被听到,这个过程 4.获取用于传输数据的Socket对象 socket.accept() ->(socket object,ad…

    Linux干货 2018-01-01
  • Linux终端类型

    在linux系统中,用户经常要使用各种终端和操作系统进行交互,实现用户的任务。Linux各种终端的工作方式基本都通过字符命令行的方式完成,通过终端输入命令完成相应结果。通过who命令可查看用户通过哪些终端方式连接到操作系统。通过tty命令查看当前是通过第几个tty登录的。 Linux系统的终端包含如下几种类型: 1) 物理终端 物理终端,又称控制台…

    Linux干货 2016-10-17
  • Homework Week-6 vim使用、脚本编程

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; cp /etc/rc.d/rc.sysinit /tmp/ vim /tmp/rc.sysinit 转换为末行模式: :%s@^[[:s…

    Linux干货 2016-09-19
  • Mariadb基于ssl的主从复制

    Mariadb基于ssl的主从复制 一、前言 备份数据库是生产环境中的首要任务,重中之重。一般配置中mariadb的主从传输是明文传输,但是有时候对一些特殊业务来说是不允许的,为了保证数据在传输过程中的安全性,因此使用基于SSL的复制会大大加强数据的安全性。 二、准备工作 1、实验系统环境: CentOS7.2,SELinux关闭,iptables关闭,安装…

    Linux干货 2017-02-24