解锁式学习
1人加入学习
(0人评价)
Linux基础
价格 免费
该课程属于 949-刘同学-python方向-python数据分析-就业:否 请加入后再学习

1. 虚拟机重启错误:

由于磁盘有损坏

修复磁盘:

step1:回车后输入root密码

step2:fsck /dev/sda2

step3:fix<y>? yes

step 4:reboot

 

#### shell基础编程

1. shell程序介绍

(1)shell程序时已文件形式存放批量的linux命令集合,该文件能够被shell解释执行,这种文件就是shell脚本程序,shell文件是文本文件

(2)shell程序通常由一段Linux命令,Shell命令、控制语句以及注释语句构成

(3)shell脚本是纯文本文件,可以使用任何编译器编写,通常以.sh作为后缀名

(4)第一行:指定用哪个程序来编译和执行脚本

#!/bin/bash

#!/bin/sh

(4)除第一行外,使用#表示注释

(5)执行脚本的三种方式

① $ ./test.sh

② $ . test.sh

③ $ sh test.sh

2. 变量的使用

(1)变量名必以字母或下划线开头,后面可以跟字母,数字或下划线。

(2)对大小写敏感

(3)变量的赋值(等号两边不能有空格):$ x=123

变量值的回显:$ echo ${sex}或$ echo $sex

(4)变量作用域

本地变量:只在创建它们的shell程序可用

环境变量(全局变量):在shell的所有用户进程中可用,如果父shell进程产生了子shell进程,则环境变量可被“继承”并复制。环境变量按照惯例需要大写

(5)清除变量:unset variable

(6)显示所有变量:set

3. 位置参量

(1)位置参量是一组特殊的内置变量,通常被shell脚本用来从命令行接收参数,或被函数用来保存传递给它的参数

(2)执行shell脚本时,用户可以通过命令行向脚本传递信息,跟在脚本后面的用空格隔开的字符串都成为位置参量

(3)脚本使用这些参数时,需要通过位置参量引用:$1表示第一个参数,$2表示第二个参数,从${10}开始,需要用花括号括起来

(4)表示位置参数的个数:$#

(5)以单个字符串显示所有位置参量:$*

(6)脚本运行的当前进程号:$$

(7)表示最后一个后台运行的进程的进程号:$!

(8)显示前面最后一个命令的退出状态,0表示没有错误,其他任何值表示有错误:$?

应用中通常会在关键步骤后判定$?,以确定关键步骤的执行是否正常。尤其是调度系统里需要监控sh返回码

shell脚本的返回码取决于最后一个命令的返回码

(9)如果位置参数中有空格,需要用引号引起

 

4. 数组

$ arr=(zhangsan lisi wangwu)  //数组赋值

$ echo ${arr[0]}  //读取数组中第一个元素

$ echo ${arr[*]}  //显示数组中的所有字符

$ echo ${#arr[*]}  //显示数组中字符个数

$ arr[0]=zhaoliu  //更改第一位元素

 

5. date(时间)

(1)e.g.以年月日时分表的形式展示时间

$ date +%Y/%m/%dT%H:%M:%S

(2)显示时间变量

date1=$(date +%Y/%m/%dT%H:%M:%S)

echo ${date1}

(3)显示两天前的日期

date2=$(date --date='2 days ago' +%Y/%m/%d)

echo ${date2}

(3)显示一天后的日期

date3=$(date --date='-1 days ago' +%Y/%m/%d)

//或

date3=$(date --date='1 days' +%Y/%m/%d)

echo ${date3}

(4)查看日历

$ cal 12 2020

6. 判断

【1】文档类型的判断

(1)判断某个文件是否存在:test -e filename

或:[-e filename]

(2)判断某个文档是否存在且为档案:test -

f filename

(3)判断某个文件是否存在且为目录:test -d filename

【2】文档权限的判断

(1)判断某个文档是否有可读权限:-r

(2)判断某个文档是否有可写权限:-w

(3)判断某个文档是否有可执行权限:-x

【3】两个整数间的判定

(1)两数值相等:-eq

(2)两数值不等:-ne

(3)n1大于n2:-gt

(4)n1小于n2:-lt

【4】判定字符串的数据

(1)判断字符串是否为0,若为空则true:test -z string

(2)判断字符串是否非0莫若为空则false:test -n string

(3)判断str1是否等于str2,若相等则返回true:test str1=str2

(4)判断str1是否不等于str2,若相等则返回false:test str1!=str2

(5)if判断

if...; then...;

elif...;then...;

else...;

fi

7.循环

【1】for循环

(1)

for var in 1 2 3 4 5

do

    echo ${var}

done

(2)

num=10

s=0

for((i=0; i<${num}; i=i+1))

do

    s=$((${s}+${i}))

done

【2】while循环

while[condition]

do

    程序段落

done

【3】until循环

until[condition]

do

    程序段落

done

【4】while read line 从文件或命令中逐行读取

(1)

cat file | while read line

do

echo $line

done

(2)cat 'ls ./*.txt' | while read line

do echo $line

done

 

[展开全文]

授课教师

高级算法工程师
老师

课程特色

考试(5)
图文(1)
视频(4)
作业(3)

最新学员

学员动态

巴拉巴拉 的作业"每日作业"已被批阅
巴拉巴拉 的作业"每日作业"已被批阅
巴拉巴拉 的作业"每日作业"已被批阅
巴拉巴拉 开始学习 每日作业