linux 计算 linux交叉编译
大家好,如果您还对linux 计算不太了解,没有关系,今天就由本站为大家分享linux 计算的知识,包括linux交叉编译的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
Linux 里面命令行打开计算器 怎么输入
linux命令行计算器
详细文档请 man bc
在windows下,大家都知道直接运行calc,(c:\windows\system32\calc.exe),可以打开计算器。
注:
calculate vt.&vi.
计算;calculator n.计算器。calc就是这个计算的简写。
Ca在化学中是代表钙元素,calcium
钙(20号元素,符号Ca)。两者有什么联系呢?
calculate来自calculus,原义是做算术运算的小石子,是calx(石灰石)的小称。
那么在linux系统下,有无与windows下calc.exe类似的计算器呢?
下面总结linux下的三个命令,来介绍一下linux下的计算方法:
1)bc
bc在默认的情况下是个交互式的指令。在bc工作环境下,可以使用以下计算符号:
+加法
-减法
*乘法
/除法
^指数
%余数
如:
#
bc
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation,
Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
3+6
<=加法
9
4+2*3<=加法、乘法
10
(4+2)*3<=加法、乘法(优先)
18
4*6/8
<=乘法、除法
3
10^3
<=指数
1000
18%5<=余数
3+4;5*2;5^2;18/4
<=一行输入多个计算,用;相隔。
7
10
25
4
quit<=退出
# bc
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation,
Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
scale=3
<=设小数位
1/3
.333
quit
以上是交互的计算,那到也可以不进行交互而直接计算出结果。
A.用echo和|法,如:
# echo"(6+3)*2"|bc
18
# echo 15/4|bc
3
# echo"scale=2;15/4"
|bc
3.75
# echo"3+4;5*2;5^2;18/4"
|bc
7
10
25
4
另外,
bc除了scale来设定小数位之外,还有ibase和obase来其它进制的运算。
如:
//将16进制的A7输出为10进制,注意,英文只能大写
# echo"ibase=16;A7"
|bc
167
//将2进制的11111111转成10进制
# echo"ibase=2;11111111"
|bc
255
//输入为16进制,输出为2进制
# echo"ibase=16;obase=2;B5-A4"
|bc
10001
对于bc还有补充,在bc--help中还可以发现:bc后可以接文件名。如:
# more calc.txt
3+2
4+5
8*2
10/4
# bc calc.txt
5
9
16
2
2)expr
expr命令可不光能计算加减乘除哦,还有很多表达式,都可以计算出结果,不过有一点需要注意,在计算加减乘除时,不要忘了使用空格和转义。下
面直接用实例来介绍一下expr的运算,如:
# expr 6+
3
(有空格)
9
# expr2 \*
3
(有转义符号)
6
# expr 14% 9
5
# a=3
# expr
$a+5
(无空格)
3+5
# expr$a+
5
(变量,有空格)
8
#
a=`expr 4+ 2`
echo$a
6
# expr$a+ 3
9
另外,expr对于字串的操作(计算)也是很方便的,如:
//字串长度
#expr length
"yangzhigang.cublog.cn"
21
//从位置处抓取字串
# expr substr"yangzhigang.cublog.cn"
1 11
yangzhigang
//字串开始处
# expr index
"yangzhigang.cublog.cn" cu
13
3)dc
用dc来进行计算的人可以不多,因为dc与bc相比要复杂,但是在进行简单的计划时,是差不多的,不算难。dc为压栈操作,默认也是交互的,但
也可以用echo和|来配合打算。
如:
# dc
3
2+
p
5
4*
p
20
quit
# echo 3 2+ 4* p|dc
20
4)echo
echo用来进行回显,是周知的事。上面也配合bc来进行计算。其实echo也可以单独进行简单的计算,如:
# echo$((3+5))
8
# echo$(((3+5)*2))
16
echo还可以进行变量的计算,如:
# a=10
# b=5
# echo$(($a+$b))
15
# echo$a+$b
10+5
# echo$a+$b|bc
15
//计算前天的日期
# echo `date
+%Y%m%d`
20090813
# echo `date+%Y%m%d`-2
20090813-2
# echo `date+%Y%m%d`-2
|bc
20090811
5)AWK
awk在处理文件的时,可以进行运算,那当然也可以单单用来计算了,如:
# awk'BEGIN{a=3+2;print
a}'
5
# awk'BEGIN{a=(3+2)*2;print
a}'
10
Awk支持常见的运算符,如+(加),-(减),*(乘),/(除), ^或**(乘方),%(取模)
等等。此外, awk也提供了一些常用的数学函数,比如 sin(x), cos(x), exp(x), log(x),
sqrt(x), rand()。使用这些运算符和函数可以直接进行一些简单的运算:
# echo| awk'{print
8+6}'
14
# echo| awk'{print
8/6}'
1.33333
# echo| awk'{print
9%5}'
4
请放心使用
有问题的话请追问
满意请及时采纳,谢谢
linux加减乘除命令linux加减
linux下有没有对一列数字进行求和的命令?
对第一列数字求和:awk'{a+=$1}END{printa}'
对第二列数字求和:awk'{a+=$2}END{printa}'
通过管道送过去:echoXXX|awk
或者awk读取文件
linux1到100的和是多少?
1到100的和是5050。如果要去计算出1到100相加得出的和是多少?采取以下方法:若要求这一题,得初1至100相加的得数,可以先将1到100头尾的数字相加,1+100等于101,之后去将100÷2等于50,最后把101乘50,可得出得数为5050,所以1到100的和是5050
Linux网络操作系统的问题,一,编写shell脚本实现加减乘除运算。实现方法不限,但尽可能减少出错机率?
setd=0;
if
then
echo$3
d=$(($1-$2))
fi
echo$d
linux常用命令有哪些?
Linux是我们开发人员必不可少的系统,也是经常接触到的。然而,Linux命令比较多,有些不常用也难记住。那么,我们如何更高效的使用Linux命令,而又不必全面地学习呢?今天就给大家分享一下我在开发过程中,比较常用、也比较实用的Linux命令。
01查看文件或日志
查看文件内容或日志文件,相信几乎所有人都会接触到。其中,用得最多的就是head、tail和cat命令。
1、head
表示头部,查看最前面几行数据。
headtest.log:test.log文件前几行日志内容
head-n20test.log:查看test.log文件前20行日志内容
head-n-20test.log:查看test.log除了最后20行日志内容
2、tail
表示尾部,查看最后几行或实时日志。
tail-ftest.log:实时查看test.log文件最后几行日志内容
tail-f-n20test.log:实时查看test.log文件最后20行日志内容
tail-n20test.log:查看test.log文件最后20行日志内容
tail-n+20test.log:查看test.log文件20行后的所有日志内容
3、cat
用于查看文件内容。
cattest.log:查看test.log文件所有内容
02本地复制
同一台服务器不同目录之间复制文件或目录也是经常用到的。
1、复制文件
cptest.log/home/geshan/logs:复制test.log文件到/home/geshan/logs/目录下
cptest.log/home/geshan/logs/cptest.log:复制test.log文件到/home/geshan/logs/目录下并重新命名为cptest.log
2、复制文件夹
cp-rlogs//home/geshan/:复制logs目录及目录下所有文件到/home/geshan/目录下,此时该目录会有logs目录
cp-rlogs//home/geshan/testlogs/:复制logs目录及目录下所有文件到/home/geshan/testlogs/目录下,并把logs目录重新命名为testlogs,前提是/home/geshan/目录没有testlogs目录
注:-r或-R表示循环,循环目录下所有文件和目录。下面所有命令也是如此。
03远程复制
当我们需要从远程服务器复制某个文件或目录到本地登录的服务器时,大部分人想到先登录远程服务器下载该文件,然后再登录本地服务器再上传文件。这样是比较麻烦,效率也不高。
1、本地服务器复制到远程服务器
(1)复制文件
命令1:
scplocal_fileremote_username@remote_ip:remote_folder
命令2:
scplocal_fileremote_username@remote_ip:remote_file
命令3:
scplocal_fileremote_ip:remote_folder
命令4:
scplocal_fileremote_ip:remote_file
第1,2个指定了用户名,命令执行后需要输入用户密码,第1个仅指定了远程的目录,文件名字不变;第2个指定了文件名;第3,4个没有指定用户名,命令执行后默认与当前服务器用户名并需要输入用户密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名。
实例1:从本地服务器复制test.log至192.168.130.130服务器的/home/geshan/目录,并重新命名为
20190125.log
命令:
实例2:从本地服务器复制test.log至192.168.130.130服务器的/home/geshan/目录
命令:
(2)复制目录
命令1:
scp-rlocal_folderremote_username@remote_ip:remote_folder
命令2:
scp-rlocal_folderremote_ip:remote_folder
第1个指定了用户名,命令执行后需要输入用户密码;第2个没有指定用户名,命令执行后需要输入用户名和密码。
实例:从本地服务器/home/appuser/目录下的tomcat目录复制到192.168.130.130服务器的/home/geshan/目录命令:
2、从远程服务器复制到本地服务器
从远程复制到本地的scp命令与上面的命令雷同,只要将从本地复制到远程的命令后面2个参数互换顺序就行了。
(1)复制文件
实例:
从192.168.130.130远程服务器的/home/geshan/路径下test.log文件复制到本地服务器/home/appuser/路径
命令:
scproot@192.168.130.130:/home/geshan/test.log/home/appuser/
(2)复制目录
实例:从192.168.130.130远程服务器的/home/geshan/路径下tomcat文件夹复制到本地服务器/home/appuser/路径
命令:
注:ip地址和路径之间(即冒号之间)没有任何空格,否则会报错。当第一次和另外一台服务通信(如复制文件),会提示是否信任,输入yes即可。
04压缩和解压
压缩和解压文件也是经常遇到的。如果下载一个目录下的所有文件,可以直接下载这个目录,但是直接下载目录的话,文件一旦很多,下载过程中很容易丢失文件,下载速度也比较慢。一般情况下是先压缩文件夹再下载。下面给大家介绍四种压缩和解压命令。
1、tar命令
解压:
压缩:
实例:解压一个log.tar文件:
压缩log目录并命名为log.tar:
2、gz命令
压缩:
注:压缩为.gz文件源文件会消失如果想保留源文件,使用下面命令
解压:
.tar.gz和.tgz解压:
压缩:
压缩多个文件:
实例:解压tomcat.tar.gz文件
压缩tomcat目录,并命名为tomcat.tar.gz文件
3、zip命令
解压:unzipfileName.zip压缩:
注:压缩目录时,需加-r,表示循环该目录下所有文件和目录。压缩多个文件或目录时,文件或目录之间需要空格。
实例:解压一个log.zip文件:
压缩log文件目录并命名为log.zip:
压缩log1和log2目录并命名为log.zip:
压缩test1.log和test2.log文件并命名为log.zip:
4、rar命令
同理,和zip命令类似,只需把zip改为rar即可。
05修改权限
Linux系统中文件和目录访问权限是不同的,通过些方式可以确定谁可以对该文件和目录进行相应的操作。
其中,文件或目录的访问权限分为只读,只写和可执行三种,分别代表可读、可写和可执行。
1、chgrp命令
改变文件或目录所属的组。命令:
实例:把test.log文件所属的组修改为geshan组
把logs目录及该目录下所有文件所属的组修改为geshan组
2、chown命令
更改某个文件或目录所属的用户。命令:
实例:把test.log文件所属用户修改为geshan用户
把logs目录及该目录下所有文件所属用户修改为geshan用户
3、chmod命令
用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。命令:
其中,mode有很多种表示含义,下面只对数字说明。大部分人看到mode有777或776等权限,这些表示什么呢?
为了方便,把mode改为abc,其中a,b,c各为一个数字,分别表示user、group及other的权限。r=4,w=2,x=1,r表示Read读,w表示Write写,x表示eXecute。
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5。
实例:把test.log文件修改可读写执行(即777)操作。
把logs目录及目录下所有文件修改为读写(666)操作。
在Linux系统中输入ll(两个小写LL),如果文件或目录为777(读写执行)权限,可看到最前面为-rwxrwxrwx。如果为666(读写)权限,可看到最前面为-rw-rw-rw。
注:一般修改文件或目录权限需要超级用户(root)进行修改,否则可能会报权限不足。
这些Linux命令是比较常用实用的命令,肯定会有用得到的时候,如果对你有所帮助,记得点赞收藏转发哦!
linux系统的mtbf怎么计算
开启阅读模式
MTBF是什么和MTBF计算的方法
MTBF指标和计算方法
1)一般常用单位计算
在单位时间内(一般以年为单位),产品的故障总数与运行的产品总量之比叫“故障率”(Failure rate),常用λ表示。例如网上运行了100台某设备,一年之内出了2次故障,则该设备的故障率为0.02次/年。当产品的寿命服从指数分布时,其故障率的倒数就叫做平均故障间隔时间(Mean Time Between Failures),简称MTBF。即:
MTBF=1/λ
例如某型号YY产品的MTBF时间高达16万小时。16万小时约为18年,并不是说YY产品每台均能工作18年不出故障。由MTBF=1/λ可知λ=1/MTBF=1/18年(假如YY产品的寿命服从指数分布),即YY产品平均年故障率约为5.5%,一年内,平均1000台设备有55台会出故障。
整机可靠性指标用平均故障间隔时间表示:
MTBF=(T1+T2+…Tn)/ rn
式中:MTBF——整机的平均故障间隔时间,h;
Ti——第i台被试整机的累计工作时间,h;
rn——被试整机在试验期间内出现的故障总数。
2)通信上通过单个模块计算总值
MTBF-平均无故障时间,是指两次故障之间所经历的时间,是一种统计平均值,MTBF值的确定,通常采用两种方式:
1)理论统计法:根据器件、组件及约束条件的实际情况,累计平均得到的。
2)经验统计法:根据工厂或实验室破坏性记录,累计平均得到的数据。
1+0单机系统MTBF统计值
根据1+0单机系统的组成框图,总的MTBF统计值由以下公式给出:
1/MTBF总=1/MTBF发高频+1/MTBF收高频+1/MTBF调制+1/MTBF基带+1/MTBF电源
3)通信网络中串并联部件所导致的MTBF不同λ=1/MTBF(h)
如果两个部件串联工作,其中一个发生失效,整个功能就失效了,串联结构的:
λ总=λ1+λ2
或MTBF总=1/(λ1+λ2)
对于并联或冗余的结构,虽然一个部件失效,但仍然维持功能的完整性(100%);
1/λ总=(1/λ1)+(1/λ2)+(1/(λ1+λ2))
或 MTBF总=(λ21+λ1λ2+λ22)/(λ21λ2+λ1λ22)
4)一般产品的MTBF计算
平均失效(故障)前时间(MTTF)
设N0个不可修复的产品在同样条件下进行试验,测得其全部失效时间为T1,T2,……TN0。其平均失效前时间(MTTF)为:
MTTF=(T1+T2+…Tn)/N0
由于对不可修复的产品,失效时间即是产品的寿命,故MTTF也即为平均寿命。
当产品的寿命服从指数分布时,
MTTF=1/λ
平均故障间隔时间(MTBF)
一个可修复产品在使用过程中发生了N0次故障,每次故障修复后又重新投入使用,测得其每次工作持续时间为T1,T2,……TN0,其平均故障间隔时间MTBF为:
MTBF=T/N0
其中,T为产品总的工作时间。
对于完全修复的产品,因修复后的状态与新产品一样,一个产品发生了N0次故障相当于N0个新产品工作到首次故障。因此:
MTBF=MTTF
当产品的寿命服从指数分布时,产品的故障率为常数λ,则MTBF=MTTF=1/λ。
平均修复时间(MTTR)
其观测值是修复时间t的总和与修复次数之比:MTTR=(T1+T2+…Tn)/n
式中:ti——第i次修复时间;n——修复次数。
5)简单计算(通过温度系数)
MTBF= Total Test Time*Acceleration Factor/Coefficient(refer to the table)
Total Test Time=(sample size)*(test days)*(power on hour/day)
Acceleration Factor= e(E/K)(1/Tn-1/Ta)
Ta= Burn– in Room Test Temperature
Tn= Normal Temperature
Coefficient
Confidence
Level Numbers of Failure(n)
0 1 2 3 4 5 6 7 8 9
Mn
(90%) 2.30 3.89 5.32 6.68 7.99 9.27 10.53 11.77 12.99 14.20
Acceleration Factor= e(E/K)(1/Tn-1/Ta)此加速模型即为阿列纽斯加速模型。