ssh 登录
使用ssh登陆shell的时候,系统不会自动调用.bashrc文件, 只是会自动的读取 如下三个文件: ~/.bash_profile , ~/.bash_login , ~/.profile 里面其中一个而已。 因此,如果想让系统每次登陆时候自动读取文件,可以将.bashrc文件改为.bash_profile
- .bashrc:打开终端读取
- .bash_profile:登录读取
执行某一历史命令
!+ 历史命令ID
ctrl-^
-
ctrl-c ( kill foreground process ) 发送 SIGINT 信号给前台进程组中的所有进程,强制终止程序的执行;
-
ctrl-z ( suspend foreground process ) 发送 SIGTSTP 信号给前台进程组中的所有进程,常用于挂起一个进程,而并 非结束进程,用户可以使用使用fg/bg操作恢复执行前台或后台的进程。fg命令在前台恢复执行被挂起的进 程,此时可以使用ctrl-z再次挂起该进程,bg命令在后台恢复执行被挂起的进程,而此时将无法使用ctrl-z 再次挂起该进程; 一个比较常用的功能: 正在使用vi编辑一个文件时,需要执行shell命令查询一些需要的信息,可以使用ctrl-z挂起vi,等执行 完shell命令后再使用fg恢复vi继续编辑你的文件(当然,也可以在vi中使用!command方式执行shell命令, 但是没有该方法方便)。
- ctrl-d ( Terminate input, or exit shell ) 一个特殊的二进制值,表示 EOF,作用相当于在终端中输入exit后回车;
- ctrl-s 中断控制台输出
- ctrl-q 恢复控制台输出
ln -s error
Q:如何解决ln -s 软链接产生“Too many levels of symbolic links ”的错误? A:在做ln的时候要将文件的绝对路径下的完整目录写上去! 例如想将/mnt/hgfs/下的windows_share/文件夹的链接保存到宿主目录:
grep
错误输出重定向到标准输出,grep只能过滤标准输出 ./build.sh 2>&1 | grep -E “"code”
可执行文件所在目录
basepath=$(cd dirname $0;pwd)
变量赋值
- data=$(cat /root/data/data.txt)
- echo $data