1、创建目录/tmp/scripts
切换至此目录
复制/etc/pam.d 目录至当前目录,重命名为test
将test中目录及文件属主改为redhat
将test中目录及文件中 其他文件权限改为没有任何权限
#!/bin/bash
WIDR=/tmp/scripts 使用了参数
mkdir $WDIR &> /dev/null
cd $WDIR
cp -r /etc/pam.d $WIDR/test &> /dev/null
chown -R redhat $WIDR/test &> /dev/null
chmod -R o= $EIDR/test &> /dev/null
unset WIDR
2、显示当前日期和时间,创建目录/tmp/lstest
切换至此目录
创建目录 a1d,b56e,6test
创建空文件 xy,x2y,732
列出以a,x或6开头的文件或目录
列出以字母开头,后跟任意一个数字,而后跟任意长度字符的文件或目录
#!/bin/bash
widr=/tmp/lstest
date
mkdir $widr
cd $widr
mkdir a1d,b56e,6test
touch xy,x2y,732
grep --color=auto -E "\<(a|x|6).*" ./
grep --color=auto -E "\<[[:alpha:]][0-9].*" ./
3、查看eth0的IP地址
ifconfig eth0 2> /dev/null | grep "inet addr:" | cut -d: -f2 | cut -d' ' -f1 使用了管道来传送数据
4、将/var 下的文件小写换成大写
ls /var | tr 'a-z' 'A-Z'
5、添加10个用户,user1……10,并其密码与用户名相同
#!/bin/bash
for myuser in {1..10};do
useradd user$myuser &> /dev/null
echo "user$myuser" | passwd --stdin user$myuser &> /dev/null
done
6、切换至/var
向/var中每个文件或子目录问好,形如:hello ,log ;hello ,run
#!/bin/bash
cd /var
for content in `ls /var` 或者 /var/*;do
echo "Hello,$content" &> /dev/null 或者 echo "Hello,`basename $content`" &> /dev/null
done
7、设FILE值为/etc/passwd
使用循环读取文件第2、4、6、10、13、15行的内容
(提示: LINE=`head -2 /etc/passwd | tail -1` 表示第2行)
把文件保存至/tmp/mypasswd中
#!/bin/bash
FILE=/etc/passwd
for ling in 2 4 6 10 13 15;do
echo "LINE=`head -$ling $FILE | tail -1`" | tee -a /tmp/mypasswd
done
unset FILE
8、设FILE值为/etc/passwd
依次向/etc/passwd中每个用户问好,形如:hello,root
统计一共有多少个用户
提示:( LINES=`wc -1 /etc/passwd` | cut -d' ' -f1)
#!/bin/bash
FILE=/etc/passwd
LINES=`wc -1 $FILE | cut -d' ' -f1`
for line in `seq | $LINES`;do
usera=`head -$line $FILE | tail -1 | cut -d: -f1`
shella=`head -$line $FILE | tail -1 | cut -d: -f7`
echo "Hello,$usera,your SHELL=$shella"
done
好了,先做这么多,就当是复习吧。如今回头看,感觉也不是怎么难,就是当时的时候不太容易,嘻嘻。
崭新的一天,让我们都加油去超越自己!