Grep :使用基本正则表达式定义的模式来过滤文本的命令
-i 忽略字符大小写
-v反向搜索
-o只显示匹配字符串
--color 只显示颜色
-E使用扩展正则表达式
-A 例如 grep --color –A 2 ‘^core id’ /proc/cpuinfo 包含core id下面两行
-B before上例
-C 上下行
扩展正则表达式
.字符匹配
[] 范围内的任意单个字符
[^]范围外的任意单个字符
次数匹配
*:
?:
+:匹配其前面的字符至少1次
{m,n}
位置锚定
^
$
\<
\>
分组
() \1 \2
或者
| :or
Grep –E ‘C|cat’ test.TXT 分为C 或cat 如合并(C|c)
Grep –color –E ‘^[[:space]]+’ /boot/grub/grub.conf
Grep –e == egrep
Let i=$[$i+1] 等于let i++等于let i +=1
-=
+=
%=
/=
例子
#!/bin/bash
#
declare -i EVENSUM = 0
declare -i ODDSUM =0
for I in {1..100} ; do
if[ $[$I%2] -eq 0 ]; then
let EVENSUM +=$I
else
let ODDSUM+=$I
fi
done
echo“odd sum is:$ODDSUM”
echo “even sum is :¥EVENSUM”
文件查找
Locate :非实时,模糊匹配 查找是根据全系统文件数据库进行的,取决于任务计划
#updatedb 手动生成文件数据库
Find :实时 精确 支持多个标准 遍历文件
Find 路径(默认当前目录) 标准(默认路径下所有文件) 查找后的处理操作(默认为显示)
匹配标准
-name ‘文件名? 或*或[]’
find /etc -name ‘passwd’
-iname 不区分大小写
-regex基于正则表达式
-user username 根据属主查找
-group groupname 根据属组查找
-uid uid 当userdel –r user 删除用户后可以根据id号查找
-gid gid
-nouser 查找没有属主的文件 保持安全性 都授予管理员
-nogroup 查找没有属组的文件
-type
f 普通文件
d 目录
-size大小匹配 默认字节
[+|-] #k
#m
#g
Find /etc –size 10k –ls
Find /etc –size -10k
Find /etc –size +10k
组合条件
-a 与
-o 或
-not 非
Find /tmp -nouser –a –type d -ls
Find ./ -not -user1 –a -not –user -user2 非user1和user2
等于find ./ -not \( -user user1 –o–user user2\)摩根定律
-mtime 修改时间
-ctime 创建时间
-atime 访问时间
[+|-] # 例如+5是5天之前 -5是5天之内
-mmin
-cmin
-amin 分钟
Find ./ -amin -5 5分钟之内的访问文件
Find ./ -amin +5 5分钟之内的访问文件
Touch–a 文件
Stat文件或目录
-perm
find ./ -perm 644 精确匹配
find ./ -perm /644 有一个符合就可以
find ./ -perm -644 文件权限能完全包含此mode是才能显示
运作
-print:显示
-ls 详细信息
-ok command {} \;每一次操作都需要用户确认
-exec command {} \;不需要确认
例子
Find ./ -perm -006 –exec chmod o-w {} \;
Find ./ -type d –okchmod _+x {} \;
Find ./ -perm -020 –exec mv{} {}.new \;
Find ./ -name ‘*.sh’ -a –perm -111 exec chmod o-x {} \;
rpm 命令集合
-i /PATH/TO/PACKAGE_FILE
-h 以#显示进度;每个#表是2%-v 显示详细过程
-vv更详细
安装
rpm -ivh /path/to/package_file
--nodeps:忽略依赖关系
--replacepkgs:重新安装--force:强行安装,可以实现重装或降级
查询
--oldpackage:降级rpm -q 名字 查询指定的包
rpm -qa 查询已经安装的所有包
rpm -qa|grep “^Z”
rpm –qi 查询指定包的信息
rpm -ql 查询指定包安装后生成的文件列表
rpm –qf /somefile 查询指定的文件是由哪个rpm包安装生成
rpm –qc 查询指定包安装的配置文件
rpm –qd 查询指定包安装的帮助文件
rpm -q --scripts 包名 查询指定包中包含的脚本
如果某rpm 包常未安装,我们许查询其说明信息、安装以后会生成的文件
rpm –qpi /path/to/somefile
rpm –qpl
升级
rpm –Uvh /path/to/new_package_file如果装有老版本的,则升级;否则安装
rpm –Fvh /path/to/new_package_file 如果装有老版本的,则升级,否则退出
卸载
Rpm –e package_name
--nodeps
mount 设备 挂载点
设备:
设备文件 /dev/sda5
卷标
uuid
挂载点:目录
mount 不带参数显示当前系统所挂载的信息
mke2fs:是一个专门管理ext系列的软件
-j创建ext3文件系统(日志)
-bBLOCK_SIZE 指定块大小 默认4096 可以取值1024 2048 或4096
-m# 指定给超级用户的空间大小
-i# 用于指定为多少字节的空间创建一个inode
-N# 指定incode个数
-F强制创建文件系统
-E用户指定额外的文件系统属性
du显示目录或子文件大小
du目录
du –sh 目录
df评估文件系统磁盘使用量
-h-i inode
-P不换行风格
-l
硬链接 ln source dest
1、 只能对文件创建,不能应用于目录
2、 不能跨文件系统
3、 创建硬链接会增加文件被链接的的次数
符号链接 ln –sv source dest 其中v参数表示详细情况
1、 可应用于目录
2、 可以跨文件系统
3、 不会增加被链接文件的链接次数
4、 其大小为指定的路径所包含的字符个数