Linux用户相关
Linux是多用户多任务,可以支持多个用户同时登录,并且多个用户可以执行不同的任务,互不影响。
不同的用户,有不同的权限,可以完成权限以内的不同的任务
用户组
如果一次性用户太多,分别给权限麻烦,可以创建一个组,让组拥有对应权限,把用户放到用户组中就好了
用户相关文件
/etc/passwd内容解释
root:x:0:0:root:/root:/bin/bash
用户名:密码:UID(用户id):GID(组id):描述信息:主目录:默认shell
UID 用户id 0--65535之间的数字
0表示超级管理员,如果把用户id设为0,那这个用户也是超级管理员
1-499表示系统用户
500-65535 普通用户
GID:用户的组,分为初始组和附加组
初始组:创建用户默认分配
附加组:后来加入
/etc/shadow密码文件,用来储存用户密码信息
bin:*:17834:0:99999:7:::
用户名:加密密码:最后修改时间:最小的修改时间间隔:密码有效期:密码失效了提示的天数:密码失效宽限时间:账号失效时间:保留字段
/etc/group 文件 用户的组的信息
root:x:0:
组名:密码:GID:包含用户列表
/etc/gshadow 组密码信息
用户相关的命令
useradd :添加用户
语法: useradd [选项] 用户
passwd:修改密码
语法:passwd [选项] 用户名
密码设置好以后,用户就可以登录了
用户如果想单独修改自己的密码,输入passwd命令就可以
但是修改的时候,不能太简单
usermod: 修改用户信息
语法: usermod [选项] 用户
userdel: 删除用户
语法: userdel -r 用户名
-r表示删除用户的同时删除主目录
删除用户的时候,会把几个跟用户相关的文件中的用户信息全部删除。
su 用户 切换用户
id :查看用户的UID、GID
语法:id [选项] 用户名
选项:
-g:显示初始组id
-G:显示所有组id
su命令: 用户间的切换、
语法: su 【选项】用户名
root切换到普通用户,不需要密码
普通用户切换到root,需要密码
su和su - 的区别
使用su-切换,会是用户的工作环境随着用户切换
groupadd:增加组
语法:groupadd【选项】组名
groupmod:修改组
语法: groupmod [选项] 组名
groupdel :删除组
语法:groupdel 组名
gpasswd :把用户加进组或删除出组
可以给组设置管理员,让管理员来添加删除用户
语法: gpasswd 选项 组名
chgrp:修改文件或者目录的所属组
语法: chgrp [-R] 所属组 文件名或目录名
-R :可以实现目录中的所有子文件同步修改
chown :修改文件的所有者和所属组
语法:
chown [-R] 所有者 文件或目录
chown [-R] 所有者:所属组 文件或目录
-R :可以实现目录中的所有子文件同步修改
权限
Linux中,常见的文件权限 一共 有 3 种
分别是对文件的 读(r)、写(w)、执行(x)
设置权限的方式:
1,使用数字设置 :
r-->4,w-->2,x-->1
rwxr-xr-x ==> 755
语法:chmod [-R] 权限值 文件名或者目录名
-R 表示连同子目录的信息一起修改权限
2,使用字母设置
chmod u+x o+w 文件名
练习
创建一个project目录,然后在目录中创建两个文件,pro1和pro2
project目录的权限是744
pro1文件的权限是所有者和所属组有全部权限,其他人没有执行权限
pro2文件的权限是所有者有全部权限,所属组和其他人只有读
或者
输入输出重定向
标准输入设备:键盘
标准输出设备:显示器
输入重定向:指用指定设备来代替键盘作为新的输入设备
输出重定向:指用指定设备来代替显示器作为新的输出设备
输出重定向:>, >>
命令 > 文件 : 清空输出重定向
命令 2> 文件 :错误清空输出重定向
命令 >> 文件 :追加输出重定向
命令 2>> 文件 :错误追加输出重定向
错误输出重定向
输入重定向 < ,<<
1, 命令 < 文件 :将指定文件作为命令的输入设备
2,命令 << 分界符 :从标准输入设备读入内容,知道遇到分界符停止
3, 命令 < 文件1 > 文件2 : 将文件1作为命令的输入设备,该命令的执行结果输出到文件2中
管道符 |
命令连接符,把一个命令生成的数据,传递到后面的命令中,可以把一个命令无法处理完的事情,使用管道符进行多次处理
语法: 命令1 | 命令2 |命令3|.....
示例:
1,目录内容较多,使用ll连接less可以分页查看
命令:ll /etc | less
2,查询进程中带有mysql关键字的
查看进程 : ps -ef
3,将 /etc/issue文件中的内容,转换大小写以后,保存到/tmp中
替换命令 : tr 被替换的 替换的
4,使用管道符计算 1-100的和
Linux 自带计算器 : bc
没有用 yum -y install bc 安装
查询端口号是否被占用
查询端口号:netstat -anp
netstat -nultp 查看正在使用的端口号情况
sudo :普通用户在使用命令的时候,可以以管理员身份执行
文件相关
df 、du
Docker使用
shell编程