Linux相关
Linux是基于Linux内核的操作系统,除了内核外,操作系统还需要一些工具来执行例如文件、文本、进程,有一套通用的这类工具就是GNU工具集,其中Linux shell是GNU核心工具集的一部分
在shell命令行中使用bash类命令时,会创建一个新的shell子程序,子shell的变量不继承父shell变量的值,且在子shell中更改删除全局环境变量的值时对父shell都不会产生影响,感觉生成子shell的过程很象 String fatherShell = new String ("childShell"),如下图:
子shell的变量不继承父shell的变量:
子shell的变量不继承父shell的变量.png
子shell的改变是无法影响父shell的全局环境变量值,且【unset global
可以删除全局环境变量global
的值,类似的如果在子shell进程中删除,则父shell中仍然有效】:
Linux文件权限采用3个八进制表示,每个八进制依次表示用户、同组用户、其他用户的 rwx(读、写、执行)权限,文件默认是666,文件夹权限是777,对应八进制是 110 110 110 , rw- rw- rw-,但是实际新建的时候需要减去profile下存放umask值,这里有两个,可以看到新建一个文件的权限是666-022 = 644,也就是 rw- r-- r--,实际减去的是022,另一个值可能是文件夹的默认umask
文件权限测试图:
文件权限.png
文件权限的修改就很简单了,用户 + /- 修改的权限种类:
修改权限.pngShell部分相关命令
-
vim
相关命令:-
h、j、k、l:
上下左右 -
G:大写的,末尾
-
gg:开头
-
num G:num行
-
u:撤销
-
p:粘贴,可粘贴删除的
-
y$:复制行
-
v:可视化,配合y,可以指定复制
-
-
重定向命令:
-
>
:重定向 -
>>
:重定向追加 -
< <<
同理 EOF xxxxx EOF
-
-
管道命令:
-
command1 | command2 Linux
同时运行这两个命令,第一个命令产生的输出被立即送给第二个命令,不会用到任何缓冲区
-
-
if command
【与其他的控制流类似,判断条件是根据exit的值是否为0】:- 是以command退出是否为0,觉得是否执行then
-
-eq -n -gt....
是数值比较 -
> = != >=
:是字符串比较 【要转义】
-
if-then的高级特性:【无需转义,建议使用】
- (( 数学表达式 ))
- [[ 字符串比较 ]] --可以使用模式匹配
- 语法等同于高级语言,有
== ! >> && val++ --val $val == r*
-
c语言的for:
-
for (( a = 1 ; a < 10 ; a++ ))
【不是a=1,不是${a},不是 expr 】
-
网友评论