标签:
请设置系统时间和硬件时间保持一致:# hwclock --hctosys
sed用法:
1、删除/etc/grub.conf文件中行首的空白符;
sed -r ‘s@^[[:space:]]+@@g‘ /etc/grub.conf
2、替换/etc/inittab文件中"id:3:initdefault:"一行中的数字为5;
sed ‘s@\(id:\)[0-9]\(:initdefault:\)@\15\2@g‘ /etc/inittab
3、删除/etc/inittab文件中的空白行;
sed ‘/^$/d‘ /etc/inittab
awk:
awk是一个强大的文本分析工具,
相对于grep的查找,sed的编辑,
awk在其对数据分析并生成报告时,显得尤为强大。
简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。
awk工作流程是这样的:先执行BEGING,然后读取文件,读入有/n换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域,随后开始执行模式所对应的动作action。接着开始读入第二条记录······直到所有的记录都读完,最后执行END操作。
# awk -F: ‘{print $1 "\t" $7}‘ /etc/passwd (查看用户的用户名和shell名称)
# awk -F: ‘BEGIN{I=0;print "username \t your shell"}{I++;print I "" $1 "\t" $7}END{print "end."}‘ /etc/passwd (使用循环输出用户的用户名和shell命令)
awk ‘BEGIN {count=0;print "[start]user count is ", count} {count=count+1;print $0;} END{print "[end]user count is ", count}‘ /etc/passwd
结果:[start]user count is 0
root:x:0:0:root:/root:/bin/bash
...
[end]user count is 20
显示/etc/passwd的账户:
awk -F ‘:‘ ‘BEGIN {count=0;} {name[count] = $1;count++;}; END{for (i = 0; i < NR; i++) print i, name[i]}‘ /etc/passwd
统计某个文件夹下的文件占用的字节数
ls -l |awk ‘BEGIN {size=0;} {size=size+$5;} END{print "[end]size is ", size}‘
[end]size is 8657198
如果以M为单位显示:
ls -l |awk ‘BEGIN {size=0;} {size=size+$5;} END{print "[end]size is ", size/1024/1024,"M"}‘
[end]size is 8.25889 M
注意,统计不包括文件夹的子目录。
显示/etc/passwd的账户
awk -F ‘:‘ ‘BEGIN {count=0;} {name[count] = $1;count++;}; END{for (i = 0; i < NR; i++) print i, name[i]}‘ /etc/passwd
结果为:
0 root
1 daemon
2 bin
3 sys
4 sync
只查询登录了的用户,即shell名称的结尾是/bin/bash
awk -F: ‘BEGIN {I=0;print "username \t your shell"} /bash$/{I++;print I " " $1 "\t" $7 } END {print "end."} ‘ /etc/passwd
awk -F: ‘BEGIN {I=0;print "username \t your shell"} {if($7=="/bin/bash") {I++;print I " " $1 "\t" $7} } END {print "end."} ‘ /etc/passwd
显示最近登录的5个账号:
last -5
last -3 | awk ‘{print $1}‘:自动按制表符隔开;查出最近3个用户的用户名
more /etc/passwd 可查看用户的shell等用户信息
# cut -d: -f7 /etc/passwd | sort -u 注:sort -u指相同的数据出现一次(取出当前用户所有的shell,且shell只显示一次,且按顺序显示)
# head -6 /etc/inittab | tail -1(取出/etc/inittab文件的第六行)
# tail -9 /etc/passwd | head -1 | cut -d: -f1,7 | tee /tmp/users(取出文件中倒数第9个用户的用户名和shell,显示到屏幕上并保存在/tmp/user中)
#ls /usr/bin | wc -l (统计/usr/bin目录下的文件个数)
标签:
原文地址:http://www.cnblogs.com/Mandylover/p/5068110.html