1.shell
1.1shell的概念
Linux 作为一个操作系统,称为 kernel,一般用户不能直接使用 kernel,而通过 kernel 的外壳程序 Shell 和 kernel 进行沟通。
Shell 作为外壳程序,包裹在 Linux 内核外层,是一个应用程序,通过一系列的 Linux命令对操作系统 发出相关治疗提供人际界面。它连接了用户和 Linux 内核,让用户更加高效、安全、低成本地使用 Linux 内核,这就是 Shell 的本质。bash 是 Shell 的一种。
1.2常见的shell类型
shell(例如bash能直接执行是因为/usr/bin/bash被写入了/etc/profile的PATH路径中)
1.3权限概念
权限是明确一件事情是否允许被特定的人做。Linux 权限能够指定谁可以对文件或目录执行什么操作。Linux 下有两种用户,即超级用户和普通用户。超级用户的命令提示符是 #,普通用户的命令提示符是 $。
超级用户:可以在Linux系统下作任何事情,不受限制。(超级用户可以通过sudo passwd root命令给予普通用户root权限)
普通用户:在Linux下做有限的事情。
1.4权限管理
1.4.1用户访问的用户分类
1.4.2文件类型和访问权限
文件类型(首字母)
d | - | | | b | p | c | s |
文件夹(目录) | 文件 | 软链接 | 块设备文件(例如磁盘、光驱等) | 管道文件 | 字符设备文件(例如屏幕等串口设备等) | 套接口文件 |
访问权限
r(read) | w(write) | x(execute) |
读 | 写 | 执行 |
权限的表示方法及八进制、二进制表示法
Linux表示 | 说明 | 八进制 | 二进制 |
r-- | 只读 | 4 | 100 |
-w- | 只写 | 2 | 010 |
--x | 只执行 | 1 | 001 |
rw- | 只可读写 | 6 | 110 |
-wx | 只可写和执行 | 3 | 011 |
r-w | 只可读和写 | 5 | 101 |
rwx | 读、写、执行均可 | 7 | 111 |
--- | 没有任何权限 | 0 | 000 |
权限的设置(chmod命令)
root 不受任何权限限制,权限只限制普通用户,只有文件的拥有者和 root 可以设置文件的访问权限。
方法一:例如目录text dr--r--r--,给用户组加上执行命令,可chmod g+(-,=)x text
方法二:chmod 454 text
1.5 shell编程注意事项
(1)Shell 脚本名称命名一般为英文、大写、小写,后缀以 .sh 结尾
(2)不能使用特殊符号、空格
(3)首行需要 #!/bin/bash 开头
(4)shell 脚本变量 不能以 数字、特殊符号开头,可以使用下划线 _ , 但不能用破折号 -
(5)设置变量,等号两侧不能有空格
su命令切换到主目录下mkdir创建一个text文件夹,用nano命令创建一个名为hello.sh的Shell,进入编辑#!/bin/bash,设置AAA=“hai mei lou",echo $AAA的值,保存退出,用ls-al命令查看text文件夹,发现hello.sh已经创建,但没有执行权限,通过chmod命令赋予执行权限,进入text文件夹./hello.sh执行Shell。