system(cmd);
//文件中取绝对路径
pf = fopen("tmp.txt", "r");
if (pf)
{
re = fscanf(pf, "%s", file_path);//只取第一行 也就是默认不存在同名文件
if (-1 == re)
{
printf("err0\n");
return 0;
}
else
{
flcose(pf);
pf = NULL;
}
}
else
{
printf("err1\n");
return 0;
}
if (0 == strlen(file_path))
{
printf("err2\n");
return 0;
}
//获取目录名
p = strstr(file_path, file_name);
if (p)
{
*p = '\0';
strcpy(dir_path, file_path);//也可以不cp直接用file_path
}
//通过c语言展开ls这个路径c语言变量 其实我没有理解这句话... 先这么做吧
snprintf(cmd, 256, "ls %s", dir_path);
system(cmd);
return 0;
}
如果哪里有异常就加printf打印出来各个变量
LINUX、UNIX系统启动不成功,要如何解决?A 内核引导
当计算机打开电源后linux命令pf,首先是BIOS开机自检linux命令pf , 按照BIOS中设置的启动设备(通常是硬盘)来启动 。紧接着由启动设备上的grub程序开始引导linuxlinux命令pf,当引导程序成功完成引导任务后,Linux从它们手中接管linux命令pf了CPU的控制权,然后CPU就开始执行Linux的核心映象代码,开始了Linux启动过程 。也就是所谓的内核引导开始了,在内核引导过程中其实是很复杂的 , 我们就当它是一个黑匣子,反正是linux内核做了一些列工作,最后内核调用加载了init程序,至此内核引导的工作就完成了 。交给了下一个主角init 。
B 运行init
init
进程是系统所有进程的起点 , 你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动 。init 程序首先是需要读取配置文件
/etc/inittab 。inittab是一个不可执行的文本文件,它有若干行指令所组成 。具体内容如下:(你可以在你的linux上执行命令 cat
/etc/inittab 这样获得)
复制代码
代码如下:
# inittabThis file describes how the INIT process should set up
#the system in a certain run-level.
#
# Author:Miquel van Smoorenburg,
#Modified for RHS Linux by Marc Ewing and Donnie Barnes
#
# Default runlevel. The runlevels used by RHS are:
#0 - halt (Do NOT set initdefault to this)
#1 - Single user mode
#2 - Multiuser, without NFS (The same as 3, if you do not havenetworking)
#3 - Full multiuser mode
#4 - unused
#5 - X11
#6 - reboot (Do NOT set initdefault to this)
#
###表示当前缺省运行级别为5(initdefault)linux命令pf;
id:5:initdefault:
###启动时自动执行/etc/rc.d/rc.sysinit脚本(sysinit)
# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit
l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
###当运行级别为5时 , 以5为参数运行/etc/rc.d/rc脚本,init将等待其返回(wait)
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
###在启动过程中允许按CTRL-ALT-DELETE重启系统
# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
# When our UPS tells us power has failed, assume we have a few minutes
# of power left.Schedule a shutdown for 2 minutes from now.
# This does, of course, assume you have powerd installed and your
# UPS connected and working correctly.
pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"
# If power was restored before the shutdown kicked in, cancel it.
pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"
###在2、3、4、5级别上以ttyX为参数执行/sbin/mingetty程序,打开ttyX终端用于用户登录,
推荐阅读
- linuxdemysql忘记密码的简单介绍
- 短视频电商如何设计营销,短视频加电商营销
- erp生产制造系统的应用,制造业erp系统有几种
- 怎么做好直播的声音技巧,直播声音设置教程
- linux命令字体变红 linux命令行字体
- 能买鸿蒙系统的手机吗,能用鸿蒙系统的机型
- 怎么查看美国服务器信息,美国服务器地址查询
- 恋爱游戏的女主不对劲,恋爱游戏的女主不太对
- go语言条件变量 go语言中if语句多个条件