Fork me on GitHub

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.

 

posted @ 2018-11-26 16:14  法外狂徒  阅读(302)  评论(0编辑  收藏  举报