判断一个命令是不是内置命令,可以用type命令
1.printf
:冒号
#:〉 test.txt
这里会建立一个空文件test.txt
set -o|grep emacs
查看 emacs 模式是否开启
set -u 用法
[root@pankuo shell]# i=10
[root@pankuo shell]# : $i
[root@pankuo shell]# echo $?
0
[root@pankuo shell]#
2.read
3.shopt
#listlog =”ls –al /var/log/*.log”
eval $listlog
eval $listlog 则读取变量内容执行它这是一种间接执行指令的技巧
HIS=”history”
Eval “$HIS > $USER.log” 执行时以账号当作日志文件的主文件名
*表可执行文件 /bin/bash* 表目录
@表示软连接 /bin/sh@
=表socket文件 /var/run/mysql/mysqld.sock=
| 表pipe文件 /dev/initctl|
[root@pankuo shell]#FROM='joe@sample.edu.cn'
[root@pankuo shell]# echo $FROM | cat -email.list | sort
joe@sample.edu.cn
[root@pankuo shell]#
echo 命令丢给管道 cat则由标准输入取得数据在email。List 取得数据和刚才的$FROM 的合并交给sort排序 cat至少要有2个文件才能执行合并的操作
basename 取得路径名称中最后的文件名部分
[root@pankuo shell]# basename/usr/local/bin
bin
[root@pankuo shell]#
dirname 取得路径名称中的目录部分
[root@pankuo shell]# dirname/usr//local/bin
/usr//local
[root@pankuo shell]#
tr 把小写k换成K
[root@pankuo shell]# tr k K < datafl
KKKKKK
[root@pankuo shell]#
xargs 由标准输入安排要执行的命令和参数
[root@pankuo shell]# find . -name '*.txt'|xargs -n 2 diff
在现在的工作目录寻找扩展名是 .txt的文件,然后交给xargs处理,xargs的-n 2 表示执行指令的参数至多有2个,也就是说找到.txt 文件,以2个一组的方式交给diff去比较
命令行编辑
Ctrl不放+a 移到行首
Ctrl不放+e 移到行尾
Ctrl不放+b 往左移动一个字符
Ctrl不放+f 往右移动一个字符
ESC 放+b 往左移动一个单词
ESC 放+f 往右一个单词
ESC 放+d 由光标开始删除这个单词直到该单词结束
Ctrl 不放+w 由光标所在的位置开始往前删除单词
Ctrl 不放+k 删除光标所在直到后面所有的
Ctrl 不放+u 删除光标前的所有字符
阅读(1896) | 评论(0) | 转发(0) |