Linux根文件系统:/etc/init.d/rcS文件分析
时间:2022-07-24
本文章向大家介绍Linux根文件系统:/etc/init.d/rcS文件分析,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1. rcS文件的作用
rcS是一个脚本文件,在inittab文件中本解析调用,用于配置Linux系统。
2.rcS文件分析
#! /bin/sh #指定系统使用的shell
#初始化环境变量PATH,操作系统执行程序默认到PATH指定的目录下寻找该程序
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:
runlevel=S #设置系统运行级别为S,即单用户模式,只有一个控制台终端,供“root”帐号做系统维护。
prevlevel=N
umask 022 #指定当前用户在创建文件时的默认权限
export PATH runlevel prevlevel #导出环境变量
trap ":" INT QUIT TSTP #捕捉INT、QUIT、TSTP信号
/bin/hostname bname #设置机器名字为bname
#挂载文件系统,-t指明文件系统的类型,-n只是单纯的mount,而不会去写/etc/mtab文件。
#否则,如果/etc在一个只读文件系统上写的话将引发错误。
/bin/mount -n -t proc none /proc
/bin/mount -n -t sysfs none /sys
/bin/mount -n -t usbfs none /proc/bus/usb
/bin/mount -t ramfs none /dev
#调用mdev管理程序动态的创建插拔设备。kernel在每次设备出现变动时调用/sbin/mdev来处理对应的信息,
#进而mdev操作/dev目录下的设备,进行添加或删除。
echo /sbin/mdev > /proc/sys/kernel/hotplug
/sbin/mdev -s #开启mdev,之后可调用mdev创建设备文件
/bin/hotplug #设置内核的hotplug handler为mdev,由mdev接受来自内核的消息并作出相应的回应,比如挂载U盘等。
# 挂载/etc/fstab文件中指定的文件系统
mkdir -p /dev/pts
mkdir -p /dev/shm
/bin/mount -n -t devpts none /dev/pts -o mode=0622
/bin/mount -n -t tmpfs tmpfs /dev/shm
/bin/mount -n -t ramfs none /tmp
/bin/mount -n -t ramfs none /var
mkdir -p /var/empty
mkdir -p /var/log
mkdir -p /var/lock
mkdir -p /var/run
mkdir -p /var/tmp
/sbin/hwclock -s -f /dev/rtc #从硬件RTC取得时间
syslogd #记录系统或应用程序产生的各种信息,并把信息写到日志中
/etc/rc.d/init.d/netd start
echo " " > /dev/tty1
echo "Starting networking..." > /dev/tty1
mkdir /mnt/disk
mount -t yaffs2 /dev/mtdblock3 /mnt/disk #挂载存储设备
echo V >/dev/watchdog #关闭看门狗
/sbin/ifconfig lo 127.0.0.1 #设置IP地址
insmod /lib/modules/s3c2416_gpio.ko #加载驱动程序
/bin/sleep 2 dmesg -n 1 #显示开机信息
exec /usr/etc/rc.local #转去执行rc.local文件中内容
- 揭秘银行木马Chthonic:网银大盗ZeuS的最新变种
- C++STL之map的基本操作
- android EventBus 3.0使用指南
- C++ STL之deque的基本操作
- Android 四种常见的线程池
- Java注解
- C++ STL之排序算法
- Android View架构总结
- 怎样用Python给宝宝取个好名字?
- 字符串处理技巧
- SwipeRefreshLayout下拉刷新组件
- 使用数字进行字符遍历
- 技术分享:杂谈如何绕过WAF(Web应用防火墙)
- 模拟Executor策略的实现如何控制执行顺序?怎么限制最大同时开启线程的个数?为什么要有一个线程来将结束的线程移除出执行区?转移线程的时候要判断线程是否为空遍历线程的容器会抛出ConcurrentM
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 团体程序设计天梯赛-练习集 L1-012 计算指数
- 团体程序设计天梯赛-练习集 L1-013 计算阶乘和
- 团体程序设计天梯赛-练习集 L1-036 A乘以B
- 团体程序设计天梯赛-练习集 L1-015 跟奥巴马一起画方块
- 团体程序设计天梯赛-练习集 L1-011 A-B
- vuepress引入vue-qr组件后build报错navigator is not defined问题
- 团体程序设计天梯赛-练习集 L1-022 奇偶分家
- k8s——针对有状态服务实现数据持久化
- 团体程序设计天梯赛-练习集 L1-017 到底有多二
- 团体程序设计天梯赛-练习集 L1-032 Left-pad
- ansible运行报错CryptographyDeprecationWarning解决
- 团体程序设计天梯赛-练习集 L1-018 大笨钟
- 天啦噜,项目上使用InputStream,我被坑了一把!
- 团体程序设计天梯赛-练习集 L1-019 谁先倒
- 团体程序设计天梯赛-练习集 L1-034 点赞