linux 通道流

接触linux一年多了,喜欢linux处理问题的方式,不像windows那么死板,非常灵活,这源于linux的命令秉承了unix的哲学:“ do one thing and do it well”。比如统计一个文件夹的文件数,在win下面,总的文件数只要看一看左下角就知道了,但如果统计具体类型的文件数就比较麻烦了,而在linux 下,都比较方便,

统计总的 文件数    $ls * | wc -l,
统计具体类型的文件 $ls *.sh | wc -l
但都不是一个命令,因为linux没有单独统计文件数的命令,但可以通过组合命令来达到统计文件数的目的,这里就用到了两个命令,ls 和 wc ,ls 相当于win的dir,而 wc -l 用于统计文件的行数,“|”表示通道,所以总的意思就是ls列出文件夹内的以.sh结尾的文件目录传递给wc统计出行数,这个值正好就是sh文件的个数。
喜欢用通道解决问题,因为简单,只要一句话。下面这个通道的意思就是把本目录下的所有.cpp文件重命名为.c文件:
ls *.cpp|sed s/'/.cpp'//g|awk '{MV = "mv"};{C = "/.c"};{ CPP="/.cpp"}; {print MV, $1 CPP , $1 C}'|sh
下面这个通道是把以所有以T开头的文件重命名为以D开头的文件:
ls | grep ^T |sed 's/^T//'|awk '{print "mv " "T"$1 " D"$1}'|sh
下面这个通道是把本目录下是生成run批处理文件,然后传递给bash后台运行
ls *.sh |awk '{print "chmod 755 *"}{print "echo "$1}{print "./"$1}'>run|bash &
还写了个比较长的,就不解释意思了
grep $(arping -f -c 1 10.0.0.5|awk '//[/ {print $5}'|sed 's//[//'|sed 's//]//'|awk '{if($1=="")print "no";else print $1;}') iplist | awk '{print $2}'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux IO数据通道: 1.虚拟文件系统层:屏蔽下层具体文件系统操作的差异,为上层的操作提供一个统一的接口。因为有了这个层次,所以可以把设备抽象成文件,使得操作设备就像操作文件一样简单。 2.具体的文件系统层:不同的文件系统(例如 ext2 和 NTFS)具体的操作过程也是不同的。每种文件系统定义了自己的操作集合。 3.引入 cache 层的目的是为了提高 linux 操作系统对磁盘访问的性能。 Cache 层在内存中缓存了磁盘上的部分数据。当数据的请求到达时,如果在 cache 中存在该数据且是最新的,则直接将数据传递给用户程序,免除了对底层磁盘的操作,提高了性能。 4.通用块层:接收上层发出的磁盘请求,并最终发出 IO 请求。该层隐藏了底层硬件块设备的特性,为块设备提供了一个通用的抽象视图。 5. IO 调度层:接收通用块层发出的 IO 请求,缓存请求并试图合并相邻的请求(如果这两个请求的数据在磁盘上是相邻的)。并根据设置好的调度算法,回调驱动层提供的请求处理函数,以处理具体的 IO 请求。 6.驱动层:驱动程序对应具体的物理块设备,它从上层中取出 IO 请求,并根据该 IO 请求中指定的信息,通过向具体块设备的设备控制器发送命令的方式,来操纵设备传输数据。 7.设备层是具体的物理设备。定义了操作具体设备的规范。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值