1. 在Linux系统下创建自己姓名全拼的账号,使用该账号和密码登录系统
useradd zhangsan
passwd zhangsan
2. 文件权限及打包
1.创建测试文件夹:test,并在其目录下创建测试文件test1,test2,。。。。test10000,共1万个文件
2.将测试文件夹test及其下所有文件的拥有者改为daemon
3.将测试文件夹test及其下所有文件的属主权限设置为可读、写、执行;属组权限设置可读、写;其他人权限设置为只读
4.将测试文件夹test及其所有文件打包成压缩文件 test.tar.gz
#!/bin/bash
mkdir /home/zhangsan/test
num=1
while(($num<=10000))
do
touch /home/zhangsan/test/test$num
num=`expr $num+1`
done
chown -R daemon /home/zhangsan/test
chmod -R 764 /home/zhangsan/test
tar -czvf test.tar.gz /home/zhangsan/test
3.找出保存用户账号的文件名passwd,仅打印该文件的第6到第10行,并显示行号。
nl /etc/passwd | sed -n '6,10p'
4.找出/etc目录下,文件容量大于1500K 以及容量等于0的文件。
find /etc -type f \( -size +1500k -o -empty \)
5.找出/etc目录下,文件内容包含“Asia/Shanghai”的所有文件
grep -r "Asia/Shanghai" /etc
6.查找系统总共的cpu资源和内存资源,并列出当前系统cpu占用前三和内存占用前三的程序
ps aux | sort -k3nr | head -3 ; ps aux | sort -k4nr | head -3
7. 找到当前系统监听的Nginx的端口,并找到Nginx程序所在的位置
netstat -tulpn | grep LISTEN | grep nginx;find / -type f -name nginx
8.对于给定的一个运行中的程序,需要在每天早上6点钟对其进行重启,应该怎么做?针对Nginx做这个处理。
crontab -e
0 6 * * * /opt/nginx/sbin/nginx -s reload
9.请写一个shell程序可以用来计算“你还有几天可以过生日”?若生日当天,则输出“Happy Birthday to you!”
#!/bin/bash
year=`date +'%Y'`
mybirthdayinthisyear=`date -d "$year-11-07" +%s`
now=`date "+%Y-%m-%d"`
nowtimestamp=`date -d "$now" +%s`
if [ $nowtimestamp -lt $mybirthdayinthisyear ]
then
let time1=($mybirthdayinthisyear - $nowtimestamp)
let time2=($time1/86400)
echo "还有$time2天可以过生日"
elif [ $nowtimestamp -gt $mybirthdayinthisyear ]
then
year=`expr $year + 1`
mybirthdayinthisyear=`date -d "$year-11-07" +%s`
let time1=($mybirthdayinthisyear - $nowtimestamp)
let time2=($time1/86400)
echo "还有$time2天可以过生日"
elif [ $nowtimestamp -eq $mybirthdayinthisyear ]
then
echo "Happy Birthday to you!"
fi