day 11特殊字符,find,打包

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,打包)