概念 真正能够控制计算机硬件(CPU.内存.显示器等)的只有操作系统内核(Kernel),图形界面和命令行只是架设在用户和内核之间的一座桥梁. 由于安全.复杂.繁琐等原因,用户不能直接接触内核(也没有必要),需要另外再开发一个程序,让用户直接使用这个程序:该程序的作用就是接收用户的操作(点击图标.输入命令),并进行简单的处理,然后再传递给内核.如此一来,用户和内核之间就多了一层“代理”,这层“代理”既简化了用户的操作,也保护了内核. 用户界面和命令行就是这个另外开发的程序,就是这层“代理”.在L…
Shell 是什么 Shell 是一个用C语言编写的程序,它是用户使用Linux的桥梁.Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务.Shell既是一种命令语言,又是一种程序设计语言. Ken Thompson的sh是第一种Unix Shell,Windows Explorer是一个典型的图形界面Shell. 通常,大家所说的Shell是指Shell Script, 她是一种为shell编写的脚本程序. Shell 分类与开发环境 Shell…
1.安装和配置sendmail 不需要注册公网域名和MX记录(不需要架设公网邮件服务器),通过Linux系统自带的mail命令即可对公网邮箱发送邮件.不过mail命令是依赖sendmail的,所以我们需要先检查安装和配置sendmail. 一般系统都自带sendmail,但是只能给内网的邮箱发邮件.如果想给公网的邮箱发邮件(比如qq邮箱)就需要配置sendmail. 这里记录sendmail的安装启动配置,各取所需. 尝试使用mail命令发送一封邮件. root@ubuntu4146:/data…
1 shell概述 shell是一个命令解释器,为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序.用户可以用shell启动.挂起.停止甚至是编写一些程序. shell是一个功能强大的编程语言,其特点是易编写.易调试及灵活性强.shell是解释执行的脚本语言,可直接调用Linux系统命令. shell通常分为两类:B shell和C shell.前者的主文件名为sh,后者主要用于BSD版本的Unix中,其语法格式和C语言类似.这两种shell的语法彼此间不兼容.Bash与sh兼…
1. 正则表达式 (1) 正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配.grep.awk.sed等命令可以支持正则表达式:通配符用来匹配符合条件的文件名,通配符是完全匹配.ls.find.cp这些命令不支持正则表达式,所以只能使用shell自己的通配符来进行匹配了. (2) 基础正则表达式 元字符 作用 * 前一个字符匹配0次或任意多次 . 匹配除了换行符外任意一个字符 ^ 匹配行首,如:^hello会匹配以hello开头的行 $ 匹配行尾,如:hello$会匹配以hello结尾的…
shell的优势:可以直接调用linux系统命令 shell脚本的基本写法:脚本名以.sh结尾程序的第一行为#!/bin/bash,告诉系统这是一个shell脚本以#作为注释shell脚本的执行方式:先赋予脚本执行权限,chmod:再用绝对路径或相对路径直接调用(因为shell是可执行程序,所以可以直接用路径来调用),如:/home/hqqq/test/t.sh bash的基本功能: 一.tab键文件和命令补全:如果只有一条匹配的,按一次就能自动补全:如果有多个匹配的,则按两次tab键,会出来提…
管道命令(pipe) 1.把一个命令的输出作为另一个命令的输入 ls -al /etc | less 2.选取命令:cut和grep cut命令可以将一段消息的某段切出来. -d接分隔符,-f是取出第几段的意思,-c是以字符串为单位取出固定的字符串范围 ls -F | grep '/' -v | cut -d'.' -f 1 #在取出不是文件夹的文件后,通过分隔符‘.’来分割,取出不包括文件后缀的文件名 ls -F | grep '/' -v | cut -c 1- #取出第一个字符(包括第一个…
我使用的Linux发行版是LinuxMint 17.2 Rafaela,默认情况下Terminal中的shell提示包括了用户名.主机名.当前目录(绝对路径)和提示符.这样会导致当进入一个比较深的目录时,提示符太长(如下图所示),操作起来就不太方便了. 我们可以自定义Linux系统终端提示符.Linux系统终端提示符的特征由系统环境变量PS1(是“prompt string one” 的简写)定义.通过命令echo $PS1查看当前设置.从上图可以看到我的Linux机器上该环境变量PS1的值.下…
1. if语句 (1) 单分支if条件语句 格式为: # 注意条件判断式两端的空格if [ 条件判断式 ];then 程序员 fi 或者 if[ 条件判断式 ] then 程序 fi 例:判断分区使用率 #!/bin/bash #获取根分区的使用率 rate=$() ] then echo "/dev/sda5 is over 10%!!" fi (2) 双分支if条件语句 格式为: if [ 条件判断式 ] then 条件成立时,执行的程序 else 条件不成立时,执行的另一个程序…
本文参考:shell脚本学习指南 本文阅读前提为:知道shell指令,但不知道如何完成一个自动化的shell脚本. 因为编辑本文时,作者也是一个新手.所以,在一些理论上,可能存在错误.如果存在错误,希望指出(可发送email:zheng39562@163.com). 此文会定时更新.直到有一个相对完善的版本. 一:如何让系统识别,以及一些前期细节. 1,系统如何识别:当系统执行一个可执行文件时,发现不是可执行格式.内核会收到一个错误消息:此文件不是可执行文件.此时,会尝试调用调用解释器. 2,如…