第十四单元 linux中的设备访问

简介:

第十四单元

 

linux中的设备访问

 

 设备访问

1 设备识别

/dev/xdxn:硬盘设备/dev/sda1

/dev/cdrom:光驱

/dev/mapper/*:虚拟设备

 

2.设备的使用

查看设备:

fdisk -l:查看真实存在的设备

wKiom1j4ZFPS2hNjAAEqTvZWe-M220.png-wh_50

cat /proc/partitions:系统能够识别的设备

blkid:系统能够挂载使用的设备id

wKioL1j4ZG2RIna5AAGNRgdSRv4530.png-wh_50

df:查看设备被系统使用的情况

wKiom1j4ZDrgUR_oAACxUOaHHOY233.png-wh_50 

设备挂载:

mount 设备挂载点

mount /dev/sdb1/mnt#把系统中第二块硬盘的第一个分区挂载到/mnt目录上

 

 

设备卸载:

umount    设备|挂载点

wKioL1j4ZLGi4Si9AAAx6Z6wVuE977.png 

 

如出现以下情况:

[root@foundation78 mnt]# umount /mnt/

umount: /mnt: target is busy.

        (In some cases useful info about processes that use

         the device is found by lsof(8) or fuser(1))

解决:

1 fuser -vm 设备|挂载点:-v显示详细信息,-m扫描设备

2 lsof          设备|挂载点

wKioL1j4ZNnQDGQ_AAD-VdUIfOo937.png-wh_50 

 

格式化u盘:

mkfs.vfat  /dev/sdb

 

 软硬链接

1 硬链接:1个节点对应多个数据块。如果我们删除硬链接文件的源文件,硬链接文件仍然存在,而且保留了源文件的内容。

 

2 软链接:多个节点对应一个数据块。软链接可以看成一个文本文件,它的内容是保存目标文件名的路径地址。如果,把源文件删除,软链接文件就不存在了

 

通俗一点可以将硬链接当成原文件的副本,他显示跟原文件一样的大小但事实上却不占任何空间,软链接可以理解成windows的快捷方式

 

ls    -i                                :查看文件节点号


ln    -s   /file  /file1:软链接


ln  /file  /file1:硬链接

 

实验1 硬链接:在/mnt下建立文件westos ,文件内容为westos linux ,查看该文件的节点号,和被系统记录的次数,发现为1,然后建立硬链接,ln   /mnt/westos  /opt/  , 再查看/opt/westos 信息 ,发现被系统记录的次数变成2,rm  -fr  /opt/westos  后又变成1   

wKioL1j4ZY6iBRrJAAGQ2I5SE80934.png-wh_50

实验2 软链接:删除源文件,再查看软链接文件是否存在

wKiom1j4ZaegXcaEAAGyj73Z8w0774.png-wh_50 

 

 

 文件查找

 

1 locate filename         : 在文件数据库中搜索filename信息

  updatedb                : 更新文件数据库

建立一个新文件后,要用locate 搜索该文件信息,则要先updatedb更新文件数据库

wKiom1j4ZdOhW809AADKrOSlx4U495.png-wh_50 

2 find

find 查找位置-条件条件值 -exec 动作 {} \;  :-exec对匹配到的文件进行操作,后面跟随所要执行的命令,{}指匹配到的文件,\; 是格式

 

1:对/mnt下所有其他用户有写权限的修改权限,使其他用户不具有写权限

find  /mnt  -perm  -022  -exec  chmod  o-w  {}  \;

 wKioL1j4Z4HjC1N3AAGnezK7SQ4491.png-wh_50

2:将/etc/下所有名字以.conf结尾的都备份到/mnt/下

find  /etc/  -name  *.conf  -exec   cp  {}  /mnt/   \;

 wKiom1j4Z5yR0FfoAAF_1l6lnqA069.png

3:将/下文件所有组为mail的文件复制到/mnt/mailbackup/,只要正确输出

find  /  -group  mail  -a  -type  f  2> /dev/null  -exec  cp  -p  {}  /mnt/maibackup/  \;

 wKioL1j4aGujDeAVAADqK5TL_4U048.png-wh_50

 

-name            :名称

-not条件     

-user            :所有人

-group           :所有组

-size            :大小

-maxdepth        :最大深度

-mindepth        :最小深度

wKioL1j4ZsXRP-d_AAEZ-_obT5Q370.png-wh_50

-a               :并且

-o               :或者

                -perm            :权限

1:find  /mnt/   -perm  444  :找到/mnt/ 下权限为444的

find  /mnt/  -perm  /444     :找到/mnt/下权限满足其中一个即可

find  /mnt/  -perm  -444     :找到/mnt/下满足u有4,g有4,o有4的

 wKioL1j4Zuuw8vDsAAGJSYBMRXg208.png      

-typef :文件

d :目录

c :字符设备

b :块设备

s :套节字

l :链接

2:查找/下其他用户有写权限,且类型为不是链接:

find  /  -perm  -002  -a  -not  -type l

 wKiom1j4ZxGjEm9eAAFCzxRNyko676.png-wh_50

3:查找/下文件所有组为mail的文件

find  /  -group  mail  -a  -type  f

若是不想要错误输出:2> /dev/null

 wKioL1j4aBfjcWUxAAC_-arF5Fo588.png-wh_50

 wKioL1j4aFXwz447AAB2fDpSLMQ283.png-wh_50


find /mnt -user student

find /mnt -group linux

find /mnt -user student -a -group linux

find /mnt -user student -o -group linux

find /mnt -user student -a -group linux

find /mnt -user student

find /mnt -user student -a -not -group linux

wKiom1j4Zl6TrYjCAAG5ax6oaTI271.png 

/dev/zero是一个特殊的设备文件,它代表一个永远输出0的设备文件,使用它作输入可以得到全为空的文件。因此可用来创建新文件和以覆盖的方式清除旧文件。

使用dd命令将从设备中创建一个10k ,20k ,30k大小(bs决定每次读写1024字节,count定义读写次数为10次),但是内容全为0的文件

 

dd if=/dev/zero of=/mnt/file1 bs=1024 count=10    

dd if=/dev/zero of=/mnt/file2 bs=1024 count=20

dd if=/dev/zero of=/mnt/file3 bs=1024 count=30

wKiom1j4ZnyivHoJAAI8sGpPesU884.png-wh_50 

find /mnt -size 10k                   :找出/mnt下大小为10k的文件

find /mnt -size -10k                  :找出/mnt下大小小于10k的文件

find /mnt -size +10k                  :找出/mnt下大小大于30k的文件

wKioL1j4ZpPx9nU0AACyiSx9wOY364.png-wh_50 

 

 









本文转自blueclo51CTO博客,原文链接:http://blog.51cto.com/12774272/1917800 ,如需转载请自行联系原作者






相关文章
|
17天前
|
Linux
关于Linux目录访问函数总结
关于Linux目录访问函数总结
13 1
|
28天前
|
Shell Linux C语言
【Shell 命令集合 设备管理 】Linux 创建设备文件 MAKEDEV命令 使用指南
【Shell 命令集合 设备管理 】Linux 创建设备文件 MAKEDEV命令 使用指南
33 0
|
1月前
|
Linux C语言 SoC
嵌入式linux总线设备驱动模型分析
嵌入式linux总线设备驱动模型分析
32 1
|
28天前
|
监控 Linux Shell
【Shell 命令集合 网络通讯 】Linux管理终端设备的登录过程 getty命令 使用指南
【Shell 命令集合 网络通讯 】Linux管理终端设备的登录过程 getty命令 使用指南
31 0
|
28天前
|
Shell Linux C语言
【Shell 命令集合 磁盘管理 】Linux losetup命令使用教程 将一个文件或设备与一个回环设备(loop device)进行关联
【Shell 命令集合 磁盘管理 】Linux losetup命令使用教程 将一个文件或设备与一个回环设备(loop device)进行关联
37 0
|
28天前
|
存储 Shell Linux
【Shell 命令集合 磁盘管理 】Linux 从远程磁带设备中删除文件或目录rmt命令使用教程
【Shell 命令集合 磁盘管理 】Linux 从远程磁带设备中删除文件或目录rmt命令使用教程
26 0
|
28天前
|
Shell Linux C语言
【Shell 命令集合 磁盘管理 】Linux 控制光驱或可移动媒体设备的弹出和关闭操作 eject命令使用教程
【Shell 命令集合 磁盘管理 】Linux 控制光驱或可移动媒体设备的弹出和关闭操作 eject命令使用教程
35 1
|
28天前
|
监控 Linux Shell
【Shell 命令集合 磁盘维护 】Linux 交换分区的特殊文件或设备 swapon命令使用指南
【Shell 命令集合 磁盘维护 】Linux 交换分区的特殊文件或设备 swapon命令使用指南
35 1
|
28天前
|
存储 Shell Linux
【Shell 命令集合 磁盘维护 】Linux 创建一个用作交换空间(swap space)的特殊文件或设备 mkswap命令使用教程
【Shell 命令集合 磁盘维护 】Linux 创建一个用作交换空间(swap space)的特殊文件或设备 mkswap命令使用教程
33 0
|
28天前
|
安全 Shell Linux
【Shell 命令集合 网络通讯 】Linux 打开终端设备 mingetty命令 使用指南
【Shell 命令集合 网络通讯 】Linux 打开终端设备 mingetty命令 使用指南
38 0