linux 文件名匹配?grep显示匹配的文件名

大家好,感谢邀请,今天来为大家分享一下linux 文件名匹配的问题,以及和grep显示匹配的文件名的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

linux下按文件名和文件内容查找文件

在当前目录下,查找所有内容包含‘abc'的文件

find.-type f| xargs grep-l'abc'

find.-type f-exec grep-l'abc'{} \;

扩展资料:

linux查找文件命令find

根据部分文件名查找方法:

这个方法和在WINDOWS中查找已知的文件名方法是一样的。不过在Linux中根据部分文件名查找文件的方法要比在WINDOWS中的同类查找方法要强大得多。

例如我们知道某个文件包含有srm这3个字母,那么要找到系统中所有包含有这3个字母的文件是可以实现的,输入:

find/etc-name'*srm*'

这个命令表明了Linux系统将在/etc整个目录中查找所有的包含有srm这3个字母的文件,比如 absrmyz, tibc.srm等等符合条件的文件都能显示出来。如果你还知道这个文件是由srm这3个字母打头的,那么我们还可以省略最前面的星号,命令如下:

find/etc-name'srm*'

这是只有像srmyz这样的文件才被查找出来,象absrmyz或者 absrm这样的文件都不符合要求,不被显示,这样查找文件的效率和可靠性就大大增强了。

linux下如何查询同时包含两个关键词(与的形式)的相应文件

在Linux系统中,查找包含特定字符串的文件是常用的操作。本文将介绍如何在Linux下实现这一功能,包括如何查找包含单个字符串的文件和同时包含两个字符串的文件。

使用`find`指令结合`grep`查找文件,是实现这一目标的高效方式。例如,要查找当前目录下包含字符串"xxxx"的所有文件,可以使用以下命令:

`find/-name"*"| xargs grep"xxxx"`

另外,直接使用`grep`命令也能实现这一目的,例如查找当前目录下包含字符串"xxxx"的所有文件:

`grep"xxxx"./-Rn-l`

若需查找同时包含两个字符串的文件,可以将两个`grep`命令结合使用,如查找当前目录下包含字符串"string1"和"string2"的文件:

`grep"string1"./-Rn| grep"string2"./-Rn-l`

在Linux系统中,使用`grep`命令查找特定字符串时,可以结合多种选项实现更精确的搜索。例如,使用`-r`选项递归查找文件,使用`-n`选项显示行号,使用`-L`选项列出不匹配文件名等。此外,`grep`命令还支持使用特殊符号进行精确匹配,如``用于匹配字符串的起始和结束,`^`匹配行首,`$`匹配行尾。

结合`find`和`xargs`使用`grep`命令,可以实现更复杂的文件查找。例如,查找当前目录下所有`.java`文件中包含字符串"http"的内容:

`find-type f-name'*.java'|xargs grep'http'

查找当前目录下包含字符串"hello,world!"的所有文件:

`grep-rn"hello,world!"*

在Linux中,使用`grep`的组合命令实现高效文件搜索是常见的操作。通过`find`、`xargs`和`grep`的配合使用,可以灵活地根据文件类型、文件名、大小、权限、创建时间等条件查找特定内容。掌握这些工具和命令组合,将极大地提升Linux文件管理的效率。

linux解压命令tar

tar

-c:建立压缩档案

-x:解压

-t:查看内容

-r:向压缩归档文件末尾追加文件

-u:更新原压缩包中的文件

这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

-z:有gzip属性的

-j:有bz2属性的

-Z:有compress属性的

-v:显示所有过程

-O:将文件解开到标准输出

下面的参数-f是必须的

-f:使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

# tar-cf all.tar*.jpg

这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。

# tar-rf all.tar*.gif

这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。

# tar-uf all.tar logo.gif

这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

# tar-tf all.tar

这条命令是列出all.tar包中所有文件,-t是列出文件的意思

# tar-xf all.tar

这条命令是解出all.tar包中所有文件,-t是解开的意思

压缩

tar-cvf jpg.tar*.jpg//将目录里所有jpg文件打包成tar.jpg

tar-czf jpg.tar.gz*.jpg//将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz

tar-cjf jpg.tar.bz2*.jpg//将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2

tar-cZf jpg.tar.Z*.jpg//将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z

rar a jpg.rar*.jpg//rar格式的压缩,需要先下载rar for linux

zip jpg.zip*.jpg//zip格式的压缩,需要先下载zip for linux

解压

tar-xvf file.tar//解压 tar包

tar-xzvf file.tar.gz//解压tar.gz

tar-xjvf file.tar.bz2//解压 tar.bz2

tar-xZvf file.tar.Z//解压tar.Z

unrar e file.rar//解压rar

unzip file.zip//解压zip

总结

1、*.tar用 tar-xvf解压

2、*.gz用 gzip-d或者gunzip解压

3、*.tar.gz和*.tgz用 tar-xzf解压

4、*.bz2用 bzip2-d或者用bunzip2解压

5、*.tar.bz2用tar-xjf解压

6、*.Z用 uncompress解压

7、*.tar.Z用tar-xZf解压

8、*.rar用 unrar e解压

9、*.zip用 unzip解压

解压jdk到指定文件夹:

tar-xzvf jdk-8u131-linux-x64.tar.gz-C/usr/local/java

root@ubuntu:~# tar--help

用法: tar [选项...] [FILE]...

GNU'tar' saves many files together into a single tape or disk archive, and can

restore individual files from the archive.

Examples:

tar-cf archive.tar foo bar# Create archive.tar from files foo and bar.

tar-tvf archive.tar# List all files in archive.tar verbosely.

tar-xf archive.tar# Extract all files from archive.tar.

主操作模式:

-A,--catenate,--concatenate追加 tar文件至归档

-c,--create创建一个新归档

-d,--diff,--compare找出归档和文件系统的差异

--delete从归档(非磁带!)中删除

-r,--append追加文件至归档结尾

-t,--list列出归档内容

--test-label测试归档卷标并退出

-u,--update仅追加比归档中副本更新的文件

-x,--extract,--get从归档中解出文件

操作修饰符:

--check-device当创建增量归档时检查设备号(默认)

-g,--listed-incremental=FILE处理新式的 GNU格式的增量备份

-G,--incremental处理老式的 GNU格式的增量备份

--ignore-failed-read

当遇上不可读文件时不要以非零值退出

--level=NUMBER所创建的增量列表归档的输出级别

-n,--seek归档可检索

--no-check-device当创建增量归档时不要检查设备号

--no-seek归档不可检索

--occurrence[=NUMBER]仅处理归档中每个文件的第 NUMBER

个事件;仅当与以下子命令--delete,

--diff,--extract或是--list

中的一个联合使用时,此选项才有效。而且不管文件列表是以命令行形式给出或是通过

-T选项指定的;NUMBER值默认为 1

--sparse-version=MAJOR[.MINOR]

设置所用的离散格式版本(隐含

--sparse)

-S,--sparse高效处理离散文件

重写控制:

-k,--keep-old-files don't replace existing files when extracting,

treat them as errors

--keep-directory-symlink preserve existing symlinks to directories when

extracting

--keep-newer-files

不要替换比归档中副本更新的已存在的文件

--no-overwrite-dir保留已存在目录的元数据

--one-top-level[=DIR] create a subdirectory to avoid having loose files

extracted

--overwrite解压时重写存在的文件

--overwrite-dir解压时重写已存在目录的元数据(默认)

--recursive-unlink解压目录之前先清除目录层次

--remove-files在添加文件至归档后删除它们

--skip-old-files don't replace existing files when extracting,

silently skip over them

-U,--unlink-first在解压要重写的文件之前先删除它们

-W,--verify在写入以后尝试校验归档

选择输出流:

--ignore-command-error忽略子进程的退出代码

--no-ignore-command-error

将子进程的非零退出代码认为发生错误

-O,--to-stdout解压文件至标准输出

--to-command=COMMAND

将解压的文件通过管道传送至另一个程序

操作文件属性:

--atime-preserve[=METHOD]

在输出的文件上保留访问时间,要么通过在读取(默认

METHOD=‘replace’)后还原时间,要不就不要在第一次(METHOD=‘system’)设置时间

--clamp-mtime only set time when the file is more recent than

what was given with--mtime

--delay-directory-restore

直到解压结束才设置修改时间和所解目录的权限

--group=名称强制将 NAME

作为所添加的文件的组所有者

--mode=CHANGES强制将所添加的文件(符号)更改为权限

CHANGES

--mtime=DATE-OR-FILE从 DATE-OR-FILE中为添加的文件设置

mtime

-m,--touch不要解压文件的修改时间

--no-delay-directory-restore

取消--delay-directory-restore选项的效果

--no-same-owner

将文件解压为您所有(普通用户默认此项)

--no-same-permissions

从归档中解压权限时使用用户的掩码位(默认为普通用户服务)

--numeric-owner总是以数字代表用户/组的名称

--owner=名称强制将 NAME

作为所添加的文件的所有者

-p,--preserve-permissions,--same-permissions

解压文件权限信息(默认只为超级用户服务)

--preserve与-p和-s一样

--same-owner

尝试解压时保持所有者关系一致(超级用户默认此项)

-s,--preserve-order,--same-order

member arguments are listed in the same order as

the files in the archive

--sort=ORDER directory sorting order: none(default), name or

inode

Handling of extended file attributes:

--acls Enable the POSIX ACLs support

--no-acls Disable the POSIX ACLs support

--no-selinux Disable the SELinux context support

--no-xattrs Disable extended attributes support

--selinux Enable the SELinux context support

--xattrs Enable extended attributes support

--xattrs-exclude=MASK specify the exclude pattern for xattr keys

--xattrs-include=MASK specify the include pattern for xattr keys

设备选择和切换:

-f,--file=ARCHIVE使用归档文件或 ARCHIVE设备

--force-local

即使归档文件存在副本还是把它认为是本地归档

-F,--info-script=名称,--new-volume-script=名称

在每卷磁带最后运行脚本(隐含-M)

-L,--tape-length=NUMBER写入 NUMBER× 1024字节后更换磁带

-M,--multi-volume创建/列出/解压多卷归档文件

--rmt-command=COMMAND使用指定的 rmt COMMAND代替 rmt

--rsh-command=COMMAND使用远程 COMMAND代替 rsh

--volno-file=FILE使用/更新 FILE中的卷数

设备分块:

-b,--blocking-factor=BLOCKS每个记录 BLOCKS x 512字节

-B,--read-full-records读取时重新分块(只对 4.2BSD管道有效)

-i,--ignore-zeros忽略归档中的零字节块(即文件结尾)

--record-size=NUMBER每个记录的字节数 NUMBER,乘以 512

选择归档格式:

-H,--format=FORMAT创建指定格式的归档

FORMAT是以下格式中的一种:

gnu GNU tar 1.13.x格式

oldgnu GNU格式 as per tar<= 1.12

pax POSIX 1003.1-2001(pax)格式

posix等同于 pax

ustar POSIX 1003.1-1988(ustar)格式

v7 old V7 tar格式

--old-archive,--portability

等同于--format=v7

--pax-option=关键字[[:]=值][,关键字[[:]=值]]...

控制 pax关键字

--posix等同于--format=posix

-V,--label=TEXT创建带有卷名 TEXT

的归档;在列出/解压时,使用 TEXT

作为卷名的模式串

压缩选项:

-a,--auto-compress使用归档后缀名来决定压缩程序

-I,--use-compress-program=PROG

通过 PROG过滤(必须是能接受-d

选项的程序)

-j,--bzip2通过 bzip2过滤归档

-J,--xz通过 xz过滤归档

--lzip通过 lzip过滤归档

--lzma通过 xz过滤归档

--lzop通过 xz过滤归档

--no-auto-compress不使用归档后缀名来决定压缩程序

-z,--gzip,--gunzip,--ungzip通过 gzip过滤归档

-Z,--compress,--uncompress通过 compress过滤归档

本地文件选择:

--add-file=FILE添加指定的 FILE至归档(如果名字以-

开始会很有用的)

--backup[=CONTROL]在删除前备份,选择 CONTROL版本

-C,--directory=DIR改变至目录 DIR

--exclude=PATTERN排除以 PATTERN指定的文件

--exclude-backups排除备份和锁文件

--exclude-caches除标识文件本身外,排除包含

CACHEDIR.TAG的目录中的内容

--exclude-caches-all排除包含 CACHEDIR.TAG的目录

--exclude-caches-under排除包含 CACHEDIR.TAG

的目录中所有内容

--exclude-ignore=FILE read exclude patterns for each directory from

FILE, if it exists

--exclude-ignore-recursive=FILE

read exclude patterns for each directory and its

subdirectories from FILE, if it exists

--exclude-tag=FILE除 FILE自身外,排除包含 FILE

的目录中的内容

--exclude-tag-all=FILE排除包含 FILE的目录

--exclude-tag-under=FILE排除包含 FILE的目录中的所有内容

--exclude-vcs排除版本控制系统目录

--exclude-vcs-ignores read exclude patterns from the VCS ignore files

-h,--dereference

跟踪符号链接;将它们所指向的文件归档并输出

--hard-dereference

跟踪硬链接;将它们所指向的文件归档并输出

-K,--starting-file=MEMBER-NAME

begin at member MEMBER-NAME when reading the

archive

--newer-mtime=DATE当只有数据改变时比较数据和时间

--no-null禁用上一次的效果--null选项

--no-recursion避免目录中的自动降级

--no-unquote do not unquote input file or member names

--null-T读取以空终止的名字,-C禁用

-N,--newer=DATE-OR-FILE,--after-date=DATE-OR-FILE

只保存比 DATE-OR-FILE更新的文件

--one-file-system创建归档时保存在本地文件系统中

-P,--absolute-names don't strip leading'/'s from file names

--recursion目录递归(默认)

--suffix=STRING在删除前备份,除非被环境变量

SIMPLE_BACKUP_SUFFIX

覆盖,否则覆盖常用后缀(‘’)

-T,--files-from=FILE从 FILE

中获取文件名来解压或创建文件

--unquote unquote input file or member names(default)

-X,--exclude-from=FILE排除 FILE中列出的模式串

文件名变换:

--strip-components=NUMBER解压时从文件名中清除 NUMBER

个引导部分

--transform=EXPRESSION,--xform=EXPRESSION

使用 sed代替 EXPRESSION

来进行文件名变换

文件名匹配选项(同时影响排除和包括模式串):

--anchored模式串匹配文件名头部

--ignore-case忽略大小写

--no-anchored patterns match after any'/'(default for

exclusion)

--no-ignore-case匹配大小写(默认)

--no-wildcards逐字匹配字符串

--no-wildcards-match-slash wildcards do not match'/'

--wildcards使用通配符(默认对 exclusion)

--wildcards-match-slash wildcards match'/'(default for exclusion)

提示性输出:

--checkpoint[=NUMBER]每隔 NUMBER

个记录显示进度信息(默认为 10个)

--checkpoint-action=ACTION在每个检查点上执行 ACTION

--full-time按文件原本时间格式打印

--index-file=FILE将详细输出发送至 FILE

-l,--check-links

只要不是所有链接都被输出就打印信息

--no-quote-chars=STRING禁用来自 STRING的字符引用

--quote-chars=STRING来自 STRING的额外的引用字符

--quoting-style=STYLE设置名称引用风格;有效的 STYLE

值请参阅以下说明

-R,--block-number每个信息都显示归档内的块数

--show-defaults显示 tar默认选项

--show-omitted-dirs

列表或解压时,列出每个不匹配查找标准的目录

--show-snapshot-field-ranges

show valid ranges for snapshot-file fields

--show-transformed-names,--show-stored-names

显示变换后的文件名或归档名

--totals[=SIGNAL]处理归档后打印出总字节数;当此

SIGNAL被触发时带参数-

打印总字节数;允许的信号为:

SIGHUP,SIGQUIT,SIGINT,SIGUSR1和

SIGUSR2;同时也接受不带 SIG

前缀的信号名称

--utc以 UTC格式打印文件修改时间

-v,--verbose详细地列出处理的文件

--warning=KEYWORD警告控制:

-w,--interactive,--confirmation

每次操作都要求确认

兼容性选项:

-o创建归档时,相当于

--old-archive;展开归档时,相当于

--no-same-owner

其它选项:

-?,--help显示此帮助列表

--restrict禁用某些潜在的有危险的选项

--usage显示简短的用法说明

--version打印程序版本

长选项和相应短选项具有相同的强制参数或可选参数。

The backup suffix is'~', unless set with--suffix or SIMPLE_BACKUP_SUFFIX.

The version control may be set with--backup or VERSION_CONTROL, values are:

none, off never make backups

t, numbered make numbered backups

nil, existing numbered if numbered backups exist, simple otherwise

never, simple always make simple backups

--quoting-style选项的有效参数为:

literal

shell

shell-always

c

c-maybe

escape

locale

clocale

此 tar默认为:

--format=gnu-f--b20--quoting-style=escape--rmt-command=/usr/lib/tar/rmt

--rsh-command=/usr/bin/rsh

阅读剩余
THE END