|
1.echo 命令可以显示文本行或者变量,或者把字符串输入到文件 echo [option] string -e 解析转义字符, 转义符包括( \c,回车不换行 \f,禁止 \t,跳格 \n)回车换行 -n 回车不换行,linux系统默认回车换行 2.read 从键盘或者文件的某一行文本中读如信息,并将其赋给一个变量 read varible1 varible2 如果只指定了一个变量,那么read将会把所有的输入赋给该变量,直到遇到第一个文件结束符或回车;如果给出了多个变量,它们按吮吸分别赋给不同的变量,。shell将用空格作为变量之间的分隔符 举例说明:在shell脚本中有read A B C命令行,而在提示的命令行中输入1 2 3,则A=1,B=2,C=3 3.cat 可以用来显示文件内容、创建文件,还可以用它来显示控制字符。 cat |options|filename1..filename2... -v显示控制字符 使用cat命令时要注意,它不会在文件分页符处停下来,它会一下显示完整个文件。如果希望每次显示一页,可以使用more命令或者把cat命令的输出通过管道传递给另外一个具有分页功能的命令(如more,less)中。 cat命令举例: cat myfile1 myfile2 myfile3>myfile123; cat myfile123|more 分页显示 cat -v dos.txt 会出现“^M”等控制字符,这是在windows下的编辑器留下的
4.管道 可以通过管道把一个命令的输出作为另一个命令的输入 举例说明:df -k |awk '{print $1}'|grep -v "Filesystem" df:显示所有文件系统对i节点和磁盘块的使用情况 awk:浏览和抽取信息 grep:文本过滤 显示所有文件系统对i接点和磁盘块的使用情况信息中的第一列并不含有"Filesystem"的信息
5.tee 把输出的一个副本输送到标准输出,另一个副本拷贝到相应的文件中 tee -a file 这个命令一般用于管道之后。 举例说明: cat file|tee file.out 将file中的信息输出到屏幕并拷贝到file.out中
6.exec exec命令可以用来代替当前shell;换句话说,并没有启动子shell,使用这一命令时任何现有环境都会被清除,并重新启动一个shell exec command其中的command通常是一个shell脚本 对文件描述符操作的时候(也只有在这时),它不会覆盖你当前的shell 举例说明: exec **.sh 会重新登录并清除环境变量
7.标准输入、输出和错误 在shell中执行命令时,每个进程都和三个打开的文件相联系,并使用文件描述符来引用这些文件。由于文件描述符不容易记忆,shell同时也给出了相应的文件名。 文件 文件描述符 输入文件----标准输入 0(缺省是键盘,也可以是文件或者其他命令的输出) 输出文件---标准输出 1(缺省是屏幕,也可以是文件) 错误输出文件--标准错误 2(缺省是屏幕,也可以是文件) 系统中实际有12个文件描述符,可以任意使用文件描述符3-9
8.文件重定向 改变程序运行的输入来源或输出地点 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 <&- 把关闭标准输入 重定向的几个注意点: 重定向中为保护原来的文件不被覆盖可以用 set -o noclobber 命令来限制 用 set +o noclobber来取消限制,如果不取消的话也可以强制重定向 command >| file cat <file>file 会清空file中的内容,因为shell会先清空stdout和stderr的管道。 cat <file>>file会造成死循环,因为它是一行行读出来的,永远都没有结束符 9.合并标准输出和标准错误 合并标准输出和标准错误的时候,切记shell是用左至右分析相应的命令 举例说明: grep "hi" test.txt >test.out 2>&1 标准输出和错误输出都输入到标准输出中 10.使用文件描述符 举例说明: exec 3<&0 0<name.txt //设置3为标准输入 name.txt的内容输入到标准输入 此时的exec不会清除环境变量,也不会重新登录,覆盖当前的sehll
|
一共有 0 条评论