linux
0. 进程间通信
进程间通信有几种方式
- 信号量
信号量主要是用来对共享资源进行互斥控制的,不能传输信息 - 管道
- FIFO管道
- 消息队列
- 共享内存
1. 系统启动过程
- bios
- 操作系统
- /boot
- init进程
- 运行级别
- /etc/init.d
- 用户登录
2. 用户、用户组合权限管理
3. 文件属性
drwxr-xr-x,第一位是文件类型(“-”是文件,“d”是目录,“l”是软链)。后9位分3组,每组分别代表“属主权限”、“属组权限”和“其他用户权限”。
4. ssh远程登录
5. 文本编辑器vi和vim
6. 磁盘管理
6. 常用命令
- 文件管理
- 文件传输
- 文档编辑
- 磁盘管理
- 网络通讯
- 系统管理
- 备份压缩
- 设备管理
shell
0. 定义
- 一个应用程序,用来访问系统内核服务
- 一种语言
1. 变量
声明变量不用加”$ “,使用时候需要加” $”。
建议都加大括号,例如${env}
双引号里面的变量可以正常解析,单引号里的解析成字符串
2. 参数
shell脚本按顺序解析
3. 数组
my_array=(A B "C" D)
4. 流程控制
1. if
if [$1 == 1]thenecho '1'elif [$1 == 2]thenecho '2'elseecho '3'fi
2. for
for loop in 1 2 3 4 5doecho "The value is: $loop"done
3. while
while(( $int<=5 ))doecho $intlet "int++"done
echo '按下 <CTRL-D> 退出'echo -n '输入你最喜欢的网站名: 'while read FILMdoecho "是的!$FILM 是一个好网站"done
4. untile
5. case
while :doecho -n "输入 1 到 5 之间的数字:"read aNumcase $aNum in1|2|3|4|5) echo "你输入的数字为 $aNum!";;*) echo "你输入的数字不是 1 到 5 之间的! 游戏结束"break;;esacdone
while :doecho -n "输入 1 到 5 之间的数字: "read aNumcase $aNum in1|2|3|4|5) echo "你输入的数字为 $aNum!";;*) echo "你输入的数字不是 1 到 5 之间的!"continueecho "游戏结束";;esacdone
5. test
test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。
num1=100num2=100if test $[num1] -eq $[num2]thenecho '两个数相等!'elseecho '两个数不相等!'fi
num1="ru1noob"num2="runoob"if test $num1 = $num2thenecho '两个字符串相等!'elseecho '两个字符串不相等!'fi
if test -e ./bashthenecho '文件已存在!'elseecho '文件不存在!'fi
test测试文件有一些参数
- -e 文件是否存在
- -f 文件是否存在且未普通文件
- -d 文件存在且为目录
6. 函数
function test() {echo $1echo $2}test 1 2
7. 导入脚本
# test.shfunction test() {echo $1echo $2}
# index.sh. ./test.shtest 1 1
node参数
node脚本参数和其他Linux命令行调用的程序传参一样,都是一个字符串数组,需要脚本程序开发者自己解析。解析时候,主要包含几个概念
- command
- option
- 长选项(
--)- 可以空格指定选项的值(
--config /path/to/config.js) - 也可以用等号连接(
--config=/path/to/config.js)
- 可以空格指定选项的值(
- 短选项(
-)
- 长选项(
- arguments
commander库帮助开发者解析参数,是一款非常好用的命令行工具开发小助手
