【Linux】shell命令以及运行原理和Linux权限的理解_linux内核 访问方式 shell

最全的Linux教程,Linux从入门到精通

======================

  1. linux从入门到精通(第2版)

  2. Linux系统移植

  3. Linux驱动开发入门与实战

  4. LINUX 系统移植 第2版

  5. Linux开源网络全栈详解 从DPDK到OpenFlow

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。

需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

🚀 作者简介:一名在后端领域学习,并渴望能够学有所成的追梦人。
🐌 个人主页:蜗牛牛啊
🔥 系列专栏:🚲Linux
📕 学习格言:博观而约取,厚积而薄发
🌹 欢迎进来的小伙伴,如果小伙伴们在学习的过程中,发现有需要纠正的地方,烦请指正,希望能够与诸君一同成长! 🌹


文章目录

一、shell命令以及运行原理

Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)”,但是一般用户不能直接使用kernel,而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。从技术角度,shell的最简单定义就是命令行解释器,主要作用是将使用者的命令翻译给核心(kernel)处理,同时将核心的处理结果翻译给使用者。
对比windows GUI,我们操作windows 不是直接操作windows内核,而是通过点击图形接口,从而完成我们的操作(比如进入D盘的操作,我们通常是双击D盘盘符或者运行起来一个应用程序),shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。

如下图所示,框起来的我们通常称之为命令行,在命令行输入一个命令,是shell帮我们执行的,它自身也是一个指令,一个程序。

在这里插入图片描述

用户并没有直接访问操作系统,在操作系统外面包裹了一层软件层,叫shell外壳程序。
shell外壳程序是包裹在操作系统外层的一层软件层,核心工作:命令行解释或者操作解释,用来将用户的操作解释给操作系统,让操作系统去执行,执行完毕将结果经过shell再交给用户,这样的软件层称为外壳程序。


shell存在的意义:帮忙进行命令行传递和返回结果;保护操作系统
shell是外壳程序的统称,而bash是centos7下具体使用的命令行解释器,用生活中的例子来说shell相当于媒婆这个职业,而bash相当于一个姓王的媒婆,属于媒婆这个行业其中的一个。

二、Linux权限

1.Liux权限的概念

Linux下有两种用户:超级用户(root)、普通用户。超级用户可以在Linux系统下做任何事情,不受限制;普通用户在Linux下只能做有限的事情。权限是限制人的,就好比你在某些视频网站看某些视频需要开通vip一样;但是访问的对象可能没有这种属性权限,比如你在视频网站刷算法题,这显然是不可能的。一件事情是否允许被“谁”做,权限=“人(用户)”+“事物属性(文件)”。

root用户和普通用户互相切换问题:
指令su:在同一个bash下进行身份切换。
从普通用户切换到root用户:需要输入root用户密码。

在这里插入图片描述

从root用户切换到普通用户:可以直接切换,su指令后面直接要普通用户名。

在这里插入图片描述

su -:让我们的root重新登录,进入到root用户家目录中。

在这里插入图片描述
我们还可以在普通用户下切换到其他普通用户,只要输入其他用户密码。如下图为从用户nmz切换到用户zhangsan。

在这里插入图片描述

2.Linux的文件属性和权限

ll指令下显示的更多文件属性中各个字符的含义如下所示。

在这里插入图片描述
在Linux下不用文件后缀区分文件类型,往往用文件属性中第一列的第一个字符来区分文件类型,以d开头的表示是目录;-开头的表示是普通文件、文本、可执行文件、归档(压缩)文件等;b表示块设备,bloc:磁盘;c表示字符设备,如键盘或者显示器;p表示管道文件;s表示网络socket文件;l表示链接文件link。但是在编译C语言等程序文件时是使用gcc编译的,这里的不用文件后缀指的是Linux操作系统下,并不代表gcc等编译软件不需要文件后缀。

Linux中的角色划分:文件拥有者、文件所属组和文件的other。Linux中root和普通用户可以是文件拥有者或者是问价所属组亦或文件的other。当用户不是拥有者和所属组的时候默认是other。描述文件权限可以从文件拥有者、所属组和other各自拥有的权限描述。
三个角色有各自的权限,第一列中除第一个字符外,后面的9个字符都表示权限,且三个字符为一组。r字符表示可读;w表示可写;x表示可执行权限;-表示该位置无对应权限。
三个字符的位置以及含义是确定的,文件自身具有权限属性。
下图中a.out文件中文件的拥有者是root,文件的所属组是root,拥有者权限是可读可写可执行;所属组权限是可读不可写可执行;other拥有的权限是可读不可写可执行。
在这里插入图片描述

可以通过chmod指令修改文件拥有者、所属组和other的权限。但是一般情况下改一个文件的权限必须是文件的拥有者或者是root才可以更改。命令选项中u表示修改文件拥有者权限,g表示修改文件所属组权限,o表示修改other权限,a表示给所有角色增加权限,可以用-删除权限,也可以用增加逗号,的方式对不同角色的权限进行增加或者删除。
当有些文件没有执行权限时,即便在root用户也不能执行,也会受到权限的约束,其原因是文件的安全性,避免危险性,但是在root用户下可以通过添加执行权限执行。

在这里插入图片描述

更改权限的八进制方案,我们可以认为有权限的时候为1,没有权限的时候为0。下图中test.c文件权限用二进制表示为011 100 101,转化为八进制是345;要是想更改为给所有角色增加rw权限,即rw-rw-rw-,用二进制表示为110 110 110,转化为八进制是666。
在这里插入图片描述

chown指令用来修改文件的拥有者,chgrp指令用来修改文件所属组。
但是如下图所示显示权限不允许,可以通过sudo指令提升权限或者在root用户下修改。因为把一个东西给被别人的时候要经过别人的允许,但是在Linux中只有root能够强制把文件的角色修改。sudo指令可以提升单条命令的权限,使其以root身份运行。
当一个文件的拥有者是普通用户,所属组是其他用户(包括root用户),此时更改所属组不需要提升权限或者root用户下运行,可以直接更改。
su指令输入的是root用户密码,而sudo指令需要输入的是当前用户的密码。但是当我们使用sudo命令时,会显示nmz is not in the sudoers file. This incident will be reported.这是因为我们还没有取得权限,后续文章会具体讲解这一问题。

在这里插入图片描述
在这里插入图片描述

为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。

本份面试集锦涵盖了

  • 174 道运维工程师面试题
  • 128道k8s面试题
  • 108道shell脚本面试题
  • 200道Linux面试题
  • 51道docker面试题
  • 35道Jenkis面试题
  • 78道MongoDB面试题
  • 17道ansible面试题
  • 60道dubbo面试题
  • 53道kafka面试
  • 18道mysql面试题
  • 40道nginx面试题
  • 77道redis面试题
  • 28道zookeeper

总计 1000+ 道面试题, 内容 又全含金量又高

  • 174道运维工程师面试题

1、什么是运维?

2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

3、现在给你三百台服务器,你怎么对他们进行管理?

4、简述raid0 raid1raid5二种工作模式的工作原理及特点

5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

7、Tomcat和Resin有什么区别,工作中你怎么选择?

8、什么是中间件?什么是jdk?

9、讲述一下Tomcat8005、8009、8080三个端口的含义?

10、什么叫CDN?

11、什么叫网站灰度发布?

12、简述DNS进行域名解析的过程?

13、RabbitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

主从复制延迟?

17、如何重置mysql root密码?

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 8
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值