linux 过滤文件?linux过滤文件内容命令

大家好,今天小编来为大家解答以下的问题,关于linux 过滤文件,linux过滤文件内容命令这个很多人还不知道,现在让我们一起来看看吧!

Linux里面grep -v命令作用是什么

grep命令

grep

1.作用

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

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

2.格式及主要参数

grep [options]

主要参数: grep--help可查看

-c:只输出匹配行的计数。

-i:不区分大小写。

-h:查询多文件时不显示文件名。

-l:查询多文件时只输出包含匹配字符的文件名。

-n:显示匹配行及行号。

-s:不显示不存在或无匹配文本的错误信息。

-v:显示不包含匹配文本的所有行。

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

pattern正则表达式主要参数:

\:忽略正则表达式中特殊字符的原有含义。

^:匹配正则表达式的开始行。

$:匹配正则表达式的结束行。

\<:从匹配正则表达式的行开始。

\>:到匹配正则表达式的行结束。

[ ]:单个字符,如[A]即A符合要求。

[- ]:范围,如[A-Z],即A、B、C一直到Z都符合要求。

.:所有的单个字符。

*:所有字符,长度可以为0。

3.grep命令使用简单实例

itcast$ grep‘test’ d*

显示所有以d开头的文件中包含 test的行

itcast$ grep‘test’ aa bb cc

显示在aa,bb,cc文件中匹配test的行。

itcast$ grep‘[a-z]\{5\}’ aa

显示所有包含每个字符串至少有5个连续小写字符的字符串的行。

itcast$ grep‘wesest.*\1′ aa

如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着另外一个es(\1),找到就显示该行。如果用egrep或grep-E,就不用”\”号进行转义,直接写成’w(es)t.*\1′就可以了。

4.grep命令使用复杂实例

明确要求搜索子目录:

grep-r

或忽略子目录

grep-d skip

如果有很多输出时,您可以通过管道将其转到’less’上阅读:

itcast$ grep magic/usr/src/Linux/Documentation/*| less

这样,您就可以更方便地阅读。

有一点要注意,您必需提供一个文件过滤方式(搜索全部文件的话用*)。如果您忘了,’grep’会一直等着,直到该程序被中断。如果您遇到了这样的情况,按,然后再试。

下面还有一些有意思的命令行参数:

grep-i pattern files:不区分大小写地搜索。默认情况区分大小写,

grep-l pattern files:只列出匹配的文件名,

grep-L pattern files:列出不匹配的文件名,

grep-w pattern files:只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),

grep-C number pattern files:匹配的上下文分别显示[number]行,

grep pattern1| pattern2 files:显示匹配 pattern1或 pattern2的行,

例如:grep"abc\|xyz" testfile表示过滤包含abc或xyz的行

grep pattern1 files| grep pattern2:显示既匹配 pattern1又匹配 pattern2的行。

grep-n pattern files即可显示行号信息

grep-c pattern files即可查找总行数

还有些用于搜索的特殊符号:\<和\>分别标注单词的开始与结尾。

例如:

grep man*会匹配‘Batman’、’manic’、’man’等,

grep‘\<man’*匹配’manic’和’man’,但不是’Batman’,

grep‘\<man\>’只匹配’man’,而不是’Batman’或’manic’等其他的字符串。

‘^’:指匹配的字符串在行首,

linux怎样加载文件过滤驱动

文件系统过滤驱动是一种可选的,为文件系统提供具有附加值功能的驱动程序。文件系统过滤驱动是一种核心模式组件,它作为Windows NT执行体的一部分运行。

文件系统过滤驱动可以过滤一个或多个文件系统或文件系统卷的I/O操作。按不同的种类划分,文件系统过滤驱动可以分成日志记录、系统监测、数据修改或事件预防几类。通常,以文件系统过滤驱动为核心的应用程序有防毒软件、加密程序、分级存储管理系统等。

二、文件系统过滤驱动并不是设备驱动

设备驱动是用来控制特定硬件I/O设备的软件组件。例如:DVD存储设备驱动是一个DVD驱动。

相反,文件系统过滤驱动与一个或多个文件系统协同工作来处理文件I/O操作。这些操作包括:创建、打开、关闭、枚举文件和目录;获取和设置文件、目录、卷的相关信息;向文件中读取或写入数据。另外,文件系统过滤驱动必须支持文件系统特定的功能,例如缓存、锁定、稀疏文件、磁盘配额、压缩、安全、可恢复性、还原点和卷装载等。

下面两部分详细的阐述了文件系统过滤驱动和设备驱动之间的相似点与不同点。

三、安装文件系统过滤驱动

对于Windows XP和后续操作系统来说,可以通过INI文件或安装应用程序来安装文件系统过滤驱动(对于Windows 2000和更早的操作系统,过滤驱动通常通过服务控制管理器Service Control Manager来进行安装)。

四、初始化文件系统过滤驱动

与设备驱动类似,文件系统过滤驱动也使用DriverEntry例程进行初始化工作。在驱动程序加载后,加载驱动相同的组件将通过调用驱动程序的 DriverEntry例程来对驱动程序进行初始化工作。对于文件系统过滤驱动来说,加载和初始化过滤驱动的系统组件为I/O管理器。

DriverEntry例程运行于系统线程上下文中,其IRQL= PASSIVE_LEVEL。本例程可分页,详细信息参见MmLockPagableCodeSection。

DriverEntry例程定义如下:

NTSTATUS

DriverEntry(

IN PDRIVER_OBJECT DriverObject,

IN PUNICODE_STRING RegistryPath

)

本例程有两个输入参数。第一个参数,DriverObject为系统在文件系统过滤驱动加载时所创建的驱动对象;第二个参数,RegistryPath为包含驱动程序注册键路径的Unicode字符串。

文件系统过滤驱动按如下顺序执行DriverEntry例程:

01、创建控制设备对象:

文件系统过滤驱动的DriverEntry例程通常以创建控制设备对象作为该例程的起始。创建控制设备对象的目的在于允许应用程序即使在过滤驱动加载到文件系统或卷设备对象之前也能够直接与过滤驱动进行通信。

注意:文件系统也会创建控制设备对象。当文件系统过滤驱动将其自身附加到文件系统之上时(而不是附加到某一特定文件系统卷),过滤驱动同样将其自身附加到文件系统的控制设备对象之上。

在FileSpy驱动范例中,控制设备对象按如下方式创建:

RtlInitUnicodeString(&nameString, FILESPY_FULLDEVICE_NAME);

status= IoCreateDevice(

DriverObject,//DriverObject

0,//DeviceExtensionSize

&nameString,//DeviceName

FILE_DEVICE_DISK_FILE_SYSTEM,//DeviceType

FILE_DEVICE_SECURE_OPEN,//DeviceCharacteristics

FALSE,//Exclusive

&gControlDeviceObject);//DeviceObject

RtlInitUnicodeString(&linkString, FILESPY_DOSDEVICE_NAME);

status= IoCreateSymbolicLink(&linkString,&nameString);

与文件系统不同,文件系统过滤驱动并不是一定要为其控制设备对象命名。如果传递给DeviceName参数一个非空(Non-NULL)值,该值将作为控制设备对象的名称。接下来,在前面的代码范例中DriverEntry可以调用IoCreateSymbolicLink例程来将该对象的核心模式名称与应用程序可见的用户模式名称关联到一起(同样可以通过调用IoRegisterDeviceInterface来使设备对象对应用程序可见)。

注意:由于控制设备对象是唯一不会附加到设备堆栈中的设备对象,因此控制设备对象是唯一的可安全命名的设备对象。由此,是否为文件系统过滤驱动的控制设备对象是否命名是可选的。

注意:文件系统的控制设备对象必须命名。过滤设备对象从不命名。

linux 好用的命令

Linux运维人员必会的120个命令

跟老男孩学Linux运维:核心系统命令实战

前言

第1章 Linux命令行简介/ 1

1.1Linux命令行概述/ 1

1.2在Linux命令行下查看命令帮助/ 4

1.3Linux shutdown reboot halt/ 9

关机:

shutdown-h now

halt

init 0

第2章文件和目录操作命令/ 13

2.1pwd:显示当前所在的位置/ 13

2.2cd:切换目录/ 16

2.3tree:以树形结构显示目录下的内容/ 18

2.4mkdir:创建目录/ 22

2.5touch:创建空文件或改变文件的时间戳属性/ 27

2.6ls:显示目录下的内容及相关属性信息/ 30

2.7cp:复制文件或目录/ 39

2.8mv:移动或重命名文件/ 42

2.9rm:删除文件或目录/ 45

2.10rmdir:删除空目录/ 48

2.11ln:硬链接与软链接/ 49

2.12readlink:查看符号链接文件的内容/ 54

2.13find:查找目录下的文件/ 55

2.14xargs:将标准输入转换成命令行参数/ 68

2.15rename:重命名文件/ 71

2.16basename:显示文件名或目录名/ 72

2.17dirname:显示文件或目录路径/ 72

2.18chattr:改变文件的扩展属性/ 73

2.19lsattr:查看文件扩展属性/ 75

2.20file:显示文件的类型/ 76

2.21md5sum:计算和校验文件的MD5值/ 77

2.22chown:改变文件或目录的用户和用户组/ 80

2.23chmod:改变文件或目录权限/ 81

2.24chgrp:更改文件用户组/ 85

2.25umask:显示或设置权限掩码/ 86

2.26老男孩从新手成为技术大牛的心法/ 90

第3章文件过滤及内容编辑处理命令/ 91

3.1cat:合并文件或查看文件内容/ 91

3.2tac:反向显示文件内容/ 103

3.3more:分页显示文件内容/ 104

3.4less:分页显示文件内容/ 107

3.5head:显示文件内容头部/ 109

3.6tail:显示文件内容尾部/ 111

3.7tailf:跟踪日志文件/ 114

3.8cut:从文本中提取一段文字并输出/ 115

3.9split:分割文件/ 117

3.10paste:合并文件/ 118

3.11sort:文本排序/ 123

3.12join:按两个文件的相同字段合并/ 127

3.13uniq:去除重复行/ 129

3.14wc:统计文件的行数、单词数或字节数/ 131

3.15iconv:转换文件的编码格式/ 133

3.16dos2unix:将DOS格式文件转换成UNIX格式/ 134

3.17diff:比较两个文件的不同/ 135

3.18vimdiff:可视化比较工具/ 138

3.19rev:反向输出文件内容/ 139

3.20tr:替换或删除字符/ 140

3.21od:按不同进制显示文件/ 143

3.22tee:多重定向/ 145

3.23vi/vim:纯文本编辑器/ 147

3.24老男孩逆袭思想:做Linux运维的多个好处/ 152

第4章文本处理三剑客/ 153

4.1grep:文本过滤工具/ 153

4.2sed:字符流编辑器/ 159

4.3awk基础入门/ 165

第5章 Linux信息显示与搜索文件命令/ 176

5.1uname:显示系统信息/ 176

5.2hostname:显示或设置系统的主机名/ 178

5.3dmesg:系统启动异常诊断/ 179

5.4stat:显示文件或文件系统状态/ 181

5.5du:统计磁盘空间使用情况/ 183

5.6date:显示与设置系统时间/ 186

5.7echo:显示一行文本/ 190

5.8watch:监视命令执行情况/ 193

5.9which:显示命令的全路径/ 195

5.10whereis:显示命令及其相关文件全路径/ 196

5.11locate:快速定位文件路径/ 197

5.12updatedb:更新mlocate数据库/ 199

5.13老男孩逆袭思想:新手在工作中如何问问题不会被鄙视/ 200

第6章文件备份与压缩命令/ 201

6.1tar:打包备份/ 201

6.2gzip:压缩或解压文件/ 208

6.3zip:打包和压缩文件/ 211

6.4unzip:解压zip文件/ 212

6.5scp:远程文件复制/ 214

6.6rsync:文件同步工具/ 216

6.7老男孩逆袭思想:新手如何高效地提问/ 220

第7章 Linux用户管理及用户信息查询命令/ 222

7.1 useradd:创建用户/ 222

7.2usermod:修改用户信息/ 227

7.3userdel:删除用户/ 229

7.4groupadd:创建新的用户组/ 230

7.5groupdel:删除用户组/ 231

7.6passwd:修改用户密码/ 232

7.7chage:修改用户密码有效期/ 237

7.8chpasswd:批量更新用户密码/ 238

7.9su:切换用户/ 240

7.10visudo:编辑sudoers文件/ 242

7.11sudo:以另一个用户身份执行命令/ 244

7.12id:显示用户与用户组的信息/ 248

7.13w:显示已登录用户信息/ 249

7.14who:显示已登录用户信息/ 250

7.15users:显示已登录用户/ 252

7.16whoami:显示当前登录的用户名/ 253

7.17last:显示用户登录列表/ 253

7.18lastb:显示用户登录失败的记录/ 254

7.19lastlog:显示所有用户的最近登录记录/ 255

第8章 Linux磁盘与文件系统管理命令/ 257

8.1fdisk:磁盘分区工具/ 257

8.2partprobe:更新内核的硬盘分区表信息/ 265

8.3tune2fs:调整ext2/ext3/ext4文件系统参数/ 266

8.4parted:磁盘分区工具/ 268

8.5mkfs:创建Linux文件系统/ 272

8.6dumpe2fs:导出ext2/ext3/ext4文件系统信息/ 274

8.7resize2fs:调整ext2/ext3/ext4文件系统大小/ 275

8.8fsck:检查并修复Linux文件系统/ 278

8.9dd:转换或复制文件/ 281

8.10mount:挂载文件系统/ 284

8.11umount:卸载文件系统/ 288

8.12df:报告文件系统磁盘空间的使用情况/ 289

8.13mkswap:创建交换分区/ 293

8.14swapon:激活交换分区/ 294

8.15swapoff:关闭交换分区/ 295

8.16sync:刷新文件系统缓冲区/ 296

第9章 Linux进程管理命令/ 298

9.1ps:查看进程/ 298

9.2pstree:显示进程状态树/ 305

9.3pgrep:查找匹配条件的进程/ 306

9.4kill:终止进程/ 307

9.5killall:通过进程名终止进程/ 310

9.6pkill:通过进程名终止进程/ 311

9.7top:实时显示系统中各个进程的资源占用状况/ 313

9.8nice:调整程序运行时的优先级/ 320

9.9renice:调整运行中的进程的优先级/ 323

9.10nohup:用户退出系统进程继续工作/ 324

9.11strace:跟踪进程的系统调用/ 325

9.12ltrace:跟踪进程调用库函数/ 332

9.13runlevel:输出当前运行级别/ 334

9.14init:初始化Linux进程/ 335

9.15service:管理系统服务/ 335

第10章 Linux网络管理命令/ 338

10.1ifconfig:配置或显示网络接口信息/ 338

10.2ifup:激活网络接口/ 343

ifup eth0

10.3ifdown:禁用网络接口/ 343

ifdown eth0

service network restart(/etc/init.d/network restart)激活整个网络,所有网卡。

10.4route:显示或管理路由表/ 344

10.5arp:管理系统的arp缓存/ 350

10.6ip:网络配置工具/ 351

10.7netstat:查看网络状态/ 358

10.8ss:查看网络状态/ 362

10.9ping:测试主机之间网络的连通性/ 363

10.10traceroute:追踪数据传输路由状况/ 366

10.11arping:发送arp请求/ 367

10.12telnet:远程登录主机/ 369

10.13nc:多功能网络工具/ 370

10.14ssh:安全地远程登录主机/ 373

10.15wget:命令行下载工具/ 376

10.16mailq:显示邮件传输队列/ 379

10.17mail:发送和接收邮件/ 381

10.18nslookup:域名查询工具/ 386

10.19dig:域名查询工具/ 389

10.20host:域名查询工具/ 393

10.21nmap:网络探测工具和安全/端口扫描器/ 394

10.22tcpdump:监听网络流量/ 398

第11章 Linux系统管理命令/ 407

11.1lsof:查看进程打开的文件/ 407

11.2uptime:显示系统的运行时间及负载/ 411

11.3free:查看系统内存信息/ 411

11.4iftop:动态显示网络接口流量信息/ 413

11.5vmstat:虚拟内存统计/ 415

11.6mpstat:CPU信息统计/ 419

11.7iostat:I/O信息统计/ 420

11.8iotop:动态显示磁盘I/O统计信息/ 423

11.9sar:收集系统信息/ 425

11.10chkconfig:管理开机服务/ 430

11.11ntsysv:管理开机服务/ 433

11.12 setup:系统管理工具/ 434

11.13ethtool:查询网卡参数/ 436

11.14mii-tool:管理网络接口的状态/ 437

11.19rpm:RPM包管理器/ 443

11.20yum:自动化RPM包管理工具/ 446

top命令

第12章 Linux系统常用内置命令/ 450

12.1Linux内置命令概述/ 450

12.2Linux内置命令简介/ 450

12.3Linux常用内置命令实例/ 452

阅读剩余
THE END