栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux(七)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux(七)

一、Shell基础知识

(一)对Shell的理解

1、Shell是系统跟计算机硬件交互的媒介。

我们把指令告诉Shell,Shell将指令传达给系统内核再运行。

2、记录命令历史

预设可记录1000条命令,命令保存在用户家目录的.bash_history文件中。

!!——执行上一条命令

!n——执行命令历史中的第n条命令

3、命令和文件名补全

tab可以帮我们补全一个指令、一个路径或一个文件名。

连续按两次tab键,系统会把所有的命令或文件名列出来。

4、别名

alias [命令别名]=[‘具体的命令’]

eg:alias vi='vim'

5、通配符

*来匹配零个或多个字符,?来匹配一个字符

6、输入输出重定向

主要介绍一些输出重定向

输出重定向命令>

追加重定向命令>>

eg:

#mkdir /tmp/10

#cd /tmp/10

#echo"123">1.txt

#cat 1.txt

123

#echo"123">>1.txt

#cat 1.txt

123

123

7、管道符

管道符 | 用于将前一个指令的输出作为后一个指令的输入

eg:

#cat /etc/passwd/wc -l

8、作业控制

运行进程时

暂停它——ctrl+z

恢复它——输入命令fg

使它后台运行——bg

终止它——ctrl+c

(二)变量

1、env命令

2、set命令

(三)系统环境变量与个人环境变量的配置文件

/etc/profile

/etc/bashrc

.bash_profile

.bashrc

.bash_history

.bash_logout

(四)Linux shell中的特殊符号

1、* 代表零个或多个任意字符

2、?代表一个任意字符

3、#注释符号

4、脱义字符

这个字符会将后面的特殊字符还原为普通字符

5、管道符 |

将前一个命令的输出作为后面命令的输入。

这里后面的命令不是所有的命令都可以,一般针对文档操作的命令比较常用。

如 cat、less、head、tail、grep、cut、sort、wc、uniq、tee、tr、split、sed、awk等

简要介绍几个命令

(1)cut命令——截取某段文字

(2)sort命令——排序

(3)wc命令——统计文档的行数、字符数或词数

(4)uniq命令——删除重复的行

(5)tee命令——类似于重定向命令,但比重定向命令多一个功能,即在把文件写入后面所跟文件的同时,还将其显示在屏幕上。

(6)tr命令——用于替换字符

(7)split命令——用于切割文档

6、$

用作变量前面的标识符。

!$表示上条命令中的最后一个变量。

7、~——表示用户的家目录

8、&——如果想把命令放在后台执行,需要加符号&

eg:

#sleep 30 &

8、重定向符号——>、>>、2>、2>>

9、[  ]——中括号内为字符,代表字符组合中的任意一个,也可以是一个范围。

10、&&——与,||——或 

二、正则表达式

1、grep、egrap工具的使用

2、sed工具的使用

3、awk工具的使用

三、shell脚本

(一)什么是shell脚本

简单说,shell脚本就是一些命令的合集。

1、shell脚本的创建和执行

创建:第一行以#!/bin/bash开头

           #表示注释

eg:

#cd /usr/local/sbin/

#vim first.sh

#!/bin/bash

#This is my first shell scrip.

#Writen by susu.

echo "hello word!"

执行:

法1:

#sh first.sh

hello word!

法2:

#chmod +x first.sh

#. /first.sh

hello word!

2、date命令

(二)shell脚本中的变量

1、数学计算

eg:

#vim sum.sh

#!/bin/bash

a=1

b=2

sum=$[$a+$b]

echo "$a+$b=$sum"

数学计算要用[  ]括起来,并且前面要加符号$。

2、和用户交互

read命令用于和用户交互,它把用户输入的字符串作为变量值。

eg:

read -p "Please input a number : "  x

3、shell脚本预设变量

eg:

脚本

#!/bin/bash

echo "$1 $2"

执行

#sh option.sh 1 2

1 2

三、shell脚本中的逻辑判断——if

1、不带else

语法:

if 判断语句;then

         command

fi

2、带有else

语法:

if 判断语句;then

        command

else

        command

fi

3、带有elif

语法:

if 判断语句1;then

        command

elif 判断语句2;then

        commamd

else

        command

fi

4、if的常用选项(与文件相关)

-e:判断文件或目录是否存在

-d:判断是不是目录以及目录是否存在

-f:判断是不是普通文件以及普通文件是否存在

-r:判断是否有读权限

-w:判断是否有写权限

-x:判断是否可执行

5、case逻辑判断

语法:

case 变量 in

value1)

           command

           ;;

value1)

           command

           ;;

value2)

           command

           ;;

value3)

           command

           ;;

*)

           command

           ;;

esac

不限制value个数,*代表其它值。

四、shell脚本中的循环

1、for循环

语法:

for 变量名 in 循环的条件;do

         command

done

“循环条件”:可以是一组字符串或者数字,用空格分开;也可以是一条命令的执行结果,但该命令必须用反引号括起来。

2、while循环

语法:

while 条件;do

        command

done

另外,可以用一个冒号代替循环条件,做到死循环。

while :; do

        command

        sleep 3

done

五、shell脚本的函数

语法:

function 函数名()

{

     command1

     command2

}

六、shell脚本中的中断和继续

1、break

退出该层循环

2、continue

结束本层循环

3、exit

直接退出整个shell脚本。        

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/603919.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号