- List item
本篇主要介绍Linux的目录结构和磁盘管理相关的命令。
Linux目录结构
在Linux的世界里,一切皆文件,连目录也不例外。linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”(相当于windows下的"我的电脑"),然后在此目录下再创建其他的目录。深刻理解linux树状文件目录是非常重要的:
/bin (/usr/bin 、 /usr/local/bin)
• 是Binary的缩写, 这个目录存放着最经常使用的命令;
/sbin (/usr/sbin 、/usr/local/sbin)
• s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序;
/home
• 存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/root
• 该目录为系统管理员,也称作超级权限者的用户主目录;
/lib
• 系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库;
/lost+found
• 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/etc
• 所有的系统管理所需要的配置文件和子目录my.conf ;
/usr
• 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录;
/boot
• 存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件;
/proc
• 这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息。
/srv
• service缩写,该目录存放一些服务启动之后需要提取的数据。
/sys
• 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs;
/tmp
• 这个目录是用来存放一些临时文件的。
/dev
• 类似于windows的设备管理器,把所有的硬件用文件的形式存储。
/media
• linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
/mnt
• 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂;
载在/mnt/上,然后进入该目录就可以查看里的内容了。
/opt
• 这是给主机额外安装软件所摆放的目录。如安装ORACLE数据库就可放到该目录下,默认为空。
/usr/local
• 这是另一个给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的程序。
/var
• 这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件。
/selinux [security-enhanced linux]
• SELinux是一种安全子系统,它能控制程序只能访问特定文件。
Linux磁盘管理相关命令
文件系统配置文件
/etc/filesystems:系统指定的测试挂载文件系统类型
/proc/filesystems:Linux系统已经加载的文件系统类型
/lib/modules/2.6.18-274.el5/kernel/fs/文件系统类型的驱动所在目录
/etc/fstab
/etc/mtab
linux 文件类型的颜色表示
linux文件颜色的含义:
蓝色代表目录;
绿色代表可执行文件;
红色表示压缩文件;
浅蓝色表示链接文件;
灰色表示其他文件;
红色闪烁表示链接的文件有问题了;
黄色表示设备文件;
蓝色文件----------目录
白色文件----------一般性文件,如文本文件,配置文件,源码文件等
浅蓝色文件----------链接文件,主要是使用ln命令建立的文件
绿色文件----------可执行文件,可执行的程序
红色文件-----------压缩文件或者包文件
Linux下用字符表示的文件类型
-:普通文件
d:目录文件
l:链接文件
b:块设备文件
c:字符设备文件
p:管道文件文件
Linux文件系统操作命令
df:列出文件系统的整体磁盘使用情况
!
du:列出目录所占空间
du -sh:显示当前目录大小
du –sh /:显示/目录下的所有目录大小
ln:连接文件(快捷方式)
ln –sf 源文件目 标文件:不加任何参数就进行连接就是hard link,加 上-s就是Symbolic link,hard link不支持目录和跨文件系统。
fdisk:(fdisk不支持大于2T的磁盘)
fdisk –l: 显示系统中的所有分区内容
parted:2T以上磁盘分区工具
注:parted支持大于2T的磁盘 ,2T以下的最好还是用fdisk来分区。
partprobe :更新分区表/磁盘
用于重新刷新分区表。删除文件后,可能仍然占用空间,可以partprobe在不重启的情况下重读分区(partprobe这个命令执行完毕之后不会输出任何返回信息)。
mkfs:磁盘格式化
mkfs –t 文件系统格式 设备文件名(盘符)
e2label:设置磁盘卷标 e2label 设备名称 新label名称,可以用dumpe2fs查看卷标
Mount:挂载磁盘
命令格式:mount [-t vfstype] [-o options] device dir
mount –o remount,rw,auto /重新挂载
mount –n –o remount,rw /重新挂载根目录,设置为可读写
其中:
- -t vfstype 指定文件系统的类型,默认不必指定。mount 会自动选择正确的类型。常用类型有:
光盘或光盘镜像:iso9660
DOS fat16文件系统:msdos
Windows 9x fat32文件系统:vfat
Windows NT ntfs文件系统:ntfs
Mount Windows文件网络共享:smbfs
UNIX(LINUX) 文件网络共享:nfs - -o options 主要用来描述设备或档案的挂接方式。常用的参数有:
loop:用来把一个文件当成硬盘分区挂接上系统
ro:采用只读方式挂接设备
rw:采用读写方式挂接设备
iocharset:指定访问文件系统所用字符集 - device 要挂接(mount)的设备。
- dir设备在系统上的挂接点(mount point)。
挂载光盘镜像文件:
1、从光盘制作光盘镜像文件。将光盘放入光驱,执行下面的命令。
#cp /dev/cdrom /home/sunky/mydisk.iso 或
#dd if=/dev/cdrom of=/home/sunky/mydisk.iso
注:执行上面的任何一条命令都可将当前光驱里的光盘制作成光盘镜像文件/home/sunky/mydisk.iso
2、将文件和目录制作成光盘镜像文件,执行下面的命令。
#mkisofs -r -J -V mydisk -o /home/sunky/mydisk.iso /home/sunky/ mydir
注:这条命令将/home/sunky/mydir目录下所有的目录和文件制作成光盘镜像文件/home/sunky/mydisk.iso,光盘卷标为:mydisk
3、光盘镜像文件的挂接(mount)#mkdir /mnt/vcdrom
注:建立一个目录用来作挂接点(mount point)#mount -o loop -t iso9660 /home/sunky/mydisk.iso /mnt/vcdrom注:使用/mnt/vcdrom就可以访问盘镜像文件mydisk.iso里的所有文件了。
挂载移动硬盘
对linux系统而言,USB接口的移动硬盘是当作SCSI设备对待的。插入移动硬盘之前,应先用fdisk –l 或more /proc/partitions查看系统的硬盘和硬盘分区情况。
#mkdir -p /mnt/usbhd1
#mkdir -p /mnt/usbhd2
注:建立目录用来作挂接点(mount point)
#mount -t ntfs /dev/sdc1 /mnt/usbhd1
#mount -t vfat /dev/sdc2 /mnt/usbhd2
注:对ntfs格式的磁盘分区应使用-t ntfs 参数,对fat32格式的磁盘分区应使用-t vfat参数。若汉字文件名显示为乱码或不显示,可以使用下面的命令格式。
#mount -t ntfs -o iocharset=cp936 /dev/sdc1 /mnt/usbhd1
#mount -t vfat -o iocharset=cp936 /dev/sdc5 /mnt/usbhd2
linux系统下使用fdisk分区命令和mkfs文件系统创建命令可以将移动硬盘的分区制作成linux系统所特有的ext2、ext3格式。这样,在linux下使用就更方便了。使用下面的命令直接挂接即可。
#mount /dev/sdc1 /mnt/usbhd1
挂载U盘
和USB接口的移动硬盘一样对linux系统而言U盘也是当作SCSI设备对待的。使用方法和移动硬盘完全一样。插入U盘之前,应先用fdisk –l 或more /proc/partitions查看系统的硬盘和硬盘分区情况。插入U盘后,再用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。
#mkdir -p /mnt/usb
注:建立一个目录用来作挂接点(mount point)
#mount -t vfat /dev/sdd1 /mnt/usb
注:现在可以通过/mnt/usb来访问U盘了, 若汉字文件名显示为乱码或不显示,可以使用下面的命令。
#mount -t vfat -o iocharset=cp936 /dev/sdd1 /mnt/usb
umount:将文件设备卸载
#umount -l /mnt/hda1 选项–l 并不是马上umount,而是在该目录空闲后再umount。如果比较急,可用如下命令:#umount -f /mnt/hda1 -f代表强制 卸载如果还不行,可使用fuser -m –v /dev/hda1来查询是哪些程序在占用,结束这些程序进程即可卸载,
sync && fuser -m /dev/hda1 –k 使用这条命令后一定可以卸载
交换分区
交换分区最大容量为64G,最多只能建32个,
创建交换分区:
#fdisk /dev/hda→n→+容量→p→t(修改系统ID)→分区号→82→p→w
#mkswap /dev/hda2(以上划分的分区号)
构建swap格式
#swapon /dev/hda2
加载即完成增加swap
#swapon –s
显示目前使用的Swap设备
创建交换文件
dd if=/dev/hda1 of=/aixi/swap bs=1M count=64
创建大文件
#mkswap /aixi/swap
#swapon /aixi/swap
取消交换分区或者交换文件
#swapon –s
显示目前使用的Swap设备
#swapoff /aixi/swap
#swapoff /dev/hda2
#free –m检查
mdadm命令(很重要)
mdadm是一个用于管理 Linux 软件 RAID(独立磁盘冗余阵列)的命令行工具。
注:这个命令的用法后面进阶和实操篇里面会重点做实验演示,此处不再介绍。
好了本篇就介绍到这里,掌握以上命令Linux的磁盘管理你就掌握了95%以上吧。
码字不易,宝贵经验分享不易,请各位支持原创,转载注明出处,多多关注作者。