SHELL 近期学习

  由于项目中很少使用到shell脚本所以。只是偶尔自学一点。慢慢积累。下面就把近段时间积累的发出来。学习。

#sort 
sort  按首字母排序
sort -n 按数字大小 从小到大排序
sort -rn 按数字大小 从大到小排序
demo:  sort -n test.txt | uniq - c 一般和uniq组合使用 去重在计组数 
who
当前有多少用户同时登录 linux系统 
正则表达式
?代表0个或者一个前置字符  K?代表零个或一个K字符
+ 代表1个或者多个前置字符  K+  代表一个或多个K字符
^字符开头  $字符结尾  ^KKK$ 表示KKK字符匹配
\w   匹配任何单词组成的字符
\W   匹配任何非单词组成的字符
\<  \>    匹配单词的起始与结尾
\b         匹配单词的起始或结尾处所找到的空字符串.这是\<和\>运算符的结合
\B         匹配两个单词组成字符之间的空字符串
|           匹配与|符号前后的正则表达式
{n,m} 表示前置字符出现的次数 范围0~255
\(  \)     将\(和\)直接模式存储在特殊的保留空间最多9个模式   \(ab\).*\1表示匹配与ab组合的两次出现
\n          重复\(与\)括号内第n个子模式至此点的模式,n为1到9的数字,1为由左开始

DEMO:
表达式                                    匹配
tolstoy                                   位于一行上任何位置的7个字母tolstoy
^tolstoy                                  7个字母tolstoy,出现在一行的开头
tolstoy$                                  7个字母tolstoy,出现在一行的结尾
^tolstoy$                                 正好包括tolstoy这个7个字母的一行,没有其他的任何字符
[Tt]olstoy                                在一行上的任何位置居中,含有Tolstoy或是tolstoy

sed 流编辑器(Stream Editor) sed的设计就是用来以批处理的方式而不是交互的方式来编辑文件。当你知道要做好几个变更--不管是对一个还是对数个文件
        时,比较简单的方式是将这些变更部分写到一个编辑中的脚本里。再将此脚本应用到所有必须修改的文件
-g (global 全局)
$echo Tolstoy reads well. Tolstoy writes well. > demo.txt;
$sed 's/Tolstoy/xiaoyan/g'

$
默认以 空格键分割 去第一个和第三个字符串
$awk '{print "Hello",$1 ,$3, "BeyBye!" }'

切割 指定位置的字符 1,2,3-10 切割前十个字符
cut -c 1,2,3-10 file.txt        

以:分割字符串成字符串数组 去第一个字符串
awk -F ':' '{print $1}'

定时任务
crontab -e 编辑当前用户的定时任务 (edit user's crontab)
crontab -l   展示当前用户的定时任务(list user's crontab)
crontab -r  删除当前用户的定时任务(delete user's crontab)

/etc/init.d/cron restart   重启crontab服务
*/1 * * * 1,2,3,4,5       command     工作日期间每分钟执行一次命令
0 8 * * 1,2,3,4,5  command            工作日期间每天8:00执行命令

虚拟签到配合系统的定时任务可以定时签到的。
由cookie保持session信息。
curl -D cookie.txt -b cookie.txt  'http://127.0.0.1:8080/xxxLog/loginUser.do?userBean.userid=xxx&userBean.userpwd=xxx'
curl -D cookie.txt -b cookie.txt  'http://127.0.0.1:8080/xxxLog/signInSign.do'

####循环获取参数
for i in $*
do
 echo "i is $i"
done
#####一到十的参数
$1 $2 ....${10} 

 

ftp xx.xx.xx.xx
userName
passWord
bin//二进制格式
cd ,pwd
get xx.txt 下载文件
put xx.tar 上传文件
ls 列出远程机的当前目录
cd 在远程机上改变工作目录
lcd 在本地机上改变工作目录
ascii 设置文件传输方式为ASCII模式
binary 设置文件传输方式为二进制模式
close 终止当前的ftp会话
bye退出

 

posted @ 2014-09-23 20:25  灵台方寸小道士  阅读(137)  评论(0编辑  收藏  举报