51CTO博客开发老男孩的linux博客
对本机网卡实时流量进行监控。# cat network1.sh#!/bin/bash #network1.sh while : ; do date_time=`date +%m"-"%d" "%k":"%M` &nbs
这两天在看awk,想到了之前的一个例子:如何获取本机的IP地址?最早的时候我这样:# ifconfig eth0 | grep 'inet addr' | cut -f 2 -d ":" | cut -f 1 -d " "然后我这样:# ifconfig eth0 | grep 'inet addr'
使用awk判断闰年。(能被4整除但不能被100整除、能被400整除为闰年。)# cat year.txt1982198520122003300012001717186919971999# cat leap_year.txt #! /bin/bash # leap_year.awk BEGIN { print "pick leap yers:" } { y
awk模式匹配语法/正则表达式/ {匹配后的操作}#cat shell_recorder.awk#! /bin/bash # shell_recorder.awk BEGIN { print "SHELL USAGE:" } /bash/{++bash} /nologin/{++nologin} END { print "We have "bash" bash user
script和scriptreplay命令负责把终端会话记录到一个文件中,可以通过录制终端会话来制作命令行技巧视频教程。script-a 将会话内容追加至 file文件中,script默认会产生typescript文件。-c command 运行一个命令而不是一个交互式的shell,这对于捕获标准输出不是tty的程序是非常简单的。-e 返回子进程
计算一组命令所花费时间。#cat time_take.sh#! /bin/bash #time_take.sh start=$(date +%s) for ip in 192.168.2.{1..50} do ping $ip -c 2 &> /dev/null if [ $? -eq 0 ] then ec
今天不小心被引号给折腾了一下,然后就......关于''和" ",手头有一本书称为强引用和弱引用,在网上搜了一下有一篇“Shell十三问”中这样写:* hard quote:' ' (单引号),凡在 hard quote 中的所有 meta 均被关闭。* soft quote:" " (双引号),在 soft quote 中大
打印出10条最常用的命令。#cat top10.sh#! /bin/bash #top10.sh printf "COMMAND\tCOUNT\n" cat ~/.bash_history | awk '{list[$1]++; } END{ for (i in list) { printf ("%s\t%d\n",i,list[i]);} }' | sort -nrk2 | he
列出指定IP段主机活动状态cat ping.sh#! /bin/bash # ping.sh for ip in 192.168.1.{1..255} do ping $ip -c 2 &> /dev/null if [ $? -eq 0 ] then echo $ip is alive. else echo $ip
使用join连接字段。#cat a# # d susan 150 wxw 132 rose 228 lee 595$cat b # date # li ang susan 100 lee 200 wxw 150 rose 300#cat merge.sh#! /bin/sh # merge.sh sed '/^#/d' $
sed通过对输入数据执行任意数量用户指定的编辑操作。sed是基于行的,因此,按顺序对每一行执行命令。然后,sed将其结果写入标准输出(stdout),它不修改任何输入文件。 # sed -e '1,3d' /data/shell/text.txt 删除text.txt文件的第1到3行。 -e 允许多项编辑。 注意: 1、根本没有
基本文本处理 sort 排序文件 -d 使用字典顺序排序。 -f 比较前将所有小写字母改成大写字母 -I 比较中忽略所有非打印字符。 -u 对排序后认为相同的行只保留其中一行。 -n 按算数值对数字字段进行排序。 -r 逆序排列。 #sort -t: -k3 -n /etc/group 对/etc/group按照gid的大小进行排序。sort命令截取了
查看当前内存使用情况。 #!/bin/bash mem_quota=80 mem_total=`cat /proc/meminfo | grep MemTotal | awk '{print $2}'` mem_free=`cat /proc/meminfo&n
判断输入用户名是否存在 #!/bin/bash echo "Please input username:" read username grep "$username" /etc/passwd >&nbs
1、利用直接执行(sh/bash或./)的方式来执行脚本。 2、利用source(或 .)来执行脚本。 这两种方式如果从执行结果来看,并没有什么区别。 下面看个例子: cat name.sh #!/bin/bash echo "Please input your name:" read&nb
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号