【linux之链接,函数,随机数】
一、链接
硬链接(hard link):
同一个文件使用了多个别名。新建文件是已经存在的一个别名,,当原文件删除时,新建的文件仍然可以使用。硬链接和原来的文件没有什么区别,而且共享一个inode号。通过索引节点链接。 ln
不允许给目录创建硬链接;
只有在同一文件系统中的文件之间才能创建链接。
软链接(symbolic link):符号链接。
新建文件以路径的形式表示另一个文件,和windows快捷方式十分相似,新建的软链接可以指向不存在的文件。
软链接不共享inode。ln -s
原文件删除了,则该软链接不可以访问,而硬链接可以。
ln [OPTION]... [-T] TARGET LINK_NAME
create a link to TARGET with the name LINK_NAME.
ln -s 源文件 目标文件
二、函数
函数--功能(function)
将一组可能被反复执行的命令或者出现频率很高的命令,整合在一起。
函数相当于在脚本中自定义的命令。
默认情况下,函数不能自动运行,如果想要运行函数中的命令,必须调用函数。
函数的定义:
方法1:
function FUNCNAME {
函数体
}
方法2:
FUNCNAME() {
函数体
}
调用函数方法:
FUNCNAME
用return命令直接定义一个返回值,但并不会退出脚本
函数定义:
function SHOWMENU {
cat <<EOF
D|d:disk usage
M|m:Memory infomation
S|s:Swap infomation
Q|q:quit from this script.
EOF
} 调用:
SHOWMENU
三、随机变量
echo $RANDOM
熵池 1-32768
若取17个随机情况,就用随机数和17取模运算
0~9之间任意两个整数相加,相减,相乘,相除结果,如果是小数保留两位。
#!/bin/bash
NUM1=$[$RANDOM%]
NUM2=$[$RANDOM%] while [ $NUM1 -eq $NUM2 ];do
NUM2=$[$RANDOM%]
done plus(){
if [ $ -eq $ ];then
echo "same numbers."
return
RESE=`echo $?`
fi
let SUM=$+$
echo $SUM
} plus NUM1 NUM2
【linux之链接,函数,随机数】的更多相关文章
- 对于linux下system()函数的深度理解(整理)
原谅: http://blog.sina.com.cn/s/blog_8043547601017qk0.html 这几天调程序(嵌入式linux),发现程序有时就莫名其妙的死掉,每次都定位在程序中不同 ...
- 再探Linux动态链接 -- 关于动态库的基础知识
在近一段时间里,由于多次参与相关专业软件Linux运行环境建设,深感有必要将这些知识理一理,供往后参考. 编译时和运行时 纵观程序编译整个过程,细分可分为编译(Compiling,指的是语言到平台 ...
- Linux Kernel‘ieee80211_radiotap_iterator_init()’函数拒绝服务漏洞
漏洞名称: Linux Kernel‘ieee80211_radiotap_iterator_init()’函数拒绝服务漏洞 CNNVD编号: CNNVD-201312-041 发布时间: 2013- ...
- Linux kernel ‘qeth_snmp_command’函数缓冲区溢出漏洞
漏洞名称: Linux kernel ‘qeth_snmp_command’函数缓冲区溢出漏洞 CNNVD编号: CNNVD-201311-423 发布时间: 2013-11-29 更新时间: 201 ...
- Linux kernel ‘aac_send_raw_srb’函数输入验证漏洞
漏洞名称: Linux kernel ‘aac_send_raw_srb’函数输入验证漏洞 CNNVD编号: CNNVD-201311-422 发布时间: 2013-11-29 更新时间: 2013- ...
- Linux kernel ‘lbs_debugfs_write’函数数字错误漏洞
漏洞名称: Linux kernel ‘lbs_debugfs_write’函数数字错误漏洞 CNNVD编号: CNNVD-201311-421 发布时间: 2013-11-29 更新时间: 2013 ...
- Linux kernel ‘xfs_attrlist_by_handle()’函数缓冲区溢出漏洞
漏洞名称: Linux kernel ‘xfs_attrlist_by_handle()’函数缓冲区溢出漏洞 CNNVD编号: CNNVD-201311-392 发布时间: 2013-11-29 更新 ...
- Linux kernel ‘uio_mmap_physical’函数缓冲区溢出漏洞
漏洞名称: Linux kernel ‘uio_mmap_physical’函数缓冲区溢出漏洞 CNNVD编号: CNNVD-201311-154 发布时间: 2013-11-13 更新时间: 201 ...
- Linux Kernel ‘write_tag_3_packet()’函数本地基于堆的缓冲区溢出漏洞
漏洞名称: Linux Kernel ‘write_tag_3_packet()’函数本地基于堆的缓冲区溢出漏洞 CNNVD编号: CNNVD-201311-067 发布时间: 2013-11-07 ...
- Linux Kernel ‘exitcode_proc_write()’函数本地缓冲区溢出漏洞
漏洞名称: Linux Kernel ‘exitcode_proc_write()’函数本地缓冲区溢出漏洞 CNNVD编号: CNNVD-201311-061 发布时间: 2013-11-07 更新时 ...
随机推荐
- centos7安装部署gitlab服务器
[gitlab需要内存至少4GB] 我这里使用的是centos 7 64bit,我试过centos 6也是可以的! 1. 安装依赖软件 yum -y install policycoreutils ...
- IOS开发之记录用户登陆状态,ios开发用户登陆
IOS开发之记录用户登陆状态,ios开发用户登陆 上一篇博客中提到了用CoreData来进行数据的持久化,CoreData的配置和使用步骤还是挺复杂的.但熟悉CoreData的使用流程后,CoreDa ...
- Swift iOS 日期操作:NSDate、NSDateFormatter
1.日期(NSDate) // 1.初始化 // 初始化一个当前时刻对象 var now = NSDate() // 初始化一个明天当前时刻对象 var tomorrow = NSDate(timeI ...
- Java经典编程题50道之四十九
计算某字符串中子串出现的次数. public class Example49 { public static void main(String[] args) { String s ...
- Spring Data与elasticsearch版本对应关系
- Sping Boot入门到实战之入门篇(二):第一个Spring Boot应用
该篇为Spring Boot入门到实战系列入门篇的第二篇.介绍创建Spring Boot应用的几种方法. Spring Boot应用可以通过如下三种方法创建: 通过 https://start.spr ...
- iOS视频直播
视频直播技术点 视频直播,可以分为 采集,前处理,编码,传输, 服务器处理,解码,渲染 采集: iOS系统因为软硬件种类不多, 硬件适配性比较好, 所以比较简单. 而Android端市面上机型众多, ...
- MongoDB基础介绍安装与使用
MongoDB已经日益成为流程和主流的数据库了,原因有两个:第一个就是技术优势,第二就是便利性,个人使用部署都很方便. MongoDB的优缺点,以及使用场景 优点: 面向文档存储(自由读高,不需要定义 ...
- python实现汉诺塔移动
汉诺塔问题 汉诺塔是根据一个传说形成的一个问题.汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具.大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘.大 ...
- SELinux一键开启与禁用脚本
SELinux是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统.但是SELinux的并不能与众多服务很好的兼容,有些人会关闭SELinux一了百了.在日常的运 ...