概述
设备查询
(一)设备查询
1.fdisk -l #查看系统分可以识别的设备
其显示内容中dev/sda中:s --sada #sada 盘
d --disk #磁盘
a --表示第一块
所以dev/sda表示系统中第一块sada U盘
2.df #查看系统中正在使用U盘。使用U盘时必须将其挂载在目录上
3.blkid #查看系统可以使用的设备,显示信息包括标签,UID、TYPE
4.mount/dev/sdb /mnt/ #将系统中第二块sada U盘挂载到/mnt/目录下。注意,必须是/mnt/下,若挂载在其他目录如/etc/下,则/etc/目录中的内容将不能被系统调用
5.cd /mnt/
ls #查看U盘内容
6.umount /dev/sdb #卸载/dev/sdb,因为是在/mnt/下,所以卸载将会失败
lsof /dev/sdb
fuser -vm /dev/sdb #查看sdb磁盘所运行的进程
7.cd #返回/mnt/的家目录
8.umount /dev/sdb #卸载磁盘
(二)设备分区
1.首先了解设备的读取依靠设备中的文件系统来翻译U盘中的存储的二进制数据。下列是一些常用的文件系统
链式读取:nfts和vfat ##如微软的文件系统
分布式读取:ext和xfs,都是日志文件系统。其中ext分为ext2、ext3、ext4,ext最大可支持32TB的文件内容;xfs可支持18eb的文件内容。(1eb=1024TB)
2.分布式:将设备成节点区和数据区。格式化后数据区划分成块,块越大,数据读取速度越大;块越小,U盘利用率越高。
节点区:可进行的操作 ls -l 查看文件属性,如ls -l /mnt/
数据区:可进行的操作 cat 查看文件内容,如cat /mnt/file,先在节点区找到/mnt/,再根据/mn/在数据区找file
节点与数据的连接方式:
(1)硬连接:一个节点对应多个数据区,可以节省节点空间。
Ls -li /mnt/westos
ln /mnt/file /opt/ #硬连接,使得一个节点可以指向多个数据区
ls -li /opt/ ##查看节点及连接数,此时连接数为二,节点号不变
(2)软连接:多个节点对应多个数据区,可以节省数据空间。
ln -s /mnt/file /opt ##软连接,使多个节点指向一个数据区。必须是绝对路径指定
文件查找
(一)1.locatename ##快速查找文件,若是新建文件,将不会被查询到
2.updatedb ##更新文件
3.locate name ##更新后。将可以找到对应文件
注意:locate不能查找/mnt/,/tmp/中的文件
(二)find 命令
1.find -name 文件名 ##查找文件
find 目录 -user 用户名 ##在某目录下查找按用户名查找文件
find 目录 -group 组名.组名 ##按组查找文件
2.按文件大小查找文件
ddif=/dev/zero of=/mnt/westos bs=1024 count=100
表示:从/dev/zero中截取文件放入/mnt/westos,一块放1k,共100块
find 目录 -size +200k ##查找>200k的文件
find 目录 -size-200k ##查找小于200k的文件,
find 目录 -mindepth 1-size +200k #最小深度为1 ,查找大小>200k的文件
find 目录 -maxdepth 2-size -200k #最大深度为2,查找<200k的文件
如:find /mnt/ -maxdepth -maxdepth 0-size -300k
查找结果为/mnt
3.按文件权限查找文件
find 目录 -perm444 ##查找“用户、组、其他的权限都为4”的文件
find 目录 -perm/444 #查找“用户、组、其他”中有一个权限为4的用户
find 目录 -perm-444 #查找权限包含444的文件
因此,条件为/777查找的文件最多,查找条件为-777找出的文件最少。
4.find 目录 -条件1 -o -条件2 ##按条件1 或条件2 查找文件
find 目录 -条件1 -a -条件2 ##按条件1 与条件2 查找文件
find 目录 -not -条件 ##查找不满足该条件的文件
5.find 目录 -type f ##查找文件
d ##查找目录
c ##查找字符设备
b ##块设备
s ##套接字
l ##查找链接文件
如:找出根下的other有写权限并且不是链接的文件
find / -perm -002 -a -not -type l
6.find 目录 -条件 -exec 执行命令 #按条件查找出文件并执行后面的执行命令
如:
find /mnt -perm -002 -exec chmod o-w {} /目录名 ; #{}表示存放find的查找结果,即cp {} /目录名 #将查询结果{}拷贝至某目录下
找出/mnt下的other有写权限的文件,再以固定格式放入{}中;将这些文件去掉“写”权限。
例:在根下找出组是mail的ASCII码文件备份到/mnt/mailbackup/,并且不显示错误信息。
mkdir /mnt/mailbackup
find / -group mail -a -type f 2> /dev/null -exec cp -p {}/mnt/mailbackup ;
最后
以上就是紧张八宝粥为你收集整理的Linux学习<二> 第三单元的全部内容,希望文章能够帮你解决Linux学习<二> 第三单元所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复