Linux的四大特点贯穿了整个Linux程序开发: 1. 重定向,管道 2. 变量 3. 扩展 4. 脚本
一. 重定向,管道 Linux有三种IO,即标准输入stdin,错误输入error,标准输出stdout 比如: ls / 就有一个标准输出列举出/下所有文件
1> 表示将标准输入重定向到1>后面接的文件中 比如: ls / > root.txt 表示将ls列举出的字符写入到root.txt中
2> 表示将错误输出重定向到2>后面接的文件中
< 表示将<后面接的标准输入到<前面的命令中
管道| 表示将|前的输出作为|后面命令的标准输入 比如: ls / | grep “^r”
标准输入和错误输出结合: ls / /god &> t1.txt
ls / /god 1> t1.txt 2> t2.txt
ls / /god 1> t1.txt 2>&1
二. 变量 var=0类似于java代码中:int var = 0; 使用set可以查看所有变量 echo $var 打印变量的内容 export c=2定义一个全局变量c,任何进程都可以使用 c有一个特点,即是全局变量,任何进程调用的时候都只是引用c,而不是复制,且创建它的父进程修改变量操作时,则c会复制一份给子进程,即copy on write,修改的时候才复制
变量的另类使用技巧: var=cat $var f.sh
三. 扩展 常用扩展符: ~家目录, 引用变量”严格的字符串“”不严格的字符串,可以使用 引用变量 `等价于$() \$()将括号里的字符串转换为引用 比如: echowhereis ls` 等价于 echo $(whereis ls)
四. shell脚本,将作为下一张具体来讲解 shell脚本,就是多个bash命令组合来完成一个特定的功能 比如: touch f.sh vi f.sh
echo $c sleep 10 echo $c sleep 10 echo $cbash f.sh 执行f.sh脚本 这个脚本就完成了”在20秒内,从一开始,每10秒钟对变量c监听打印一次”的功能