概念
Linux中的角色:
1.当前用户
2.当前用户组
3.其他用户组
Linux中的权限:
1.读
2.写
3.执行(不是所有文件都需要执行权限,仅限与应用程序)
普通用户和最高管理员:
普通用户:安装系统时我们创建的用户,这个也可以由管理员来分配,如:yueqian,gjh
最高管理员:root,Linux系统内置,当第一次使用root用户需要修改密码。
修改最高管理员root用户的密码:
sudo passwd -- 然后按照提示输入密码即可
注意:终端输入密码时没有提示,如果输入错误按回车键会提示你重新输入。
如:
普通用户和最高管理员切换:
普通用户切换ROOT用户:
sudo -i -- 没有设置密码的时候,使用这个进入
su root -- 设置了密码之后,可以通过这个命令进入
注:
-
su root:
- 使用
su root
命令时,用户只是临时获得了root的权限,而其原有的工作环境(包括环境变量、工作目录等)保持不变。这意味着,虽然用户以root身份运行命令,但其执行命令时的环境设置仍然是切换前的用户环境。
- 使用
-
sudo -i:
- 相比之下,
sudo -i
命令不仅给予用户root的权限,还会改变用户的工作环境,使其完全成为root用户的工作环境。这意味着,当用户通过sudo -i
切换到root身份时,他们将拥有root用户的所有权限和环境设置,这通常包括一个不同的shell和可能的环境变量设置。
- 相比之下,
ROOT用户切换普通用户:
su 用户名
如:
用户相关操作
添加新用户
语法:[sudo] useradd [选项] 用户名
eg:useradd -d /home/lucy -m lucy;
创建了一个用户lucy,并在家目录下为她分配了一个同名目录。
注意:如果在新建用户的时候没有指定用户组,就会创建一个与用户名相同的组名,并让新用户属于这个组。
例如:
lucy:lucy
eg:useradd -d /home/peter -mg lucy peter
说明:创建了peter用户,并创建了peter在home中的目录,将peter用户添加到lucy用户组 中。
查看用户所属的组
语法:[sudo] groups 用户名
注意:sudo是在普通用户中,临时提升权限至Root
删除用户
语法:userdel [选项] 用户名
eg:userdel -rf peter 删除peter用户,并在不提示任何信息的情况递归删除peter目录。
给用户添加口令(密码)
语法:passwd [选项] 用户名
选项:
-l:锁定口令,也就是禁用账号
-u:口令解锁
-d:使账号无口令
-e:强制用户下次登录时修改口令
说明:
root用户下,给lucy设置密码:
passwd lucy -- 这里对密码复杂度没有要求
普通用户下,给lucy设置密码:
passwd -- 这里对密码复杂度有要求
修改用户
语法:usermod [选项] 用户名
选项:
-c:备注,修改用户账号的备注文字
-g:用户组,修改用户所属的用户组
-G:群组,修改用户所属的附加群组
-s:shell,修改用户登入后所使用的shell
-u:uid,修改用户ID
eg:usermod -g root lucy 将lucy用户所属的组改成root组
eg:usermod -g lucy -G root lucy 将lucy用户所属的组改成lucy组,群组改成root,可以有多个群组,用,分割
用户组相关操作
添加用户组
语法:groupadd [选项] 组名
选项:
-g:GID,指定新用户组的组标识(唯一编号),如果不指定,系统会自动编号eg:groupadd workgroup 创建一个工作组
查看所有用户组
语法:cat /etc/group
语法:cat /etc/gshadow
删除用户组
语法:groupdel [选项] 组名
eg:groupdel workgroup 删掉我们添加的workgroup组
修改用户组
语法:groupmod [选项] 新组名 旧组名
选项:
-g:GID,微信的组指定新的唯一标识
-o:和-g选项同时使用,允许用户组的新的GID和系统已有用户组的GID相同 -n: 新用户组 将用户组的名字改为新名字
eg:groupmod -n YQ workgroup 将workgroup组名改成YQ
权限管理
修改目录的拥有者
解释:目录也就是文件夹,目录的拥有者也就是目录的创建者
语法:chown [选项] 用户名
或者 :组名 文件/目录的路径
选项:
-c:显示更改部分的信息
-f:忽略错误信息
-h:修复符号链接
-R:处理指定目录以及其子目录中的所有文件
-v:显示详细的处理信息
eg:chown lucy /home/yueqian/demo01.c ---修改demo01.c文件的拥有者为lucy(单个用户)
eg:chown :root /home/yueqian/demo01.c ---修改demo01.c文件的拥有者为root组(root组内所有用户)
修改文件或文件夹的可读可写可执行权限
语法:chmod [选项] 权限 文件或目录的路径
选项:
-c:显示更改部分
-f:忽略提示信息
-R:递归修改指定目录及其子目录中的所有文件 -v:显示详细信息
方式1:文字设定法
语法:chmod [who] [+,-,=] 权限名 文件或目录的路径
格式说明:
who可选:
a:all 所有用户
u:user 当前用户
g:group 当前用户组(当前用户所在的组) o:other 其他用户或者用户组
+:增加权限
-:删除权限
=:设置权限
权限名:
r:可读
w:可写
x:可执行
-:不可(不可读,不可写,不可执行)
eg:chmod u=rwx,g=rx,o=- demo01.c 将当前路径下的demo01.c文件的拥有者权限设置为可读可写可执行,同组用户可读可执行,其他用户没有任何权限
方式2:数字设定法
语法:chmod 权限数字 文件或目录的路径格式说明:
权限数字:
r:4
w:2
x:1
-:0
注意:我们的权限数字表示:777,三个数字,第1个数字代表当前用户(4+2+1),第2个数字代表当前用户组(4+2+1),第3个数字代表其他用户(4+2+1),每个数字都是权限累加的结果,比如777其实就是4+2+1,4+2+1,4+2+1。
eg:chmod 750 demo01.c 将当前路径下的demo01.c文件的拥有者权限设置为可读可写可执行,同组用户可读可执行,其他用户没有任何权限
快捷键
ctrl + alt + t :打开linux终端(命令行工具)
ctrl + shift + + :对终端显示文本进行放大
ctrl + - :对终端显示文本进行缩小
ctrl + L :对终端当前屏幕进行清空,等价于 clear 这个指令
方向键上/下 :在终端通过方向键,从历史命令中获取历史命令。
Tab :对命令行中的命令进行补全,这里要注意,如果前缀在同级中有多个对应文件或者文件夹,会失效。
ctrl + c :强制退回到命令行状态(一般用于命令输错时)
存储单位换算
常用磁盘(硬盘)容量单位。 最小内存是以字节为单位。
B:1Byte = 8bit
KB:1KB = 1024B
MB:1MB = 1024KB
GB:1GB = 1024MB
TB:1TB = 1024GB
PB:1PB = 1024TB
三种方式学习 Linux指令
1.man cp 官方帮助文档,不需要借助外网,但是是纯英文的
2.cp -- help 中文翻译版的API文档,不需要借助外网,大部分内容是中文的
3.菜鸟教程:编程小白的强大利器,这个需要外网:https://www.runoob.com/
其他:
文心一言:百度大模型
通义灵码/天问:阿里大模型
昆仑天工:昆仑大模型