Linux——高效玩转命令行
【0】统计文件or压缩文件的行数
zcat file.gz | sed -n '$=' #迅速。直接打印出多少行。-n 取消默认的输出,使用安静(silent)模式 '$=' 不知道是什么意思,(知道的高手,请留言噢,qqq)。
zcat file.gz | awk ‘END{print NR}’ # 迅速。解压打开文件,输出文件最后一行行号
zcat file.gz | grep -n "" |awk -F : 'END{print $1}' #迅速。解压打开文件,文件每行前标出行号并用冒号连接,以冒号为分隔符输出最后一行的第一列
zcat file.gz | wc -l #统计大文件实在是太慢了
期待高效的方法。。。。。。
PS:
zcat file.gz <=> gzip -dc file.gz #压缩文件不能直接进行统计 ;
参考[0]中后半部分,利用上边的快速统计文件行数命令,写了两个shell脚本去统计目录下指定后缀的文件行数。
【1】批量快速删除文件或目录
1-1、快速删除大文件夹(注意目录后的结束符‘/’)(对于含有海量文件的目录,不能直接rm -rf删除,这样效率很慢:)
rsync -a --delete blank/ test/ 使用空文件夹 blank/ 覆盖原文件夹 test/
1-2、查找并删除文件
find ./ -type f -name "*.log" -mmin +120 -delete 删除当前目录下120min前的所有.log结尾文件
find ./ -type f -name "*.log"-mtime +300 -delete 删除当前目录下300天前的所有.log结尾文件
这种方式要比下边语句快2-3倍,并且当目录中文件非常多时不会出现列表过长无法删除的异常。
find ./ -name "*.log" -mmin +120 | xargs rm -f
或
find ./ -name "*.log" -mmin +120 -exec rm {} -f # -exec 表示后面执行命令 "{}" -f表示不需要确认 <=>
find ./ -name "*.log" -mmin +120 -exec rm -f "{}" \; #最后的分号不可少
1-3、
delete.sh:
for i in `ls -d path/shell/shell_pipe/step*qsub` # ls列出匹配上的目录 必须用-d 否则ls会把目录下的文件也都列出来
do
rm -r $i
done
for i in `ls path/*log`
do
rm $i
done
eg:快速删除目标文件中自己的qsub目录中的运行oe文件。
/share/app/msort/bin/msort -k rn5 file | grep 'name'|grep 'qsub'|awk '{print $8}'| while read ID #第八列是以qsub结尾的目录全路径,一个个给到$ID
do
for i in `ls $ID/*\.[eo]*` #匹配filename.e.12345 filename.o.12345 文件
do
#echo $i
rm $i
done
for i in `ls $ID/*\.log` #匹配filename.log 文件
do
#echo $i
rm $i
done
done
参考:
[0]http://www.jb51.net/article/61943.htm
[1]https://blog.csdn.net/ydyang1126/article/details/72841308 https://blog.csdn.net/shangzwz/article/details/10304469
Linux——高效玩转命令行的更多相关文章
- 最NB的发现 LINUX 下玩teamviewer 命令行设置密码
cd /opt/teamviewer/tv_bin/ [root@666 tv_bin]# ls desktop script teamviewerd TVGuiSlave.32 xdg-utils ...
- 手把手教你打造高效的 Kubernetes 命令行终端
Kubernetes 作为云原生时代的操作系统,熟悉和使用它是每名用户的必备技能.本文将介绍一些提高操作 Kubernetes 效率的技巧以及如何打造一个高效的 Kubernetes 命令行终端的方法 ...
- 【No.2】监控Linux性能25个命令行工具
接着上一篇博文继续 [No.1]监控Linux性能25个命令行工具 10:mpstat -- 显示每个CPU的占用情况 该命令可以显示每个CPU的占用情况,如果有一个CPU占用率特别高,那么有可能是一 ...
- 【No.1】监控Linux性能25个命令行工具
如果你的Linux服务器突然负载暴增,告警短信快发爆你的手机,如何在最短时间内找出Linux性能问题所在?通过以下命令或者工具可以快速定位 top vmstat lsof tcpdump netsta ...
- linux的基本的命令行操作
linux的基本的命令行操作 第一步前登陆你的服务器 //创建文件夹的方法 mkdir 文件名 //进入指定文件夹 cd 文件名 //查看文件夹下的内容 ls or ll // 查看当前的路径 pwd ...
- Python3.x:Linux下退出python命令行
Python3.x:Linux下退出python命令行 退出命令: quit() #或者 exit() #或者 Ctrl-D
- 第4章 ZK基本特性与基于Linux的ZK客户端命令行学习
第4章 ZK基本特性与基于Linux的ZK客户端命令行学习 4-1 zookeeper常用命令行操作 4-2 session的基本原理与create命令的使用
- Linux 性能监控之命令行工具
引言 对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.这些命令行工具可以在各种Linux系统下使用,可以用于监控和查找产生性能问题的原因.这个命令行工具列表提供了足够的 ...
- Linux系统——28个命令行下的工具
Unix/Linux下的28个命令行下的工具 下面是Kristóf Kovács收集的28个Unix/Linux下的28个命令行下的工具(原文链接),有一些是大家熟悉的,有一些是非常有用的,有一些是不 ...
随机推荐
- stm32f407以太网及USB OTG快速开发
stm32f407以太网及USB OTG快速开发 引言 想要快速完成网络协议栈和USB OTG功能,使用ST自家的工具STM32CubMx再好不过的了.如果你还不会使用,别着急下面我会一步一步的用图片 ...
- 随手科技(随手记)2017招聘Java工程师笔试题
一 如何解决多台web服务器粘性会话的问题? 粘性session:web服务器会把某个用户的请求,交给tomcat集群中的一个节点,以后此节点就负责该保存该用户的session,如果此节点挂掉,那么 ...
- Es6的用法
var callBack=[]; // 这个等于是个闭包,i会累加到3在做运算,所以结果都是6 ;i<=;i++) { callBack[i]=function(){ ; } } console ...
- Median
#include <stdio.h> #include <stdlib.h> #include <math.h> #define MAXSIZE 1000 int ...
- Shell脚本创建的文件夹末尾有两个问号怎么回事?
原因:Linux系统的换行符是"\r\n",Windows上的换行符是"\n",Windows上编写shell脚本上传Linux,Linux无法正确识别&quo ...
- ESP8266开发笔记
自1999年MIT的Kevin Ash-ton教授首次提出物联网(IoT)的概念至今已经有20年了.放眼现在国内外的物联网市场,真可谓是百家争鸣,方兴未艾,无数家软硬件公司在这里舞浪弄潮,逐鹿其中,上 ...
- [LintCode] 77. Longest common subsequences_ Medium tag: Dynamic Programming
Given two strings, find the longest common subsequence (LCS). Example Example 1: Input: "ABCD&q ...
- StrictRedis
StrictRedis对象⽅法 通过init创建对象,指定参数host.port与指定的服务器和端⼝连接,host默认为localhost,port默认为6379,db默认为0 sr = Strict ...
- VS2008生成解决方案卡顿、龟速
1.工具-选项-项目和解决方案-MS BUILD 项目生成输出详细信息中选择“诊断” 2.进入.NET环境的安装位置:C:\WINDOWS\Microsoft.NET\Framework\v3.5 , ...
- C# Window Service安装、卸载、恢复选项操作
using System;using System.Diagnostics;using System.Linq;using System.ServiceProcess; namespace ScmWr ...