LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1663|回复: 6

UTF-8 下为 Windows 分区修改 /etc/fstab 的脚本

[复制链接]
发表于 2005-2-18 14:25:37 | 显示全部楼层 |阅读模式
[php]
#!/bin/sh
#
#autowinfs    auto mount windows disks
#
# Copyright (c) 2005   Jiahua Huang <jhuangjiahua@gmail.com>
#License: GPLv2
#
#  /usr/bin/sutowinfs
#  用来自动挂载机器上的 Windows 分区 , 并写入 /etc/fstab
#   五  2月 18 14:06:12 CST 2005

mkdir  -p  /windows/
rmdir   /windows/?*   1> /dev/null

grep   -v  '/windows/'  /etc/fstab  >  /etc/fstab.swp

fdisk -l | grep  'NTFS' | cut -d' ' -f1 | cut -d/ -f3 | while read WDISKS
     do echo  "/dev/$WDISKS   /windows/$WDISKS  ntfs  auto,user,iocharset=utf8,umask=0   0 0"    >>  /etc/fstab.swp
     mkdir  "/windows/$WDISKS"
done

fdisk -l | grep 'FAT' | cut -d' ' -f1 | cut -d/ -f3 | while read WDISKS
     do echo  "/dev/$WDISKS   /windows/$WDISKS  vfat  auto,user,iocharset=utf8,umask=0   0 0"    >>  /etc/fstab.swp
     mkdir  "/windows/$WDISKS"
done

mv   /etc/fstab.swp    /etc/fstab

mount   -a

exit  0
[/php]



#  本脚本用于  UTF-8 的 Locale 下 , 如果是 GBK 的 locale , 就把 下面的 iocharset=utf8  换成 iocharset=cp936
#  单独的 fdisk  -l  不能列出分区的情况很少了 , 所以把  /dev/[hs]d[a-z]  去掉
## fdisk  -l  /dev/[hs]d[a-z]  |  grep   -E  'FAT|NTFS'  | cut -d' ' -f1    |   cut -d/ -f3  |   while read WDISKS
# 查找 NTFS 分区  , 新内核的 auto 好像有点问题 , 所以现在把  NTFS 和 VFST 分开来
发表于 2005-2-18 16:42:32 | 显示全部楼层
支持原创


ps:新手可试下管不管用,能用就给加精了。我的/etc/fstab已经弄好了,再运行就乱了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-2-18 17:28:22 | 显示全部楼层
麻烦把您的 fstab 备份一下

删除原先关于 Win 分区的设置


谢谢了哦
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-2-19 02:06:49 | 显示全部楼层
这个是 failsafe 兄测试的结果
执行脚本后  df -h 的输出

  1. ]
  2. nancy:/home/simon# df -h
  3. Filesystem &#160; &#160; &#160; &#160; &#160; &#160;容量 &#160;已用 可用 已用% 挂载点
  4. /dev/hda9 &#160; &#160; &#160; &#160; &#160; &#160; &#160;24G &#160;2.0G &#160; 21G &#160; 9% /
  5. tmpfs &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 126M &#160; &#160; 0 &#160;126M &#160; 0% /dev/shm
  6. none &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;5.0M &#160;756K &#160;4.3M &#160;15% /dev
  7. /dev/hda1 &#160; &#160; &#160; &#160; &#160; &#160; 9.8G &#160;3.4G &#160;6.5G &#160;34% /windows/hda1
  8. /dev/hda5 &#160; &#160; &#160; &#160; &#160; &#160; &#160;20G &#160; 16G &#160;4.2G &#160;79% /windows/hda5
  9. /dev/hda6 &#160; &#160; &#160; &#160; &#160; &#160; &#160;20G &#160; 15G &#160;4.9G &#160;75% /windows/hda6
  10. /dev/hda7 &#160; &#160; &#160; &#160; &#160; &#160; &#160;20G &#160; 15G &#160;4.8G &#160;76% /windows/hda7
  11. /dev/hda8 &#160; &#160; &#160; &#160; &#160; &#160; &#160;20G &#160; 16G &#160;3.7G &#160;82% /windows/hda8
  12. /dev/hdb5 &#160; &#160; &#160; &#160; &#160; &#160; 4.9G &#160; 21M &#160;4.9G &#160; 1% /windows/hdb5
  13. /dev/hdb6 &#160; &#160; &#160; &#160; &#160; &#160; 3.9G &#160;463M &#160;3.5G &#160;12% /windows/hdb6
  14. /dev/hdb7 &#160; &#160; &#160; &#160; &#160; &#160; &#160;11G &#160;9.2G &#160;1.3G &#160;89% /windows/hdb7
复制代码





再次感谢 failsafe 兄测试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-2-20 20:01:48 | 显示全部楼层
发现有些系统用 fdisk -l 没有输出
得用 fdisk -l  /dev/[hs]d[a-z]


再贴出修改后的脚本

/usr/bin/autowinfs


[php]
#!/bin/sh
#
#autowinfs    auto mount windows disks
#
# Copyright (c) 2005   Jiahua Huang <jhuangjiahua@gmail.com>
#License: GPLv2
#
#  用来自动挂载机器上的 Windows 分区 , 并写入 /etc/fstab

rm -rf   /windows/  1> /dev/null
mkdir  -p  /windows/

grep   -v  '/windows/'  /etc/fstab  >  /etc/fstab.swp

fdisk  -l /dev/[hs]d[a-z]  |  grep  'NTFS'  |  cut -d' ' -f1 |  cut -d/ -f3  |   while read WDISKS
     do echo  "/dev/$WDISKS   /windows/$WDISKS    ntfs   auto,user,iocharset=utf8,umask=0  0 0" >>  /etc/fstab.swp
     mkdir  "/windows/$WDISKS"
done

fdisk  -l /dev/[hs]d[a-z]  |  grep   'FAT'  |  cut -d' ' -f1 |  cut -d/ -f3  |   while read WDISKS
     do echo  "/dev/$WDISKS   /windows/$WDISKS    vfat   auto,user,iocharset=utf8,umask=0  0 0" >>  /etc/fstab.swp
     mkdir  "/windows/$WDISKS"
done

mv   /etc/fstab.swp    /etc/fstab

mount -a

exit  0
[/php]
回复 支持 反对

使用道具 举报

发表于 2005-4-3 22:17:54 | 显示全部楼层
谢谢,研究一下!
回复 支持 反对

使用道具 举报

发表于 2008-12-23 18:52:21 | 显示全部楼层
输出:不能移除 目录 /windows/?*
但是实际结果成功
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表