重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
xargs 是给命令返腊传递参数的一个过滤器,也是组合多个命令的一个工具,它能够捕获一个命令的输出,然后传递给另外一个命令。之所以会用到这个命令,关键是由于 很多命令不支持笑世纤管道来传递参数 ,而日常工作中就有这个需要,所以就有了 xargs 命令。
创新互联是一家专业提供柴桑企业网站建设,专注与网站建设、成都做网站、H5技术、小程序制作等业务。10年已为柴桑众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
我们经常会用grep命令在文件中查找需要的内容,比如现在一个文件夹里面有9个文件,有三种格式txt, csv和gz压缩文件。
123里面存的内容都一样为
456里面存的内容也一样为
789里面存的都是
如果我现在要从所有的文件里面找“apple”
我会得到下面的结果,你会发现 grep不能从gz文件中查找内容
zgrep 这个命令可以解决这个问题,这样就不需要先解压然后再去查找了
会得到如下结果,显示了所有文件格式中找到的“apple”,并且显示了匹配的行号
如果只想在符合某种特征的文件中找你感兴趣的内容呢?比如在文件名中包含123的文件中查找“apple”。这时候就需要管道了,你需要先找到这样的文件然后再从中找“apple”
第一步找到名字中包含123的文件
会得到文件名中包含123的所有文件
第二步查找“apple”
然后我们再来从中找“apple”,你会发现下面这条命令不work,你啥都得不到
这就是我们开篇提到的, 很多命令不支持管道来传递参数。 这个时候 xargs 就派上用场了
同时用上 zgrep ,这碰仿样gz文件也一起找了
那么,如果我们想从某一种特定格式的文件中(比如csv文件)找特定的内容该怎么做呢?大家应该能触类旁通,举一反三了吧!
Linux xargs grep zgrep命令
ps 命令的作用是显示进程信息的;
| 符号,是个管道符号,表示ps 和 grep 命令同时执行;
grep 命令是查找(Global Regular Expression Print),能使用正则表达式搜索文本,然后把匹配的行显示出来;
ps命令有一些参数:
-e : 显示所有进程
-f : 全格式
-h : 不显示标题
-l : 长格式
-w : 宽输出
a :显示终端上的所有进程,包括其他用户的进程。
r :只显示正在运行的进程。
u :以用户为主的格式来显示程序状况。
x :显示所有程序,不以终端机来区分。
结果信息从前到后依次是:
UID PID PPID C STIME TTY TIME CMD
zzw 14124 13991 0 00:38 pts/0 00:00:00 grep –color=auto dae
Linux中的top命令显示系统上正在运行的进程。它是系统管理员最重要的工具之一。被广泛用于监视服务器的负载。top命令是一个交互命令。在运行top的时候还可以运行很多命令。
N – 以 PID 的大小的顺序排列表示进程列表
P – 以 CPU 占用率大小的顺序排列进程列表
M – 以内存占用率大小的顺序排列进程列表
q – 退出 top
h – 帮助
1 系统运行时间和平均负载
这些字段显示:当前时间、系统已运行的时间、当前登录用户尘察庆的数量、相应最近5、10和15分钟内的平均负载。
2 任务
第二行显示的是任务或者进程的总结。进程可以处于不同的状态。派握这里显示了全部进程没猜的数量。除此之外,还有正在运行、睡眠、停止、僵尸进程的数量(僵尸是一种进程的状态)。这些进程概括信息可以用’t’切换显示。
3 CPU 状态
下一行显示的是CPU状态。 这里显示了不同模式下的所占CPU时间的百分比。这些不同的CPU时间表示:
us, user: 运行(未调整优先级的) 用户进程的CPU时间
sy,system: 运行内核进程的CPU时间
ni,niced:运行已调整优先级的用户进程的CPU时间
wa,IO wait: 用于等待IO完成的CPU时间
hi:处理硬件中断的CPU时间
si: 处理软件中断的CPU时间
st:这个虚拟机被hypervisor偷去的CPU时间(译注:如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的)。
4 内存使用
接下来两行显示内存使用率,有点像’free’命令。第一行是物理内存使用,第二行是虚拟内存使用(交换空间)。
物理内存显示如下:全部可用内存、已使用内存、空闲内存、缓冲内存。相似地:交换部分显示的是:全部、已使用、空闲和缓冲交换空间。
5 各列的意思
PID 进程ID,进程的唯一标识符
USER 进程所有者的实际用户名。
PR 进程的调度优先级。这个字段的一些值是’rt’。这意味这这些进程运行在实时态。
NI 进程的nice值(优先级)。越小的值意味着越高的优先级。
VIRT 进程使用的虚拟内存。
RES 驻留内存大小。驻留内存是任务使用的非交换物理内存大小。
SHR SHR是进程使用的共享内存。
S 这个是进程的状态。它有以下不同的值:
D – 不可中断的睡眠态。
R – 运行态
S – 睡眠态
T – 被跟踪或已停止
Z – 僵尸态
%CPU 自从上一次更新时到现在任务所使用的CPU时间百分比。
%MEM 进程使用的可用物理内存百分比。
TIME+ 任务启动后到现在所使用的全部CPU时间,精确到百分之一秒。
COMMAND 运行进程所使用的命令。
注意 :不同发行版的top命令在各种细节有不同,如果发现不同时,请读你的帮助手册和命令内的帮助。)
kill、kill-15、kill-9区别:
执行kill(默认kill -15)命令,系统会发送一个SIGTERM信号给对应的程序,大部分程序接收到SIGTERM信号后,会先释放自己的资源,然后再停止。用法kill pid。
kill -15 pid。
kill -9命令,系统给对应程序发送的信号是SIGKILL,即exit。exit信号不会被系统阻塞,所以kill -9能顺利杀掉进程。用法kill -9 pid。
tail -n 1000:显示最后1000行
tail -n +1000:从1000行开始显示,显示1000行以后的
head -n 1000:显示前面1000行
cat a.txt 显示文件
vim xx.conf 编辑文件
打开文件后,按insert键进入编辑模式;编辑完后,按esc建退出编辑模式;按shift+冒号后,输入wq保存退出,wq!保存强制退出,q不保存退出
在根目录模糊查找名字含java的文件
服务器端常有很多压缩过的日志文件,当需要查找日志中某些特定信息的时候,为了避免解压文件,可以使用zgrep,zcat等命令查找、查看压缩文件中的信息
zgrep ' 输入你要查找的东东' /目录 /文件 .gz 或者.log (当日)
grep ' 输入你要查找的东东' /目录 /文件 .gz 或者.log (非当日的压缩文件)
例如: zgrep 'callMktCamLoad' app.log.2019-12-03-*.gz
rpm包安装的,可以用 rpm -qa 看到,如果要查找某软件包是否安装,用 rpm -qa | grep "软件或者包的名字"
以deb包安装的,可以用 dpkg -l 看到。如果是查找指定软件包,用 dpkg -l | grep "软件或者包的名字"
yum方法安装的,可以用 yum list installed 查找,如果是查找指定包,用 yum list installed | grep "软件名或者包名"
语法:unzip 〔选项〕 压缩文件名.zip\x0d\x0a\x0d\x0a 各选项的含义分别为:\x0d\x0a\x0d\x0a -x 文件列表 解压缩文件,但不包括指定的file文件。\x0d\x0a\x0d\x0a -v 查看压缩文件目录,但不解压。\x0d\x0a\x0d\x0a -t 测试文件有无损坏,但不解压。\x0d\x0a\x0d\x0a -d 目录 把压缩文件解到指定目录下。\x0d\x0a\x0d\x0a -z 只显示压缩文件的注解。\x0d\x0a\x0d\x0a -n 不覆盖已经存在的文件。\x0d\x0a\x0d\x0a -o 覆盖已存在的文件且不要求用户确认。\x0d\x0a\x0d\x0a -j 不重建文档的目录结构,把所有文件解压到同一目录下。\x0d\x0a\x0d\x0a 例1:将压缩文件text.zip在当前目录下解亩陆辩压缩。\x0d\x0a\x0d\x0a $ unzip text.zip\x0d\x0a\x0d\x0a 例2:将压缩文件text.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件。\x0d\x0a\x0d\x0a $ unzip -n text.zip -d /tmp\x0d\x0a\x0d\x0a 例3:查看压缩文件目录,但不解压。\x0d\x0a\x0d\x0a $ unzip -v text.zip\x0d\x0a\x0d\x0a zgrep命令\x0d\x0a\x0d\x0a 这个命令的功能是在悉敏压缩文件中寻找匹配的正则表达式,用法和grep命令一样,只不过操作的对象是压缩文件。如果用户想看看在某个压缩文件中有没有某一句话,便可用zgrep命令。迅缺