shell —— 壳,保护内核
Shell 作用
Shell 即命令解释器
注:不同系统有不同的命令解释器,同一个系统命令解释器也有不同版本
补充说明
程序和进程的区别
编程语言 —— shell 是一种面向底层操作系统的编程语言
注:html 是一种语法,严格意义来说不具备编程语言的特征,主要是网页的样式设计
系统的包含关系 —— 硬件 --》内核 --》shell 解析器 --》应用程序
学习 Shell 脚本的目的
简化重复操作,降低出错概率,是服务器管理的一大助力 —— 脚本
查看当前系统兼容的 shell 类型 —— /etc/shells
注:/etc/shells 是系统所识别 shell 类型的配置文件,可以在其中添加或删除 shell 类型
说明
注:软链接后加上 “/” 后 “ls -l” 命令会显示软链接的对应原文件的信息,删掉结尾的 “/” 或者直接在软链接所在目录使用 “ls -l” 即可查看它是软链接
注:目录是不允许由用户创建硬链接的,但实际上 Linux 支持目录创建硬链接,每个目录自带的 “.” 和 “…” 就是硬链接,代表当前目录和上级目录 —— Linux 操作系统的一个保护机制
用户登录 shell 类型
说明
Shell 类型的分类
Shell 类型 | 易学性 | 可以执行 | 编辑性 | 快捷性 |
---|---|---|---|---|
Bourne shell(sh) | 容易 | 好 | 较差 | 较差 |
Bourne Again shell(bash) | 难 | 较好 | 好 | 好 |
C shell(csh) | 较难 | 差 | 较好 | 较好 |
TC shell(tcsh) | 难 | 差 | 好 | 好 |
Bash Shell 说明
bash shell 提供的功能 —— 提供了哪些便捷功能
两种 Shell 脚本执行方式
注:使用 bash 可以主动加载没有 x 权限的脚本 —— 测试
Shell 中使用的工具 —— echo 命令
Shell 脚本的本质
echo 命令
例:编辑 vim hello.sh --》#!/bin/bash、echo “hello world” --》然后执行 bash hello.sh
#!/bin/bash
echo "hello world" # bash hello.sh --》hello world
echo -e 选项支持的特殊符号
注:0 开头的数字表示八进制数,chmod 00755 file —— 第一个 0 表示八进制,第二个 0 表示取消特殊权限
例:将字符 “abcdef” 六个字符以两行三列输出,中间用制表符
echo -e "a\tb\tc\nd\te\tf # 两行三列,制表输出
a b c
d e f
注:“\n” 和 \t 表示转义字符,代表换行和 tab,注意一定要加 -e 选项才支持识别 “\” 的字符转义功能
补充:
如:find 命令最后的选项 -exec {} ; —— “\” 作用是取消命令的别名
如:rm 命令存在 “rm -i” 的别名,\rm —— “\” 会注释掉 rm 的别名,使用命令本身的含义执行
echo 显示颜色
echo 特殊的显示
例1:输出字符 “hello world” 并设置输出字符颜色为红色
echo -e "\e[31mhello world\e[0m" #\e[0m 表示结束所有的颜色或格式输出
例2:输出字符 “hello world” ,设置字符高亮显示,且颜色为红
echo -e "\e[31;1mhello world\e[0m" #特殊的显示,结合显示颜色
注:多个条件之间用分号 “;” 分割,可以同时生效
创建一个合格的 shell 脚本
[root@localhost ~]# vim hello.sh
#!/bin/bash
#This is my first piece of code
#Author(Email):[email protected]
echo "We will print hello world of 7 colors."
echo -e "\e[30;1mhello world\e[0m"
echo -e "\e[31;1mhello world\e[0m"
echo -e "\e[32;1mhello world\e[0m"
echo -e "\e[33;1mhello world\e[0m"
echo -e "\e[34;1mhello world\e[0m"
echo -e "\e[35;1mhello world\e[0m"
echo -e "\e[36;1mhello world\e[0m"
注:vim hello.sh —— .sh 是命名规范,可写可不写,但 vim 会以后缀名识别脚本格式,显示字符串高亮
执行 shell 脚本 —— 两种方式
添加 x 执行权限(相对或绝对路径执行)
[root@localhost ~]# chmod +x hello.sh
[root@localhost ~]# ./hello.sh
用 bash 命令,调用脚本文件
[root@localhost ~]# bash hello.sh
说明:执行一个脚本只有以上两种方式,主动通过 bash 命令执行,或者添加权限通过脚本声明的 shell 执行
补充:. hello.sh 或 source hello.sh 会将脚本加载到当前 shell 执行 —— 可加载配置文件
文章浏览阅读320次,点赞3次,收藏6次。探索T-Writer.js:一款强大的Web文本编辑器项目地址:https://gitcode.com/ChrisCavs/t-writer.jsT-Writer.js 是一个基于JavaScript的开源富文本编辑器,旨在提供一种简洁、高效的在线写作体验。它具备现代Web应用所需的多种功能,并且易于集成到你的网站或应用中。技术分析T-Writer.js 使用了最新的Web技术栈,包括:...
文章浏览阅读1w次,点赞27次,收藏175次。[PHP]学生成绩管理系统其实,这是我大一的时候,数据库的课程设计,虽然现在回看也觉得代码凌乱,但也懒得改了,之前是发在了自己搭建的博客,现在发到CSDN上来。文章目录[PHP]学生成绩管理系统1 前言2 功能模块2.1学生模块2.2 教师模块2.3 主要的文件结构3 界面设计3.1 登录界面3.2 学生主页(我的成绩)3.3 各科成绩3.4 教师主页(学生管理)3.5 学生信息详情3.6 学生信息修改3.7 添加学生信息3.8 课程管理3.9 各科成绩3.10 一键管理4 数据库设计4.1 E-R图4_php成绩管理系统
文章浏览阅读775次,点赞22次,收藏24次。功能对照表的目的是帮助开发团队了解软件的功能状况,及时修复功能缺陷和错误,并提高软件的质量和稳定性。功能编号功能名称功能描述功能状态备注1用户登录用户可以通过提供用户名和密码登录系统正常用户名和密码的验证机制安全性2用户注册用户可以通过提供用户名、密码和电子邮件地址注册新的账户正常无3密码修改用户可以通过提供原密码和新密码修改已有账户的密码正常用户密码的修改操作是否需要提供安全认证4用户信息查看用户可以查看自己的个人信息,如用户名、电子邮件地址、角色等正常无。
文章浏览阅读745次,点赞12次,收藏21次。通过以上更具体的步骤和考虑因素,_rag最佳实践
文章浏览阅读3.1k次。python保存文本文件的方法:使用python内置的open()类可以打开文本文件,向文件里面写入数据可以用write()函数,写完之后,使用close()函数就可以关闭并保存文本文件了示例代码如下:执行结果如下:内容扩展:Python3将数据保存为txt文件的方法,具体内容如下所示:f = open("data/model_Weight.txt",'a') #若文件不存在,系统自动创建。'a'..._怎么保存python文件
文章浏览阅读196次。Windows下编译Oracle驱动打开工程:C:\Qt\4.8.1\src\plugins\sqldrivers\oci修改oci.pro:TARGET = qsqlociSOURCES = main.cppinclude(../../../sql/drivers/oci/qsql_oci.pri)include(../qsqldriverbase.pri)INCLUDEPATH += D:\o..._linux 编译 oci.pro
文章浏览阅读5.8k次,点赞2次,收藏6次。1.在main.js文件中引入:方式1://main.jsimport VueI18n from 'vue-i18n'Vue.use(VueI18n) // 通过插件的形式挂载,通过全局方法 Vue.use() 使用插件const i18n = new VueI18n({ locale: 'zh', // 语言标识 //this.$i18n.locale // 通过切换loca..._vue中i18n.js文件中如何调用解决,并将结果赋值给i1 8n的message
文章浏览阅读2.8k次。触摸屏属于一个标注的input dev.所以我们按照输入子系统的流程来实现驱动开发。 实际板子与CTPM的通讯连接基于IIC总线,所以我们需要把驱动挂载到IIC总线下面去,也就是注册IIC驱动到iic_core.c中去。 实例化一个IIC设备有多种方式,仿照上一次的24cxx IIC设备的创建,我们来实现ft5x06IIC设备的创建。 因实际板子上TS IC使用的是ft5x02,所以先实例化设_触摸屏a类协议和b类协议
文章浏览阅读5.2k次。关于html中下拉菜单select的样式的改变作者:菩提树下的杨过 日期:2006-06-12字体大小: 小 中 大 首先要告诉大家,如果你是用css的方法,除了箭头部分,其他都可以改变,这是很令人别扭的事,因为其他的样式改了,箭头部分改不了等于无用。下面举个css改select的例子 HTML代码 .box{border:1px solid#C0C0_html设置select选择显示和下来显示怎么能不一致
文章浏览阅读3.4k次。软件环境:WIN7_64 + ISE 14.4 (system_edition)硬件:Zedboard、USB-Cable线搭建图: 经过前几天的学习,查看数据手册、官方例程,笔者已经对Zedboard有了基本的了解,但是怎样才能充分发挥ZYNQ的优势呢?这个就不得不说下ZYNQ的基本架构了,它分为PS(Processing System)和PL(Progr_zedboard教程
文章浏览阅读430次。试用一下H2O全自动机器学习下载数据集天池练习赛"工业蒸汽量预测",下个数据集:https://tianchi.aliyun.com/competition/entrance/231693/introduction安装H2OH2O requirements:pip install requestspip install tabulatepip install ..._练习赛-蒸汽数据集
文章浏览阅读603次。vLSW1、vLSW2充当虚拟交换机,给数据添加vlan tag。由于模拟器PC不会主动发送ARP,需要用PC ping 网关地址。查看VPN实例中的路由,学习到32位主机路由。查看OSPF邻居是否建立,路由是否学习到。CE1上学习到32位主机路由(回城路由)查看BGP EVPN学习的5类路由。测试PC访问外部网络Server。查看BGP EVPN邻居关系。同子网,PC1 访问PC2。跨子网,PC1 访问PC3。查看EVPN的3类路由。查看EVPN的2类路由。查看3层VxLan隧道。查看VPN实例内路由。_vxlan分布式网关实验