4.shell基本操作简介

判断一个命令是不是内置命令,可以用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则由标准输入取得数据emailList 取得数据和刚才的$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   删除光标前的所有字符




      本文转自潘阔 51CTO博客,原文链接:http://blog.51cto.com/pankuo/1367495,如需转载请自行联系原作者




原文地址:https://www.cnblogs.com/twodog/p/12138591.html