** find 查找**     (权限、文件用户、文件长度、文件类型等)名称查找find / -name  “passwd”  #找根下所有passwd文件或目录 find  /tmp/ -name .conf #查找tmp下所有.conf结尾的 find /tmp  -name  “[a-z][a-z][a-z].conf”#查找/tmp下前三位为字母以.conf结尾的find /tmp -name “[a-z]??.conf”#查找/tmp下第一个字符为字母2、3是字母或数字结尾的find /tmp -name  [a-z]][0-9].conf#查找/tmp下第一字符为字母第二字符为数字*     权限查找** find /home/  -perm 700  -ls#查找/home权限为700的列出 find /home -perm 700 -ls | awk  ‘{print $3}’  find /home/ -user alex#查找所属用户为alex的文件 find /home -group alex#查找所属组为alex的文件  find /home !  alex  -group  root#查找所属用户不为alex组为root的#用户没删除干净会没有所属用户和所属组 find /home -nouser -nogroup#找出没有所属用户的 没有所属组 find -user alex -group alex#查找所属组与所有者都为alex的文件  find  / tmp/ -mtime -2#/tmp查找两天前被更改过的文件 find /tmp -mtime +1#查找/tmp下一天前更改过的文件find /tmp -type d#查找为文件夹的一块为512字节 find /tmp -size 823c -ls#查找/tmp下大小为823字节的文件 find /tmp +823c ls#查找大于823字节的文件 find /tmp -size -823c -ls#查找小于823字节的文件find /tmp -size +20k -ls#查找大于20K的文件**-exec   #执行择项**  find /tmp -name  “yum.conf” -exec cp {}  alex ;#查找/tmp下名字为yum.conf文件拷贝成一个名为alex执行结束。\结束find  /tmp -name alex -exec rm -f{} ;#查找/tmp下alex移除它find /tmp !  -name “yum.conf “ !  -name  “sos.conf” -exec rm {} -f ;  #查/tmp下名字不为yum.conf 名字不为sos.conf的文件执行删除结束          ! 这个是链接符这里加r 递归就会把你搜的最高级全部删除  ll -h    #查看文件的大小  ll -Z #长格式查看文件属性注:1 block =512 bytels****xargs 后面可以接命令ls sos.conf | xargs chmod 777#找到sos.conf文件,执行赋权777 ls sos.conf | xargs  rm -f#找到sos. conf 并执行删除find  /home -perm 755 | xargs chmod o+w#找到权限为755的文件,然后执行赋予other可写权限文本查看工具:head  more  cat  tail  less   # -n 接行cat        文本全部屏幕输出head    前面十行  # head -n1tail       后十行      # tail   -n1less       分页查看  #PgIp,PgDnmore     83%查看   grepgrep root /etc/passwd过滤出来含有root关键字的行cat /etc/passwd | grep root -v-v  取反,把没有含有root的过滤出来cat /etc/passwd | grep -E “root|11”这里的|是或者的意思,-E是一个扩展的选项后面接正则cat /etc/passwd | grep -Ei “root|11|privil”cat /etc/passwd | grep -i privil**-i  是忽略大小写cat /etc/passwd | grep -E “^a|^r”-E是以行,以a或r开头的cut  #提取** cut -c 1-4 /etc/passwdcat /etc/passwd | cut -c 1-4#提取1-4列字符关键字 cut -c 1 /etc/passwd#提取第一列字符关键字 echo  abc#输出abc echo abc | cut -c  2#提取c参照物的的第二个,-d以什么做参照 echo abc | cut  -d “a” -f1#提取abc。以a做参照物a的前面什么也没有第一行为空 echo abc | cut -d  “a” -f2#提取abc以a做参照a的后面有bc相当于第二行 echo  abc | cut -d  “a” -f2 | cut   -d  “c”  -f1#提取之前的bc以c做参照物第一行为b echo abc | cut -d “a” - f2 |cut -d ““c -f2cat /etc/passwd | cut -d “:” -f1#取第一个:前面的用户名**-c  为字符顺序提前-d 是以某个字符为提前**[root@desktop71 tmp]# for a in $(cat /etc/passwd | cut -d “:” -f1 | tail -n3)> do> echo redhat | passwd –stdin $a> doneChanging password for user user.passwd: all authentication tokens updated successfully.Changing password for user a.passwd: all authentication tokens updated successfully.Changing password for user linhutlll.passwd: all authentication tokens updated successfully.awk:awk -F : ‘{print $1,$2}’ /etc/passwd取第一和第二列(以 : 为分隔符)cat /etc/passwd | awk -F : ‘{print $1,%2}’ /etc/passwd匹配:cat /etc/passwd | awk -F : ’($3==0){print $1}’以:分列,第三列为0的打印出来第一列-F 是指定分割符df -h | awk ‘{print $1,$NF}’$NF是最后一列df -h | awk ‘{print $1 “––” $NF}’“”在这里当拼接符df -h | awk BEGIN {print “——DEVICE—–”}’{print “—––”$1”—“} END {print “END DONE”}’BEGIN添加标题END添加结尾cat /etc/passwd | awk -F : ’/^r/ {print $1}’以r为开头的显示第一列,以:为分隔符  /正则表达式/cat /etc/passwd | awk -F : ’/^[a-z]t:./ {print $1}’cat /etc/passwd | cut -d “:” -f1 | grep t$cat /etc/passwd | awk -F : ‘{print $1}’| grep t$以t结尾的输出第一列wc #统计  wc -l  /etc/passwd#显示文件的行数  #line wc  -w  /etc/passwd#显示文件的单词数  #word wc  -c /etc/passwd#显示文件的字节数   #counts字节sort  sort /etc/passwd | less  | cut -c1 | sort -u#以升序排列,/etc/passwd第一列字符,有时也可以去重复-u升序 sort /etc/passwd | less | cut -c1 | sort -r#查看/etc/passwd以降序排列第一列字符-r降序 cat /etc/passwd | sort -u | grep   ^root#升序排列以root开头的行sort -k 2 -n#以第二列去排序,-n为数字排序>      #为左边的文件      <  #为右边的文件 &&    #与               || #否则$ 在grep里的空白’ ’ 为永不转义 打印出第一列参数[root@desktop71 opt]# mkdir /opt/hehe &> /dev/null || echo “it is wrong”it is wrong创建文件夹,然后全部到黑洞,失败就屏幕输出it is wrongtail  #以c做参照物第二行为空白的 tail   /etc/passwd tail /etc/passwd | cut    -d “:” - f1#提取/etc/passwd以:为分割点,截取第一列  tail /etc/passwd | cut  -d  “:” f7#提取/etc/passwd以:为分割点,截取第七列mkdir /tmp/haha &> /dev/null || mkdir ziziz#创建haha目录无论成功与否重定向到null中,前面的操作成功则创建zizi cp  /etc/passwd  /tmp/defaule更改其中的内容 diff  /etc/passwd  /tmp/default#查找两个文件的不同之处 awk  -F : ‘{print $(NF)}’  /etc/passwd# NF=倒数第一列,以:分割打印出倒数第一列 awk    -F :  {‘print $(NF-1)}’   /etc/passwd#以:分割打印出倒数第二列awk    -F :   {‘print $1,$3,NF’}     /etc/passwd#以:为分割符打印出1,3,最后一列awk  -F : {‘BEGIN’‘{print “’}====userlist===”}{print $1 } END {print  “======done=======”}’ /etc/passwd#以F为分隔符开头打印出====userlist===“截取第一列尾部打应出”======done=======“}’ awk -F :  ‘/^r/ {print $1}’ /etc/passwd#以:为分隔符打印出第一列参数为r开头的  awk -F : ‘/^[a-z]t:./ {print $1}’ /etc/passwd或:awk -F : ‘/^[a-z]t:/ {print $1}’ /jieya/passwd#以:为分隔符打印出第一列以单词开头t结尾的 sar -q df -h | awk “print $3,$4”**ifconfig | grep  ^$ -v| grep errors | sort -u | awk  ‘{print $2}’ |  sort -u | cut -d r -f3 | wc -w | passwd –stdin alex先打印ifconfig *排除空格 *过滤含义errors的行 *再正序排序 \ $2 是第二列($NF 最后一列 $NF-1 倒数第二列  ,相连 )*去重 *这里的cut -d 是后面接分割符并分割后面再接-f1为分隔符前一列 \ wc是统计(-c 统计字节数。 -l 统计行数。 -m 统计字符 。-w 统计字数。-L 打印最长行的长度。\ 并把结果输出为alex密码****                              **

视频链接: 链接: http://pan.baidu.com/s/1eS7sSzo 密码: 4jcm 课后练习: https://app.yinxiang.com/shard/s67/nl/18316928/68298174-831c-487e-a814-9053a1771cb3?title=%E7%AC%AC%E4%B8%89%E6%AC%A1%E4%BD%9C%E4%B8%9A