引号:
引号包括:单引,双引,反引,不加引号,4种引号系列,对Linux大部分命令通用,四剑客单独记忆与使用;
单引号:所见即所得,单引号里的内容原封不动的输出;
双引号:和单引号类似,双引号会解析里边的特殊符号(反引号,$号);
不加引号:和双引号类似,额外支持通配符(*.log,{1..10});
反引号:优先执行,先执行反引号里边的命令;
//先测单引号
[root@web01 yum.repos.d]# echo 'Hello World `whoami` $(pwd) {1..4}'
Hello World `whoami` $(pwd) {1..4}
//换成双引号
[root@web01 yum.repos.d]# echo "Hello World `whoami` $(pwd) {1..4}"
Hello World root /etc/yum.repos.d {1..4}
//不加引号
[root@web01 yum.repos.d]# echo Hello World `whoami` $(pwd) {1..4}
Hello World root /etc/yum.repos.d 1 2 3 4
======================================================================
重定向符号
重定向,就是改变输出的方向;
标准输出:stdout,走1号窗口输出;都默认输出到屏幕;
错误输出:stderr,走2号窗口输出;都默认输出到屏幕;
0:表示输入,stdin;
>或>>,前边默认省略了1,就是标准输出,错误的不会输出;
[root@web01 mclind]# echo 1 1> mclind.txt //输出信息到文件中;
[root@web01 mclind]# ech 2 1>> mclind.txt //这个输出不会写入到文件中;
[root@web01 mclind]# ech 3 2>> mclind.txt //这个错误输出会写入到文件中;
重定向符号:
> 或 1> :标准输出重定向,会清空原文件,或者创建空文件;
>> 或 1>> :标准输出追加重定向,直接写入文件末尾,不会清空文件;
2>:输出错误,会清空原文件,或者创建空文件;
2>>:标准错误输出追加重定向,直接写入文件末尾,不会清空文件;
---------------------------------------------------------------
无论对错,都追加保存;
2>&1,表示把2错误输出写到标准输出中(1)(错误输出合并到标准输出中,都追加到文件中)
# echo hello >> hello.txt 2>&1 //把2>&1放最后即可
(echo hello >> file 2>> file,这种写法最容易理解,但太麻烦,不用)(更简单的写法,&>>):
# echo hello &>> hello.txt //和前边一样
---------------------------------------------------------------
&>, 表示清空再保存;
< 或 0< :标准输入重定向;这两个基本不用,需要特定命令搭配使用;
<< 或 0<<:标准输入追加重定向;这两个基本不用,需要特定命令搭配使用;
[root@web01 mclind]# cat >mclnd.txt <<EOF
> I
> Love
> Linx
> EOF
[root@web01 mclind]# cat <<EOF >mclnd.txt //效果和上面方法一样
> I
> Love
> Linx
> EOF
//其中EFO是结束标识,可以更换,但标识后边不要加东西,比如空格;
//一般都是先写好,粘贴过来运行,批量操作可能用会;
< : 输入重定向,很少用;xargs/tr 可以用;
[root@web01 mclind]# seq 10 > mclind1.txt
[root@web01 mclind]# cat mclind1.txt
1
2
3
4
5
6
7
8
9
10
[root@web01 mclind]# xargs -n2 < mclind1.txt
1 2
3 4
5 6
7 8
9 10
[root@web01 mclind]# xargs < mclind1.txt
1 2 3 4 5 6 7 8 9 10
------------------------------------------------------------------------------------------
重定向小结:
> 1>
>> 1>>
2>&1
这几个常用;
=====================================================================
通配符:
诞生:用于给Linux中大部分命令使用,用于匹配文件名或批量找文件;
常用通配符:
*,星号:表示所有,*.log;
{},花括号:输出序列,与 touch, mkdir, echo;
[]:正则中也有[],和正则一样,匹配其中一个;
[!] [^] :取反;
? :任意一个字符; //这俩很少用
{}举例:
echo {a..z}
echo {1..10}
echo {01..10}
备份一个文件:
cp /mclind/mclint.txt /mclind/mclint.txt.bak
cp /mclind/mclint.txt{,bak} //这俩操作结果一样
------------------------------------------------------------------------------------------
正则概述:用于给Linux三剑客或一些程序语言使用的;
使用正则表达式对字符进行过滤.比如使用三剑客实现日志的过滤;
正则本质是一些符号,特殊符号.
正则与通配符的区别:
正则:用途,匹配文件内容(匹配字符),支持的命令不同(三剑客或开发语言);
通配符:用途,匹配文件名(命令参数),Linux大部分命令都支持;