Linux基础 Day4
linux day4
1.find查找条件
-
是linux里面的一个实时查找工具,通过制定路径完成文件查找
-
find[option]......[查找路径][查找条件][处理动作]----------查找路径:查找的位置、默认是当前文件夹。查找条件:制定查找的标准、文件名、大小、类型、日期等等。处理动作:对符合条件的文件做什么操作,默认是输出到屏幕上。
-
查找条件
- 根据文件名查找
- -name find -name a 指定名称,可以使用正则
- -iname find -name a 忽略大小写
- -links n引用次数为n的文件
- -regex后面跟完整路径,而不是文件名,必须整个路径完全匹配
- 制定搜索的层级
- -maxdepth level 最大的搜索深度,指定的目录为第一层
- -minepth level 最小的搜索深度(包括level),指定的目录为第一层
- find /etc -name *.conf 查找在/ect下面的conf文件
- 根据属主、属组来查找
- -user username 查找属主为username的文件
- -group groupname 查找属组为groupname的文件
- -uid id 查找属组为id的文件
- -nouser查找没有属主的文件
- 根据文件名查找
-
根据文件类型-type
- d 目录
- f 文件
- l 符号链接
- s 套接字
- b 块设备
- c字符
- p管道文件
-
空文件或者是空目录
-
-empty
-
条件
- 与 -a
- 或 -o
- 非 -not
- 非(A或者B)
-
排除目录
-
-path
-
按照大小来查找
-
-size (find -size 2M)
-
按时间查找
- -atime
- 查找7天之外的(find -atime +7)
- 可以替换成mtime、ctime
-
默认的处理动作
- -print 默认的处理动作,现实在屏幕上
- -ls类似于ls-l 显示长格式
- -delete 删除查找到文件
- -fls file 将查找的结果以长格式保存在文件中
- -ok command {};对每一个查找到的文件执行command命令,在执行命令之前要先提示用户是否要执行
- -exec command{};对查到的每一个文件执行command命令,不需要确认,一次性交给后面命令处理
2.xargs
- 有的命令不支持管道
- 命令参数过长
- xargs将管道前面的内容一条条的交给后面命令处理
- 一般会跟find使用
3.linux三剑客
-
grep
-
grep[option]"模式"file
--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 匹配整个单词
-
4.正则表达式元字符
-
字符匹配
- .任意单个字符
- []匹配指定范围内的任意单个字符[0-9][a-z][A-Z]
- [^]取反
- [:upper:]大学字母
- [:lower:]小写字母
- [:alnum:]字母和数字
- [:alpha:]大小写字母
- [:digit:]数字
- [:black:]空白
-
匹配次数
- *表示任意次数
- .*表示任意字符任意次数
- ?表示0或者1次
- \+至少一次
- \{n\}表示n次
- \{m,n\}最少m次,最多n次
- \{n,\}至少n次
- \{,n\}至多n次
-
位置锚定
-
^开头
-
$结尾
-
^$空行
grep -v "^#" /ect/ssh/sshd_config|grep -v "^$"显示不以#开头并且不是空行
-
分组
[root@localhost test]# grep "\(c\|C\)at" a.txt
-
扩展正则表达式
- 与正则表达式的区别是不需要转义
-
5.压缩
-
gzip(压缩文件)
gzip[option]...file -c 将压缩结果输出到屏幕。保留原来的文件 gzip -c a.txt>a.txt.gz -d 解压 zcat 不解压的情况下查看压缩比内的内容 gunzip 解压
-
bzip2
bzip [option] file 直接压缩 bunzip2 解压 -k 保留原来的文件 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 ect.tar /etc (cpvf创建) 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压缩
-
split
split -b 指定大小 文件(只能为文件) 切割以后的名字 split -b 1k a.tar -d a.tar (-d是以数字为后缀) -a 指定后缀几位 cat 切割后的文件>新文件
-
tar 的追加
touch a b c #建立三个文件 tar cvf test.tar a b #将ab 两个文件打包到test.tar压缩包中 tar -rf test.tar c #将c追加到test.tar压缩文件夹中