solaris启动脚本S33installramdisk
脚本内容:
state="$1" case "$state" in
'start')
echo 'Starting install mr ramdisk' > /root/ramdisk.log
zpool destroy ramrpool >> /root/ramdisk.log
ramdiskadm -a mrramdisk 46g >> /root/ramdisk.log
rm -rf /export/home/omcrftp/mrdata/mrfile >> /root/ramdisk.log
zpool create -m /export/home/omcrftp/mrdata/mrfile ramrpool /dev/ramdisk/mrramdisk >> /root/ramdisk.log
chown -R omcrftp:omcg /export/home/omcrftp/mrdata >> /root/ramdisk.log
chmod -R /export/home/omcrftp/mrdata >> /root/ramdisk.log
;; 'stop')
echo 'Stopping process accounting' ;; *)
echo "Usage: $0 { start | stop }"
exit
;;
esac
exit
脚本放在/etc/init.d,再通过硬连接,在/etc/rc3.d建立对硬链接:
root@lnltedmr-tds:/etc/rc3.d# ls -il
total 15
98580 -rw-r--r-- 1 root sys 1233 Aug 17 2018 README
103659 -rwxr-x--- 2 root root 821 May 22 01:18 S16settcp
102690 -rwxr-x--- 2 root sys 1126 May 21 08:50 S33installramdisk
102689 -rwxr-x--- 2 root sys 736 May 16 17:52 S66runmr
命令:ln /etc/init.d/installramdisk /etc/rc3.d/S33installramdisk
硬链接不是简单复制,而是指向同一数据区域的两个指针,
软连接如硬链接稳定。
理解 Linux 的硬链接与软链接
https://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/index.html
为解决文件的共享使用,Linux 系统引入了两种链接:硬链接 (hard link) 与软链接(又称符号链接,即 soft link 或 symbolic link)。链接为 Linux 系统解决了文件的共享使用,还带来了隐藏文件路径、增加权限安全及节省存储等好处。若一个 inode 号对应多个文件名,则称这些文件为硬链接。换言之,硬链接就是同一个文件使用了多个别名(见 图 2.hard link 就是 file 的一个别名,他们有共同的 inode)。硬链接可由命令 link 或 ln 创建。如下是对文件 oldfile 创建硬链接。
|
1
2
|
link oldfile newfile ln oldfile newfile |
由于硬链接是有着相同 inode 号仅文件名不同的文件,因此硬链接存在以下几点特性:
- 文件有相同的 inode 及 data block;
- 只能对已存在的文件进行创建;
- 不能交叉文件系统进行硬链接的创建;
- 不能对目录进行创建,只可对文件创建;
- 删除一个硬链接文件并不影响其他有相同 inode 号的文件。
软链接与硬链接不同,若文件用户数据块中存放的内容是另一文件的路径名的指向,则该文件就是软连接。软链接就是一个普通文件,只是数据块内容有点特殊。软链接有着自己的 inode 号以及用户数据块(见 图 2.)。因此软链接的创建与使用没有类似硬链接的诸多限制:
- 软链接有自己的文件属性及权限等;
- 可对不存在的文件或目录创建软链接;
- 软链接可交叉文件系统;
- 软链接可对文件或目录创建;
- 创建软链接时,链接计数 i_nlink 不会增加;
- 删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接被称为死链接(即 dangling link,若被指向路径文件被重新创建,死链接可恢复为正常的软链接)。
图 2. 软链接的访问

Solaris软链接和硬链接及ls常用参数解释
在学习Solaris的目录继承结构的时候,很多东西大家都知道了,每个目录什么功能,就不细说了。通过阅读,发现了一个以前没有注意到的问题:软链接和硬链接的问题。
链接即link,在Unix和Linux系统中用ln命令,软链接需要加参数 -s。
在说软硬链接之前需要提到的是文件的存储方式,在Solaris中,文件的存储方式是由Inode和Data Blocks组成(包括目录,在Unix系统中,一切皆文件)。Inode是一个标号,每一个Inode标号对应一个Data Blocks。每一个文件其实就是与Inode标号相关联,从而获得数据的内容。下面就简单表示了一下file1的关联模式。file1对应的Inode为3561,其内容就为相对应的Data Blocks中存储的内容。
file1
——————
|Inode 3561|
——————
| |
|Data Blocks|
| |
——————
软链接其实就像一个指针,例如本地的文件名为Link1,对应的Inode是1228,其Data Bloacks中存储的内容就是一个指向另一个文件的指针。例如指向另一个文件为file1,Inode是3561。
软链接命令为:ln -s pathname target。
例如实现上例命令为:ln -s link1 file1
硬链接与软链接有比较大的不同。硬链接是指两个文件都指向同一个Inode。所以如果软链接把link删掉的话,原文件file是不会受到影响的,但是如果原文件file删掉了,链接link就会失效,因为找不到target了。而硬链接由于两个文件都能找到Inode,所以删掉其中的一个对于另一个没有任何影响。
Inode是整个文件系统中很关键的部分,它就像一个指针一样。换句话说,Inode就是一个入口。
我们在用ls命令查看目录结构的时候,如果使用-l参数就会看到很多详细信息,例如:
#ls -l
total 2
drwxr-xr-x 77 root sys 4096 Sep 23 08:36 dir
-rwxr-xr-x 1 user user 10000 Sep 23 19:11 file
前面是权限,应该都清楚,不细说。权限后面跟着的数字就是表示这个文件和目录有多少个硬链接。换句话说就是有多少个文件指向这个Inode。
我们加上参数-i可以看到Inode:
#ls -il dir
21449 drwxr-xr-x 77 root sys 4096 Sep 23 08:36 dir
在权限前面的数字就是Inode了。
由此可知,一个文件最少有一个硬链接,而一个目录则至少有2个硬链接,一个是目录本身的入口,另一个是目录内部的 ".",是在目录内表示本目录的入口。所以在目录内每多一个目录,就会多一个硬链接,因为子目录的".." 表示的父目录的入口。大家可以尝试一下。
下面列出ls命令常用的参数及功能:
ls
-l 显示详细参数
-a 显示全部文件,包括隐含文件
-L 显示软链接的目标目录信息
-i 显示Inode
-R 显示包括继承的子目录的信息
-d 后面根目录名,只显示目录名称和信息,不显示目录内的信息。
solaris启动脚本S33installramdisk的更多相关文章
- solaris启动过程详解
在Sparc平台下,Solaris系统中有一个类似PC BIOS的芯片程序(EEPROM OpenBoot)负责识别分区.文 件系统和加载内核,在Solaris 2.6之后的版本中,默认的内核文件存放 ...
- logstash服务启动脚本
logstash服务启动脚本 最近在弄ELK,发现logstash没有sysv类型的服务启动脚本,于是按照网上一个老外提供的模板自己进行修改 #添加用户 useradd logstash -M -s ...
- 改进uwsgi启动脚本,使其支持多个独立配置文件
最近在研究flask,在架设运行环境的时候犯了难.因为我想把每个独立的应用像NGINX处理多个网站那样,每个应用单独一个配置文件.而网上流传的uwsgi启动脚本都只支持单个配置文件.虽然有文章说可以把 ...
- linux nginx 启动脚本
linux nginx 启动脚本 [root@webtest76 ~]# vi /etc/init.d/nginx #!/bin/bash # nginx Startup script for the ...
- busybox rootfs 启动脚本分析(二)
上次分析了busybox的启动脚本,这次分析一下init.d中一些脚本的内容. 参考链接 http://www.cnblogs.com/helloworldtoyou/p/6169678.html h ...
- Tomcat启动脚本
记录一个比较好的tomcat启动脚本,截取<OneinStack>,修改如下两个参数即可用. 使用之前修改下面2个参数: #Location of JAVA_HOME (bin files ...
- Linux Runlevel 启动 脚本
Linux 操作系统自从开始启动至启动完毕需要经历几个不同的阶段,这几个阶段就叫做 Runlevel,同样,当Linux操作系统关闭时也要经历另外几个不同的 Runlevel,下面详细介绍一下 Run ...
- [Tomcat 源码分析系列] (二) : Tomcat 启动脚本-catalina.bat
概述 Tomcat 的三个最重要的启动脚本: startup.bat catalina.bat setclasspath.bat 上一篇咱们分析了 startup.bat 脚本 这一篇咱们来分析 ca ...
- [Tomcat 源码分析系列] (一) : Tomcat 启动脚本-startup.bat
概述 我们通常使用 Tomcat 中的 startup.bat 来启动 Tomcat. 但是这其中干了一些什么事呢? 大家都知道一个 Java 程序需要启动的话, 肯定需要 main 方法, 那么这个 ...
随机推荐
- JavaScript Cookie常用设置
cookie是一种早期的客户端存储机制,起初是针对服务器端脚本设计使用的,只适合存储少量文本数据.从最底层来看,作为HTTP协议的一种扩展实现它.cookie数据会自动在Web浏览器和Web服务器之间 ...
- 导模块的细节:(跨文件导入模块 &模块的两种执行方式) | 包的概念与使用 | 包中的相对导入语法
今日内容 包: 1. 导入模块的细节 2. 包的概念与使用 3. 包中的相对导入语法 跨文件夹导入模块 1. 假设有一个文件夹a ,a 的下面有一个ma 的模块,如果a文件夹所在目录在环境变量,a文件 ...
- MATLAB2014b parpool 报错,并行工具无法开启解决方法
笔者一直在用matlab2014b,第一次使用并行工具parpool,但在运行别人的程序的过程中一直出现一个错误: Starting parallel pool (parpool) using the ...
- C学习笔记-结构体与二进制文件增删改查
使用结构体整理数据,然后利用二进制存储文件,这样存储的文件类似于数据库,可以实现文件的增删改查 定义结构体 struct student { unsigned int ID; char name[20 ...
- Java中String连接性能的分析
总结:如果String的数量小于4(不含4),使用String.concat()来连接String,否则首先计算最终结果的长度,再用该长度来创建一个StringBuilder,最后使用这个String ...
- appium环境搭建(一)----安装appium
一.安装appium Appium官方网站:http://appium.io/,官方首页给出了appium的安装步骤. > brew install node # get node.js > ...
- Quartz持久化到mongodb
springboot中集成quzrtz ,持久到mongodb 1.pom引用 <?xml version="1.0" encoding="UTF-8"? ...
- 多线程--CreateThread与_beginthreadex本质区别
转载 MoreWindows: 秒杀多线程第二篇 本文将带领你与多线程作第一次亲密接触,并深入分析 CreateThread与_beginthreadex的本质区别,相信阅读本文后你能轻松的使用多线程 ...
- Java基础(六)
面向对象 概述 生活举例 代码体验 类与对象的关系 类的定义 根据类创建对象 对象的基本使用 练习:手机类与对象 内存图:一个对象 内存图:两个对象 内存图:同一个对象 局部变量与成员变量的区别 pr ...
- Mybatis动态SQL之使用foreach完成复杂查询
一.foreach概述 对于一些SQL语句中含有in条件.需要迭代条件集合来生产的情况,就需要使用foreach标签来实现SQL条件的迭代.foreach主要用在构建in条件中,它可以在SQL语句中迭 ...