Linux 中的设备有2种类型:字符设备(无缓冲且只能顺序存取)、块设备(有缓冲且可以随机存取)。这些设备中,有些设备是对实际存在的物理硬件的抽象,而有些设备则是内核自身提供的功能(不依赖于特定的物理硬件,又称为"虚拟设备")。每个设备在 /dev 目录下都有一个对应的文件(节点)。 
常见设备及相应/dev/下的文件名:

  • /dev/usb/hiddev0 | /dev/usb/hiddev1 --- USB 字符设备(鼠标/键盘/游戏杆/手写版等人操作计算机的设备)
  • /dev/uba | /dev/ubb         --- USB 块设备(U盘之类)
  • /dev/sda | /dev/sdb         --- 第n个 SCSI 磁盘(整个磁盘)
  • /dev/hda | /dev/hdb         --- 第n个 IDE 磁盘(整个磁盘)
  • /dev/sdc1 | /dev/sdc2       --- 第3个 SCSI 磁盘的第n个 分区  Linux/i386来说,分区1-4是主分区,5-15是逻辑分区。
  • /dev/scd0 | /dev/scd1       --- 第n个 SCSI CD-ROM
  • /dev/tty0 | /dev/tty1       --- 当前虚拟控制台、第n个虚拟控制台 TTY(终端)设备

Linux系统Mount点:mount的时候,mount的目标文件夹/media/cdrom要手动创建 
mount /dev/cdrom /media/cdrom

输入不带参数的mount命令,显示所以已经挂载好的文件系统

Mount命令:挂载(mount)光盘镜像文件、移动硬盘、U盘以及Windows网络共享和UNIX NFS网络共享  
命令格式:mount [-t vfstype] [-o options] device dir 
其中: 
  1.-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有:

  • 光盘或光盘镜像:iso9660
  • DOS fat16文件系统:msdos
  • Windows 9x fat32文件系统:vfat
  • Windows NT ntfs文件系统:ntfs
  • Mount Windows文件网络共享:smbfs
  • UNIX(LINUX) 文件网络共享:nfs

  2.-o options 主要用来描述设备或档案的挂接方式。常用的参数有:

  • loop:用来把一个文件当成硬盘分区挂接上系统
  • ro:采用只读方式挂接设备
  • rw:采用读写方式挂接设备
  • iocharset:指定访问文件系统所用字符集

  3.device 要挂载(mount)的设备。 
  4.dir设备在系统上的挂接点(mount point)。

/etc/fstab: 
 
这个文件是系统启动时,需要挂载的各个分区。

  • 第一列就是分区的label;
  • 第二列是挂载点;
  • 第三列是分区的格式;
  • 第四列则是mount的一些挂载参数,等下会详细介绍一下有哪些参数,一般情况下,直接写defaults即可;
  • 第五列的数字表示是否被dump备份,是的话这里就是1,否则就是0;
  • 第六列是开机时是否自检磁盘,就是刚才讲过的那个fsck检测。1,2都表示检测,0表示不检测,在Redhat中,这个1,2还有个说法,/ 分区必须设为1,而且整个fstab中只允许出现一个1,这里有一个优先级的说法。1比2优先级高,所以先检测1,然后再检测2,如果有多个分区需要开机检测那么都设置成2吧,1检测完了后会同时去检测2。下面该说说第四列中常用到的参数了。
  • async/sync :async表示和磁盘和内存不同步,系统每隔一段时间把内存数据写入磁盘中,而sync则会时时同步内存和磁盘中数据;
  • auto/noauto :开机自动挂载/不自动挂载;
  • default:按照大多数永久文件系统的缺省值设置挂载定义,它包含了rw, suid, dev, exec, auto, nouser,async ;
  • ro:按只读权限挂载 ;
  • rw:按可读可写权限挂载 ;
  • exec/noexec :允许/不允许可执行文件执行,但千万不要把根分区挂载为noexec,那就无法使用系统了,连mount命令都无法使用了,这时只有重新做系统了;
  • user/nouser :允许/不允许root外的其他用户挂载分区,为了安全考虑,请用nouser ;
  • suid/nosuid :允许/不允许分区有suid属性,一般设置nosuid ;
  • usrquota :启动使用者磁盘配额模式,磁盘配额相关内容在后续章节会做介绍;
  • grquota :启动群组磁盘配额模式;

学完这个/etc/fstab后,我们就可以自己修改这个文件,增加一行来挂载新增分区。例如,笔者增加了这样一行 
/dev/hdb1 /test1 ext3 defaults 0 0 
那么系统再重启时就会挂载这个分区了、或者直接运行mount -a 来挂载你增加的那行,这样就不用重启啦。

Linux常见设备及相应/dev/xxx文件名、Mount Point、挂载点、Mount命令、fstab、挂载分区的更多相关文章

  1. linux使用mount命令挂载、umount命令取消挂载

    一.mount挂载目录方式: mount 挂载目录 磁盘目录 二.umout取消挂载目录方式: 1.umout 磁盘目录 2.umout 挂载目录 3.umout 磁盘目录 挂载目录 如下图

  2. Linux字符设备简单示例

    1. Linux字符设备是一种按字节来访问的设备,字符驱动则负责驱动字符设备,这样的驱动通常实现open.close.read和write系统调用.例如:串口.Led.按键等. 2. 通过字符设备文件 ...

  3. linux挂载iso,u盘,分区,squashfs压缩文件

    常见分区加载方法: mount挂载iso文件: #mkdir /mnt/iso1 #mount –o loop linuxsetup.iso /mnt/iso1 在linux 不需要虚拟光驱,就可以直 ...

  4. Linux Shell脚本入门--(linux空设备文件和重定向)>/dev/null 2>&1

    linux空设备文件和重定向 输出/输入重导向 >      >>   <   <<   :>   &>   2&>   2< ...

  5. Linux的设备文件名与硬盘分区已经挂载点的关系

    以CentOS6.3为例. 选择的硬盘设备名是/dev/sda,即第一块STAT硬盘,然后在该硬盘分了3个主分区和1个扩展分区,设备名分别是/dev/sda1,/dev/sda2,/dev/sda3, ...

  6. Linux 循环设备 /dev/loop 解惑

    /dev/loop(或称vnd (vnode disk).lofi(循环文件接口))是一种伪设备,这种设备使得文件可以如同块设备一般被访问. 在使用之前,循环设备必须与现存文件系统上的文件相关联.这种 ...

  7. Linux字符设备驱动框架

    字符设备是Linux三大设备之一(另外两种是块设备,网络设备),字符设备就是字节流形式通讯的I/O设备,绝大部分设备都是字符设备,常见的字符设备包括鼠标.键盘.显示器.串口等等,当我们执行ls -l ...

  8. 2 . Linux常见命令

    Linux常见命令格式: 命令名称 选项 参数 ls -alh 文件/目录 --all #ls 显示当前目录内容 #ls -l 显示文件详细信息 #ls -hl h已常见单位显示文件大小 k M G# ...

  9. Linux常见疑难问答

    Linux常见疑难问答 (1)按a~z顺序排列启动服务进程. #exportLC_ALL=C           #英文环境变量设置,主要用于解决乱码问题 #chkconfig –list | gre ...

随机推荐

  1. 论XCODE工程里使用的宏定义.

    在XCODE开发过程中,经常会遇到引用头文件,引用库路径的问题,如果不是直接的源码引入,则需要在工程中增加设置.虽然现在有了Pod这类集合管理工具,但有时为了一个很小的lib引入Pod这尊大神还是有点 ...

  2. CSS3详解:transform

    CSS3 transform是什么? transform的含义是:改变,使…变形:转换 CSS3 transform都有哪些常用属性? transform的属性包括:rotate() / skew() ...

  3. maven出错The folder is already a source folder

    右键build path -> configure build path -> source ,选择 src/main/java.src/test/java删除,然后再新建.

  4. UVa 10082 WERTYU

    UVa 10082 题目大意:把手放在键盘上时,稍微不注意就会往右错一位.这样,输入Q就会变成输入W,输入J会变成输入K等等, 输入一个错位后敲出的字符串(所有字母均大写),输出程序员本来想打的句子. ...

  5. ARM的工作模式和寄存器

    以前学的时候学的是S3C6410的开发板,它是三星公司推出的基于ARM v6架构(指令集),处理器是ARM11. ARM架构是构建每个ARM处理器的基础. 目前最新的是ARM v8架构:http:// ...

  6. 【转】iOS10项目打包上传被拒关于隐私权限问题

    原文网址:http://blog.csdn.net/yidu_blog/article/details/53064987 今天项目打包提交.收到了苹果的邮件.主要内容: This app attemp ...

  7. C#配置升级

    void ConvertProject() { List<BaseProjectConverter> convertors = new List<BaseProjectConvert ...

  8. 未能加载文件或程序集“System.Data.SQLite”或它的某一个依赖项

    Win7 64位 IIS未能加载文件或程序集"System.Data.SQLite"或它的某一个依赖项 未能加载文件或程序集"System.Data.SQLite&quo ...

  9. shell之eval-command

    本文将会讲解一些linux中命令的使用与技巧希望对新手给予帮助一 e v a l命令将会首先扫描命令行进行所有的置换,然后再执行该命令.该命令适用于那些一次扫描无法实现其功能的变量.该命令对变量进行两 ...

  10. linux库

     将库函数打包成一个单元使之能够在运行时被多个进程共享的技术,这种技术能够节省磁盘空间和RAM. 一. 静态库:1.概念:    静态库就是一些目标文件的集合,以.a结尾.静态库在程序链接的时候使用, ...