1. 理解系统中的输入和输出
对输入输出的理解
shell程序中的指令------>cpu产生运算结果------->字符设备
在shell程序中输入指令,送到cpu中运算产生的结果,再送到字符设备中显示。如图所示:
注意:在内存中运行文件的速度要快于硬盘;如图所示:
2. 管理输入输出的符号
2.1 命令的格式
1.输出重定向(>) | > | #重定向正确输出 |
---|---|---|
2> | # 重定向错误输出 | |
&> | #重定向所有输出 | |
2> &1 | #编号为2会转化为1 | |
echo “字符串” > filename | # 指定内容输出到filename | |
2.追加(>>) | >> | #追加正确输出到文件最后 |
3.管道(|) | | | #上一条 命令的输出作为后一条命令的输入 |
4.输入重定向(<) | < | #输入的重定向 |
tr ‘a-z’ ‘A-Z’ < westos | # 文件输入的小写内容变成大写 | |
tr ‘A-Z’ ‘a-z’ < westos | # 文件输入的大写内容变成小写 | |
cat > westos <<EOF —hello world! hello world! —EOF | # 格式化输入内容到文件,注意①EOF可以换成其他字符串②修改密码需要重复两次命令 |
2.2注意:
1.输出重定向
(1)重定向会覆盖源文件内容;
(2)对于输出重定向的实验必须在student用户下完成;root下都为正确的输出;
2.管道:
(1)管道只允许正确的输入;
(2)通过管道的输入将会变成输入,而变成输入的这些输出是会被第二条命令处理的;
(3)如果需要保存输出的内容,那么需要复制一份输出,用的命令是tee(tee在中间命令不显示文件的内容;tee在最后面显示文件的内容);
3.输入重定向
(1)touch westos.sh #生成.sh文件,文件内包含需要的命令;
(2)sh westos.sh #执行文件内的command
Result1输出重定向(> ,2>, &> )
Result2 输出重定向(>> ,2>>, &>> )
Result3 管道符(|)
Result4.1 输入重定向(<)
Result4.2 输入重定向(<<)
3. 涉及到的其他的命令
功能 | 命令 | 注释 |
---|---|---|
1.查找(find) | find 路径 -name “字符” | #查找名字为“”的文件 |
find 路径 -type [f/d] | #按照类型进行查找 | |
find 路径 -size +1M | #大于1M | |
find 路径 -size -1M | #小于1M | |
find 路径 -maxdepth 1 -size +1M | #当前目录大于1M | |
find 路径 -maxdepth 2 -size +1M | #当前目录和一级子目录大于1M | |
2.统计文件信息(wc) | wc filename | # 统计文件信息 |
wc -c filename | #字节数,一个汉字为三个字节 | |
wc -m filename | #字符数(每一行有一个换行符) | |
wc -w filename | #单词数,字数 | |
wc -l filename | #行数 |