sed工具find工具与压缩打包工具基础命令详解

附带上课练习题与答案

17081909109536locate命令  文件查找

系统上预建的文件索引数据库/var/lib/mlocate/mlocate.db

updatedb  更新数据库

locate -i  忽略大小写

locate -n  只显示前n行

locate -r  使用正则表达式

适合搜索不经常修改的文件

find命令  实时查找文件,按指定路径搜索

考虑所搜索文件是否有可读权限问题

语法:find [OPTION]… [查找路径] [查找条件] [处理动作]

find  /etc/  -name  f1.sh    查找etc下文件名为f1.sh的文件

find  /etc/  -name  “*f1*”   包含f1的文件 要加双引号

find  /date  -inum   68     指定节点编号

find  -maxdepth 最大搜索目录深度,指定目录为第1级

find  -mindepth  最小搜索目录深度

find  -iname “文件名称”:不区分字母大小写

find  -samefile name 相同inode号的文件

find  -links  ·n 链接数为n的文件

find  -regex “PATTERN”:以PATTERN匹配整个文件路径字符串,而不仅仅是文件名称

属主、属组查找:

find  -user查找属主为指定用户(UID)的文件

find  -group 查找属组为指定组(GID)的文件

find  -uid:查找属主为指定的UID号的文件

find  -gid:查找属组为指定的GID号的文件

find  -nouser:查找没有属主的文件

find  -nogroup:查找没有属组的文件

文件类型查找:

find  -type  f: 普通文件

d: 目录文件

l: 符号链接文件

s:套接字文件

b: 块设备文件

c: 字符设备文件

p: 管道文件

空文件或目录

find  -empty   例如find  /app  -type d  -empty

文件大小来查找:

find  -size  [+|-]  #UNIT

常用单位:k, M, G,c(byte)

如:6k 表示(5k,6k]

如:-6k 表示[0,5k]

如:+6k 表示(6k,∞)

根据时间查找

以“天”为单位:                                           以分钟为单位:

-atime [+|-]#,                                               -amin

#: [#,#+1)                                                     -mmin

+#: [#+1,∞]                                                  -cmin

-#: [0,#)

-mtime

-ctime

 

根据权限查找:

-perm [/|-] 权限值

权限值: 精确权限匹配

/权限值:任何一类(u,g,o)对象的权限中只要能一位匹配即可,或关系,+ 从centos7开始淘汰

-权限值:每一类对象都必须同时拥有指定权限,与关系

find -perm 755 会匹配权限模式恰好是755的文件

只要当任意人有写权限时,find -perm +222就会匹配

只有当每个人都有写权限时,find -perm -222才会匹配

只有当其它人(other)有写权限时,find -perm -002才会匹配

例如查找/etc目录下所有用户都没有写权限的文件

答案 find /etc ! -perm +222 -ls       不用加小括号

处理动作

-print:默认的处理动作,显示至屏幕

-ls:类似于对查找到的文件执行“ls -l”命令

-delete:删除查找到的文件

-fls file:查找到的所有文件的长格式信息保存至指定文件中

-ok COMMAND {} \; 对查找到的每个文件执行由COMMAND指定的命令,对于每个文件执行命令之前,都会交互式要求用户确认

-exec COMMAND {} \; 对查找到的每个文件执行由COMMAND指定的命令

{}: 用于引用查找到的文件名称自身

find传递查找到的文件至后面指定的命令时,查找到所有符合条件的文件一次性传递给后面的命令

例如
备份配置文件,添加.orig这个扩展名

find -name “*.conf” -exec cp {} {}.orig \;

提示删除存在时间超过3天以上的joe的临时文件

find /tmp -ctime +3 -user joe -ok rm {} \;

在主目录中寻找可被其它用户写入的文件

find ~ -perm -002 -exec chmod o-w {} \;

查找/data下的权限为644,后缀为sh的普通文件,增加执行权限

find /data –type f -perm 644 -name “*.sh” –exec chmod 755 {} \;

查看/home的目录

find /home –type d -ls

参数替换xgrgs

find和xargs格式:find | xargs COMMAND

find /sbin -perm +7000 | xargs ls –l

-o  或者

-a  与

-not ,! 非

个别使用 ()需要转义

——————————————————————-

sed工具 行编辑器  

使用时加 ‘ ‘

格式  sed [option]… ‘script’ inputfile…

script  : 地址命令

要搜寻地址一行内容不一定选择全部,可摘选

选项

sed  -n  不自动打印到屏幕    很重要

sed  -e: 多点编辑    表示可以操作多次

sed  -f :/PATH/SCRIPT_FILE: 从指定文件中读取编辑的脚本

sed  -r  :支持使用扩展正则表达式

sed  -i  .bak: 备份文件并原处编辑   如果修改加入的内容有空格在加个双引号

确定地址

不给地址将对全文进行处理

单地址:

#: 指定的行,$:最后一行

/pattern/:被此处模式所能够匹配到的每一行

地址范围:

#,#    如2,9 表示第二行到第九行

#,+#   如10,+30  表示10到40行

/pat1/,/pat2/   匹配到pat1的行到匹配到pat2的行

#,/pat1/

步进

1~2 奇数行  表示递进处理1,3,5

2~2 偶数行   同上    2,4,6

编辑命令

d : 删除匹配的行,并立即启用下一轮循环

p:打印当前模式空间内容,追加到默认输出之后

a [\]text:在指定行后面追加文本,支持使用\n实现多行追加

i [\]text:在行前面插入文本

c [\]text:替换行为单行或多行文本

w /path/somefile: 保存模式匹配的行至指定文件

r /path/somefile:读取指定文件的文本至模式空间中匹配到的行后

=: 为模式空间中的行打印行号

!:模式空间中匹配行取反处理

例如2!d  除了第二行全删了

\表示开始,这样可以加入空格

s///:查找替换,支持使用其它分隔符,s@@@,s###

替换标记:

g: 行内全局替换   加在s///最后面

p: 显示替换成功的行

w /PATH/TO/SOMEFILE:将替换成功的行保存至文件中 

————————————————————————–压缩解压缩工具

compress  [-dfvcVr] [-b maxbits] [file …]

-d: 解压缩,相当于uncompress

-c: 结果输出至标准输出,不删除原文件

-v: 显示详情

uncompress 解压缩

zcat file.Z >file 解压缩

gzip [OPTION]… FILE

-d: 解压缩,相当于gunzip

-c: 将 压缩或解压缩 的结果输出至标准输出 后面可以用 >

-#:1-9,指定压缩比,值越大压缩比越大

zcat:    可以查看压缩文件,标准输出可以解压缩文件

bzip2 [OPTION]… FILE …

-k: keep, 保留原文件

-d:解压缩

-#:1-9,压缩比,默认为9

bzcat:不显式解压缩的前提下查看文本文件内容

xz [OPTION]… FILE …

-k : keep, 保留原文件

-d:解压缩

-#:1-9,压缩比,默认为6

unxz file  解压xz后缀文件

xzcat: 不显式解压缩的前提下查看文本文件内容

zip/unzip 打包压缩

zip  –r  /testdir/sysconfig /etc/sysconfig/

解包解压缩

unzip  sysconfig.zip

cat  /var/log/messages | zip messages –

unzip -p  message > message

tar  加不加 – 都行

tar -cvfp

-c  用来创建打包文件定义一个打包后文件名

-f  表示后面跟个需要打包文件名

-v  查看打包过程

-r  追加文件到打包文件

-p  保留原有属性

-t   预览打包内容-x   解压缩默认当前目录  不管什么后缀都可以

-C  指定解压路径

-T  表示要打包那些文件      可以把指定的要打包文件目录放到新文件夹

-X  表示那些文件不打包      把指定不打包文件目录放到一个新文件夹

要切割的文件名  -b  10M  分割大文件为多个小文件    -d  表示分割后文件前面加前缀(相当于改名)后面跟数字,默认字母

合并 cat f1.tar* > f1.tar.gz

归档并压缩

-j:  bzip2, -z:  gzip, -J:  xz

cpio 复制文件或归档

cpio命令是通过重定向的方式将文件进行打包备份,还原恢复的工具,它可以解压以“.cpio”或者“.tar”结尾的文件

cpio [选项] > 文件名或者设备名

cpio [选项] < 文件名或者设备名

-o 将文件拷贝打包成文件或者将文件输出到设备上

-i 解包,将打包文件解压或将设备上的备份还原到系统

-t 预览,查看文件内容或者输出到设备上的文件内容

-v 显示打包过程中的文件名称。

-d 解包生成目录,在cpio还原时,自动的建立目录

-c 一种较新的存储方式

本文是我个人上课时对老师讲的一些知识点的总结整理,有不足之处还望各位谅解,欢迎指出文中的错误,希望可以和大家共同努力共同进步。

练习题答案http://www.178linux.com/95845

5a2827f7e4b9a0abe005b1eaeece4500

 

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/95842

(1)
上一篇 2018-04-13 16:24
下一篇 2018-04-13 17:32

相关推荐

  • 加密原理简述、实现httpd自签证书访问、dns主、辅服务器搭建及智能dns服务

    1、简述加密算法的原理 介于用户空间和内核空间之间有用于数据加密的协议,对来至用户空间的数据进行加密,并转交给内核空间发送至目标端,然后由目标端接收加密数据然后交付给加密协议解密后的数据显示给用户空间。当然数据也可不通过加密协议直接传送。 2、加密算法的分类: 对称加密:数据保密(保密性) 公钥加密:身份认证、密钥交换、数据加密(不常用,比对称要慢3个数量级…

    Linux笔记 2018-05-25
  • Linux笔记第一周

    一、描述计算机的组成及其功能。 计算机由硬件和软件两部分组成 硬件由主机与外部设备构成 软件由系统软件与应用软件构成 二、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。 Red Hat公司发布         Redhat Centos Novell公司发布             SUSE Debian维护社区发布   Debian ub…

    Linux笔记 2018-06-24
  • Centos6.9下同时删除/boot下所有文件、/sbin/init文件和/etc/fstab文件的修复方法

    模拟损坏把上述的文件全部删除,启动界面如图所示 重启设置光盘引导后重启 选择第三项 选择ok 选择ok 选择no,不配置网络 选择继续 选择ok 选择ok df查看分区挂载情况,由于/etc/fstab文件被删除,所以看不到根的挂载,使用fdisk –l可以看到分区情况 可以看到一共有五个分区,其中第一个带*表示是启动分区,第四个是扩展分区,第五个是swap…

    2018-05-13
  • 请使用命令行展开功能来完成以下练习

    (1)、创建/tmp目录下的:a_c, a_d, b_c, b_d
    (2)、创建/tmp/mylinux目录下的:

    Linux笔记 2018-05-18
  • Linux系统网络管理

    本机索引: 一、基本网络配置 二、主机、网卡名称管理 三、网卡别名 四、Bonding技术 五、实现网络组 六、Linux网络管理常用命令   一、基本网络配置: 将Linux主机接入网络,需要配置网络相关设置 一般包括以下内容: 主机名 IP/netmask 路由:默认网关 DNS服务器: 主DNS服务器 次DNS服务器   网络配置文…

    2018-05-03
  • Linux系统报错修复的方法

    /boot/initramfs-2.6.32-696.el6.x86_64.img文件丢失怎么办
    内有centos6的启动流程

    Linux笔记 2018-05-12