Linux第四章

发布于:2024-04-23 ⋅ 阅读:(18) ⋅ 点赞:(0)

🐶博主主页:@ᰔᩚ. 一怀明月ꦿ 

❤️‍🔥专栏系列:线性代数C初学者入门训练题解CC的使用文章「初学」C++linux

🔥座右铭:“不要等到什么都没有了,才下定决心去做”

🚀🚀🚀大家觉不错的话,就恳求大家点点关注,点点小爱心,指点指点🚀🚀🚀

目录

Shell命令怎么运行起来

linux权限

linux具体用户

 linux文件的分类

bc指令

uname指令

chmod指令


Shell命令怎么运行起来

Linux操作系统:

狭义:linux 的内核

广义:linux 内核+ linux 外壳和对应的配套程序

外壳程序(shell就属于):

1.将用户输入的指令,解释传递给你内核

2.内核执行命令,得到结果,将结果通过外壳传递给用户

外壳程序:命令解释器==>>shell

为什么非得有一个外壳程序呢?

意义:1.命令解释 2.保护内核  

shell的本质:

创建子进程执行命令,父进程,继续进行命令行获取

linux权限

在 Linux 中,文件和目录的权限是通过权限位来管理的,每个文件或目录都有一个所有者(owner)、一个所属组(group)以及其他用户(other)的权限。

每个文件或目录都有三种基本权限:

读(Read):允许查看文件内容或列出目录中的文件列表。

写(Write):允许修改文件内容或在目录中创建、删除文件。

执行(Execute):允许执行文件(对于可执行文件)或进入目录。

这些权限可以分别应用于文件的所有者、所属组和其他用户。文件或目录的权限位通常由九个字符组成,按顺序分为三组,每组包含三个字符:

第一组:表示文件所有者的权限。
第二组:表示所属组的权限。
第三组:表示其他用户的权限。

每个权限位可以是以下字符之一:

r:表示读权限。
w:表示写权限。
x:表示执行权限。
-:表示没有相应的权限。

事例

一个典型的权限字符串可能是 rwxr-xr--,其中:
文件所有者有读、写、执行权限(rwx)。
所属组用户有读、执行权限(r-x)。
其他用户只有读权限(r--)。

要查看文件或目录的权限,可以使用 ls -l 命令,它会显示文件的详细列表,包括权限信息。例如:

ls -l filename

要更改文件或目录的权限,可以使用 chmod 命令。

linux具体用户

1.root —超级管理员(拥有所有权限)

2.普通用户

注意:这两个密码一定要设置成不一样,防止发生文件被误处理

su:单纯的账号切换

su-:让root账号重新登陆

添加普通账号
useradd -m 账号名
设置密码:passwd 账号名 

root账号切换普通账号
su  普通用户
ctrl d:^d 退出

普通用户切换root
su root
输入 root 密码即可

在root账号下查看多少普通用户

ls /home 

 

如果我们只想用root 账号执行一条命令,sudo对指令进行提权

注意:不是每个普通用户都可以执行sudo命令的,只有在 /etc/sudoers文件中标志普通用户可信任的

 linux文件的分类

用第一列的第一个字符来区分文件类型(linux 文件的分类是和后缀无关的,但是其他软件要区分后缀,例如gcc要识别后缀.c 文件)

ls查看文件属性时的第一列表示的是

-:普通文件,源代码,可执行程序,库等
d: 目录文件
c:字符设备文件(键盘、显示器等终端设备)
b:块设备文件(磁盘)
l:链接文件
p:管道文件

例如:

bicaihua@bicaihuadeMacBook-Air test_tar % ls -l
total 0
drwxr-xr-x  3 bicaihua  staff  96  4 22 20:45 l
-rw-r--r--  1 bicaihua  staff   0  4 22 20:34 s1.txt

这里的l就是目录文件,因为其第一列是d
这里的s1.txt就是普通文件,因为其第一列是-

注意:windows中区分文件是通过文件名后缀

用ls查看文件属性时其他列的含义

拥有者权限(2-4 列):
所属者权限(5-7 列):
other 权限(8-10 列):

例如

drwxr-xr-x 2 root root    33 7月  26 22:11 lesson4
拥有者权限rwx
所属者权限r-x
other权限r-x

一个用户只会匹配一次身份

例如

[BCH@ALY 9_5]$ ll
总用量 4
-------rw- 1 BCH BCH 5 9月   5 21:39 test.txt
[BCH@ALY 9_5]$ cat test.txt
cat: test.txt: 权限不够

尽管BCH是所属组里的,况且还是组长,但是还是不能读写test.txt,因为匹配的是后会先匹配拥有者身份,而拥有者没有读写权限,这时你就不能读写了,因为系统只会匹配一次身份

bc指令

在 Linux 中,bc 是一个命令行工具,用于进行数学计算。它支持基本的数学运算、变量赋值、函数定义等功能。以下是 bc 命令在 Linux 中的基本用法和一些常见选项:

基本使用

bc

这将启动 bc 计算器,并等待用户输入数学表达式。用户可以在命令行中直接输入表达式,bc 会计算并显示结果。

例如

bicaihua@bicaihuadeMacBook-Air test_tar % bc   
17
7-2
5
67 * 99
6633

文件输入:

bc filename

使用 bc 命令时,也可以将数学表达式放在一个文件中,然后通过文件输入给 bc 命令进行计算。

选项

-l:启动 bc 时加载标准数学库。这个选项会添加一些额外的数学函数和常量,如正弦、余弦、自然对数等。
-q:启动 bc 时不显示欢迎信息。

 

uname指令

在 Linux 系统中,uname 是一个用于显示系统信息的命令。它通常用于查看系统的各种信息,如内核版本、操作系统类型、主机名等。以下是 uname 命令的基本用法和一些常见选项:

基本使用

uname
这会显示当前系统的内核名称。

显示系统信息:
uname -a
这会显示关于系统的详细信息,包括内核名称、主机名、内核版本、操作系统类型等。

显示内核名称:
uname -s
这会显示系统的内核名称。

显示主机名:
uname -n
这会显示系统的主机名。

显示操作系统类型:
uname -o
这会显示系统的操作系统类型。

显示内核版本:
uname -r
这会显示系统的内核版本。

显示处理器类型:
uname -p
这会显示系统的处理器类型。

显示硬件平台:
uname -i
这会显示系统的硬件平台。

chmod指令

chmod 命令允许用户根据需要精确地控制文件或目录的访问权限,以保护系统的安全性和保护文件的机密性。

在 Linux 和类 Unix 系统中,chmod 是一个用于更改文件或目录权限的命令。它用于控制文件或目录的读、写、执行权限,以及所有者、所属组和其他用户的权限。

基本使用

chmod [选项] 模式 文件/目录
其中,模式可以是符号模式(如 u+x)或数字模式(如 755),用于指定要更改的权限。文件/目录是要更改权限的目标。

符号模式

u:文件的所有者。
g:文件的所属组。
o:其他用户。
a:所有用户(等同于 ugo)。
+:添加权限。
-:移除权限。
=:设置权限。

常见权限

r:读取权限。
w:写入权限。
x:执行权限(对于目录,表示能否进入该目录)。

数字模式(8进制): 数字模式是使用数字表示权限的一种方式。

每个权限都有一个对应的数字:
读取权限:4
写入权限:2
执行权限:1 然后,将这些数字相加得到所需的权限。例如,755 表示所有者具有读取、写入和执行权限,而所属组和其他用户具有读取和执行权限。

示例

将文件的所有者添加写入权限:
chmod u+w filename

给所有用户添加执行权限:
chmod a+x filename

将文件设置为只读:
chmod a-w filename

将文件的权限设置为 755:
chmod 755 filename

 🌸🌸🌸如果大家还有不懂或者建议都可以发在评论区,我们共同探讨,共同学习,共同进步。谢谢大家! 🌸🌸🌸