linux系统组件及其shell脚本编写

系统组成

  • /bin: 是Binary的缩写,这个目录存放着最经常使用的命令。
  • /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
  • /home存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录              名是以用户的账号命名的。
  • /root:该目录为系统管理员,也称作超级权限者的用户主目录。
  • /lib:系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。                  几乎所有的应用程序都需要用到这些共享库。
  • /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文               件。
  • /etc:所有的系统管理所需要的配置文件和子目录my.conf。
  • /usr/local这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录                        下,类似与windows下的program files目录。
  • /boot:存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
  • /proc:这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统                信 息。
  • /srv:service的缩写,该目录存放一些服务启动之后需要提供的数据。
  • /sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文               件系统sysfs。
  • /tmp:这个目录是用来存放一些临时文件的。
  • /dev:类似windows的设备管理器,把所有的硬件用文件的形式存储。
  • /media:linux系统会自动识别一些设备,例如U盘光驱等等,当识别后,linux会把识别                 的设备挂载到这个目录下。
  • /mnt系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储              挂载在/mnt/上,然后进入该目录就可以查看里面的内容了。
  • /opt:这是给主机额外安装软件所摆放的目录,如安装ORACLE数据库就可放到该目录           下。默认为空。
  • /usr/local:这是另一个给主机额外安装软件所安装的目录,一般是通过编译源码的方              式 安装的程序。
  • /var这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录             下 ,包括各种日志文件。
  • /selinux:SELinux是一种安全子系统,它能控制程序只能访问特定文件。

1.脚本介绍

#!/bin/bash
echo "Hello World !"

解释

#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。

echo 命令用于向窗口输出文本。

1、作为可执行程序

将上面的代码保存为 test.sh,并 cd 到相应目录:

chmod +x ./test.sh #使脚本具有执行权限

./test.sh #执行脚本

2.shell变量

有效的 Shell 变量名示例如下:

# 避免使用if作为变量名
if="some_value"
# 避免使用 $ 等特殊符号
variable_with_$=42
?var=123
user*name=runoob
# 避免空格
variable with space="value"

无效命名

# 避免使用if作为变量名
if="some_value"
# 避免使用 $ 等特殊符号
variable_with_$=42
?var=123
user*name=runoob
# 避免空格
variable with space="value"

等号两侧避免使用空格:

使用变量

删除变量

unset variable_name

变量类型

 单引号  '  或双引号  "   来定义字符串

my_string='Hello, World!'      或者my_string="Hello, World!"

数组变量 

 

declare -A 用于声明一个关联数组这是一种可以存储键值对的数组。与普通数组不同,关联数组的索引可以是任意字符串,而不是必须从 0 开始的整数序列。

declare -A associative_array
associative_array["name"]="John"
associative_array["age"]=30

环境变量和特殊变量

 

双引号

                                           

获取字符串长度

                                      

提取字符传

                             

查找字符串

                                       expr index为查找字符串的命令                                                      

3.shell注释

3.1# 开头做注释

3.2 传递参数

参数的格式为 $n,$1、$2 等来引用传递给脚本的参数,其中 $1 表示第一个参数,$2 表示第二个参数

3.3特殊字符

4.数组

创建数组      my_array=(A B "C" D)

或者这样创建数组

array_name[0]=value0
array_name[1]=value1
array_name[2]=value2  

读取数组:   ${array_name[index]}
声明关联数组:declare -A array_name
例如:                                                                 declare -A site=(["google"]="www.google.com" ["runoob"]="www.runoob.com"                              ["taobao"]="www.taobao.com")

获取数组全部元素:  使用 @ 或 * 可以获取数组中的所有元素

在数组前加一个感叹号 ! 可以获取数组的所有键

                           

获取数组长度

5.shell运算符

5.1算术运算符

5.2关系运算符

5.3布尔运算符

5.4逻辑运算符

5.5字符串运算符

5.6文件测试运算符

5.7自增自减操作符

6.echo输出规则

1.显示普通字符串:

 

2.显示转义字符

 

3.显示变量

4.显示换行

 

5.显示不换行

 

6.显示结果定向至文件

 

7.原样输出字符串,不进行转义或取变量(用单引号)

 

8.显示命令执行结果

 

7.Shell printf 命令

7.1Shell printf 命令

8.Shell test 命令

8.1数值测试

8.2字符串测试

8.3文件测试

9.基本循环控制语句

9.2for循环语句

9.3while语句

9.4case....esac

9.5跳出循环

10函数

函数返回值在调用该函数后通过 $? 来获得。

10.2函数参数传递 

$10 不能获取第十个参数,获取第十个参数需要${10}。当n>=10时,需要使用${n}来获取参数。 

特殊参数

11.输入输出重定向

12文件包含

1. Linux 脚本编写基础 1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh   符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。   当编辑好脚本时,如果要执行该脚本,还必须使其可执行。   要使脚本可执行: 编译 chmod +x filename 这样才能用./filename 来运行 1.1.2 注释   在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。我们真诚地建议您在程序中使用注释。   如果您使用了注释,那么即使相当长的时间内没有使用该脚本,您也能在很短的时间内明白该脚本的作用及工作原理。 1.1.3 变量   在其他编程语言中您必须使用变量。在shell编程中,所有的变量都由字符串组成,并且您不需要对变量进行声明。要赋值给一个变量,您可以这样写: #!/bin/sh #对变量赋值: a="hello world" # 现在打印变量a的内容: echo "A is:" echo $a 有时候变量名很容易与其他文字混淆,比如: num=2 echo "this is the $numnd" 这并不会打印出"this is the 2nd",而仅仅打印"this is the ",因为shell会去搜索变量numnd的值,但是这个变量时没有值的。可以使用花括号来告诉shell我们要打印的是num变量: 网管u家u.bitsCN.com num=2 echo "this is the ${num}nd"   这将打印: this is the 2nd 1.1.4 环境变量 由export关键字处理过的变量叫做环境变量。我们不对环境变量进行讨论,因为通常情况下仅仅在登录脚本中使用环境变量。 1.1.5 Shell命令和流程控制 在shell脚本中可以使用三类命令:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值