shell中的特殊符号总结详解程序员
~ 帐户的 home 目录
算是个常见的符号,代表使用者的 home 目录:cd ~;也可以直接在符号后加上某帐户的名称:cd ~user或者当成是路径的一部份:~/bin
~+ 当前的工作目录,这个符号代表当前的工作目录,和内建指令 pwd的作用是相同的。
# echo ~+/var/log
~- 上次的工作目录,这个符号代表上次的工作目录。
# echo ~-/etc/httpd/logs
; 分号 (Command separator)
在 shell 中,担任/ 连续指令/ 功能的符号就是/ 分号/ 。譬如以下的例子:cd ~/backup ; mkdir startup ;cp ~/.* startup/.
;; 连续分号 (Terminator)
专用在 case 的选项,担任 Terminator 的角色。
case / $fop/ inhalp) echo / Usage: Command -halp -version filename/ ;version) echo / version 0.1/ ;;esac
string 单引号 (single quote)
被单引号用括住的内容,将被视为单一字串。在引号内的代表变数的$符号,没有作用,也就是说,他被视为一般符号处理,防止任何变量替换。
heyyou=homeecho $heyyou # We get $heyyou
, 逗点 (comma,标点中的逗号)
这个符号常运用在运算当中当做/ 区隔/ 用途。如下例
#!/bin/bashlet / t1 = ((a = 5 + 3, b = 7 1, c = 15 / 3))/ echo / t1= $t1, a = $a, b = $b/
+ 加号 (plus)
在运算式中,她用来表示 / 加法/ 。
expr 1 + 2 + 3
此外在规则表达式中,用来表示/ 很多个/ 的前面字元的意思。
# grep 10//+9 fileB109100910000910000931010009#这个符号在使用时,前面必须加上escape 字元。
减号 (dash)
在运算式中,她用来表示 / 减法/ 。
expr 10 2
此外也是系统指令的选项符号。
ls -expr 10 2
在 GNU 指令中,如果单独使用 符号,不加任何该加的文件名称时,代表/ 标准输入/ 的意思。这是 GNU指令的共通选项。譬如下例
tar xpvf
这里的 符号,既代表从标准输入读取资料。
不过,在 cd 指令中则比较特别
cd
这代表变更工作目录到/ 上一次/ 工作目录。
EnvironmentFile=-/etc/sysconfig/sshd
所有的启动设置之前,都可以加上一个连词号(-),表示 抑制错误 ,即发生错误的时候,不影响其他命令的执行。比如,EnvironmentFile=-/etc/sysconfig/sshd(注意等号后面的那个连词号),就表示即使/etc/sysconfig/sshd文件不存在,也不会抛出错误。
IT虾米网
输出/输入重导向
: 2 2 2
文件描述符(File Descriptor),用一个数字(通常为0-9)来表示一个文件。
常用的文件描述符如下:
文件描述符 名称 常用缩写 默认值
0 标准输入 stdin 键盘
1 标准输出 stdout 屏幕
2 标准错误输出 stderr 屏幕
我们在简单地用 或 时,相当于使用 0 或 1 (下面会详细介绍)。
* cmd file
把cmd命令的输出重定向到文件file中。如果file已经存在,则清空原有文件,使用bash的noclobber选项可以防止复盖原有文件。
* cmd file
把cmd命令的输出重定向到文件file中,如果file已经存在,则把信息加在原有文件後面。
* cmd file
使cmd命令从file读入
* cmd text
从命令行读取输入,直到一个与text相同的行结束。除非使用引号把输入括起来,此模式将对输入内容进行shell变量替换。如果使用 - ,则会忽略接下来输入行首的tab,结束行也可以是一堆tab再加上一个与text相同的内容,可以参考後面的例子。
* cmd word
把word(而不是文件word)和後面的换行作为输入提供给cmd。
* cmd file
以读写模式把文件file重定向到输入,文件file不会被破坏。仅当应用程序利用了这一特性时,它才是有意义的。
* cmd | file
功能同 ,但即便在设置了noclobber时也会复盖file文件,注意用的是|而非一些书中说的!,目前仅在csh中仍沿用 !实现这一功能。
: filename 把文件/ filename/ 截断为0长度.# 如果文件不存在, 那么就创建一个0长度的文件(与 touch 的效果相同).
cmd n 把输出送到文件描述符n
cmd m n 把输出 到文件符m的信息重定向到文件描述符n
cmd - 关闭标准输出
cmd n 输入来自文件描述符n
cmd m n m来自文件描述各个n
cmd - 关闭标准输入
cmd n- 移动输入文件描述符n而非复制它。(需要解释)
cmd n- 移动输出文件描述符 n而非复制它。(需要解释)
注意: 实际上复制了文件描述符,这使得cmd file 2 1与cmd 2 1 file的效果不一样。
1876.html
服务器部署程序员系统优化网站设置运维相关文章
- Shell脚本的条件测试详解程序员
- Shell-环境变量详解程序员
- shell脚本详解程序员
- linux shell 多线程执行程序详解程序员
- linux shell 用sed命令在文本的行尾或行首添加字符详解程序员
- linux shell脚本编程笔记(二): 分支结构详解程序员
- 查看所有shell类型详解程序员
- shell awk命令字符串拼接详解程序员
- shell获取目录下(包括子目录)所有文件名、路径、文件大小详解程序员
- shell脚本中大于,大于等于,小于,小于等于、不等于的表示方法详解程序员
- Shell脚本 | 性能测试之内存详解程序员
- hdfs-shell操作详解程序员
- 脚本编写Linux下的Shell脚本:提升工作效率(linux编写shell)