⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mkfs.c

📁 Util-linux 软件包包含许多工具。其中比较重要的是加载、卸载、格式化、分区和管理硬盘驱动器
💻 C
字号:
/* * mkfs		A simple generic frontend for the for the mkfs program *		under Linux.  See the manual page for details. * * Usage:	mkfs [-V] [-t fstype] [fs-options] device [size] * * Authors:	David Engel, <david@ods.com> *		Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG> *		Ron Sommeling, <sommel@sci.kun.nl> * * Mon Jul  1 18:52:58 1996: janl@math.uio.no (Nicolai Langfeldt): *	Incorporated fix by Jonathan Kamens <jik@annex-1-slip-jik.cam.ov.com> * 1999-02-22 Arkadiusz Mi秌iewicz <misiek@pld.ORG.PL> * - added Native Language Support *	 */#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <string.h>#include <getopt.h>#include <limits.h>#include "nls.h"#define VERSION		UTIL_LINUX_VERSION#ifndef DEFAULT_FSTYPE# define DEFAULT_FSTYPE		"ext2"#endif#define SEARCH_PATH	"PATH=/sbin:/sbin/fs:/sbin/fs.d:/etc/fs:/etc"#define PROGNAME	"mkfs.%s"int main(int argc, char *argv[]){  char progname[NAME_MAX];  char *fstype = NULL;  int i, more = 0, verbose = 0;  char *oldpath, *newpath;  char *program_name, *p;  program_name = argv[0];  if ((p = strrchr(program_name, '/')) != NULL)	  program_name = p+1;  setlocale(LC_ALL, "");  bindtextdomain(PACKAGE, LOCALEDIR);  textdomain(PACKAGE);  if (argc == 2 &&      (!strcmp(argv[1], "-V") || !strcmp(argv[1], "--version"))) {	  printf(_("%s from %s\n"), program_name, util_linux_version);	  exit(0);  }  /* Check commandline options. */  opterr = 0;  while ((more == 0) && ((i = getopt(argc, argv, "Vt:")) != -1))    switch (i) {    case 'V':      verbose++;      break;    case 't':      fstype = optarg;      break;    default:      optind--;      more = 1;      break;		/* start of specific arguments */    }  if (optind == argc) {    fprintf(stderr,      _("Usage: mkfs [-V] [-t fstype] [fs-options] device [size]\n"));    return -1;  }    /* If -t wasn't specified, use the default */  if (fstype == NULL)    fstype = DEFAULT_FSTYPE;  /* Set PATH and program name */  oldpath = getenv("PATH");  if (!oldpath)	  oldpath = "/bin";  newpath = (char *) malloc(strlen(oldpath) + sizeof(SEARCH_PATH) + 3);  if (!newpath) {    fprintf(stderr, _("%s: Out of memory!\n"), "mkfs");    exit(1);  }  sprintf(newpath, "%s:%s\n", SEARCH_PATH, oldpath);  putenv(newpath);  snprintf(progname, sizeof(progname), PROGNAME, fstype);  argv[--optind] = progname;  if (verbose) {    printf(_("mkfs version %s (%s)\n"), VERSION, __DATE__);    i = optind;    while (argv[i])      printf("%s ", argv[i++]);    printf("\n");    if (verbose > 1)      return 0;  }  /* Execute the program */  execvp(progname, argv+optind);  perror(progname);  return 1;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -