常用的bash使用技巧.docx
文本预览下载声明
作为Linux下的开发人员,常用的bash使用技巧必须掌握!。 后台运行程序 () 使用子shell, 比如 (cd ../../commlib/; make) $() 命令替换,和 ``的作用是一样的 (命令) 把命令的输出到一个临时文件 HereDoc使用举例:比如你要在 shell 脚本中 使用 awk 脚本 awk -f (cat EOF/abc/{print $0;} EOF ) $(()) 执行整数计算 $((66/2))?let 命令可以是使用 (( ))test 命令可以是用 [ ] 或 [[ ]]if (( 算术运算 )) if [[ 字符串运算 ]]alias 定义命令别名dot . 或 source 命令, 在当前shell中执行脚本exec 可以重定向当前shell的文件描述符, 或运行另一个程序。trap 可以捕获信号nohup 防止ssh 挂起导致的问题 screen 可以用来保持 会话, 不受ssh的关闭影响export 导出变量给子shell使用tee 可以 把 输出 分流ENV_VAR=VALUE your_program 这样可以 为这一个程序 修改它环境变量,外部shell的环境变量没有被更改tac 倒置文件目录跳转cd - 快速回到前一个路径cd 回到用户的home目录pushd, popd, dirs 实现多目录跳转pushd 命令用来更改您的当前目录并将其存储在堆栈中。 popd 命令用来从堆栈的顶部移除目录并使您返回该位置。 dirs 命令来显示当前目录堆栈。(dir –v –p)pushd +n; popd +n 可以操作虚拟目录堆栈快速跳至常用目录你可能已经知道$PATH变量可以列出 bash的“搜索路径”——当在当前目录不能找到请求的文件时,bash会自动搜索的目录。不过,bash也支持$CDPATH变量,当试图改变目录时该变量列出cd命令转向的目录。为了使用这个特性,我们要对$CDPATH变量赋值一个目录列表,如下面的例子所示:bash CDPATH=.:~:/usr/local/apache/htdocs:/disk1/backupsbash export CDPATH现在,无论何时使用cd命令,bash将会检查$CDPATH列表中的所有目录来查找要转向的目录名。特殊参数1) $*: 代表所有参数,其间隔为IFS内定参数的第一个字元 2) $@: 与*星号类同。不同之处在於不参照IFS 3) $#: 代表参数数量 4) $?: 执行上一个指令的返回值 5) $-: 最近执行的foreground pipeline的选项参数 6) $$: 本身的Process ID 7) $!: 执行上一个背景指令的PID 8) $_: 显示出最後一个执行的命令bash快捷键Emacs风格ctrl+p: 方向键 上 ↑ ctrl+n: 方向键下 ↓ ctrl+b: 方向键 ← alt+f: 光标右移一个单词 ctrl+f :方向键 → alt+b: 光标左移一个单词 ctrl+a:光标移到行首 ctrl+e:光标移到行尾 ctrl+k:清除光标后至行尾的内容。 ctrl+d: 删除光标所在字母;注意和backspace以及ctrl+h的区别,这2个是删除光标前的字符 ctrl+r:搜索之前打过的命令。会有一个提示,根据你输入的关键字进行搜索bash的history ctrl+m : 输入回车 ctrl+i : 输入tab ctrl+[ : 输入esc 其它 ctrl+h:删除光标前一个字符,同 backspace 键相同。 alt + p 非增量方式反向搜索历史 alt + 历史命令列表中的最后一行命令开始向前 ctrl+u: 清除光标前至行首间的所有内容。 ctrl+w: 移除光标前的一个单词 ctrl+t: 交换光标位置前的两个字符 ctrl+y: 粘贴或者恢复上次的删除 ctrl+l:清屏,相当于clear。 ctrl + xx 光标在行头与行尾进行跳转 alt+r 撤销当前行的所有内容 ctrl+z : 把当前进程转到后台运行 ctrl+s : 锁住屏幕 ctrl+q : 恢复屏幕 ctrl+v key: 输入特殊字符 alt + l 将当前光标处之后的字母转化成小写字母 alt + u 将当前光标处之后的字母转化成大写字母 ctrl + Alt + e 扩展命令行的内容(例如:ls = ls -l --color=tty) ctrl+c:杀死当前进程, 输入模式下,中断输入的命令。 ctrl+d:退出当前 Shell esc + . 快捷键可以轮询历史命令的参数或选项。 esc + t 快捷键可以 置换前两个单词。 输入重复字母 Esc {100} e 可以输入100个e字符
显示全部