command模块不能调用shell指令,所以没有bash环境变量,也不能使用一些shell的操作方法,其他的和shell区别不大。
shell模块可以调用/bin/sh指令
raw模块: 与shell类似,但是是老版本Python的产物,比如客户端是路由器,没有Python,那就可以使用raw,其他情况下建议使用shell
5. 其他常用模块
setup: 收集远程主机的信息,比如架构信息,ip,时间,网卡,主机名,cpu
service: 服务模块
linefile: 文件的编辑模块
file: 对远程文件管理的模块
copy :用户将文件拷贝到目标主机上
fetch: 将远程的文件拷贝到本地
cron: 计划任务模块
script: 脚本模块,传输远程节点后执行本地脚本
6. ansible的功能
配置管理 Configuration(cfengine,chef,puppet)
部署发布 Deployment(Capistrano,Fabric)
命令行批量执行 Ad-Host Task(func)
多层次任务编排 Multi-Ter Orchestration(Juju,sort of
7. shell命令运行符号& ; &&区别
& 表示三个命令同时执行
; 表示不管前面执行有没有成功,后面都会执行
&& : 只有前面的执行成功了,后面才继续执行
8. shell中() [ ] [[ ]] 区别
( ) 和 ‘ ‘ 都 可 以 作 为 命 令 替 换 用 用 于 变 量 替 换 , 一 般 情 况 下 , v a r 与 () 和`` 都可以作为命令替换用 用于变量替换,一般情况下,var 与 ()和‘‘都可以作为命令替换用用于变量替换,一般情况下,var与{var} 并没有什么不一样,但是用 ${ } 会比较精确的界定变量名称的范围。
[root@itlaoxin163 ~]# echo $varA
[root@itlaoxin163 ~]# echo ${var}A
a1A
[root@itlaoxin163 ~]#
[]和(()) 做数学运算的
[root@itlaoxin163 ~]# a=5
[root@itlaoxin163 ~]# b=6
[root@itlaoxin163 ~]# c=7
[root@itlaoxin163 ~]# echo $((a+b*c))
47
[root@itlaoxin163 ~]# echo $[a+b*c]
47
总结:
字符串的比较可以用[[]]
算术比较可以用[]
算术运算可以用(())
shell命令输出可以用()和反单引号一样
快速替换{}
反单引号是命令替换
9. ∗ 和 * 和 ∗和# 的区别
$* 与 $@ 区别:
相同点:都是引用所有参数。
不同点:只有在双引号中体现出来
假设在脚本运行时写了三个参数 1、2、3,,则 " * " 等价于 “1 2 3”(传递了一个参数),而 “@” 等价于 “1” “2” “3”(传递了三个参数)
10. shell命令 && || 区别
&& 且 左边执行完了且成功,后边才能执行
|| 或 左边无论执行成功还是失败,后面的都会执行
11. shell中的比较?
[ = ] 比较两个字符串是否相当
-eq 整数的比较,a>b
== >< 字符串的比较
字符串(ASCII)比较必须使用>,<,==,!=
数字比较建议使用-gt,-lt-,eq这类,>也可以
12. Docker容器有几种状态
四种状态:运行、已暂停、重新启动、已退出。
13. Dockerfile中最常见的指令是什么
FROM:指定基础镜像
LABEL:功能是为镜像指定标签
RUN:运行指定的命令
CMD:容器启动时要运行的命令
14. Dockerfile中的命令COPY和ADD命令有什么区别
COPY与ADD的区别COPY的SRC只能是本地文件,其他用法一致
15. docker常用命令
docker pull 拉取或者更新指定镜像
docker push 将镜像推送至远程仓库
docker rm 删除容器
docker rmi 删除镜像
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!