厦门海沧建设局网站,网站推广策划思路与执行,百度广告优化,网站建设需求说明书shell命令以及运行原理
什么是shell shell是操作系统的外壳程序统称#xff0c;我们是通过shell去和操作系统沟通的。 从技术角度#xff0c;shell最简单的定义就是命令行解释器#xff0c;主要包含两个功能#xff1a; 将使用者的命令翻译给核心处理 将核心的处理结果…
shell命令以及运行原理
什么是shell shell是操作系统的外壳程序统称我们是通过shell去和操作系统沟通的。 从技术角度shell最简单的定义就是命令行解释器主要包含两个功能 将使用者的命令翻译给核心处理 将核心的处理结果翻译给使用者
为什么需要shell Linux严格意义上来说是一个操作系统我们将其称为核心kernel。但我们一般用户不能直接使用核心kernel而是通过核心的外壳程序shell来和核心沟通为什么呢主要原因就是使用者所写的命令行核心看不懂而核心的处理结果使用者也看不懂在他们使用者和核心之间需要有一个翻译。 一个比方假设你自己是一个企业家你的产品非常优秀。名声传到了国外国外有一个客户对你的产品很感兴趣想要和你聊聊投资合作的事情但你们之间语言不通需要找一个翻译来帮助你们进行沟通以促成这笔生意。这个翻译就是shell你就是使用者核心就是外国客户。
shell对于Linux和Windows GUI对于Windows的区别 我们在使用Windows时也不是直接操作Windows操作系统而是通过图形化接口、点击从而完成我们的操作这些图形化结构、点击就是window的外壳程序。 shell对于Linux和window的GUI对于window是一样的我们也不是直接给核心下指令而是将指令给shell让shell翻译我们的指令给Linux内核反馈的结果再通过shell翻译给我们。
shell和bash、sh的关系 可以简单的理解为shell是总称bash、sh是具体的外壳。好比警察shell和李警官bash、王警官sh的关系
总结 shell存在的意义 命令解释 保护内核
Linux权限
Linux权限的概念
Linux下的两类用户 超级用户root可以再Linux系统下做任何事情命令提示符是‘#’ 普通用户在Linux下做有限的事情命令提示符是‘$’ Linux下的用户切换命令 命令 su[用户名] 功能切换用户 su - 功能重新登陆root
Linux的权限管理
文件访问者的分类 文件和文件目录的所有者主人 文件和文件目录的所有者所在组的用户主人的同时 其他用户主人不认识的人 一个组里面可以只有一个人
文件类型和访问权限 Windows和Linux区分文件方式的区别 Windows区分文件类型是通过后缀 Linux区分文件类型与后缀无关和文件是否具有“可执行权限”有关但不代表不用后缀 Linux后缀的意义给人看的 只是Linux不区分后缀不代表Linux上的软件不区分后缀 详情见图 文件类型分类 d文件夹 -普通文件 l:软连接类似于Windows的快捷方式 b块设备文件例如硬盘、光驱等 p:管道文件 c:字符设备文件比如屏幕等串口设备 s:套接口文件 基本权限 读r对于文件来说具有读取文件内容的权限对于目录而言具有浏览该目录信息的权限 写w对于文件而言具有修改文件内容的权限对于目录而言具有删除移动目录内文件的权限 执行x对于文件而言具有执行文件的权限对于目录而言具有进入目录的权限
文件权限值得表示方法 字符表示方法 r--:只读 --x:仅可执行 -wx可写可执行 rwx可读可写可执行 -w-仅可写 rw-可读可写不可执行 r-x可读可执行 ---什么都不能干 8进制表示方法 r4 100 w2 010 x1 001 rw6 110 rx5 101 wx3 011 rwx7 111 ---0 000 记忆方法第一个对应着读、第二个对应着写、第三个对应着执行对应的位置唯一就代表具有哪个权限
文件访问权限的相关设置方法 设置文件的访问权限的命令 语法格式 chmod[参数] 权限 文件名 功能设置文件的访问权限 常用选项 R- 递归修改目录文件的权限 注:只有文件的拥有者和root才可以改变文件的权限 使用chmod搭配用户表示符和/-权限字符来修改权限 /-权限字符 向权限范围增加权限代号所表示的权限 -向权限范围取消权限代号所表示的权限 向权限范围赋予权限代号所表示的权限 用户标识符 u:拥有者 g拥有者同组成员 o:其他用户 a:所有用户 用例 chmod uw /home/abc.txtchmod o-x /home/abc.txtchmod ax /home/abc.txt用三位8进制数字表示 chmod 664 /home/abc.txtchmod 640 /home/abc.txtchown命令 功能修改文件的拥有者 格式 chown[参数]用户名 文件名 chown user1 f1chown -R user1 filegroup1chgrp命令 功能修改文件或目录的所属组 格式chgrp [参数] 用户组名 文件名 常用选项-R 递归修改文件或目录的所属组
chgrp grp1 f1
chgrp -R grp1 f1umask命令 功能查看或修改文件掩码 格式umask 权限值 实例 umask 755umask //查看umask 044//设置注将现有的存取权限减去权限掩码后即可产生建立文件时预设权限。
超级用户默认掩码值为0022普通用户默认为0002。凡是在权限掩码中出现的权限最 终都要在起始权限中去掉。
去掉的方法清零比特位 新建文件夹默认权限 0666 新建目录默认权限 0777 但实际上用户所创建的文件和目录看到的权限往往不是上面这个值。为什么呢原因是创建文件或者目录的时候还要受到umask的影响。**假设默认权限是mask则实际创建出来的文件权限是maxk ~umask 最终权限 起始权限 ~umask file指令 功能识别文件类型 语法file [选项] 文件或目录 常用选项 -c 详细显示指令执行过程便于排错或分析程序执行的情形。 -z 尝试去解读压缩文件的内容
目录的权限 目录权限的分类 可执行权限如果目录没有可执行权限则无法进入cd到目录中 可读权限 如果目录没有可读权限则无法使用ls等命令查看目录中的文件内容 可写权限 如果目录没有可写权限则无法在目录中创建文件也无法在目录中删除文件 根据上面权限的分类及其内容我们可以发现好像有一个bug——只要操作者有写权限就能随意地删除文件和创建文件那张三的文件被李四删除了怎么办为了解决这个问题Linux加了粘滞位这个东西。 粘滞位的添加chmod t只能给目录添加
chmod t /home/ 加上粘滞位
ls -ld /home/
drwxrwxrwt. 3 root root 4096 9月 19 16:00 /home/
su - litao
rm /home/abc.c #litao不能删除别人的文件
rm是否删除有写保护的普通空文件 /home/abc.cy
rm: 无法删除/home/abc.c: 不允许的操作当一个目录被设置为粘滞位则该目录下文件只能由三个角色删除超级管理员root、该目录的所有者、该文件的所有者 总结目录的可执行权限是表示你可否在目录下执行命令。如果目录没有-x权限则无法对目录执行任何命令甚至无法cd 进入目, 即使目录仍然有-r 读权限这个地方很容易犯错认为有读权限就可以进入目录读取目录下的文件而如果目录具有-x权限但没有-r权限则用户可以执行命令可以cd进入目录。但由于没有目录的读权限所以在目录下即使可以执行ls命令但仍然没有权限读出目录下的文档