Linux下加挂文件系统
Linux下加挂文件系统的小结
学习操作系统时我们都了解到文件系统是操作系统的重要组成部分之一。文件系统有很多种类型,比
windows的fat、fat32;Linux的ext、ext2或ext3;FreeBSD的ufs等等。在使用Linux的过程,也常常Linux
操作系统使用虚拟文件系统VFS,通过VFS可以直接存取其它已被内核支持的各种文件系统,用起来就像是在普通的
Linux的ext系列文件系统一样。早期的Linux内置支持的文件系统不多,自 kernel 2.0.x 起并支持到 VFAT ,以后逐
渐增加,到目前可以说 决大多数的文件系统都有了支持。只是有一些如NTFS需要重新编译内核才能支持。
Linux在启动过程中,会按照/etc/fstab中的设置,把各个分区上的文件系统加挂到对应到加载点上去。Linux至少需要两个分区才能启动:一个是根分区/,另一个是交换分区,如果在启动时根分区加载失败,Linux就不能完成启动。如果交换分区加载失败,Linux就不能仍能启动,在内存不够的情况下速度就会受很大的影响。根分区的文件系统类型通常是ext、ext2或ext3,但也可以是其它的一些文件系统。
除了加载了Linux所必需的文件系统外,Linux的用户还经常需要使用其它的各种文件系统,特别是在一台机器上同时安装多个操作系统的时候。比如笔者的机器上同时安装了Linux和Windows2000,其中Windows的C盘采用了NTFS文件系统、D盘采用了FAT32文件系统。而当我在Linux上工作的时候,常常需要访问Windows的C盘和D盘的内容,甚至是网络上的共享目录,Linux下加挂一个文件系统使用的是
mount命令,用man mount命令可以得到命令参数的详细解释。下面就来介绍一下在几种情况下以命令行方式加挂文件系统的具体方法:
1.加挂FAT32文件系统
最简单的用法
mount /dev/hda6 /mnt/d
/dev/hda6是笔者Windows的D盘,/mnt/d是目录加挂点。Linux会识别到/dev/hda6分区的文件系统类型是什么,然后加挂的。当然也可以指定分区的文件系统类型,命令如下:
mount -t vfat /dev/hda6 /mnt/d
在实际中操作中,直接加挂一个windows的分区,中文的文件名和目录名会出现乱码,为了避免这种情况可以指定字符集,命令如下:
mount /dev/hda6 /mnt/d -o codepage=936,iocharset=cp936
mount -t vfat /dev/hda6 /mnt/d -o codepage=936,iocharset=cp936
注意:cp936是指简体中文,cp950是指繁体中文。
2.加挂NTFS文件系统
在目前多数的Linux版本上,需要重编译Linux核心才能,加挂NTFS分区(编译方法请参阅其它文章)。核心支持NTF
相关文档:
什么是USB?
USB是英文Universal Serial Bus的缩写,意为通用串行总线。USB最初是为了替代许多不同的低速总线(包括并行、串行和键盘连接)而设计的,它以单一类型的总线连接各种不同的类型的设备。USB的发展已经超越了这些低速的连接方式,它现在可以支持几乎所有可以连接到PC上的设备。最新的USB规范修订了理论上高达480 ......
-----------------------------
Based on Fedora 8 version:
-----------------------------
1. No common command like ifconfig in os?
Root cause is the standard search path not include /sbin and /usr/sbin. Try to include them in /etc/profile. As belows:
#Kenny add /sbin and /usr/sbin here.
&n ......
对于这个函数,其实是很多宏定义调用的函数,其中alloc_bootmem_low_pages(x)是其中一个调用它的宏,大家可以认为这些宏只是把这个__alloc_bootmem实质性的函数进行了封装。#define alloc_bootmem_low_pages(x)相当于__alloc_bootmem((x), PAGE_SIZE, 0),就是从0地址开始的低端内存分配按页大小对齐的内存。好了,为 ......
说实话,信号是我讨厌的东西,在我些的代码中,我都想用最简单的办法来处理它,现在遇到多线程中信号的处理,APUE中的说法也看得不是很懂,CSDN中一位朋友有如下的总结,先记在这里。
1. 默认情况下,信号将由主进程接收处理,就算信号处理函数是由子线程注册的
2. 每个线程均有自己的信号屏蔽字,可以使用sigprocmask函 ......
Linux下查看支持的信号列表:
~$ kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD
18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN
22) SIGTTOU 23) SIGUR ......