扩展阅读
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • secureCRT下Linux终端汉字乱码解决方法
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • Linux c字符串中不可打印字符转换成16进制
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • linux命令大全详细分类介绍及常用linux命令文档手册下载
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux Kernel 'sctp_v6_xmit()'函数信息泄露漏洞
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在没有linux的盘,只有DOS启动盘)
  • linux c下利用srand和rand函数生成随机字符串
  • 如何让win2000和linux共存。我装好WIN2000,再装LINUX7.0,但LILO只能找到LINUX,不能引导WIN2000
  • Linux c++虚函数(virtual function)简单用法示例代码
  • 在windows中的VMware装了个linux,主板有两个串口,能做windows和linux的串口通信测试么,怎么测试这两个串口在linux是有效
  • Docker官方镜像将会使用Alpine Linux替换Ubuntu
  • 我们网站的服务器从windows2000迁往linux,ASP程序继续使用,可是我连LINUX的皮毛都不了解,大家告诉我LINUX下怎么建网站??
  • Linux下chmod命令详细介绍及用法举例
  • 中文Linux与西文Linus分别哪一个版是权威?I认为是:中科软的白旗Linux与西文的绿帽子Linux!大家的看法呢?
  • Linux下c基于openssl生成MD5的函数
  • Windows2000和Linux双操作系统,Linux系统有问题,我直接把Linux分区删除后,Windows2000进不去了,怎么办???
  •  
    当前位置:  操作系统>Linux

    Linux下u盘文件系统相关操作

     
        发布时间:2014-1-13  


        本文导语:  Linux文件系统是异步的,也就是说写一个文件不是立刻保存到介质(硬盘,U盘等)中,而是存到缓冲区内,等积累到一定程度再一起保存到介质中。如果没有umount就非法拔出 U盘,程序是不知道的,fopen,fwrite等函数...

          Linux文件系统异步的,也就是说写一个文件不是立刻保存到介质(硬盘U盘等)中,而是存到缓冲区内,等积累到一定程度再一起保存到介质中。如果没有umount就非法拔出 U盘,程序是不知道的,fopen,fwrite函数都依然返回正确,知道操作系统要把写介质的时候,才会提示I/O错误。可是很多数据都会因为这个不及时的错误报告而丢失。事实上,USB驱动程序在U盘插入和拔出时,都对系统配置文件做了修改例如U盘驱动程序会在插入或拔出时往 /proc/scsi/usb-storage-0/0 里面记上 Attached:Yes or No通过查看这个文件就不难检测U盘是否插入或拔出了。注意:U盘是否插入的状态与是否挂载(mount)无关。

    一、现象分析

         之前在操作U盘时候,出现不能挂载,应该文件系统出现bug。在xp下面也不能格式化。后来在ubuntu下试试,也是不可以挂载。挂载时候报, /dev/sdf4 bad superblock error

    整个尝试流程

    1.检查ext文件系统的正确性

    sudo e2fsck /dev/sdf4

    结果如下:

    e2fsck 1.41.11 (14-Mar-2010)
    e2fsck: 超级块无效, trying backup blocks...
    e2fsck: Bad magic number in super-block 当尝试打开 /dev/sdf4 时
    The 超级块 could not be read or does not describe a correct ext2
    文件系统.  If the 设备 is valid and it really contains an ext2
    文件系统 (and not swap or ufs or something else), then the 超级块
    is corrupt, and you might try running e2fsck with an alternate 超级块:
       e2fsck -b 8193 <设备>

    2.重设superblock

    sudo e2fsck -b 8193  /dev/sdf4

    显示信息如下

    e2fsck 1.41.11 (14-Mar-2010)
    e2fsck: Bad magic number in super-block 当尝试打开 /dev/sdf4 时
    The 超级块 could not be read or does not describe a correct ext2
    文件系统.  If the 设备 is valid and it really contains an ext2
    文件系统 (and not swap or ufs or something else), then the 超级块
    is corrupt, and you might try running e2fsck with an alternate 超级块:
       e2fsck -b 8193 <设备>

    这个命令执行没有效果

    3.检测

    sudo e2fsck -f  /dev/sdf4

    信息

    e2fsck 1.41.11 (14-Mar-2010)
    e2fsck: 超级块无效, trying backup blocks...
    e2fsck: Bad magic number in super-block 当尝试打开 /dev/sdf4 时
    The 超级块 could not be read or does not describe a correct ext2
    文件系统.  If the 设备 is valid and it really contains an ext2
    文件系统 (and not swap or ufs or something else), then the 超级块
    is corrupt, and you might try running e2fsck with an alternate 超级块:
       e2fsck -b 8193 <设备>

    后来想想干脆格式化得了。

    4.格式化,我将其格式成vfat文件系统

    sudo mkfs -V -t vfat /dev/sdf4

    信息:

    mkfs (util-linux-ng 2.17.2)
    mkfs.vfat /dev/sdf4
    mkfs.vfat 3.0.7 (24 Dec 2009

    命令执行没有异常

    5.检查vfat文件系统

    sudo fsck -a  -V -t vfat /dev/sdf4

    信息如下:

    fsck from util-linux-ng 2.17.2
    [/sbin/fsck.vfat (1) -- /dev/sdf4] fsck.vfat -a /dev/sdf4
    dosfsck 3.0.7, 24 Dec 2009, FAT32, LFN
    /dev/sdf4: 0 files, 1/1957125 clusters

    此命令执行OK,U盘正常工作了。

    二、关于文件系统一些基本点

    用下列命令查看Linux内核提供了对哪些文件系统的支持

    cat /proc/filesystems

    如下:

    nodev    sysfs
    nodev    rootfs
    nodev    bdev
    nodev    proc
    nodev    cgroup
    nodev    cpuset
    nodev    tmpfs
    nodev    devtmpfs
    nodev    debugfs
    nodev    securityfs
    nodev    sockfs
    nodev    pipefs
    nodev    anon_inodefs
    nodev    inotifyfs
    nodev    devpts
       ext3
       ext2
       ext4
    nodev    ramfs
    nodev    hugetlbfs
    nodev    ecryptfs
    nodev    fuse
       fuseblk
    nodev    fusectl
    nodev    mqueue
    nodev    binfmt_misc
       vfat


    查看/etc/fstab内容

    #
    proc            /proc           proc    nodev,noexec,nosuid 0       0
    /dev/sda1       /               ext4    errors=remount-ro 0       1
    /dev/sda5       none            swap    sw              0       0

    这个文件描述系统中各种文件系统的信息。一般而言,应用程序仅读取这个文件,而不对它进行写操作。对它的维护是系统管理员的工作。在这个文件中,每个文件系统用一行来描述,在每一行中,用空格TAB符号来分隔各个字段,文件中以#开头的行是注释信息。Fstab文件中的纪录的排序十分重要。因为fsck,mount或umount等程序在做它们的工作时会按此顺序进行。

    三、列出一些文件系统操作命令

    1.fdisk

    fdisk命令用来进行磁盘分区。
    使用权限:超级用户。
    格式:fdisk [-l] [-b SSZ] [-u] device
    主要选项:
    -l:  察看指定的设备的分区表状况。
    -b SSZ:将指定的分区大小输出到标准输出上,单位为区块。
    -u:搭配"-l"参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址
    device:要这些操作的设备名称。
    应用说明
    fdisk是各种Linux发行版本中最常用的分区工具,是被定义为Expert级别的分区工具。它还包括一个二级选单,首先输入命令,然后出现问答式界面,用户通过在这个界面中输入命令参数来操作fdisk。

    选单详细介绍:
    a:设定
    硬盘启动区。
    b:编辑一个BSD类型分区。
    c:编辑一个DOS兼容分区。
    d: 删除一个分区。
    l: 察看指定的设备的分区表状况。
    m:显示Fdisk命令各个参数的说明。
    o:创建一个DOS分区。
    n:设定新的硬盘分区。
    p:打印分区信息。
    s:创建一个空Sun分区表。
    t:改变硬盘分区类型。
    q: 结束分区,不保存操作内容。
    v:校验硬盘分区表。
    w:结束分区,保存操作内容。
    x:进入高级操作模式

    2.mkfs

    mkfs命令用来在Linux下建立各种文件系统,也即是格式化命令
    使用权限:超级用户。
    格式:
    mkfs [-V] [-t fstype] [fs-options] device [size]
    主要选项:
    -V:输出帮助信息。
    -t fstype: 指定要建立何种文件系统。如没有任何指定,则使用缺省的文件系统类型(目前是 ext2)。
    fs-options:传递给实际的文件系统制作工具的文件系统相关的选项。
    size:是指该文件系统用的区块数。
    device:既可以是设备名,(如: /dev/hda1, /dev/sdb2) 也可以是文件系统的挂载点,(如: /, /usr, /home)。
       应用说明:
      mkfs命令本身并不执行建立文件系统的工作,它是在 Linux下各文件系统专用程序(mkfs.fstype)的请问Linux下要获得网络接口的相关信息,像ifconfig,netstat那样 iis7站长之家程序。各文件系统专用程序可以在/sbin、/sbin/fs、/sbin/fs.d等目录中找到。主要包括:mkfs.dos用来创建DOS文件系统。mkfs.reiserfs用来创建reiserfs文件系统。mkfs.jfs用来创建jfs文件系统。mkfs.vfat用来创建vfat文件系统。
       出于对Linux各个发行版本的兼容性,对于建立同一Linux文件系统的命令可能有不同命令名称,实际功能是相同的,如mkfs.ext2、mkfs.ext3、mke2fs都是用来创建ext2/ext3文件系统。

    • 本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
      本站(WWW.)站内文章除注明原创外,均为转载,整理或搜集自网络.欢迎任何形式的转载,转载请注明出处.
      转载请注明:文章转载自:[169IT-IT技术资讯]
      本文标题:Linux下u盘文件系统相关操作
    相关文章推荐:
  • TCP协议四次断连过程介绍及Linux内核协议栈中相关设置项
  • 跟LINUX相关的毕业设计
  • 我想学习linux桌面编程,那么有没有必要学习linux的内核以及内核的相关编程呢?
  • gnu grub 相关问题,本来xp,linux红旗,在xp格式了linux.重起没有了grub菜单
  • 急求linux下的office相关资料书籍!
  • 求linux C++的时间相关函数及用法,急用,谢谢
  • 请教下linux达人 相关版本2.6的进程调度
  • linux 中 man 的相关问题
  • linux中与tcp/ip相关的进程有哪些
  • 求FTP客户端源程序或相关资料(C,LINUX )
  • Linux下如何用C语言操作Oracle数据库相关的图书推荐
  • 想找一些linux相关的实验题,哪里可以下载?最好附有答案参考
  • 想在linux下用C实现gzip压缩与解压缩,有没有相关库函数可以调用?
  • 请问Linux下要获得网络接口的相关信息,像ifconfig,netstat那样
  • 在linux下如何解决读U盘容量等相关信息,给分的!
  • Linux相关问题求教
  • 请问linux下C/C++编程语言,同时请推荐相关书籍
  • 新手请教Linux下开发的相关问题
  • Vmware上跑linux有无编程相关的问题
  • 哪里有Linux相关的文档
  • Linux下面和"临界区"相关的函数调用是什么?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3