Linux基本应用-管道命令的使用

Linux基本应用-管道命令的使用

[if !supportLists]Ø[endif]【课程目的】

1.了解命令行中使用KaliLinux命令的特点

2.掌握管道命令的使用

3.结合Shell脚本熟悉管道的使用

【实现场景】

1. VMware

Workstation虚拟机

2. KaliLinux操作系统

【课程原理】

管道基础命令

ps

要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令(Process Status)就是最基本同时也是非常强大的进程查看命令.

使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到的.

ps为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;

如果想对进程时间监控,应该用top工具。

如果直接用ps命令,会显示所有进程的状态,通常结合grep命令查看某进程的状态。

使用示例:

root@kali:~# ps aux|grep ./update_stock

root20300.00.1128881600 pts/0S+06:380:00 grep ./update_stock

ps aux输出格式:

USER PID %CPU %MEM VSZ RSS TTY STAT STARTTIME COMMAND

格式说明:

USER:进程拥有者

PID: pid

%CPU:占用的CPU使用率

%MEM:占用的记忆体使用率

VSZ:占用的虚拟记忆体大小

RSS:占用的记忆体大小

TTY:终端的次要装置号码(minordevice number of tty)

STAT:该行程的状态,linux的进程有5种状态:

D不可中断uninterruptible sleep (usually IO)

R运行runnable(on run queue)

S中断sleeping

T停止traced orstopped

Z僵死a defunct

(”zombie”) process

注:其它状态还包括W(无驻留页), <(高优先级进程), N(低优先级进程), L(内存锁页).

START:行程开始时间

TIME:执行的时间

COMMAND:所执行的指令

[if !supportLists]2)[endif]Grep

grep (global search

regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符,fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义,不再特殊。linux使用GNU版本的grep。它功能更强,可以通过-G、-E、-F命令行选项来使用egrep和fgrep的功能。

格式:

[root@www ~]# grep [-acinv] [--color=auto] '搜寻字符串'filename

选项与参数:

-a:将binary文件以text文件的方式搜寻数据

-c:计算找到'搜寻字符串'的次数

-i:忽略大小写的不同,所以大小写视为相同

-n:顺便输出行号

-v:反向选择,亦即显示出没有'搜寻字符串'内容的那一行!

--color=auto:可以将找到的关键词部分加上颜色的显示喔!

使用示例:

root@kali:~#cat /etc/passwd | grep root

root:x:0:0:root:/root:/bin/bash

root@kali:~# ifconfig

netstat

Netstat命令用于显示各种网络相关信息,如网络连接,路由表,接口状态连接,多播成员等等。

参数:

-a (all)显示所有选项,默认不显示LISTEN相关

-t (tcp)仅显示tcp相关选项

-u (udp)仅显示udp相关选项

-n拒绝显示别名,能显示数字的全部转化成数字。

-l仅列出有在Listen (监听)的服務状态

-p显示建立相关链接的程序名

-r显示路由信息,路由表

-e显示扩展信息,例如uid等

-s按各个协议进行统计

-c每隔一个固定时间,执行该netstat命令。

awk

awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。

awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk是AWK的GNU版本。

awk其名称得自于它的创始人Alfred Aho、Peter Weinberger和Brian Kernighan姓氏的首个字母。实际上AWK的确拥有自己的语言:AWK程序设计语言,三位创建者已将它正式定义为“样式扫描和处理语言”。它允许您创建简短的程序,这些程序读取输入文件、为数据排序、处理数据、对输入执行计算以及生成报表,还有无数其他的功能。

格式:

awk'{print $1}' {filenames}

参数:

RGC命令行参数个数

ARGV命令行参数排列

ENVIRON支持队列中系统环境变量的使用

FILENAMEawk浏览的文件名

FNR浏览文件的记录数

FS设置输入域分隔符,等价于命令行-F选项

NF浏览记录的域的个数

NR已读的记录数

OFS输出域分隔符

ORS输出记录分隔符

RS控制记录分隔符

sort

格式:

sort -t '' -k1 fileNmae

参数:

-kn这里n为数字从1开始依次增加代表排序的位置

[if !supportLists]6)[endif]dmesg

kernel会将开机信息存储在ring

buffer中。若是开机时来不及查看信息,开机信息亦保存在/var/log目录中,名称为dmesg的文件里。

格式:

dmesg [-cn][-s <缓冲区大小>]

参数:

-c显示信息后,清除ring buffer中的内容。

-s<缓冲区大小>预设置为8196,刚好等于ring

buffer的大小。

-n设置记录信息的层级。

find

查找文件

find ./ -type f

查找目录

find ./ -type d

查找名字为test的文件或目录

find ./ -name test

查找名字符合正则表达式的文件,注意前面的‘.*’(查找的文件带有目录)

find ./ -regex .*so.*\.gz

查找目录并列出目录下的文件(为找到的每一个目录单独执行ls命令,没有选项-print时文件列表前一行不会显示目录名称)

find ./ -type d -print-exec ls {} \;

查找目录并列出目录下的文件(为找到的每一个目录单独执行ls命令,执行命令前需要确认)

find ./ -type d -ok ls {}\;

查找目录并列出目录下的文件(将找到的目录添加到ls命令后一次执行,参数过长时会分多次执行)

find ./ -type d -exec ls{} +

查找文件名匹配*.c的文件

find ./ -name \*.c

打印test文件名后,打印test文件的内容

find ./ -name test -print-exec cat {} \;

不打印test文件名,只打印test文件的内容

find ./ -name test -execcat {} \;

查找文件更新日时在距现在时刻二天以内的文件

find ./ -mtime -2

查找文件更新日时在距现在时刻二天以上的文件

find ./ -mtime +2

查找文件更新日时在距现在时刻一天以上二天以内的文件

find ./ -mtime 2

查找文件更新日时在距现在时刻二分以内的文件

find ./ -mmin -2

查找文件更新日时在距现在时刻二分以上的文件

find ./ -mmin +2

查找文件更新日时在距现在时刻一分以上二分以内的文件

find ./ -mmin 2

查找文件更新时间比文件abc的内容更新时间新的文件

find ./ -newer abc

查找文件访问时间比文件abc的内容更新时间新的文件

find ./ -anewer abc

查找空文件或空目录

find ./ -empty

查找空文件并删除

find ./ -empty -type f-print -delete

查找权限为644的文件或目录(需完全符合)

find ./ -perm 664

查找用户/组权限为读写,其他用户权限为读(其他权限不限)的文件或目录

find ./ -perm -664

查找用户有写权限或者组用户有写权限的文件或目录

find ./ -perm /220

find ./ -perm /u+w,g+w

find ./ -perm /u=w,g=w

查找所有者权限有读权限的目录或文件

find ./ -perm -u=r

查找用户组权限有读权限的目录或文件

find ./ -perm -g=r

查找其它用户权限有读权限的目录或文件

find ./ -perm -o=r

查找所有者为lzj的文件或目录

find ./ -user lzj

查找组名为gname的文件或目录

find ./ -group gname

查找文件的用户ID不存在的文件

find ./ -nouser

查找文件的组ID不存在的文件

find ./ -nogroup

查找有执行权限但没有可读权限的文件

find ./ -executable \!-readable

查找文件size小于10个字节的文件或目录

find ./ -size -10c

查找文件size等于10个字节的文件或目录

find ./ -size 10c

查找文件size大于10个字节的文件或目录

find ./ -size +10c

查找文件size小于10k的文件或目录

find ./ -size -10k

查找文件size小于10M的文件或目录

find ./ -size -10M

whereis

whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。和find相比,whereis查找的速度非常快,这是因为linux系统会将系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通过遍历硬盘来查找,效率自然会很高。但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis和locate查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。

格式:

whereis [-bmsu] [BMS目录名-f ]文件名

功能:

whereis命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位置。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。whereis程序还具有搜索源代码、指定备用搜索路径和搜索不寻常项的能力。

参数:

-b定位可执行文件。

-m定位帮助文件。

-s定位源代码文件。

-u搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。

-B指定搜索可执行文件的路径。

-M指定搜索帮助文件的路径。

-S指定搜索源代码文件的路径。

实例:

实例1:将和**文件相关的文件都查找出来

命令:

whereis svn

输出:

[root@localhost ~]#whereis tomcat

tomcat:

[root@localhost ~]#whereis svn

svn: /usr/bin/svn/usr/local/svn /usr/share/man/man1/svn.1.gz

说明:

tomcat没安装,找不出来,svn安装找出了很多相关文件

[if !supportLists]9)[endif]>这个会覆盖掉原来的数据

[if !supportLists]10)[endif]>>逐行增加数据

[if !supportLists]二、[endif]Shell脚本【案例】

#! /bin/bash

for ip in `seq 100`

do

Ping192.168.1.$ip –c 1 | grep ttl | awk ‘{print $4}’ | awk –F:‘{print $1}’

done


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容

  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,016评论 2 34
  • 查询命令 find * find [指定查找目录] [查找规则] [查找完后执行的action]* find ~/...
    chapa阅读 678评论 0 5
  • 0. 前言 因为之前已经上架过一款 App(Swift �语言),所以开发者账号、证书这些都已经搞定了,如果你是第...
    wuqxuan阅读 14,857评论 12 36
  • 刚刚结束《神奇》戏份拍摄的冯德伦,以CONVERSE最新一季产品代言人的身份亮相香港,引发大批媒体关注。继执导华谊...
    qzuser_c168阅读 359评论 0 0
  • 人的潜力是无穷的,别给自己的思维设限,更别给自己的人生设限。你努力得越早,你主宰命运的时间就更早。
    偶尔随记阅读 251评论 0 0