chpasswd、dd命令、find实战、添加系统服务、buffer、cached
1.如果两个文件的每一行想一一对应
paste 1.txt 2.txt # 文件3.txt中存放着用户跟密码,想要添加用户并设置密码: # 用户必须存在,文件格式必须是--用户名:密码 chpasswd < 3.txt for i in `seq 10`;do echo user$i:user$i`echo user$i | md5sum | cut -c4-8`|chpasswd;done # 批量添加若干用户,并设置其密码为用户名+5位随机字符 for i in `seq 10`;do useradd user$i;echo user$i`echo user$i | md5sum | cut -c4-8`| passwd --stdin user$i;done
2.创建一个指定大小的文件
# if指"从哪来",of指"到哪去",bs指每次写入多大. dd if=/dev/zero of=abc bs=4k count=50
3.操作那些指定大小的文件
find . -type f -size +100k | xargs du -sh find . -type f -size +100k | xargs -i mv {} /tmp find . -type f -size +100k | xargs -I {} mv {} /tmp find . -size +100k | xargs mv -t /tmp/ # mv -t参数:目标目录 源文件或源目录 # 加-i参数:直接用{}就能代替管道之前的标准输出的内容; # 加-I参数:需要事先指定替换字符
4.查看/var/log目录下的文件个数
ll | grep "^-" | wc -l find /var/log -maxdepth 1 -type f | wc -l ethtool eth0 # 查看网卡信息 # 找出/usr目录下最占空间的目录 find /usr/ -type d | xargs ls -ld | sort -k5 -n | tail -3 # 将日期提前一天 date +%Y%m%d -d -1day
5.怎样把脚本添加到系统服务里,即:可以用service调用
vi /etc/init.d/bdqn chkconfig:35 56 27 echo hehe chkconfig --add /etc/init.d/bdqn chmod +x /etc/init.d/bdqn
6.向文件统一添加相同内容
ls abc* | xargs -n1 | awk '{print"echo oldboy >" $0}' | bash # 把这些文件第一行内容合并,添加到new文件中 # 不加-q参数new文件的内容是: find . -type f -name "abc*" | head | xargs head -1 > new ==> ./abc02 <== oldboy ==> ./abc01 <== oldboy ==> ./abc03 <== oldboy # 加了-q参数就不会再显示文件名 find . -type f -name "abc*" | head | xargs head -1 -q > new
7.buffer、cached
buffer是写入缓冲区,数据写入磁盘时,在buffer中存够了数再写入; cached是读取缓存区,频繁访问的数据放到cached缓存区. 关机之前用sync同步内存数据到磁盘,就是在同步buffer.