1、重定向
程序 =指令 +数据
命令 变量
在程序中,数据如何输入?又如何输出?
程序 =指令 +数据
命令 变量
在程序中,数据如何输入?又如何输出?
数据输入:键盘 -- 标准输入,但其并不是唯一的输入方式;
--stdin
echo "123456" | passwf --srdin "username"
例如:功能添加用户 txt文本文档1000个用户
./useradd.sh a
./useradd.sh b
.......
--stdin
echo "123456" | passwf --srdin "username"
例如:功能添加用户 txt文本文档1000个用户
./useradd.sh a
./useradd.sh b
.......
./useradd.sh < user.txt
#切记以列的方式处理
while line;do
循环体 $line
done < /etc/passwd
数据输出:显示器 --标准输出,但是并不是唯一输出的方式
ls /etc/ > a.txt
fd文件标识符 0-9-- 相当与给文件分类;
0 1 2
0 --标准输出
1 --标准输入
2 --错误输入输出(标准错误)
#切记以列的方式处理
while line;do
循环体 $line
done < /etc/passwd
数据输出:显示器 --标准输出,但是并不是唯一输出的方式
ls /etc/ > a.txt
fd文件标识符 0-9-- 相当与给文件分类;
0 1 2
0 --标准输出
1 --标准输入
2 --错误输入输出(标准错误)
常见重定向符号
1、标准输出
> 覆盖重定向、非常危险
set+C 增加覆盖重定向功能
set -C 关闭覆盖重定向功能
>| 强制重定向
>> 追加重定向
不覆盖
2、标准输入
< a<b #把b的内容交给a输入
< tr 替换文件内容
tr set1 [set2] < file.txt
<< 将多行数据同时输出
用法: cat >>a.txt<<EOF
>1
>2
>3
>EOF #结束语
3、错误输出
2> 2>>
扩展:不需要输出内容,只需要输出状态;
ls /etc/ > /dev/null
if [ $? -eq 0 ];then
循环体
fi
ls 阿斯顿 >/dev/null 2>/dev/null
/dev/null(黑洞文件) 来什么吃什么(删除)
/dev/zero 吹泡泡
&> &>> == 2&>1
ls /etc/ &> /dec/null
1、标准输出
> 覆盖重定向、非常危险
set+C 增加覆盖重定向功能
set -C 关闭覆盖重定向功能
>| 强制重定向
>> 追加重定向
不覆盖
2、标准输入
< a<b #把b的内容交给a输入
< tr 替换文件内容
tr set1 [set2] < file.txt
<< 将多行数据同时输出
用法: cat >>a.txt<<EOF
>1
>2
>3
>EOF #结束语
3、错误输出
2> 2>>
扩展:不需要输出内容,只需要输出状态;
ls /etc/ > /dev/null
if [ $? -eq 0 ];then
循环体
fi
ls 阿斯顿 >/dev/null 2>/dev/null
/dev/null(黑洞文件) 来什么吃什么(删除)
/dev/zero 吹泡泡
&> &>> == 2&>1
ls /etc/ &> /dec/null
2>>
2、管道 -tee
command1 | command2 | command3 | ... ...
前一个命令的执行结果交给后一个命令来执行;
【Linux思想:结合小功能实现大思想】
free -m | grep "^Mem" | cut -d' ' -f19
free -m | grep "^Mem" | awk '{print $3}'
find 【范围】 -name
【Linux思想:结合小功能实现大思想】
free -m | grep "^Mem" | cut -d' ' -f19
free -m | grep "^Mem" | awk '{print $3}'
find 【范围】 -name
tee 一路输入,两路输出
tee /tmp/tee.out
如果没有文件,会创建,默认如果文件存在有内容,会覆盖;
练习:
将/etc/passwd文件
head -5 /etc/passwd | tr [a-z] [A-Z] > /tmp/passwd.out
tr 替换
cut 剪切 cut -d' ' -f19
tee /tmp/tee.out
如果没有文件,会创建,默认如果文件存在有内容,会覆盖;
练习:
将/etc/passwd文件
head -5 /etc/passwd | tr [a-z] [A-Z] > /tmp/passwd.out
tr 替换
cut 剪切 cut -d' ' -f19
3、文本处理工具 - wc,cut,sort, uniq