Linux云计算学习笔记day15

#引号系列


单引号 

      所见即所得

                                              echo '$LANG {1..5}'


双引号 



与单引号类似 双引号里面的特殊符号会被解析(运行)

                                            echo "$LANG{1..5}"


不加引号



与双引号类似  支持花括号(通配符)

                                              echo $LANG {1..5}


  反引号


  ``相当于$()

    优先执行里面的命令 把结果留下


  单引号  双引号  不加引号区别

```

[root@oldboyedu59 ~]# which mkdir

/usr/bin/mkdir

[root@oldboyedu59 ~]# ls -l /usr/bin/mkdir

-rwxr-xr-x. 1 root root 79864 Oct 31 03:16 /usr/bin/mkdir

[root@oldboyedu59 ~]# ls -l which mkdir

ls: cannot access which: No such file or directory

ls: cannot access mkdir: No such file or directory

[root@oldboyedu59 ~]# ls -l $(which mkdir )

-rwxr-xr-x. 1 root root 79864 Oct 31 03:16 /usr/bin/mkdir       

```           

#重定向符号系列

  重定向?

    改变数据流向

    箭头的方向就是水流方向

  >或1>

  标准输出重定向

  先清空文件内容在写入

>>    或1        >>

  标准追加输出重定向

  追加到文件结尾

2>

   标准错误输出重定向 先清空文件  然后把错误信息写入文件中

2>>

标准追加错误输出重定向 把错误信息追加到文件结尾

>>oldboy.txt   2>&1

同时把错误信息或正确都记录到文件中

alex >>oldboy.txt 2>>oldboy.txt

定向任务

<

        标准输入重定向


用来指引命令从哪里读取数据

tr

xargs

<<

   标准追加输入重定向

   只用来和cat配合 向文件中追加多行内容


cat >>/oldboy/oldboy.txt<

I

am

studying

with lidao

EOF

EOF ===End Of File 文件结束


创建环境

mkdir -p /oldboy/lidao

touch /oldboy/oldboy{01..5}.txt    /oldboy/lidao/alex{01..5}.txt

找出/oldboy下面以.txt结尾的文件把他们删除(ls -l)

方法1 反引号

[root@oldboyedu59 ~]# ls -l  $(find /oldboy -type f -name '*.txt')

-rw-r--r-- 1 root root  0 Apr 16 10:59 /oldboy/lidao/alex01.txt

-rw-r--r-- 1 root root  0 Apr 16 10:59 /oldboy/lidao/alex02.txt

-rw-r--r-- 1 root root  0 Apr 16 10:59 /oldboy/lidao/alex03.txt

-rw-r--r-- 1 root root  0 Apr 16 10:59 /oldboy/lidao/alex04.txt

-rw-r--r-- 1 root root  0 Apr 16 10:59 /oldboy/lidao/alex05.txt

-rw-r--r-- 1 root root  0 Apr 16 10:58 /oldboy/lidao/oldboy01.txt

-rw-r--r-- 1 root root  0 Apr 16 10:58 /oldboy/lidao/oldboy02.txt

-rw-r--r-- 1 root root  0 Apr 16 10:58 /oldboy/lidao/oldboy03.txt

-rw-r--r-- 1 root root  0 Apr 16 10:58 /oldboy/lidao/oldboy04.txt

-rw-r--r-- 1 root root  0 Apr 16 10:58 /oldboy/lidao/oldboy05.txt

-rw-r--r-- 1 root root  0 Apr 16 10:59 /oldboy/oldboy01.txt

-rw-r--r-- 1 root root  0 Apr 16 10:59 /oldboy/oldboy02.txt

-rw-r--r-- 1 root root  0 Apr 16 10:59 /oldboy/oldboy03.txt

-rw-r--r-- 1 root root  0 Apr 16 10:59 /oldboy/oldboy04.txt

-rw-r--r-- 1 root root  0 Apr 16 10:59 /oldboy/oldboy05.txt

-rw-r--r-- 1 root root 29 Apr 16 10:29 /oldboy/oldboy.txt

方法2 管道

find /oldboy -type f -name '*.txt'|xargs  ls -l

find /oldboy -type f -name '*.txt'|  ls -l

ls -l

方法3 find命令参数 -exec 熟悉

find /oldboy -type f -name '*.txt'  -exec ls -l  {}              \;


                                                  find找出的文件  结束


-管道基础概念 find+|xargs执行过程图片  

https://www.processon.com/view/link/5a3a5594e4b0f622f2a8f5d0

作业题目:

书写1个shell脚本,找出/oldboy下面以.log结尾修改时间是7天之前,大小大于1MB的文件删除

找出/etc下面以.conf结尾的文件打包压缩到/backup/conf.tar.gz下面 (/backup自己创建)

找出/oldboy下面以.txt 结尾的文件复制到/tmp下面

找出系统中文件名中包含ip的文件

ip

真·李导

符号

*

所有 任何

文件名中包含

find / -type f -name '*ip*'

{}

生成序列

[]

[^]

[root@oldboyedu59 ~]# \cp oldboy.txt{,.bak}

[root@oldboyedu59 ~]# ll oldboy.txt*

-rw-r--r-- 1 root root 321 Apr 16 12:19 oldboy.txt

-rw-r--r-- 1 root root 321 Apr 16 12:19 oldboy.txt.bak

[root@oldboyedu59 ~]# echo oldboy.txt{,.bak}

oldboy.txt oldboy.txt.bak

[root@oldboyedu59 ~]# echo A{,C}

A AC

[root@oldboyedu59 ~]# echo A{B,C}

AB AC

[root@oldboyedu59 ~]#

你可能感兴趣的:(Linux云计算学习笔记day15)