#transfer lower case to upper case  and save to newpwd file
tr a-z A-Z < /etc/passwd  > newpwd

 
tools
       一、cut
$ cut –c5- data    # data 文件每一行中从第 5 个字符到行尾的内容全部截取出来了,并把结果写入标准输出(屏幕)
 
-d和-f选项
$cut –d: -f1 /etc/passwd   #从/etc/passwd中截取出系统中的用户
 
二、tr
$cut –d: -f1,6 /etc/passwd | tr :' ' #cut先截取第1和6字段,然后tr将冒号替换成空格
$cut –d: -f1,6 /etc/passwd | tr ‘[a-z]’ ‘[A-Z]' # cut先截取第1和6字段,然后tr将所有小写字母转换为大写
-s选项
$ cut –d: -f1,6 /etc/passwd | tr –s mw MW  #trmw分别替换成MW,并且将连续的MW替换成一个字符
-d选项
$ tr -d ‘ ‘ < data  #tr –d删除data文件中的所有空格
 
三、grep
$grep www /etc/passwd
-v 选项
$grep –v www /etc/passwd  # 查找/etc/passwd中不包含www的行
 
-l 选项
$ grep –l www /etc/passwd data file #只想知道包含该模式的文件名
-n 选项
$grep –n www /etc/passwd  # 查明文件中包含模式的确切行号
 
四、sort
-u选项
$sort –u names  #在输出结果中去除重复的行
-r选项
$sort –r names  #-r选项颠倒排序顺
-o选项
$sort names -o names  #原来的文件顺序被排好了,并且不会有任何错误,这个-o确实蛮好的
-n选项
$sort –n data   #按照数学方式来排序,sort默认是按照ASCII编码的顺序来进行排序
-t选项
sort默认是以空格或者制表符(tab)来分隔字段的。这里我们需要用-t参数,改变sort默认的字段分隔符:
$sort -n –t: /etc/passwd
五、uniq
$sort names | uniq
-d 选项
$sort names | uniq -d #前面一样,sort先对文件排序,然后uniq –d找到重复的连续行,然后只显示一行
$sort /etc/passwd | cut –d: -f1 | uniq –d  #只是想要找出同名的帐户
-c 选项

$sort names | uniq -c  #删除重复行的同时,显示每行出现的次数
 
 
# alias for sh
alias he= 'ls'
# to enalbe to all user
vi /etc/profile
# to enalbe he='ls' in local user
 vi .bash_profile
#remove alias
unalias he
# make a shell runable
cd /usr/share/doc/dovecot-3.1/example
PATH=$PATH:.
mkcert.sh can be run without put ./mkcert.sh
as current directory has set to PATH
 
 
make a shell script to check if the user exist ,create the user with passwd redhat
 
 
#!/bin/bash
#USER_HOME_D+"/home/guest$i"
#[ $UID -ne 0 ] && exit 1
[ `whoami` = root ] || exit 1
for i in $(seq 1 5)
do
    if id guest$i &>/dev/null
    then
         echo "user exist." >/dev/null
    elif  [ -d /home/guest$i ]
    then
         /bin/rm -rf /home/guest$i
          useradd guest$i
    else
             useradd guest$i
     fi
    echo redhat | passwd  --stdin guest$i
done
 
 
 
 
 
 
 
 
 
#
 
 
#############
#change xing's passwd to redhat
echo redhat|passwd --stdin xing

###
find /etc -size +1M
find /tmp -amin -60  # check any file read last 60 mins
find /tmp -min +10
find /tmp -ctime +10  # check any file chaged 10 days ago
###

find /etc/ -name '*.conf' -ok cp {}  /tmp/ \;
find /etc/ -name '*.conf' -exec mv {} /tmp/ \;
find  /etc/ -name '*.orig' -exec rm -f {} \;
find  /etc/ -name '*.orig' -ok cp {} {}.orig \;
find /tmp -ctime +3 -user joe -ok rm {} \;
find ~ -perm -002 -exec chmod o-w {} \;
find /home -type d -ls
find -not -perm +111 -name '*.sh' -ok chmod 755 {} \;