#引号系列
单引号
所见即所得
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 ~]#