1. fdisk磁盘分区

Linux fdisk是一个创建和维护分区表的程序,它兼容DOS类型的分区表、BSD或者SUN类型的磁盘列表。fdisk为磁盘分区命令,用来创建分区、删除分区、查看分区信息等基本操作。 fdisk命令的基本语法格式如下:


fdisk [选项][参数]

对文件系统的操作


【例5-3】fdisk -l 命令查看硬盘及分区信息

[root@localhost ~]# fdisk -l  

Disk /dev/sda: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00057060

 

  Device Boot      Start       End      Blocks   Id  System

/dev/sda1   *         1          39      307200   83  Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2            39      2358    18631680   83  Linux

/dev/sda3         2358      2611     2031616   82  Linux swap / Solaris




查看单个硬盘情况,可以通过fdisk -l /dev/sda1 来操作;当输入 fdisk  /dev/sda1,可进入分割硬盘模式。可通过以下命令来操作磁盘:



【例5-4】fdisk device命令。

[root@localhost ~]# fdisk /dev/sda

Command (m for help): m                    

Command action

  a   toggle a bootable flag

  b   edit bsd disklabel

  c   toggle the dos compatibility flag

  d   delete a partition   //删除一个分区的动作;

  l   list known partition types  // l是列出分区类型,供我们设置相应分区

  m   print this menu   //列出帮助信息

  n   add a new partition   //添加一个分区

  o   create a new empty DOS partition table

 …


2.mkfs格式化命令

当磁盘分区完成后就要进行文件系统的格式化。格式化就是使用mkfs命令。mkfs本身并不执行建立文件系统的工作,而是去调用相关的程序来执行。

mkfs的基本语法格式如下:

mkfs[选项][参数]



3.mount挂载命令

       在Linux操作系统中,需要将某些设备或者是已经建立好的文件系统安装到Linux目录树的某个位置上,这个过程就叫做挂载,文件系统所挂载的目录就是挂载点。  

    通过mount命令挂载文件系统,命令使用基本语法格式:

    mount [-t vfstype] [-o options] device dir  

如:

[root@localhost /]# mount -t vfat /dev/sdd1 /mnt/usb  




    当文件系统使用完毕,需要对其进行卸载操作。卸载命令是umount,其命令语法格式为:

     umout [device][dir]


   例如要卸载已经挂载到/mnt/sda5上的文件系统,可以使用如下命令:

[root@localhost /]# umount /dev/sda5  

[root@localhost /]# umount /mnt/sda5



rename函数

功能描述:用于修改文件名称


#include <stdio.h>

int rename (const char * oldpath,const char * newpath);


返回值:若成功返回0,若出错返回-1。

参数oldpath是文件的原路径,newpath是文件的新路径。



remove函数

功能描述:删除文件


#include <stdio.h>

int remove( const char * pathname);


返回值:若成功返回0,若出错返回-1。

参数pathname是文件的路径。



chmod函数

功能描述:修改文件的访问权限


#include <sys/types.h>

#include <sys/stat.h>

int chmod ( const char * path, mod_t mod);


返回值:若成功返回0,若出错返回-1。

参数path是文件的路径,mod是文件的访问权限。访问权限mod可以用3位八进制数表示,也可以用表5-3定义的宏或其组合表示。



chown函数

功能描述:修改文件的所有者


#include <sys/types.h>

#include <sys/stat.h>

int chown ( const char * path, uid_t owner, gid_t group);


返回值:若成功返回0,若出错返回-1。

参数path是文件的路径,owner是指定文件的所有者,group是指定文件的组。



dup和dup2函数


1)dup函数

   #include<unistd.h>

   int dup( int file_des );


      dup函数如果调用成功则返回新的文件描述符,否则出错返回-1。

      dup 函数允许用户复制一个file_des文件描述符。存入一个已存在的文件描述符,它就会返回一个与该描述符“相同”的新的文件描述符。

     



2)dup2函数

  #include<unistd.h>

  int dup2( int file_des, int file_des2 );


      dup2 函数如果调用成功,file_des2将变成file_des的复制品,两个文件描述符现在都指向同一个文件,并且是函数第一个参数指向的文件,返回的是新的文件描述符,出错返回-1。

       

可用于重定向操作。