Linux系统和Mac系统, windows系统一样, 也是支持多用户管理的。
为了更好的管理多用户, 就有了 用户组 和 用户的概念。
Linux系统中, root是管理员账号,所以root账号拥有最高权限。
描述:
useradd 命令用于,新增用户 root用户在/root目录下, 普通用户在 /home/用户名下. 创建用户的时候,
如果不指定分组, 则默认会创建1个和该用户名一模一样的组. 然后把该用户放到这个组中.
格式:useradd 用户名
[root@my_node1 ~]# useradd zhangsan # 创建zhangsan用户
[root@my_node1 ~]# ls /home
zhangsan
描述:passwd 命令用于,修改用户密码,来源于password
格式:passwd 用户名
[root@my_node1 ~]# passwd zhangsan # 更新用户zhangsan的密码为:123456
更改用户 zhangsan 的密码 。 # 提示更改用户zhangsan的密码
新的 密码: # 在此处输入新密码,该密码不会显示
无效的密码: 密码少于 8 个字符 # 此消息仅为警告,咱有脾气不听劝,就输入123456
重新输入新的 密码: # 再次输入123456
passwd:所有的身份验证令牌已经成功更新。 # 密码更新成功
描述: userdel 命令用于,删除用户
格式: userdel [-r] 用户名
选项解释: -r 使用该选项在删除目标用户时,还会删除/home目录下,该用户的所有内容
[root@my_node1 ~]# userdel -r zhangsan # 删除zhangsan用户,以及/home目录下该用户的所有内容
描述: getent 命令用于查询,来源于:get environment
格式: getent passwd | group 带上passwd用于查询所有用户,带上group用于查询所有用户组(该概念在后续文章中 会有详解)
拓展:cat /etc/passwd 也可用于查询所有用户
[root@my_node1 ~]# getent passwd # 查询所有用户
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
zhangsan:x:1000:1000::/home/zhangsan:/bin/bash
[root@my_node1 ~]# getent passwd # 效果同上
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
zhangsan:x:1000:1000::/home/zhangsan:/bin/bash
zhangsan: x :1000:1000::/home/zhangsan:/bin/bash
用户名:密码(无):用户组id:用户id:描述信息(无):账号的家目录:使用何种Shell解析器
描述:su 命令用于切换用户
格式:su 用户名
注意:如果是root --》 其他账号,无需输入密码,否则需要输入密码。
[root@my_node1 ~]# su zhangsan # 切换到zhangsan用户
[zhangsan@my_node1 root]$ whoami # 查看当前用户名
zhangsan
描述:例如从root用户 --》 zhangsan用户,登出后就又回到了root账号
快捷键:CTRL + d
[root@my_node1 ~]# su zhangsan # 从root切换到zhangsan
[zhangsan@my_node1 root]$ whoami
zhangsan
[zhangsan@my_node1 root]$ exit # ctrl + d 自动输入exit进行登出
[root@my_node1 ~]# whoami # 回到了root用户
root
描述:sudo 命令,用于借调权限。
例如root用户是老板,具有很大的权限,而zhangsan用户只是一个小职员, 很多权限zhangsan没有,这时候zhangsan想要借用root的权限则需要用到sudo命令。
格式:sudo 你要借调的命令
注意:若想要使用sudo命令进行借调权限需要先进行配置。
描述:groupadd 命令 ,用于新增用户组
格式:groupadd 用户组名
[root@my_node1 ~]# groupadd develop # 新增develop组
[root@my_node1 ~]# getent group # 查看所有组
zhangsan:x:1000:
develop:x:1001:
描述:groupdel 命令用于删除用户组 注意:要删除此组,必须没有用户用此组作为主组。
格式:groupdel 用户组名
[root@my_node1 ~]# groupdel develop # 删除develop组
[root@my_node1 ~]# getent group # 查看所有组,已将develop组删除成功
zhangsan:x:1000:
用户组:zhangsan: x :1000:
对应格式:用户组名:无密码:组id
格式:id 用户名
[root@my_node1 ~]# id zhangsan # 查看zhangsan这个用户的具体信息
uid=1000(zhangsan) gid=1000(zhangsan) 组=1000(zhangsan)
格式:useradd 用户名 -g 组名
[root@my_node1 ~]# useradd lisi -g zhangsan # 创建lisi用户直接指定其分组为zhangsan组
[root@my_node1 ~]# id lisi # 查看lisi用户的具体信息可知,组 = (zhangsan)
uid=1001(lisi) gid=1000(zhangsan) 组=1000(zhangsan)
格式:usermod -aG 用户组名 用户名
格式解释:mod来自modify修改,aG为 append group:添加分组
[root@my_node1 ~]# usermod -aG zhangsan wangwu # 将wangwu用户添加到zhangsan组中
[root@my_node1 ~]# id wangwu # 查看wangwu具体信息可知,wangwu已在zhangsan组中(一个用户可以存在多个组中)
uid=1002(wangwu) gid=1002(wangwu) 组=1002(wangwu),1000(zhangsan)
描述:chmod 命令,用于设置权限
格式:chmod [-R] 权限信息 目录路径
选项描述:-R 用于设置目录以及所有子级的全新啊
格式详解:
写法一:chmod 777 1.txt # 给1.txt文件设置满权限几rwxrwxrwx权限
写法二:chmod +x 1.txt # 给所有用户设置执行权
写法三:chmod u=rx,g=w,o=x 1.txt # 设置属主:读和可执行权限。设置属组:只写权限。设置其他用户为:只可执行权限。
[root@my_node1 ~]# chmod 777 3.txt # 设置3.txt文件为满权限
[root@my_node1 ~]# ll
总用量 4
-rwxrwxrwx. 1 root root 74 1月 6 19:56 3.txt
[root@my_node1 ~]# ll
drwxr-xr-x. 3 root root 16 1月 9 12:43 aa
[root@my_node1 ~]# chmod -R +r aa # 将aa目录及子级为所有用户增加 读 权限
[root@my_node1 ~]# ll
drwxr-xr-x. 3 root root 16 1月 9 12:43 aa
描述:设置拥有者,即:属主和属组
格式:chown [-R] [用户][:][用户组] 文件或者目录
# 仅设置3.txt的属主为zhangsan用户
[root@my_node1 ~]# chown zhangsan 3.txt
[root@my_node1 ~]# ll
-rwxrwxrwx. 1 zhangsan root 74 1月 6 19:56 3.txt
# 仅设置1.txt的属组为zhangsan用户组
[root@my_node1 ~]# chown :zhangsan 1.txt
[root@my_node1 ~]# ll
-rw-r--r--. 1 root zhangsan 0 1月 9 12:51 1.txt
# 设置2.txt的属主为:lisi,属组为:zhangsan
[root@my_node1 ~]# chown lisi:zhangsan 2.txt
[root@my_node1 ~]# ll
-rw-r--r--. 1 lisi zhangsan 0 1月 9 12:56 2.txt
CTRL + 字母l 或者 clear
CTRL + c
CTRL + d
CTRL + a
CTRL + e
CTRL + ←
注意: 不是每个工具都支持(据我所知CRT不支持,tabby支持)
CTRL + →
注意: 不是每个工具都支持(据我所知CRT不支持,tabby支持)
自己去官网下载安装包, 即: *.tar.gz, 然后上传到Linux系统中, 手动进行安装配置即可.
tarball: 压缩包, gzip: 压缩协议.
例如: JDK, Zookeeper, Hadoop, Hive…
RedHat Package Manager, 小红包的包管理器, 可以自动联网进行下载, 并安装程序.
但是不能自动解决依赖问题, 例如: 装A需要依赖B和C, 则需要手动先装B和C, 才能装A.例如: 安装MySQL
yellow dog updater modified, 黄狗更新程序, 基于RPM的, 可以自动解决依赖.
例如: tree命令, lrzsz命令, wget命令…
格式: yum [-y] install | remove | search 包名
选项解释: -y 表示同意输入yes
参数解释: install:安装 remove:卸载 search: 查找并安装
# 安装lrzsz包 因为我之前已经装过了所以提示:已安装并且是最新版本无须任何处理
[root@my_node1 ~]# yum -y install lrzsz
* updates: ftp.sjtu.edu.cn
软件包 lrzsz-0.12.20-36.el7.x86_64 已安装并且是最新版本
无须任何处理
描述:systemctl 命令,来源于system control,系统控制
格式: systemctl status | start | stop | restart |enable | disable 服务名
参数解释:
start:启动
stop:关闭
status:查看状态
enable:开启开机自启
disable:关闭开机自启常用的服务:
NetWorkManager : 主网络服务
network : 副网络服务
firewall : 防火墙
sshd : 远程连接服务(协议)
描述:软连接就类似于快捷方式
格式:ln -s 要被链接的文件或者目录路径 软连接方式
# 对这么常的一个路径进行创建软连接 软连接名字叫做ip,只需要输入ip就可以代替输入这么长的路径了
[root@my_node1 ~]# ln -s /etc/sysconfig/network-scripts/ifcfg-ens33 ip
[root@my_node1 ~]# ip
描述:硬链接是用来提高容错率的,硬链接的文件内容会自动同步
格式:ln 文件1 文件2
示例:
描述:date命令用于查看时间
格式:date [-d] [+日期格式]
日期格式详解: %m 月 %d 日 %H 小时 %M 分钟 %S 秒
# 查看当前日期和时间
[root@my_node1 ~]# date
2024年 01月 09日 星期二 13:39:33 CST
# 将日期格式设置为xxxx/xx/xx
[root@my_node1 ~]# date '+%Y/%m/%d %H:%M:%S'
2024/01/09 13:41:06
# 将日期向后推一天
[root@my_node1 ~]# date -d '1 day'
2024年 01月 10日 星期三 13:41:47 CST
# 将日期向前推一天
[root@my_node1 ~]# date -d '-1 day'
2024年 01月 08日 星期一 13:41:59 CST
# 将日期修改为xxxx/xx/xx格式,并向后推一天
[root@my_node1 ~]# date -d '1 day' '+%Y/%m/%d %H:%M:%S'
2024/01/10 13:42:37
描述:ifconfig命令 用于查看本机ip地址
描述:查看本机主机名
格式:hostnamectl set-hostname 主机名
注意:该命令为立即生效
描述:ping命令,用于测试网络是否通畅
格式:ping [-c 次数] 目标ip
选项详解:次数为你想要连续发包的次数,如果不设置,则会一直执行
描述:wget命令,文件下载器,可以根据URL下载数据
格式:wget URL
描述:模拟浏览器,向URL发出请求,获取相应信息(html页面)
格式:curl URL 文件名
示例:
curl https://www.baidu.com 1.txt 将https://www.baidu.com 的html页面下载到1.txt中
格式:ps -ef
格式:ps -ef | grep ssh # 查看有关ssh的进程信息
格式:kill -9 进程的pid
进程解释:指的是可执行程序,文件,例如 *.exe
格式:free [-h] # -h表示以人性化方式展示
格式:df [-h] # -h 表示以人性化方式展示
今天的内容就到这里啦我们下期再见~
如有疑问可留言或私信~