Shell笔记第四天 文件名置换和输入输出

来源:互联网 发布:域名必备解析服务 编辑:程序博客网 时间:2024/05/22 12:54

【文件名置换】

 *    匹配文件名中的任何字符串,包括空字符串

 ? 匹配文件名中的任何单个字符

[...]  匹配[ ] 中包含的任何字符

[! ...] 匹配[ ] 中非感叹号!之后的字符

 

【Shell 输入与输出】

1. echo

格式 echo string

参数:

\c  不换行

\t   tab键

\f   进纸

\n  换行

如果要上述转义字符生效,需要加参数 -e

例如 echo -e "This will not change to new line \c"

 

2. read

read用于读取用户输入,给某个变量赋值

$read name  // 准备用户输入

linus

$echo $name // 打印刚才用户为name输入的值

linus

给多个变量赋值

$read name1 name2 name3

linua linub linuc linud linue

注意:上面的命令会让name1=linua name2=linub name3=linuc linud linue

即,对于超过变量个数的输入,shell会将超过的部分全部赋值给最后一个变量

 

3. cat

cat用于显示文件内容,还可以将几个文件进行拼接

例如 cat file1 file2 file3 > file123

 

4. tee

tee命令把输出的一个副本输送到标准输出,另一个副本拷贝到相应的文件中。

例如

who | tee who.out  // 在屏幕上显示who的结果,同时将结果保存在who.out文件中

 

5.  标准输入,输出和错误输出

----------------------------------------------------------------------------------------------------------------------------------

                          文件                                                                             文件描述符

----------------------------------------------------------------------------------------------------------------------------------

                输入文件 --- 标准输入                                                                0

                输出文件 --- 标准输出                                                                1

        错误输出文件 --- 标准错误                                                                 2

-----------------------------------------------------------------------------------------------------------------------------------

command > filename                         把标准输出重定向到一个新文件中
command >> filename                       把标准输出重定向到一个文件中(追加)
command 1 > fielname                      把标准输出重定向到一个文件中
command > filename 2>&1               把标准输出和标准错误一起重定向到一个文件中
command 2 > filename                      把标准错误重定向到一个文件中
command 2 >> filename                    把标准输出重定向到一个文件中(追加)
command >> filename 2>&1             把标准输出和标准错误一起重定向到一个文件中 (追加)
command < filename >filename2    command命令以filename文件作为标准输入,以filename2 文件作为标准输出
command < filename                          command命令以filename文件作为标准输入
command << delimiter                        从标准输入中读入,直至遇到delimiter分界符
command <&m                                     把文件描述符m作为标准输入
command >&m                                     把标准输出重定向到文件描述符m中
command <&-                                       关闭标准输入

 

 

 

原创粉丝点击