#transfer lower case to upper case and save to newpwd file
tr a-z A-Z < /etc/passwd > newpwd
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 #tr将m和w分别替换成M和W,并且将连续的M或W替换成一个字符
-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
#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 {} \;
转载于:https://blog.51cto.com/johnnyxing/197030