文章目录
#1 .grep 命令
##过滤不需要内容 -v
grep 最常用的就是过滤需要的内容,但有时候想过滤自己不需要的内容可以用 -v 选项:
比如说用 |xargs grep contenta 过滤得到了很多内容,但是也有很多是自己不需要的(不需要的包含了contentb) 可以再加个管道把 contentb 去掉:
xargs grep contenta |grep -v contentb
##不显示错误信息
有时候用grep 搜索整个目录会打印出错误:
filea: No such file or directory
此时可以用 -s 选项禁止打印出错误信息,也可以使用重定向 在grep 后面加入重定向,把错误输出重定向到 /dev/null :
grep pattern * -R -n 2>/dev/null
##忽略大小写
有时候用 grep 过滤一个字符比如 test ,但是内容大小写都有可能 此时加上 -i 选项来做到全部匹配。
grep -i test
#2 .mount 命令
列出已经挂载的文件系统信息
例如列出已挂载的所有类型的文件系统
mount -l
列出已挂载的所有nfs文件系统
mount -l -t nfs
当我们建立一个文件系统的时候,它拥有超级块/组描述块/块位图/inode位图/inode表/数据块等区域。要注意,在建立每个ext2文件系统的时候,会按照分区大小,确定数个块组,每个块组就有上述这些部分。
如果想要知道某个ext2/ext3(ext4也行)的文件系统内的这些消息,可以使用dumpe2fs命令来读取,举例来说,笔者对自己的主机/dev/hda1读出ext3的信息,如:dumpe2fs /dev/hda1,不过在这之前你要知道自己的机子是什么文件系统,可以使用如下命令查看:
mount [-l] [-t type]
列出所有已挂载的文件系统 (类型是 type)。 选项 -l 将在列表中加入 (ext2, ext3 和 XFS) 卷标。
dumpe2fs /dev/hda1
通过这个命令之后,我们可以很轻松的知道哪些inode
没有用,哪些块还可以记录,如此一来,在新增、建立文件与目录时,系统就会根据这些记录将数据分别写入尚未使用的inode与块区域。不过,要注意的是,当您新增一个目录时:
1.根据inode位图/块位图的信息,找到尚未使用的inode与块,进而将文件的属性与数据分别记入inode与块。
2.将刚刚使用的inode与块的号码告知超级块、inode位图、块位图等,让这些元数据更新信息。一般来说,我们将inode表与块区域称为数据存放区,其他的诸如超级块、块位图、inode位图等记录称为元数据。我们知道,数据写入硬盘时,会有上述两种操作。
挂载分区
笔记本安装的 ubuntu win7双系统,有时需要在ubuntu 里面访问win7的磁盘。 如果只是用:
mount -o rw /dev/sdx /mnt/mountponit
就会出现mount后目录权限等无法修改,虽然是rw挂载。而且mount后目录所有权都变成了root的,而且用root用户也不能chown。
如果在挂载时指定用户和组ID 就可以解决这个问题:
mount -o rw,uid=1000,gid=1000 /dev/sda5 /mnt/D
可以在 /ets/passwd 文件里面查找这个ID。或者用如下方式: