时间:2017-08-17 19:56:26来源:魔法系统之家下载作者:zhijie
6. 重定向
linux提供标准输入“0”,标准输出“1”,标准错误“2”。
“》”:将标准输出重定向到文件中,会先清空原文件内容
使用 “》 filename”会删除文件的内容
“《”:将文件内容作为标准输入读入命令
“》》”:将标准输出重定向到文件中,使用追加模式
“|”:管道,将上一个命令的标准输出作为下一个命令的标准输入
同时重定向标准输出和标准错误:
command 》 file 2》&1
或新版bash支持的 command &》 file
标准错误的重定向发生在标准输出重定向之后,所以command 2》&1 》file是错误的。
忽略输出:将输出或标准错误重定向到文件/dev/null。
忽略所有输出:command 》 /dev/null 2》&1
忽略错误:command 2》 /dev/null
7. 扩展
每次shell命令执行前都会进行扩展(expansion)。通过echo可以简单验证扩展后的结果。这些扩展包括:
路径名扩展(使用通配符)
波浪线扩展(~或~user,扩展为用户的主目录)
算术扩展,$((expression)),注意都是整数运算,支持四则和取余“%”,取幂“**”,忽略空格
花括号扩展
$ echo {1..5} 输出 1 2 3 4 5
$ echo {G..A} 输出 G F E D C B A
$ echo {A{1, 2}, B{3, 4}} 输出 A1 A2 B3 B4
参数扩展,如$PATH等参数
命令替换,如$(ls)或`ls`
8. 引用
引用可以避免Shell扩展。引用包含双引号的弱引用和单引号的强引用。
弱引用:部分特殊字符失去特殊含义,保留美元符号“$”,反斜线“\”,反引号“`”。因此,单词分隔、路径名扩展、波浪线扩展和花括号扩展失效。参数扩展、算术扩展、命令替换依然有效。
强引用:抑制所有扩展。
转义字符“\”:在弱引用中输出“$”、“\”、“`”或输出转义字符“\n”等。在命令行中消除shell特殊字符的含义,如“$”、“!”、“&”、空格
2017-08-17
如何修复一个Panic的Linux内核?2017-08-17
Linux删除文件(夹)、创建文件(夹)命令是什么?2017-08-17
Linux系统如何配置双显卡?为什么Arch Linux不适合当作服务器操作系统?可能很多用户都发现了,Linux服务器操作系统一般都是Ubuntu Server、Cent OS、Fedora或者Red Hat等,为什么很少看到Arch Linux呢?因为Arch Linux在服务方面确实存在一些劣势,下面...
2017-08-17
有些用户为了使桌面更好看、更具动感性,于是就想要设置系统的3D桌面特效,不过不少人却不知道Ubuntu 3D桌面特效怎么设置?其实方法很简单,如果你不知道的话,那就赶紧来看看小编整理的Ubuntu 3D桌面特效设置方法吧!...
2017-08-17