04_Linux根底-.&..-cat-tac->&>>-EOF-Shell-more-ps-less-head-tail-sed-grep-which-whereis-PATH-bash-/usr-locate-find


一. 回顾

回顾//        将/home/目录下的所有文件和文件夹复制到/jindafu目录下        cp  /home/*  .  -r#注:复制文件夹 接-r        递归复制(因为提到了文件夹)#注:所有    通配符*//        复制/etc/hosts文件到jindafu,不给予笼罩揭示        用cp的绝对路径            which  cp    失去cp的门路            /usr/bin/cp  /etc/hosts  .#注:不给予揭示 输出cp命令的绝对路径    因为cp命令是别名 所有会有揭示//        将xiena目录改名为xienana        mv  xiena/  xienana//        将singer目录下的所有文件复制到hejiong目录下        cp  haiquan/singer/*  hejiong/#注:所有    通配符*#注:复制文件不接-r//        删除所有的xienana目录        find命令 或 tree查看xienana在哪  rm  -rf  门路        find  /hunantv/  -name  “xienana”  -exec  rm  -rf  {} \;//        查看目录构造 tree  查看类型 file//        echo  $PS1  $PS2 怎么看PS1 PS2//        hostname  查看主机名//        echo  $SHELL  查看默认shell  (是bash)//        cat  /ect/shells  查看机器里有哪些shell        sh  bash  exit#/etc    寄存配置文件//        d  目录        -  一般文件        l  链接文件        c  字符设施文件(显示)        b  块设施文件 (磁盘)//        reboot  重启机器//        clear  清屏//        别名 alias , unalias , vim  /root/.bashrc//        env  环境变量  set  所有变量

二. . .. 删不掉

//        rm  -rf  不会删除暗藏文件        rm  -rf  .lixh  删除暗藏文件        .和..删不掉

三. cat

//        ls  查看文件夹里的内容        cat 1.查看文件里的内容            2.能够将多个文件连贯到一起输入        -n, --number  给输入的行进行编号        用途2: cat  tangliangfei.txt  wangtc.txt (连接功能)        先将tangliangfei.txt内容输入,再将wangtc.txt内容输入

tac 与 cat

//        tac 逆序显示,从最初一行到第一行            不能接-n        cat 正序显示,从第一行到最初一行 (有-n选项)

四. 重定向

//        >  输入重定向,会笼罩原来的内容,如果文件不存在会主动新建            重定向:就是将在屏幕上输入的内容,扭转输入的方向,输入到文件里        >>  追加输入重定向,不会笼罩原来的内容,只是在开端追加,如果文件不存在会主动新建        >会笼罩原来的内容,>>不笼罩,开端追加        # cat  tangliangfei.txt  wangtc.txt  >tang_wang.txt        # echo 123456789  >>tang_wang.txt         (学会cat与>、>>的组合)

五. here document

//        生成指定内容的文件 --》here document  --》次要用在写脚本生成指定的内容        //  <<EOF 定义的完结字符串            当输出EOF的时候,完结  end of file 
# cat   >chenpeng.txt  <<EOF  (注1:前面不肯定非得EOF,但要起的有意义)> chen peng                    (注2:1个>符号,原来内容会被笼罩)> jiangsu> xinhua> nongda> linux> cali> EOF (注3:点回车)# cat >>cali.txt <<end(注1:2个>符号,内容追加,不笼罩)> sanchuang> nongda> changsha

六. Shell 脚本

//        shell脚本: 其实是一个文件,文件外面有很多的linux命令,这个文件能够执行,被执行的时候,会执行文件里的所有的命令
# vim  first_shell.sh#!/bin/bash(注1:申明这个脚本应用的解释器是bash)mkdir  -p  /test(注2:存在不报错,不存在就新建)cd /testmkdir sc{1..100}touch pengyf{1..100}.txtcp /etc/hosts  /testcat >sanchuang.txt  <<EOF(注3:回车后间接打,文本文件里没有提示符>)sanchuang   hunan  changsha  furongqu hunannongdafeng de yonglinuxEOF(注4:完结)echo "####################################"cat  -n  sanchuang.txt echo "####################################"
脚本写好了↑↑↑
# bash  first_shell.sh   执行脚本(注:内容如下)####################################     1    sanchuang   hunan  changsha  furongqu hunannongda     2    feng de yong     3    linux####################################//        脚本在执行的时候,是从第1条命令,自上而下执行,如果两头有命令执行失败,前面的命令还是会执行的(Python两头出错,没有异样捕捉的话,不再执行)

七. more

// more命令  分页显示 (注1:没有-n选项,cat有-n选项)        用处:全屏形式分页显示文件内容交互操作方法:     按Enter键向下逐行滚动     按空格键向下翻一屏、按b键向上翻一屏   back     按q键退出 (注2:显示完主动退出,与less的差异)
# more  messages 

八. ps aux

//        # ps aux  查看linux以后运行的过程的信息--》工作管理器(ps  -aux也能够)        # ps -aux|more        # cat messages |more 和 more messages 一样        # cat -n messages |more 显示行号

九. less

// less命令    用处:与more命令雷同,但扩大性能更多    交互操作方法:     与more命令根本相似,但个别操作会有些出入    【page down】【page up】上翻下翻页(注1:more不反对)    显示完不退出,按q退出 (注2:与more的差异)    (注3:也反对空格、b、Enter,但凡more反对的less都反对)
# less messages # cat messages |less

十. head

// head命令(注1:默认取前10行,间断的几行)        用处:查看文件结尾的一部分内容(默认为10行)        格局:head -n number 文件名        格局:head -数字  文件名
        cat  -n  passwd  |head  显示前10行,有编号        head  passwd  显示前10行,没有编号        head  -5  passwd  显示前5行(没编号)        head  -n  5  passwd  显示前5行(没编号,与上一条命令成果一样)

十一. tail

// tail命令        用处:查看文件结尾的少部分内容(默认为10行)        格局:tail  -n  number 文件名        格局:tail  -数字   文件名           tail  -f  文件名  = tailf        # 注:tailf不晓得怎么用            #注:tail  -f 动静的监控文件开端的变动
tail  passwd  取开端10行(无编号)cat  -n  passwd  |tail  取开端10行(有编号)cat  -n  passwd  |tail  -5  取开端5行(有编号)cat  -n  passwd  |tail  -1  最初1行(有编号)cat  -n  passwd  |tail  -n  3  取开端3行(有编号)tail  -n  2  passwd  显示最初2行tail  -n  -2  passwd  与上条成果一样tail  -n  +2  passwd  显示从第2行到开端  (注1:用途:统计有多少行的时候,不想显示首行,统计磁盘挂载的时候不想看到题目这一行)    (注2:df  -Th 显示linux里的磁盘分区的应用状况)    df  -Th|tail  -n  +2  统计磁盘挂载不显示题目行    df  -Th|tail  -n  +2|wc  -l  统计行数# tail -f feng.txt   动静的监控文件开端的变动(注4:常常用来查看日志文件的变动,依据日志的记录去排错)(注2:从新关上窗口连过来,左边批改文件内容,右边动静监控文件开端的变动,一有新的内容就显示)(注3:Ctrl+C 强行终止)
tail  -f 扩大     特地适宜看某些日志文件        /var  寄存动态变化的文件  variable  变量,变动的,可变的        log  日志:是程序记录它产生的事件
# cd  /var/log        (注1:/var/log 寄存大量日志文件)# tail  -f  secure   查看secure日志文件 (注2:secure 平安)(注3:别的窗口做操作,日志文件开端动静更新)

十二. sed

    1.取出passwd的第3行    # cat -n /etc/passwd|head -3|tail -1 (注1:先取前3行,再取最初1行,用|管道)    # cat  /etc/passwd|head -3|tail -1 (注2:与下面命令比,没有编号3)    2.取出passwd文件的第5行到10行    #注:这种 先看开端 用head 因为行数是从前到后计算的    # cat -n /etc/passwd|head |tail -6 (注3:先head取默认前10行,再取后六行)                                       (注4:从第5行到10行,tail  -6,不是-5)    # cat -n messages |head -200|tail -101  (100到200行)    3.取出第3行,第5行,第10行    # sed  -n  '1p;3p;5p'  passwd (注5:-n是选项,符合要求的选项显示进去,不是显示行号的意思)    练习3扩大    // sed        -n 作用:只是显示符合要求的行(注9:不符合要求的行不显示)            1p;3p;5p            1p 显示第1行  p 是print命令            ; 命令连贯符号        # cat  -n  passwd  |sed  -n  ‘1p;3p;5p’ (注6:显示1、3、5行,有编号)        # sed  -n  '1p;3p;5p'  passwd (注7:没有编号)                                      (注10:用双引号””也能够)        # cat -n passwd |sed -n  '3p;5p;10p'  显示不间断的3,5,10行的内容    (这样写显示行号)        # cat -n passwd |sed -n  '3,10p' 显示第3行到第10行的内容,两头是间断的        # cat -n passwd |sed  '3,10p'(注8:sed后不接-n的话,会显示所有的行[包含不符合要求的行],只不过3到10行输入两遍,所有肯定要接-n)总结:sed  1.显示间断的  2.显示不间断的

十三. grep

//        grep 文本过滤 (过滤的是文件,不是文件夹目录)        grep  “root”  /etc/passwd 蕴含root的行        grep  “^liang”  /etc/passwd 以liang结尾的行        grep  “bash$”  /etc/passwd 以bash结尾的行        Ctrl + c 终止//        文本处理三剑客 sed  grep  awk

十四. which

which  查找可执行文件并显示所在的地位        搜寻范畴由PATH环境变量指定    # which  mkdir    /usr/bin/mkdir    # cd /usr/bin/    # ll mkdir    -rwxr-xr-x. 1 root root 195192 4月  10 02:53 mkdir    rwxr-xr-x 权限    r  读  read   --》cat  vim    w  写  write  --》 vim   >>    x  执行 execute   ---》运行    # ll first_shell.sh    -rw-r--r--. 1 root root…… (注1:脚本无可执行权限)    # bash  first_shell.sh  (注2:用bash去执行它)    # chmod  +x  first_shell.sh  (注3:给它可执行权限)    -rwxr-xr-x.  root root……  (注4:有可执行权限了)    # ./first_shell.sh  (注5:间接执行,间接在以后终端执行,以后bash执行)    # /lianxi/first_shell.sh  (注6:接绝对路径,接文件,间接执行)    # chmod  -x  first_shell.sh  (注7:勾销可执行权限)    # /lianxi/first_shell.sh     -bash: /lianxi/first_shell.sh: 权限不够  (勾销可执行权限后不能间接执行)

whereis

//        whereis 查找命令放到哪里(注1:跟which很像)(注2:没什么用,man手册在哪里不是很重要)        # whereis  mkdir        mkdir:  /usr/bin/mkdir  /usr/share/man/man1/mkdir.1.gz                                (注2:压缩文件,是它的文档)        1.查看命令安放门路        2.该命令man手册的门路(man的时候看的内容的寄存门路)    //whereis和which的区别        Which不显示man手册的门路,whereis显示man手册的门路        # whereis  mkdir        mkdir:  /usr/bin/mkdir  /usr/share/man/man1/mkdir.1.gz        # which  mkidr        /usr/bin/mkdir    //whereis和which 都是到PATH变量里去找的 (共同点)

十五. PATH

//PATH是门路which命令在查找命令的时候,会到PATH变量指定的门路下查找# which fengdeyong/usr/bin/which: no fengdeyong in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)(备注1:红色为门路  备注2:多个文件夹用:冒号隔开)# echo $PATH  (注3:$PATH 援用PATH变量)/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin查找的程序是从左往右找,如果在第1个外面找到了,就不会往后面找,以此类推

深刻了解 PATH 变量的作用

1.编写一个schello.c的文件

# vim schello.c (注1:编写脚本如下)#include<stdio.h>int main(){    printf("hello,world\n"); (注2:\n 换行)    printf("i am cali\n");    return 0;}# file schello.c schello.c: C source, ASCII text (注3:C语言文件,文本文件,机器不能辨认)

2.编译成二进制程序文件

gcc 是linux里的一个编译器,将c源码文件编译成二进制文件

gcc 是linux里的一个编译器,将c源码文件编译成二进制文件

# yum  install  gcc -y# gcc  -o  schello  schello.c  (注1:-o  输入一个二进制文件)(注2:编译schello.c的命令)# ls        (↑↑注3:schello产生的文件,schello原来文件)schello  schello.c (注2:生成绿色可执行权限的文件 schello)# ll总用量 20-rwxr-xr-x. 1 root root 12744 9月  18 15:12 schello-rw-r--r--. 1 root root    93 9月  18 15:08 schello.c# ./schello        (注4:./ 运行)# /lianxi/sc/schello  (注5:绝对路径运行,./相对路径或绝对路径都能够运行)# schello 不能运行 (注6:linux不晓得schello放在哪里,它只会到PATH变量里去找)-bash: schello:未找到命令 (注7:PATH变量没有以后所在门路,没有/lianxi/sc)(解决如下)

要让 Linux 零碎晓得咱们的命令在哪里?

1.适应PATH变量,将咱们的命令复制到PATH变量已有的门路下# echo $PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin# cp  schello  /usr/local/bin/# schello (注1:胜利运行)hello,worldi am cali# which schello/usr/local/bin/schello (注2:复制到PATH变量的门路下后bash能够找到schello)2.批改PATH变量,增加咱们本人的命令所在的门路①长期批改PATH变量# PATH=/lianxi/sc:$PATH   长期批改PATH变量(注3:先援用PATH变量的值,在和/lianxi/sc:字符串拼凑在一起再赋值给PATH变量)(注3:$PATH——》/lianxi/sc:+$PATH重新组合——》赋值PATH变量  从右到左)# echo $PATH/lianxi/sc:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin(注4:新的PATH变量,后面多了/lianxi/sc:)[root@sanchuang-linux sc]# which schello(注5:which 能够找到)/lianxi/sc/schello# schello (注6:bash能够运行)hello,worldi am cali②永恒无效批改文件,增加PATH变量,让它永恒失效# vim  /root/.bashrc      .bashrc这个文件是linux零碎开机启动或者用户登录都会运行这个文件里的命令,所以才会永恒无效PATH=/lianxi/sc:$PATH (注1:打进去,放到最初一行)
//        mkdir 用C写的//        # yum  install  python3  -y   装置python3软件        # python3 (注1:进入Python3解释器)        >>> a = 10 (注2:提示符>>>)        >>> b = 20 (注4:Python不须要编译,Python代码间接运行,用Python解释器去解释)        >>> sg = "tangliangfei"        >>> c = a  + b        >>> c        30        >>> print(sg) (注3:输入)        tangliangfei        >>> exit() (注5:exit()退出出 exit()是exit函数)
//扩大.py结尾的文件,是python程序文件.sh结尾,shell脚本.c结尾,c语言# vim  sc_py_hello.py#!/usr/bin/python3 (注1:which python3——》/usr/bin/python3)                   (注2:申明脚本是Python脚本,外面的命令用Python3解释器去解释)username = input("please input your name:")(注3:引号外面只是提示符,提醒输什么)                   (注4:input()函数会接管你输出的货色,赋值给username)age = input("please input your age:")print(f"your name is {username} ,your age is {age}")(注5:print(f ) 语法)                   (注6:{username}{age} 援用变量的值)# lsschello  schello.c  sc_py_hello.py# python3  sc_py_hello.py (注7:间接执行Python3,相似于bash  a.sh)please input your name:caliplease input your age:18your name is cali ,your age is 18[root@sanchuang-linux sc]# cat sc_py_hello.py  # /lianxi/sc/sc_py_hello.py (注1:不能间接运行,如下 权限不够,pwd查看门路)-bash: /lianxi/sc/sc_py_hello.py: 权限不够# chmod +x sc_py_hello.py (注2:给它可执行权限)# /lianxi/sc/sc_py_hello.py (注3:能够间接执行了)please input your name:wangtcplease input your age:18your name is wangtc ,your age is 18//怎么让sc_py_hello.py 在PATH变量里运行    # which  sc_py_hello.py (注1:能运行,因为之前在PATH变量里曾经增加这个门路了(/lianxi/sc))    # sc_py_hello.py (注2:能运行,因为之前在PATH变量里曾经增加这个门路了(/lianxi/sc))    # echo  $PATH    /lianxi/sc:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
  总结:跟是用什么语言写的关系不大        1.把它放到PATH变量所在的门路外面,并2.给它可执行权限 就能间接运行    # chmod  -x  sc_py_hello.py (注3:勾销可执行权限)    # sc_py_hello.py  (注4:不给它可执行权限,门路放在PATH变量所在的门路下,也不能间接执行)    -bash:  /lianxi/sc/sc_py_hello.py: 权限不够  总结:写的Python程序,肯定要1.给它可执行权限,并2.把它放到PATH变量所在门路上面,不然不能执行    //扩大  (注2:总结:文件名字很长,想敲个短一点的命令,思考用别名 [快捷键])    # alias sc_py_hello=sc_py_hello.py   定义别名,能够缩短命令的长度    # sc_py_hello(注1:不想输这么长,能够应用别名,别名能够用来偷懒)    please input your name:feng (运行胜利,条件是在PATH变量门路下和可执行权限,如下面的操作)    please input your age:19    your name is feng ,your age is 19    # which sc_py_hello    alias sc_py_hello='sc_py_hello.py'        /lianxi/sc/sc_py_hello.py

十六. bash

    //bash 是linux十分好的shell解析器 (注1:2件事要做)        1.查找命令 --》PATH变量的门路下        2.通知内核去启动命令(运行这个命令)

十七. /usr

// /usr  寄存linux程序的目录   unix  system  resource     /usr/bin  寄存二进制程序,所有的用户都能够应用  binary    /usr/sbin   寄存二进制程序,有比拟高的权限(root)的用户执行的程序  super user binary
        # which  useradd(注1:查找useradd命令门路)        /usr/sbin/useradd (注2:寄存在sbin目录下)        # su  -  xulilin (注3:切换为普通用户)        $ which  useradd        $ /usr/sbin/useradd        $ useradd  xu123 (注4:普通用户不能执行sbin/下高级别命令)        ……报错useradd:Permission denied (注5:权限被回绝)

十八. locate

//        locate 知识点(注4:须要装置)(注5常常须要更新# updatedb)# yum provides locate -y  查问locate是哪个软件包提供的(注1:新知识点)mlocate-0.26-20.el8.x86_64 : An utility for finding files by name(注3:yum  provides …… -y 查问某命令是哪个软件包提供的)(注2:从后果晓得 mlocate提供locate命令)# yum install  mlocate -y 装置mlocate软件
locate命令格局:locate 文件名(注5:locate是到本人的数据库查找的,能具体到/上面,且必须更新本人的数据库)依据每天更新的数据库(/var/lib/mlocate)查找,速度块    /var/lib/mlocate/mlocate.db    database  数据库(注6:db的解释)数据库里的内容还是依据/目录下的内容生成每天会自动更新数据库    /var/lib/mlocate/mlocate.db手动更新数据库updatedb
# updatedb   生成和更新数据库mlocate.db (注1:手动更新)# cd /var/lib/mlocate/# lsmlocate.db# locate mkdir(注2:将linux零碎外面文件名外面蕴含了mkdir的文件全副找进去)/usr/bin/mkdir/usr/lib/python3.6/site-packages/pip/_vendor/lockfile/mkdirlockfile.py/usr/lib/python3.6/site-packages/pip/_vendor/lockfile/__pycache__/mkdirlockfile.cpython-36.opt-1.pyc/usr/lib/python3.6/site-packages/pip/_vendor/lockfile/__pycache__/mkdirlockfile.cpython-36.pyc/usr/share/man/man1/mkdir.1.gz# which mkdir(注3:只是找到/usr下的mkdir,其余中央的mkdir没找进去)/usr/bin/mkdir
locate查找的范畴:    /--》mlocate.db里去查找(注2:在 根上面本人的数据库mlocate.db上面去查找)    形式:含糊查找,文件名里蕴含就能够    毛病:新的文件,有时候找不到,因为没有更新数据库   --》updatedb(注3:手动更新)    能够查找任何文件(注4:新建的文件,# updatedb手动更新数据库,否则找不到)which 查找的范畴:PATH变量    形式:准确查找(注1:文件名必须截然不同)    只能查找命令

which、whereis、locate、find

//        which、whereis、locate、find 命令查找类        Which、whereis  只能找命令        loacte  也能够查找一般文件、能够查找任何文件

十九. find

//* find命令

         格局:find  [查找范畴]  [查找条件] [动作]    find 能够找1.命令、2.文件 (即任何文件) (注1:交融了which、whereis、locate所有性能)find命令用处:用于查找文件或目录格局:find  [查找范畴]  [查找条件] [动作]罕用查找条件==-name==:按文件名称查找==-iname==:按文件名称查找,不辨别大小写==-size==:  按文件大小查找-user:  按文件属主查找==-type==:  按文件类型查找-perm :按文件权限查找==-mtime== :按文件更改工夫查找-newer:按比某个文件更新的查找
-name和-iname    # find /lianxi  -name "lixh.txt"(注1:准确查找,-name依据文件名来)    /lianxi/lixh.txt    # find  / -name  "schello"(注2:准确查找,能够/下查找)    /lianxi/sc/schello    # find  / -name  "schello*"(注3:*含糊查找,能够/下查找)    /lianxi/sc/schello.c    /lianxi/sc/schello    # find  / -name  "li*.txt"(注4:*含糊查找)    # find  / -iname  "lixh.txt" (注5:-iname 查找的文件名不辨别大小写)    /lianxi/lixh.txt    /lianxi/LIXH.TXT
-size (大小)    # ll  -h  看文件夹下的每个文件的大小    # du  -a 查看文件夹下的每个文件的大小(单位KB)     du  -ah  查看文件夹下的每个文件的大小 (单位K、M、G)    # find  /boot  -size  +1M(注1:+1M 大于1M的 全副找进去)(注2:-1M、1M:小于1M,等于1M)    /boot/grub2/fonts/unicode.pf2  (注3:查找的后果不是特地精准)    /boot/initramfs-4.18.0-193.el8.x86_64kdump.img    /boot/initramfs-4.18.0-193.el8.x86_64.img
-type (类型)    # find  .  -type  d (注1:查找目录)    # find  .  -type  f (注2:查找一般文件)    # find  .  -type  l (注3:链接文件)    # find  .  -type  c (注4:字符设施文件)    # find  .  -type  b (注5:块设施文件)    # find  .  -type  p (注6:管道文件)    # find  .  -type  s (注7:socket文件)(过程与过程通信的文件)
-mtime (以24小时为单位) 按文件更改工夫查找-mmin  (以分钟为单位)    # find  .  -time  +1  1天以前    # find  .  -time  -1  1天以内    # find  .  -mmin  -30  30分钟以内    # find  .  -mmin  +30  30分钟以前
-user (属于哪个用户创立的文件)(用途不大)    # find  .  -user  root    # find  /  -user  cali
-newer (比指定文件更新的文件,后建的文件)    # find  .  -newer  feng.txt
//    非凡查找条件-o :逻辑或,只有所给的条件中有一个满足,寻找条件就算满足 or-not :逻辑非,在命令中可用“!”示意。该运算符示意查找不满足所给条件的文件-a:逻辑与,零碎默认是与,可不加,示意只有当所给的条件都满足时,寻找条件才算满and  find  /boot -size +1024k  -a -name “vmlinuz*”(注1:逻辑与 -a可不加,零碎默认逻辑与)  find  /boot -size +1024k  -o -name “vmlinuz*”  find  .  -user nie  -type f   -size  +1k  -o  -name  "vmlinuz*"   find  .  -user nie  -type f  \( -size +1k -o -name "vmlinuz*" \)  (注3:()扭转了优先级,\解释在下方)(注5:\(  \)即()  扭转了优先级)  find   /home  !-user  hello  -exec  ls  -ld  {}  \;\  转义字符 (注2:因为小括号()有特殊作用,接上/当前让它示意只是小括号)默认状况下-a的优先级高,先执行逻辑与(-a),再执行逻辑或(-o)# find  / -iname "*.conf"  -size +1k  -type f  -user root -o -size +10M(注4:后面先组合成一个条件,要么满足-o后面的,要么满足-o前面的条件)
//    扩大,接下面的命令 -exec 和 -ok      # find  /lianxi  -name  "li*.txt"  -exec  rm -rf  {}  \;(注1:后面是查找,-exec示意要执行的动作)相干解释如下    -exec  执行前面的命令    rm -rf  具体删除命令    {} 代表后面的find查找进去的内容,了解为一个容器寄存后面find查找到的内容    \; 示意find命令完结符号    # find /lianxi -name "*.txt"  -size +1k  -type f  -exec cp {} /fengdeyong \;    (注2:文件名.txt结尾的,大小大于1k的,文件,拷贝到fengdeyong外面)    (注3:find 找/lianxi 下的每一层)    -ok    -ok 让你确认一下,再执行    # find . -name "*wang*" -ok rm -rf {} \;    < rm ... ./wangtc.txt > ? y    < rm ... ./tang_wang.txt > ? y总结:-exec执行命令,不给与确认(写脚本罕用,不便)     -ok 执行命令,须要确认
-maxdepth  查找文件时,目录的深度    # find  .  -name  bb    ./aa/bb    ./aa/bb/bb    ./bb    # find  .  -maxdepth  1  -name  bb(注2:只挖1级)    ./bb    # find  .  -maxdepth  2  -name  bb(注3:只挖2级)    ./aa/bb    ./bb    # find  .  -maxdepth  3  -name  bb(注4:只挖3级)    ./aa/bb    ./aa/bb/bb    ./bb    (注1:不接-maxdepth的话,有多少层挖多少层)    # find /lianxi  -name  "*.txt"    (注6:不接-maxdepth,货色太多了,挖的太深了)    /lianxi/tangliangfei.txt    /lianxi/chenpeng.txt    /lianxi/cali.txt    /lianxi/feng.txt    /lianxi/aa/bb/feng.txt    /lianxi/aa/feng.txt    # find /lianxi -maxdepth 1 -name  "*.txt"    (注5:这种状况用的多,只想找1层的,只挖/lianxi上面的,子文件夹、子子文件夹上面都不要)    /lianxi/tangliangfei.txt(注7:显示如下)    /lianxi/chenpeng.txt    /lianxi/cali.txt    /lianxi/feng.txt
//        !取反 的应用,接下面的命令(注1:lianxi上面的不是*.txt的)    # find  /lianxi  -maxdepth  1  !  -name  "*.txt"(只对前面的条件取反)    /lianxi    /lianxi/passwd    /lianxi/first_shell.sh    /lianxi/messages    /lianxi/sc    /lianxi/LIXH.TXT    /lianxi/aa    /lianxi/bb