1、查找/etc目录下大于1M且类型为普通文件的所有文件
find /etc/ -size +1M -type f -ls
find查找命令用法:
一般格式: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
参数: -name #文件名称
-not #非,取反
-user #文件所有人
-group #文件所有组
-a #并且关系
-o #或者关系
-maxdepth #最大深度
-mindepth #最小深度
-size 表示文件大小
-size 10K # 查找大小为10K的文件
-size -10K # -表示小于;查找比10K小的文件
-size +10k # +表示大于;查看比10K大的文件
-type #文件类型
主要的文件类型:
f #普通文件
d #目录
b #块设备
s #套接字
c #字符设备
l #链接
p #管道
-perm 表示权限
-perm 444 #查找文件权限
-perm -444 # -表示并且;查找文件权限中u位有r权限,并且g位有r权限,并且o位有r权限的文件
-perm /444 # /表示或者;查找文件权限中u位有r权限,或者g位有r权限,或者o位有r权限的文件
-perm /777 # 777=rwx rwx rwx 即9个条件中满足任意一个即可
-ctime 与 -cmin 都表示按照时间查找被篡改的文件
-ctime ##以天为单位
-ctime 10 #查找文件更新距离现在10天的文件
-ctime +10 #查找文件更新距离现在超过10天的文件
-ctime -10 #查找文件更新距离现在10天以内的文件
-cmin ##以分钟为单位
-cmin 10 #查找文件更新距离现在10分钟的文件
-cmin +10 #查找文件更新距离现在超过10分钟的文件
-cmin -10 #查找文件更新距离现在10分钟以内的文件
-exec 命令 {} \; #对查找到的文件执行某命令;-exec表示开始执行动作 {} 表示用find命令查找出的所有文件
2、打包/etc/目录下面所有conf结尾的文件,压缩包名称为当天的时间,并拷贝到/usr/local/src目录备份。
tar -cvf /usr/local/src/`date +%F`.tar /etc/*conf
tar命令用法:
一般格式: tar [OPTION...] [FILE]...
常用选项:
-c #创建新的tar文件
-t #表示查看文件,查看tar文件中的文件内容
-r #表示增加文件,把要增加的文件追加在tar文件的末尾
-x #解压文件
-v #显示详细的tar处理的文件信息
-f #要操作的文件名
-z #调用gzip程序来压缩文件,压缩后的文件名称以.gz结尾
-j #调用bzip2程序来压缩文件,压缩后的文件名称以.bz2结尾
-J #调用xz程序来压缩文件,压缩后的文件名称以.xz结尾
3、利用sed 取出ifconfig命令中本机的IPv4地址
ifconfig ens33| sed -nr '2s/(^[^0-9]+)([0-9.]+)(.*$)/\2/p'
4、删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符
cat -A /etc/fstab |sed -r 's/(^#[[:space:]]+)(.*$)/\2/'
5、处理/etc/fstab路径,使用sed命令取出其目录名和基名
目录名: echo /etc/fstab | sed -r 's@(^/.*/)(.*$)@\1@'
基名: echo /etc/fstab | sed -r 's@(^/.*/)(.*$)@\2@'
sed文本处理工具
一般格式: sed [OPTION]... {script-only-if-no-other-script} [input-file]...
常用选项:
-n #不输出模式空间内容到屏幕,即不自动打印
-e #多点编辑
-f #/PATH/SCRIPT_FILE 从指定文件中读取编辑脚本
-r #支持使用扩展正则表达式
-i.bak #备份文件并原处编辑
script: ‘地址命令’
地址定界:
不给地址:对全文进行处理
单地址:
#:指定的行,$:最后一行
/pattern/:被此处模式所能够匹配到的每一行
地址范围:
#,#
#,+#
/pat1/,/pat2/
#,/pat1/
~:步进
1~2 奇数行
2~2 偶数行
编辑命令:
d 删除模式空间匹配的行,并立即启用下一轮循环
p 打印当前模式空间内容,追加到默认输出之后
a [\]text 在指定行后面追加文本,支持使用\n实现多行追加
i [\]text 在行前面插入文本
c [\]text 替换行为单行或多行文本
w /path/file 保存模式匹配的行至指定文件
r /path/file 读取指定文件的文本至模式空间中匹配到的行后
= 为模式空间中的行打印行号
! 模式空间中匹配行取反处理
s/// 查找替换,支持使用其它分隔符,s@@@,s###
替换标记:
g 行内全局替换
p 显示替换成功的行
w /PATH/FILE 将替换成功的行保存至文件中