find查找条件_find处理动作_正则表达式_linux压缩命令_tar追加文件
find查找条件_find处理动作_正则表达式_linux压缩命令_tar追加文件
find
是linux里面的一个实时查找工具,通过制定路径完成文件查找
find [options] ..... [查找路径] [查找条件] [处理动作]
查找路径:查找的位置,默认是当前文件夹
查找条件:制定查找的标准,文件名、大小、类型、日期等等
处理动作:对符合条件的文件做什么操作,默认是输出到屏幕上
查找条件
-
根据文件名查找
- -name 指定名称,可以使用正则
- -iname 忽略大小写
- -links n 引用次数为n的文件
- -regex 后面跟完整路径,而不是文件名, 必须整个路径完全匹配
-
制定搜索的层级
- -maxdepth level 最大的搜索深度,指定的目录为第1层
- -mindepth level 最小的搜索深度,包括level层
-
根据属主、属组来查找
- -user username 查找属主为username的文件
- -group groupname 查找属组为groupname的文件
- -uid id 查找属主为id的文件
- -gid id 查找属组为id的文件
- -nouser 查找没有属主的文件
- -nogroup 查找没有属组的文件
-
根据文件类型 -type
- d 目录
- f 文件
- l 符号链接
- s 套接字
- b 块设备
- c 字符设备
- p 管道文件
-
空文件或者空目录
- -empty
-
条件
- 与 -a
- 或 -o
- 非 -not
-
摩根定律
- 非(A或者B) 非A 且非B
- 非(A且B)非A或非B
-
排除目录
- -path
-
[root@localhost test]#find /etc -name *_config /etc/ssh/ssh_config /etc/ssh/sshd_config [root@localhost test]#find /etc -path /etc/ssh -name *_config
-
按照大小来查找
- -size # (#-1,#] 不包括#-1,包括#
- -size -# [0,#-1] 包括#-1
- -size +# (#,......)
-
按照时间来查找
-
-atime # [#,#+1)
-
-atime -# (0,#)
-
-atime +# [#+1,....]
-
查找7天以后的文件 find -atime +7
-
-mtime
-
-ctime
-
以分钟为单位
- -amin
- -mmin
- -cmin
-
处理动作
- -print 默认的处理动作,显示在屏幕上
- -ls 类似于ls -l 显示长格式
- -delete 删除查找到的文件
- -fls file 将查找的结果以长格式保存到文件中
- -ok command {} \; 对每一个查找到的文件执行command命令,在执行命令之前要先提示用户是否要执行
- -exec command {} \; 对查到的每一个文件执行command命令,不需要确认,一次性交给后面命令处理
xargs
- 有的命令不支持管道
- 命令参数过长
- xargs 将管道前面的内容一条一条的交给后面命令处理
- 一般会跟find使用
linux三贱客
grep
awk
sed
grep
grep [option] "模式" file
option
--color=auto 对匹配到的行添加颜色
-v 取反
-i 不区分大小写
-n 查找的内容增加行号
-c 打印匹配到的行数
-o 只显示匹配到的文字
-q 静默模式
-A # after 向下显示#行
-B # before 向上显示#行
—C # context 上下分别显示#行
-e 或者 grep -e 'user' -e 'root' passwd
-E 扩展正则表达式
-F 不使用正则表达式
-r 递归
-w 匹配整个单词
正则表达式元字符
-
字符匹配
- . 任意单个字符
- [] 匹配指定范围内的任意单个字符 [0-9] [a-z] [A-Z]
- [^] 取反
- [:upper:] 大写字母
- [:lower:] 小写字母
- [:alnum:] 字母和数字
- [:alpha:] 大小写字母
- [:digit:] 数字
- [:black:] 空白
- [:punct:] 标点符号
-
匹配次数
- * 表示任意次数
- .* 任意字符任意次数
- \? 表示0或者1次
- \+ 至少一次
- \{n\} 表示n次
- \{m,n\} 最少m次,最多n次
- \{n,\} 至少n次
- \{,n\} 至多n次
-
位置锚定
- ^ 开头
- $结尾
- ^$ 空行
grep -v "^#" /etc/ssh/sshd_config |grep -v "^$" 显示不以#开头并且不是空行
-
分组
grep "\(c\|C\)at" a
-
向后引用
- \1 前面第一个括号出现的内容匹配完成之后再后面在出现一次
- \2
-
扩展正则表达式
- 与正则表达式的区别是不需要转义
压缩
gzip
压缩文件
gzip [option]... file
-c 将压缩结果输出到屏幕,保留原来的文件
gzip -c passwd > passwd.gz
-1-9 指定压缩比,默认9
-d 解压
zcat 不解压的情况下查看压缩比内的内容
gunzip 解压
bzip2
bzip [option] file
直接压缩
bunzip2 解压
-k 保留原来的文件
-d 解压
-1-9 指定压缩比
bzcat 不解压的情况下查看压缩包的内容
xz
xz [option] file
unxz 解压
-k 保留原来的文件
-d 解压
-1-9 指定压缩比
xzcat 不解压直接查看
zip
zip [option] zipfile 要压缩的文件
zip -r network.zip /etc/sysconfig/network-scripts
unzip network.zip
tar
归档工具
归档
tar cpvf etc.tar /etc
c 创建
v 显示过程
f 指定归档文件
p 把原来的属性也带过来
tar -r -f etc.tar /etc 追加
tar -t -f etc.tar 查看归档文件内的内容
tar xf etc.tar 解压文件
tar xf etc.tar -C
-z 使用gzip压缩
-j 使用bzip2压缩
-J 使用xz压缩
--exclude 排除文件
split(在tar命令后使用)
split -b 指定大小 文件(只能为文件) 切割以后的名字
-d 指定后缀为数字
-a 指定后缀几位
cat 切割后的文件 > 新文件
壬戌之秋,七月既望,苏子与客泛舟游于赤壁之下。清风徐来,水波不兴。举酒属客,诵明月之诗,歌窈窕之章。少焉,月出于东山之上,徘徊于斗牛之间。白露横江,水光接天。纵一苇之所如,凌万顷之茫然。浩浩乎如冯虚御风,而不知其所止;飘飘乎如遗世独立,羽化而登仙。
于是饮酒乐甚,扣舷而歌之。歌曰:“桂棹兮兰桨,击空明兮溯流光。渺渺兮予怀,望美人兮天一方。”客有吹洞箫者,倚歌而和之。其声呜呜然,如怨如慕,如泣如诉,余音袅袅,不绝如缕。舞幽壑之潜蛟,泣孤舟之嫠妇。
苏子愀然,正襟危坐而问客曰:“何为其然也?”客曰:“月明星稀,乌鹊南飞,此非曹孟德之诗乎?西望夏口,东望武昌,山川相缪,郁乎苍苍,此非孟德之困于周郎者乎?方其破荆州,下江陵,顺流而东也,舳舻千里,旌旗蔽空,酾酒临江,横槊赋诗,固一世之雄也,而今安在哉?况吾与子渔樵于江渚之上,侣鱼虾而友麋鹿,驾一叶之扁舟,举匏樽以相属。寄蜉蝣于天地,渺沧海之一粟。哀吾生之须臾,羡长江之无穷。挟飞仙以遨游,抱明月而长终。知不可乎骤得,托遗响于悲风。”
苏子曰:“客亦知夫水与月乎?逝者如斯,而未尝往也;盈虚者如彼,而卒莫消长也。盖将自其变者而观之,则天地曾不能以一瞬;自其不变者而观之,则物与我皆无尽也,而又何羡乎!且夫天地之间,物各有主,苟非吾之所有,虽一毫而莫取。惟江上之清风,与山间之明月,耳得之而为声,目遇之而成色,取之无禁,用之不竭,是造物者之无尽藏也,而吾与子之所共适。”
客喜而笑,洗盏更酌。肴核既尽,杯盘狼籍。相与枕藉乎舟中,不知东方之既白。