ln :创建连接文件
- 默认创建的是硬连接,好比复制 ,但是两个文件会同步
命令:ln ./java/android/aa.txt aaa
- s :创建的是软连接变为指向(类似于windows的快捷方式)
软链接:1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式2.软链接可以 跨文件系统 ,硬链接不可以3.软链接可以对一个不存在的文件名进行链接4.软链接可以对目录进行链接
硬链接:1.硬链接,以文件副本的形式存在。但不占用实际空间。2.不允许给目录创建硬链接3.硬链接只有在同一个文件系统中才能创建
例如:
可运行文件: qq.sh
num=3#!/bin/bashcase $num in
1)
echo"num=1";;2)
echo"num=2";;3)
echo"num=3";;4)
echo"num=4";;*)
echo"defaul";;
esac
赋予可运行权限:
chmod +x qq.sh
1. 创建一个目录ww,并在ww目录创建一个可运行文件qq.sh的硬连接并运行:
2.创建一个软连接并运行
创建软连接 ln -s ../qq.sh qq.sh.link
运行软连接 ./qq.sh.link
[[email protected] ~qq.sh qq.sh.link
[[email protected] ww]# ls-l
total0lrwxrwxrwx1 root root 8 Oct 28 10:41 qq.sh.link -> ../qq.sh.link
num=3
3. 将上面qq.sh进行改造后可提取输入参数:
bash shell可根据参数位置获取参数。通过 $1 到 $9 获取第1到第9个的命令行参数。$0为shell名。如果参数超过9个,那么就只能通过${}来获取了, 例如获取第10个参数,那么可以写为${10}。
num=$1#!/bin/bashcase $num in
1)
echo"num=1";;2)
echo"num=2";;3)
echo"num=3";;4)
echo"num=4";;*)
echo"defaul";;
esac
运行原来的qq.sh
4num=4
运行软连接
2num=2
------------------------------------------linux通过ln与chkconfig设置开机启动-------------------------
第一步:我们在/etc/init.d下新建一个文件test(需要在root权限下操作)
复制上面qq.sh内容:
num=$1#!/bin/bashcase $num in
1)
echo"num=1";;2)
echo"num=2";;3)
echo"num=3";;4)
echo"num=4";;*)
echo"defaul";;
esac
第二步:保存退出之后,给其增加可执行权限
第三步:挂载(创建一个软连接)
将 这个shell文件的link连到/etc/rc2.d/目录下。linux的/etc/rcX.d/目录中的数字代表开机启动时不同的run level,也就是启动的顺序,Ubuntu9.10下有0-5六个level,不能随便连到其他目录下,可能在那个目录中的程序启动时Tomcat所需 要的一些库尚未被加载,用ln命令将tomcat的链接链过去:sudo ln -s /etc/init.d/tomcat /etc/rc2.d/S16Tomcat。rcX.d目录下的命名规则是很有讲究的,更具不同需要可能是S开头,也可能是K开头,之后的数字代表他们的 启动顺序,详细看各自目录下的Readme文件。
第四步:设置脚本开机自启动
把这个脚本设置成系统启动时自动执行,系统关闭时自动停止,使用如下命令:
原文:http://www.cnblogs.com/qlqwjy/p/7746184.html