[TOC]
新手必须掌握的Linux命令---打包压缩与搜索命令
在Linux系统中对文件进行打包压缩与解压,以及让用户基于关键词在文本文件中搜索相匹配的信息、在整个文件系统中基于指定的名称或属性搜索特定文件。
1、tar命令
参数
-
-c(小写)
参数:创建压缩文件 -
-x(小写)
参数:解开压缩文件 -
-t
参数:查看压缩包内有哪些文件 -
-z
参数:用Gzip压缩或解压 -
-j
参数:用bzip2压缩或解压 -
-v
参数:显示压缩或解压 -
-f
参数:目标文件名 -
-p(小写)
参数:保留原始权限与属性 -
-P(大写)
参数:使用绝对路径来压缩 -
-C(大写)
参数:指定解压到目录
首先,-c参数用于创建压缩文件,-x参数用于解压文件,因此这两个参数不能同时使用。其次,-z参数指定使用Gzip格式来压缩或解压文件,-j参数指定使用bzip2格式来压缩或解压文件。用户使用时则是根据文件的后缀来决定应使用何种格式参数进行解压。在执行某些压缩或解压操作时,可能需要花费数个小时,如果屏幕一直没有输出,您一方面不好判断打包的进度情况,另一方面也会怀疑电脑死机了,因此非常推荐使用-v参数向用户不断显示压缩或解压的过程。-C参数用于指定要解压到哪个指定的目录。-f参数特别重要,它必须放到参数的最后一位,代表要压缩或解压的软件包名称。
命令
tar -czvf 压缩包名称.tar.gz 要打包的目录
命令:把指定的文件进行打包压缩
tar -xzvf 压缩包名称.tar.gz
命令:解压压缩包
tar xzvf 压缩包名称.tar.gz -C
命令:解压压缩包到指定目录
2、grep命令
grep命令用于在文本中执行关键词搜索,并显示匹配的结果,格式为“grep [选项] [文件]”。
参数
-
-b
参数:将可执行文件(binary)当作文本文件(text)来搜索 -
-c
参数:仅显示找到的行数 -
-i
参数:忽略大小写 -
-n
参数:显示行号 -
-v
参数:反向选择——仅列出没有“关键词”的行
在Linux系统中,/etc/passwd文件是保存着所有的用户信息,而一旦用户的登录终端被设置成/sbin/nologin,则不再允许登录系统,因此可以使用grep命令来查找出当前系统中不允许登录系统的所有用户信息:grep /sbin/nologin /etc/passwd
[图片上传失败...(image-471a88-1545122523732)]
3、find命令
find命令用于按照指定条件来查找文件,格式为“find [查找路径] 寻找条件 操作”。
参数
-
-name
参数:匹配名称 -
-perm
参数:匹配权限 -
-user
参数:匹配所有者 -
-group
参数:匹配所有组 -
-mtime -n +n
参数:匹配修改内容的时间(-n指n天以内,+n指n天以前) -
-atime -n +n
参数:匹配访问文件的时间(-n指n天以内,+n指n天以前) -
-ctime -n +n
参数:匹配修改文件权限的时间(-n指n天以内,+n指n天以前) -
-nouser
参数:匹配无所有者的文件 -
-nogroup
参数:匹配无所有组的文件 -
-newer f1 !f2
参数:匹配比文件fi新但比f2旧的文件 -
--type b/d/c/p/l/f
参数:匹配文件类型(后面的子母依次表示设备、目录、字符设备、管道、链接文件、文本文件) -
-size
参数:匹配文件的大小(+50KB为查找超过50KB的文件,而50KB为查找小于50KB的文件) -
-prune
参数:忽略某个目录 -
-exec ......{}\;
参数:后面可跟用于进一步处理搜索结果的命令
指令
find /etc -name "host*"
:获取 /etc 目录中host开头的文件列表
find / -perm -4000
:搜索权限中包括SUID权限的所有文件,需使用 -4000
进阶:在整个文件系统中找出所有归属于 cc 用户的文件并复制到 /root/findresults目录
命令:find / -user cc -exec cp -a {} /root/findresults/ \;
重点:-exec {} \;
参数,其中{}表示find命令搜索出来的每一个文件,并且命令的结尾必须是\;