欢迎来到Cefler的博客
博客主页:那个传说中的man的主页
个人专栏:题目解析
推荐文章:题目大解析3
我们学习Linux,知道它不过就是操作系统,我们称其为kernel核心,但是我们作为用户不能直接访问核心,要借助软件,如Xshell,我们称之为外壳。
我们输入命令,shell翻译命令给操作系统,操作系统再通过外壳反馈。
所以关系可以表示为:
在Linux中,Shell是一种命令行解释器
,它允许用户与操作系统进行交互。Shell提供了一个命令行界面,用户可以在其中输入命令并执行它们。
Shell的存在有以下几个原因:
Shell实现的具体进程
Shell实现的具体进程是通过解释和执行用户输入的命令来与操作系统进行交互。当用户在Shell中输入一个命令时,Shell会解析该命令并执行相应的操作。这些操作可以包括运行系统命令、启动其他程序、管理文件和目录、配置系统设置等。
具体来说,当用户在Shell中输入一个命令时,Shell会创建一个子进程来执行该命令。子进程是由Shell通过调用系统调用(如fork()和exec())来创建的。子进程会继承Shell的环境变量和文件描述符,并执行相应的命令。执行完命令后,子进程会将结果返回给Shell,并退出。
Shell本身是一个进程,通常作为用户登录时的默认进程。它可以是不同的Shell程序,如Bash、Zsh、Fish等。这些Shell程序在底层使用不同的实现方式,但它们的目标都是提供一个交互式的命令行界面,使用户能够与操作系统进行交互。
注意:
shell只是外壳的统称,外壳程序不止一个,如bash、sh、图形化界面(GUI)等都是外壳程序
Linux下有两种用户:超级用户(root)、普通用户。
命令:su or su - [用户名]
功能:切换用户。
例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su,root(root可以省略),此时系统会提示输入root用户的口令。
法一:
在Linux中,可以使用useradd命令来创建新用户。以下是创建新用户的步骤:
sudo useradd -m 新用户名
sudo passwd 新用户名
请注意,上述命令中的sudo用于提升权限,确保你具有足够的权限来创建新用户。
法二:
在Linux中,可以使用adduser命令来创建新用户。以下是使用adduser命令创建新用户的步骤:
sudo adduser 新用户名
要删除用户,可以使用userdel命令。以下是删除用户的步骤:
sudo userdel 用户名
sudo userdel -r 用户名
这将删除用户的账户信息、主目录和邮箱。
请注意,删除用户是一个敏感操作,请谨慎使用,并确保你了解删除用户可能带来的影响。在执行上述命令时,需要以root用户身份登录或使用具有sudo权限的用户登录。
在Linux中,可以使用su命令来切换到其他用户的账号。以下是切换账号的步骤:
su - 目标用户名
请注意,上述命令中的-选项
表示切换到目标用户的账号时,同时切换到目标用户的环境变量和工作目录。如果不使用-选项,则只切换账号,而不改变环境变量和工作目录。
另外,如果你想切换到root用户的账号,可以直接运行以下命令:
sudo su -
输入当前用户的密码后,你将切换到root用户的账号。请谨慎使用root用户的权限,以免造成意外的损坏或安全问题。
sudo是在Linux和Unix系统中用于提升用户权限的命令。它允许普通用户以超级用户(通常是root用户)的权限来执行特定的命令或访问特定的文件。
当你在使用sudo命令时,系统会要求你输入当前用户的密码,以确认你有权限执行该命令。一旦验证通过,你就可以以超级用户的权限来执行该命令。
使用sudo命令的好处是,它可以限制普通用户对系统的访问权限,只有在需要执行特定任务时才提升权限。这有助于提高系统的安全性,因为普通用户不会一直以超级用户的身份运行。
需要注意的是,sudo命令需要在具有sudo权限的用户下执行,或者以root用户身份执行。在执行敏感或危险的操作时,务必谨慎使用sudo命令,以免造成意外的损坏或安全问题。
我们知道了,sudo是可以让普通用户获得root超级管理员的权限。
但是,我们有没有发现,如果sudo就可以轻易获得超级管理员的权限,还要linux的权限限制有何用?
所以,linux其实设置了一个“白名单”——sudors
只有在这个名单的用户才是被信任的,可以使用sudo指令的。
Linux 文件的访问者可以分成三类:
Linux上任何一个文件都有它的拥有者,默认情况下,该文件的隶属组就是拥有者本身。
在Linux中,每个文件和目录都有一个所有者和一个所属组。所属组是一组用户的集合,这些用户具有对该文件或目录的特定权限。当一个用户创建一个文件或目录时,它会自动继承创建者的所属组。
所属组可以用来控制文件和目录的访问权限。通过设置适当的权限和所属组,可以限制对文件和目录的访问,以确保只有授权的用户可以进行操作。
所属组在Linux中起到了多个重要的作用:
权限管理:所属组可以用来控制文件和目录的访问权限。通过设置适当的权限和所属组,可以限制对文件和目录的访问,以确保只有授权的用户可以进行操作。这有助于保护敏感数据和系统文件免受未经授权的访问。
协作和共享:所属组可以用于实现文件和目录的共享和协作。当多个用户属于同一个所属组时,他们可以共享文件并进行协作编辑。这对于团队合作和项目管理非常有用。
简化权限管理:通过将多个用户分配到相同的所属组,可以简化权限管理。而不是为每个用户单独设置权限,只需为所属组设置适当的权限即可。这样可以减少管理工作量,并确保一致的权限设置。
总之,所属组在Linux中是一种重要的组织和管理用户权限的机制,它提供了安全性、协作性和简化权限管理的好处。
我们这里需要知道一句话:Linux中不以后缀名判断文件类型!
那么Linux是怎么判断文件类型呢?
我们在输入命令ll后可以查看当前文件下的文件属性
这些文件属性的含义是有这些的
所以我们知道了属性第一位才是表达文件的类型。
那么文件类型都有哪些呢?
文件类型
既然linux下后缀名无法判断文件类型,那么后缀名的意义有什么呢?
1.增强可读性,后缀名本身并不决定文件的类型,但它可以提供一些有用的信息
2.Linux不判断后缀名,gcc编译器会判断,如果我们在进行gcc 编译文件时,文件后缀不是可执行文件,则会出现报错。
在Linux中,文件权限通过一个三位数的权限值来表示。每个权限值由三个位组成,分别表示文件所有者、所属组和其他用户的权限。
每个权限位可以有以下三个值之一:
这些权限位可以通过以下方式进行组合和表示:
通过将这些值相加,可以得到表示权限的三位数值。例如,如果一个文件的所有者具有读、写和执行权限,所属组具有读和执行权限,其他用户只有读权限,那么该文件的权限值将是754。
因此,该文件的权限值为754。
要查看文件或目录的权限值,可以使用ls -l命令,并查看输出中的第一个字段。要更改文件或目录的权限值,可以使用chmod命令,并指定新的权限值。
例如,要将文件example.txt的权限值更改为754,可以运行以下命令:
chmod 754 example.txt
这将把example.txt的权限值更改为754。
chmod 是一个在 Linux 和其他类 Unix 系统中用于更改文件或目录权限的命令。它是 “change mode” 的缩写。
chmod 命令可以通过两种方式来更改文件或目录的权限:符号模式和绝对模式。
符号模式
:符号模式使用符号来表示权限的增加或减少。它由以下组件组成:例如,要将文件 example.txt 的所有者权限设置为可读写,可以运行以下命令:
这将增加文件所有者的读和写权限。
chmod u+rw example.txt
绝对模式
:绝对模式使用数字来表示权限。每个权限位都有一个对应的数字值,如下所示:将这些数字值相加,可以得到表示权限的三位数值。例如,要将文件 example.txt 的权限设置为 -rwxr-x—,可以运行以下命令:
chmod 750 example.txt
这将设置文件的所有者具有读、写和执行权限,所属组具有读和执行权限,其他用户没有任何权限。
要查看文件或目录的权限,可以使用 ls -l 命令,并查看输出中的第一个字段。
请注意,只有文件的所有者或超级用户(root)才能使用 chmod 命令更改文件或目录的权限。
所以,root真的可以为所欲为啊。
如上便是本期的所有内容了,如果喜欢并觉得有帮助的话,希望可以博个点赞+收藏+关注❤️ ,学海无涯苦作舟,愿与君一起共勉成长