
2、该子目录所在的父目录的权限已经被修改(可能是把当前用户的可执行权限去了,或者已经改变了所有者,而当前用户没有可执行权限)
你需要做的是:
1、确认该目录及其父目录还存在或者没被改名。
2、如果符合1,则可以修改父目录的权限,添加可执行权限 sudo chmod -R ugo+x filename //filename 是该子目录的父目录。或者是 sudo chown -R user:group filename user group 分别是当前用户的用户名和组名
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+45*25^218/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=215/4"
|bc
3.75
# echo "3+45*25^218/4"
|bc
7
10
25
4
另外,
bc除了scale来设定小数位之外,还有ibase和obase来其它进制的运算。
如:
//将16进制的A7输出为10进制, 注意,英文只能大写
# echo "ibase=16A7"
|bc
167
//将2进制的11111111转成10进制
# echo "ibase=211111111"
|bc
255
//输入为16进制,输出为2进制
# echo "ibase=16obase=2B5-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
# expr 2 \*
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+2print
a}'
5
# awk 'BEGIN{a=(3+2)*2print
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的关机命令主要有shutdown、halt、reboot、init。shutdown是一种比较安全的关机方法,可以在关机之前通知所有当前登录用户并且阻止用户的登录,可以安全关闭后台的进程。可以通过很多的参数来配置具体的功能。halt:起功能等同于shutdown -h,杀死应用进程,执行sync系统调用,文件系统的些 *** 作完成后会停止内核reboot:起功能类似于halt,只不过关机之后进行重启。init:init进程是所有进程的祖先,其进程号始终为1,可以发信号给init进程来实现关机 *** 作,shutdown就是此种实现方式。 linux的基本指令1.exit:这个指令是退出系统,但不是关机,linux中有很多作业,当你等入后相当于一个作业,当你等出时,作业停止,但其它作业还在进行,只有关机才行。2.date:显示当前日期
格式化日期:date +%y/%m/%d
3.cal: 显示日历
格式化日历:cal [month] [year]
4.bc: 内置计算器
5.man: 求助了!与info类似
man [command]
6.shutdown: 这就是关机了
shutdown -t sec: shutdown -t 10 10秒关机
shutdown -k message:shutdown -k I WILL SHUTDOWN 不真的关机,只是发个消息I WILL SHUTDOWN
shutdown -c 取消当前已经在执行的关机指令
shutdown -h time:shutdown -h 20:20 停止系统的服务,在20:20关机
shutdown -r time:shutdown -r now 停止系统的服务,然后重新开机
7.reboot :重启,与shutdown -r now
8.目录文件权限
chgrp groupname file/directory: chgrp uranus1 a 变更a文件的组为uranus1
chmod xyz file/directory: chmod 777 a变更a文件的权限为-rwxrwxrwx
chown user file/directory: chown uranus1 a 变更a文件的拥有者为uranus1
umask 文件或目录时的默认权限
umask:查看
umask xyz:设定
9.cd [相对路径或绝对路径]
10. pwd 显示当前路径
11. mkdir/rmdir 建立目录/删除目录
12. ls 显示文件名称,属性等
ls -a 列出所有文件(连同隐藏文档)
ls -l 详细列出
ls -s 以文件大小排序
13. cp [souce] [object]进行复制
cp -d
cp -r 可以进行目录的复制
cp -s 做成联接文件,与ln功能相同
cp -u 如果源文件新才会复制
14. rm [文件名] 删除文件
rm -i 用户确认
rm -r 循环删除
rm -f 强制删除
15. mv [souce] [object]移动
16. 查看文件内容
cat [文件] 查看文件内容
tac [文件] 最后一行显示
more/less [文件] 显示文件
head/tail -n [文件] 从头或尾开始看文件N行
nl 与cat类似
od 读非ASCii数据文件
17. chattr与Isattr 文件的安全性相关
chattr [+-=] [ASacdistu] [file/directory]
+-=:分别增加,减少,设定属性
A :存取时间atime不能修改
18. 搜索文件
which [文件名] 查看可执行文件的位置
whereis [目录名称]
-a :找二进制文件
-m:说明文件manual路径下的文件
-s:只找source 源文件
-n:没有说明文档文件
locate [目录名称]
find [路径] [参数]
1.时间:
-atime n:n*24小时内存取过的文件全部列出来
-ctime n:n*24小时内改变,新增的文件或目录列出来
-mtime n:n*24小时内修改过的文件列出来
-newer file:把比file还要新的文件列出来
2.使用名字
-gid n:寻找群组ID为N的文件
-group name:寻找群组名称为name的文件
-uid n:寻找拥有者ID为N的文件
-user name:寻找用户名称为name的文件
-name file:寻找文件名为file的文件名称
-type type:寻找文件属性为type的文件,包含b,c,d,p,l,s(接口设备b,端口设备c,目录d,联接文件l)
19. vi基本 *** 作(光标移动的不用多讲)
查找与替换
/word 在光标之后查找一个名为word的字符串
?word 在光标之前查找一个名为word的字符串
n1,n2s/word1/word2/g 在n1行到n2行之间的查找与替换
1,$s/word1/word2/gc 在1到最后一行这间的查找与替换,并在换时要确认。
命令行模式:
w: 保存
w!:若文件只读,刚强制写
q:退出
wq:
w[filename]:将数据放在另一个文件中
r[filename]:读入另一个文件的数据。
set nu:加入行
set nonu:与set nu 相反
n1,n2 w[filename]:从n1到n2的内容保存为filename这个文件。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)