• 欢迎访问LLYCLOUD information technical share center (ITSC),Linux 安全,Linux 系统,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入LLYCLOUD QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏LLYCLOUD ITSC吧

6.shell(2)

Linux安全与高级应用 Akide_Liu 10个月前 (02-01) 194次浏览 0个评论

第三章扩展正则表达式基础:

一、
6.shell(2)

Linxu安全三大方面:

认证:通过/etc/pam.d对linux系统进行认证

查看:cat login

PAM:好处 不仅可以用在linux中windows下也可以用

授权:

审计:

函数:上定义,下执行

结构:

函数名 () {

语句体

}

好处:1)代码复用 2)代码升级简单 3)功能归纳

二、解读/etc/profile文件

6.shell(2)

6.shell(2)

6.shell(2)
6.shell(2)

6.shell(2)

注释:普通用户的目录权限计算:777-umask(反掩码)

文件权限:664-umask

Root用户的目录权限计算:775-umask

文件权限:644-umask

三、变量类型

    • 有两种类型的变量:
      • 局部变量
      • 环境变量

局部变量仅在创建它的Shell中有效,环境变量则对所有创建它的Shell都有效

四、局部变量和范围:

1)变量的范围是指变量在一个程序中的什么地方是可见的。对于Shell 而言,局部变量的范围限于创建变量的Shell。

2)当给一个变量赋值的时候,不要在等号两边留下空格。如果要将一个变量设置为空,在等号后面跟一个换行符即可。

3)变量前面的美元符号用于提取其存储的值。

1、[[email protected] ~]# round=world

[[email protected] ~]# echo $round

World

2、[[email protected] ~]# name=’jinge jige yuange ‘

[[email protected] ~]# echo $name

jinge jige yuange

五、环境变量

环境变量是能为创建它的Shell 及其派生子进程所用的变量,它们也经常被称为全局变量以区分于局部变量。

1)一般约定环境变量为大写,它们是那些可以通过内置命令export导出的变量。

2)要设置环境变量,必须在给变量赋值或设置了变量后使用export命令。

六注意红色标识为常见

6.shell(2)

1、(1)[[email protected] ~]# set 111 222 333

[[email protected] ~]# echo $_

333

***(2特列)[[email protected] ~]# name=”aaa bbb ccc”

[[email protected] ~]# echo $name

aaa bbb ccc

[[email protected] ~]# echo $_

ccc

七、printf 命令:

printf命令可以用来格式化输出,其作用是打印格式化的字符串,效果类似C语言的printf函数。

格式包括字符串本身和描述打印效果的字符。定义格式的方法是在%后面跟一个说明符,例如%f 表示后面是一个浮点数,而%d 表示一个整数。

[[email protected] ~]# printf “The number is %.2f\n ” 100

The number is 100.00

6.shell(2)

注意:加“-”的为左对齐不加的为右对齐;加%%为显示百分数

八、变量扩展修改符(参量扩展)

通过特定的修改符,可以检验和修改变量。

这些修改符提供了一个快捷的方法来检验变量是不是被设置过,并把输出结果输出到一个变量中。

6.shell(2)

1、
6.shell(2)

***2)[[email protected] ~]# a=aa4dceb1254dsjfoas

[[email protected] ~]# echo $a

aa4dceb1254dsjfoas

[[email protected] ~]# echo ${a:3}

dceb1254dsjfoas

***3)[[email protected] ~]# a=aa4dceb1254dsjfoas

[[email protected] ~]# echo $a

aa4dceb1254dsjfoas

[[email protected] ~]# echo ${a:3:4}

dceb

九、变量扩展修改符(参量扩展)

模式匹配参数用来从字符串的前边或者后边,去掉特定的部分字符串。最常用的方法就是从路径中去点路径名。

6.shell(2)

1)[[email protected] ~]# pathname=”/usr/bin/local/bin”

[[email protected] ~]# echo ${pathname%/bin*}

/usr/bin/local

2) [[email protected] ~]# pathname=”/usr/bin/local/bin”

[[email protected] ~]# echo ${pathname%%/bin*}

/usr

3) [[email protected] ~]# pathname=”/usr/bin/local/bin”

[[email protected] ~]# echo ${pathname#/usr*}

/bin/local/bin

4) [[email protected] ~]# pathname=”/usr/bin/local/bin”

[[email protected] ~]# echo ${pathname##*}

[[email protected] ~]# echo ${pathname##*/}

Bin

5) [[email protected] ~]# pathname=”/usr/bin/local/bin”

[[email protected] ~]# echo ${#pathname}

18

十、位置参量

通常情况下,特定的内建变量,被称为位置参量,它们被用于从命令行向脚本传递参数,或者在函数中用于保存传递给函数的参数。这些变量被称作位置参量是因为它们以数字1、2、3……区分,这些数字与它们在参量清单中的位置有对应关系。

Shell脚本的名字保存在变量$0 中,位置参量可以被set 命令设置、重置和清空。

Unset是销毁目的提高安全

6.shell(2)

1)
6.shell(2)

注释:$*代表都有哪些具体组成,$#代表总个数,$$#/

\$$#:代表共有几个数比如4个那么就标识为$4

十二、数学表达式格式

6.shell(2)

十三、数组:

bash 2.x 版本提供了创建一维数组的能力。数组允许你把一串数字、一串名字或者一串文件放在一个变量中。数组的尺寸没有限制,脚标也不必须是一定顺序的数字。

获取数组中某个元素的语法是${arrayname[index]}。

${#friend[*]}表示数组的尺寸,即元素个数,${#friend[0]}表示第一个元素的长度。

十四、
6.shell(2)

十五、windos下的txt文档如何在linux系统下使用

6.shell(2)


Llycloud ITSC , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:6.shell(2)
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址