美文网首页
day 11特殊字符,find,打包

day 11特殊字符,find,打包

作者: Linux_淡忘 | 来源:发表于2019-03-16 11:52 被阅读0次

    Day11

    作者:翟玉龙

    归档:课堂笔记

    2019/3/14

    快捷键:

    Ctrl  + 1    标题1

    Ctrl  + 2    标题2

    Ctrl  + 3    标题3

    Ctrl  + 4    实例

    Ctrl  + 5    程序代码

    Ctrl  + 6    正文

    格式说明:

    蓝色字体:注释

    黄色背景:重要

    绿色背景:注意

    老男孩教育教学核心思想6重:重目标、重思路、重方法、重实践、重习惯、重总结

    学无止境,老男孩教育成就你人生的起点!

    联系方式:

    网站运维QQ交流群:

    Linux 385168604架构师390642196

    Python 29215534大数据421358633

    官方网站:

    http://www.oldboyedu.com 

    目录

    学无止境,老男孩教育成就你人生的起点!... 1

    第1章 课堂思想... 1

    1.1 如何提升记忆力... 1

    第2章... 1

    2.1 符号链接文件... 1

    2.1.1 链接... 1

    2.2 字符(character)/块(block)设备文件... 1

    2.3 套接口文件... 2

    2.4 Which. 2

    2.5 重点  $path. 3

    2.6 Whereis 显示命令,源码及说明文档全路径... 3

    2.7 Locate. 3

    2.8 重点Find 查找目录下的文件... 4

    2.8.1 按文件类型查找 -type. 4

    2.8.2 -o 取并集... 5

    2.8.3 -exec 对查找的结果再处理... 6

    2.8.4 按修改时间查找   -mtime. 6

    2.9 Xargs   分组... 7

    第3章 特殊字符... 8

    3.1 .    当前目录... 8

    3.2 ..  上一级目录... 8

    3.3 -    上一次所在目录... 8

    3.4 ~    家目录... 8

    3.5 \     转义字符... 8

    3.6 *    所有字符... 8

    3.7 !    取反... 8

    3.8 |   管道... 8

    3.8.1 把前面的命令的处理结果通过管道送到后面这个命令进行再处理... 8

    .. 8

    3.9 Date    显示系统时间和日期... 10

    3.10 Tar  打包压缩... 11

    [if !supportLists]第1章 [endif]课堂思想

    [if !supportLists]1.1 [endif]如何提升记忆力

    [if !supportLists]第2章 [endif] 

    [if !supportLists]2.1 [endif]符号链接文件

    [if !supportLists]2.1.1 [endif]链接

    以l开3头的是软链接,他相当于一个快捷方式,进入目标程序的一个入口。

    删掉软链接对原文件不影响。

    Ln  -s    soft创建软链接

    [if !supportLists]2.2 [endif]字符(character)/块(block)设备文件

    以C开头的就是字符设备 猫,等串口设备。

    以b开头的就是块设备。硬盘,光驱等都属于块设备。

    [if !vml]

    [endif]

    创建字符设备:

    [if !vml]

    [endif]

    创建块设备:

    [if !vml]

    [endif]

    [if !supportLists]2.3[endif]  套接口文件

    以s开头.sock文件也是一类特殊的文件,这类文件通常用在网络之间,进行数据连接,如,我们可以启动一个程序来监听客户端

    [if !vml]

    [endif]

    [if !supportLists]2.4 [endif]Which

    查命令所在的路径。

    [if !vml]

    [endif]

    [if !supportLists]2.5 [endif]重点 $path

     命令行执行命令会从path对应的路径中查找命令,

    Path 对应的路径中没有这个命令就会报command。

    自定义命令:

    [if !vml]

    [endif]

    [if !supportLists]2.6 [endif]Whereis 显示命令,源码及说明文档全路径

    Whereis -b   只显示二进制命令

    [if !supportLists]2.7 [endif]Locate

    快速定位文件路径

    查找文件

    [if !vml]

    [endif]

    查一个安装包下载路径

    [if !vml]

    [endif]用yum直接安装

    [if !supportLists]2.8 [endif]重点Find 查找目录下的文件

    查找原理:磁盘遍历,速度慢,

    准确查找和模糊查找。模糊查找加*

    [root@zyl666 18:26:27   /]# find / -name "小泽玛利亚"

    /tmp/小泽玛利亚

    [root@zyl666 18:26:38   /]# find / -name "小*"

    /tmp/小泽玛利亚

    /tmp/小泽玛利亚/小泽玛利亚.txt

    [if !supportLists]2.8.1 [endif]按文件类型查找 -type

     -type f  查找文本

    -type d 查找目录

    文件类型详解:

                  File is of type c:

      块文件        b     block (buffered) special

      字符文件            c      character (unbuffered) special

       目录文件           d      directory

                p      named pipe (FIFO)

     文本文件             f      regular file

      软链接            l     symbolic link; this is never true if the -L option or the -followoption  is  in  effect,

                         unless  the symbolic link is broken.  If you want to search for symbolic links when-L is

                         in effect, use -xtype.

    [if !supportLists]2.8.2 [endif]-o 取并集

    [if !vml]

    [endif]

    不加参数相当于取交集

    如果取并集即或者用-o分割查找的项

    -a  and

    -o  or

    ! 取反

    !在哪里就对那里后边的值进行取反

        [if !vml]

    [endif][root@oldboyedu /data]# touch oldboy{1..10}.txt

    [root@oldboyedu /data]# ls

    oldboy10.txt  oldboy2.txt  oldboy4.txt  oldboy6.txt  oldboy8.txt

    oldboy1.txt   oldboy3.txt  oldboy5.txt  oldboy7.txt  oldboy9.txt

    [root@oldboyedu /data]# find /data -type f

    /data/oldboy1.txt

    /data/oldboy2.txt

    /data/oldboy3.txt

    /data/oldboy4.txt

    /data/oldboy5.txt

    /data/oldboy6.txt

    /data/oldboy7.txt

    /data/oldboy8.txt

    /data/oldboy9.txt

    /data/oldboy10.txt

    [root@oldboyedu /data]# find /data ! -type f

    /data

    [root@oldboyedu /data]# mkdir {a..d}

    [root@oldboyedu /data]# find /data ! -type f

    /data

    /data/a

    /data/b

    /data/c

    /data/d

    [if !supportLists]2.8.3 [endif]-exec 对查找的结果再处理

    [if !vml]

    [endif]

    \转义,;必须要有的

    [if !vml]

    [endif]

    [if !vml]

    [endif]

    [if !supportLists]2.8.4 [endif]按修改时间查找  -mtime 

    -mtime +3 三天以前修改的文件    =3  第三天修改的文件    -3前三天修改的文件

    [if !vml]

    [endif]

    [if !supportLists]2.9[endif] Xargs   分组

    -n   n代表几个一组

    -I   前面找到的内容然后放到{}里面,{}代表前面所得数据

    -d 指定分隔符,如果不指定,默认空格

    [if !supportLists]第3章 [endif]特殊字符

    [if !supportLists]3.1[endif]   .    当前目录

    [if !supportLists]3.2[endif]   ..  上一级目录

    [if !supportLists]3.3[endif]   -    上一次所在目录

    [if !supportLists]3.4[endif]   ~    家目录

    [if !supportLists]3.5[endif]   \     转义字符

    [if !supportLists]3.6[endif]   *    所有字符

    [if !supportLists]3.7[endif]  !    取反

    [if !supportLists]3.8[endif]   |   管道

    [if !supportLists]3.8.1 [endif]把前面的命令的处理结果通过管道送到后面这个命令进行再处理

    [if !vml]

    [endif]

    (能不用管道就不用管道)

    [root@oldboyedu /data]# cat test.txt

    a.b.c.d

    [root@oldboyedu /data]# echo "Oldboy" >test.txt

    [root@oldboyedu /data]# echo "Oldgirl" >>test.txt

    [root@oldboyedu /data]# echo "Oldboedu" >>test.txt

    [root@oldboyedu /data]# echo "Oldboyedu" >>test.txt

    [root@oldboyedu /data]# cat test.txt

    Oldboy

    Oldgirl

    Oldboedu

    Oldboyedu

    [root@oldboyedu /data]# cat test.txt|grep "boy"

    Oldboy

    Oldboyedu

    [root@oldboyedu /data]# grep "boy" test.txt

    Oldboy

    Oldboyedu

    对比  管道和exec

    [root@oldboyedu /data]# find /data -type f -name "oldboy*" -mtime -7 -exec ls -l {} \;

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy1.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy2.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy3.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy4.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy5.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy6.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy7.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy8.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy9.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy10.txt

    [root@oldboyedu /data]# find /data -type f -name "oldboy*" -mtime -7|xargs ls -l

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy10.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy1.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy2.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy3.txt

    本质区别:

    find /data -type f -exec rm -f {} \;

    相当于

    rm -f oldboy1.txt

    rm -f oldboy2.txt

    rm -f oldboy3.txt

    效率低。

    find /data -type f|xargs rm -f

    只是一条命令

    rm -f oldboy1.txt oldboy2.txt oldboy3.txt

    [root@oldboyedu /data]# find /data -type f|xargs -i cp {} /opt

    [root@oldboyedu /data]# ls /opt/

    oldboy1.txt  oldboy2.txt  oldboy3.txt  oldboy4.txt  oldboy5.txt

    [if !supportLists]3.9 [endif]Date    显示系统时间和日期

    [if !vml]

    [endif]

    [root@oldboyedu /data]# date -s "2020/10/1 00:00:00"

    Thu Oct  1 00:00:00 CST 2020

    [root@oldboyedu /data]# date

    Thu Oct  1 00:00:03 CST 2020

    [root@oldboyedu /data]# clock -w

    [root@oldboyedu /data]# date +%F

    2020-10-01

    [root@oldboyedu /data]# date +%Y   #year

    2020

    [root@oldboyedu /data]# date +%y   #year

    20

    [root@oldboyedu /data]# date +%m   #month

    10

    [root@oldboyedu /data]# date +%d   #day

    01

    [root@oldboyedu /data]# date +%H   #hour

    00

    [root@oldboyedu /data]# date +%M#minute

    02

    [root@oldboyedu /data]# date +%S   #second

    46

    [root@oldboyedu /data]# date +%Y-%m-%d

    2020-10-01

    [root@oldboyedu /data]# date +%F

    2020-10-01

    [root@oldboyedu /data]# date +%H:%M:%S

    00:04:29

    [root@oldboyedu /data]# date

    Thu Oct  1 00:04:38 CST 2020

    [root@oldboyedu /data]# date +%F -d "-1day"

    2020-09-30

    [root@oldboyedu /data]# date +%F -d "+1day"

    2020-10-02

    [root@oldboyedu /data]# date +%F -d "+1month"

    2020-11-01

    [root@oldboyedu /data]# date +%F -d "+1Y"

    date: invalid date ‘+1Y’

    [root@oldboyedu /data]# date +%F -d "+1year"

    2021-10-01

    -

    过去

    +

    未来

    [root@oldboyedu /data]# date +"%Y-%m-%d %H:%M:%S"

    2020-10-01 00:09:36

    [root@oldboyedu /data]# date +"%F %T"

    2020-10-01 00:09:39

    [if !supportLists]3.10[endif]      Tar  打包压缩

    文件压缩,大小会降低

    Tar 

    打包

    语法tar

    参数: 框 苹果

    -z  压缩

    -c  创建

    -v 输出打包过程

    -f   文件的打包

    -h   跟随软链接

    -t   不解压查看内容

    -x  解压

    Data.tar.gz tar标识打包,gz是gzip的标识

    Tar -zcvf data,.tar.gz ./data

    Tar -tf 加打包名,查看打包内容

    指定目录解压

    Zcvf打包

    [root@zyl666 20:25:17   /]# tar zcvf/opt/date.tar.gz ./date     *****打包,zcf极简打包

    ./date/

    ./date/1.txt

    ./date/2.txt

    ./date/3.txt

    ./date/4.txt

    ./date/5.txt

    [root@zyl666 20:26:14   /]# tar -tf/opt/date.tar.gz    *******不解压查看打包内容

    ./date/

    ./date/1.txt

    ./date/2.txt

    ./date/3.txt

    ./date/4.txt

    ./date/5.txt

    Zxvf解压 极简解压xf

    [root@zyl666 20:35:07   /opt]# tar xfdate.tar.gz -C /tmp/     ***极简解压,也可以用zxvf

    [root@zyl666 20:36:07   /opt]# ls /tmp/

    1.txt  vmware-root                  vmware-root_6509-1681265529 vmware-root_6751-3887503186

    2.txt vmware-root_23985-4155303761 vmware-root_6521-1723667692 vmware-root_6753-3887503219

    3.txt vmware-root_6072-701138450   vmware-root_6656-3091807477 vmware-root_6759-3887372148

    4.txt vmware-root_6112-968930924   vmware-root_6699-4113932447 vmware-root_6765-3845624056

    a     vmware-root_6167-1949639613  vmware-root_6729-3854340421 vmware-root_6766-2856389284

    b     vmware-root_6375-1983194421  vmware-root_6735-3854471490  小泽玛利亚

    c     vmware-root_6468-701206161   vmware-root_6741-3845492958

    d     vmware-root_6471-1723667661  vmware-root_6743-3853816156

    date  vmware-root_6506-734234784   vmware-root_6747-3879048919

    zchf 带软链接的打包···

    [if !vml]

    [endif]

    相关文章

      网友评论

          本文标题:day 11特殊字符,find,打包

          本文链接:https://www.haomeiwen.com/subject/starmqtx.html