未查看上篇内容的小伙伴,点击右方链接可以先查看上篇http://t.csdnimg.cn/1WYnl
用户相关命令:
1.背景:
Linux系统和Mac系统,Windows系统一样,也是支持多用户管理的。为了更好的管理多用户,就有了 用户组 和 用户的概念。
Linux系统中,root账号拥有最高权限
2.useradd 命令 :
**useradd 用户名 # 新增用户**
# root用户在/root目录下,普通用户在/home/用户名下
# 创建用户的时候,如果不指定分组,则默认会创建一个和用户名一模一样的组, 然后把该用户放到这个组中
3.password 命令:
** password 用户名 # 修改用户密码**
4.userdel 命令:
** userdel [-r] 用户名 # 删除用户**
# 除了删除用户外,还会删除 /home目录下,该用户所有的内容 ** ****(不加-r则不会**)
# 如果该用户的主组是跟随用户一起创建的,则删除用户时,该组也会删被删除
**+r**
**未+r**
5.getent passwd 命令
**#查询所有的用户**
格式解释:用户名:密码(无):用户组id:用户id:描述信息(无):账号的家目录:使用何种的shell解析器
6.su 命令:
** su 用户名 # 切换用户**(ctrl建+D 登出)
# 切换到指定的用户,如果是root到其他用户,无需输入密码,否则其他都需要录入密码
** root用户 到 其他用户**
**其他用户 到 root用户**![](https://img-blog.csdnimg.cn/direct/6c541b58bd964c8baa97cbb83ed73de0.png)
用户组相关命令:
1.groupadd 命令:
** groupadd 用户组名 # 新增用户组**
2.groupdel 命令:
**groupdel 用户组名 #删除用户组**
3.getent group 命令:
** # 查看所有的用户组**
格式解释:用户组名:无密码:组id
4.id 命令:
** id 用户名 # 查看用户的具体信息**
5. useradd 命令:
** useradd 用户名 -g 组名 # 创建新用户时,直接指定分组**
usermod -aG 将已经存在的账户到指定的分组
**usermod -aG 用户组名 用户名**
权限相关图解
1.chmod 命令:
**# 文件/文件夹设置权限**
chmod [-R] 777 目标路径 # 设置目录及其所欲的子级为满权限
2.chown 命令:
** chowd [-R] [用户] [:] [用户组] 文件或者目标路径 (-R 递归修改)**
Linux的软件安装方式
1.手动安装
自己去官网下载安装包,即:*.tar.gz,然后上传到Linux系统中,手动进行安装配置即可
例如:JDK,Zookeeper,Hadoop,Hive...
2.rpm方式
RedHat Package Manager,小红包的包管理器,可以自动联网进行下载,并进行安装
但是不能自动解决依赖问题
例如:安装mysql
3.yum方式
yellow doy updater modified,黄狗更新程序,基于RPM的,可以自动解决依赖
** 格式:**
**yum [-y] install | remove | search 包名**
-y:意思是统一输入yes
install:安装
remove:删除
search:查找并安装
控制服务的开启关闭
1. systemctl 命令:
** systemctl status | start | stop | restart | enable |disable 服务名**
常用的服务:
NetworkManager 主网络服务
network 副网络服务
filewalld 防火墙
sshd 远程连接服务(协议)
软链接和硬链接
ln 命令:
** ln -s # 要被连接的文件或者目录路径 软连接方式 ****加-s是软连接,相当于快捷方式**
注意:如果不加 -s 创建出来的是 硬链接,目的是提高容错率
日期和时间
data 命令:
**date [-d] [+时间格式] # 日期格式化**
# %Y 年 %m 月 %d 年 %H 小时 %M 小时 %S 秒
** -d 修改时间:**
主机名和IP相关
1.ifconfig 命令:
** # 查看本主机的ip地址**
2.hostname 命令:
**# 查看本机主机名**
3.hostnamectl 命令:
** hostnamectl set-hostname 主机名 # 修改主机名**
4.虚拟机固定ip
**vim /etc/sysconfig/network-scripts/ifcfg-ens33**
网络相关命令
1.ping 命令:
** ping [-c 数字] 目标ip # 循环发包,测试网络连接,不指定此时,就一直发送**
2. wegt 命令:
** wget 网址 # 文件下载器, 可以根据URL下载数据**
cur 命令:
** curl 网址 # 模拟浏览器, 向URL发出请求, 获取响应信息(html页面)**
进程管理
1.ps -ef 命令:
** ****# 查看本机运行的所有进程**
** ps -ef | grep ssh # 查看指定的进程信息**
2.kill -9 命令:
** kill -9 进程的id # 强制关闭指定的进程**
系统资源
1. free 命令:
** free -h #查看内存使用情况 -h 人性化的方式展示**
2.df -h 命令:
**dh -h #查看磁盘使用情况**
文件的上传和下载
**1. rz 命令: **
** **** #上传**
2.sz 命令:
** # sz 要下载的文件名 **
压缩和解压缩
1.tar 命令:
** # 区分压缩协议好与坏的标准 ,参考:**
1:压缩时间(写)
2:解压时间(读)
3:压缩比(压缩后文件大小)
**压缩格式:tar [-zcvf] 压缩包名.tar.gz 要被压缩的文件**
**解压格式:tar [-zxvf] 压缩包名.tar.gz [-C] 要压缩到的路径**
** 参数解释:**
** ** z 使用gzip协议,压缩出来的文件较小
c 新建,压缩
x 表示解压
v 显示具体压缩或者解压的过程
f 表示文件
2.zip 命令:
**压缩格式:zip [-r] 压缩包名.zip 要被压缩的文件 文件夹 **** # -r表示递归**
**解压格式:unzip 压缩包名.zip -d 要解压到的路径 # -d 等价于 tar 的-C**
shell编程
就是把我们写的Linux命令封装到1个文件中,这个文件就叫:shell脚本,可以被执行
shell脚本的执行,底层需要用到shell解析器,Linux的众多发行版,默认的shell解析器是:/bin/bash
1.shell解析器:
1.1 cat /etc/shells # 查看当前Linux系统支持那些shell解析器
** 1.2 echo $SHELL #查看当前Linux系统使用的,默认的shell解析器**
2.shell变量--用户变量:
**2.1 # Linux中定义变量的格式**
变量名=变量值
**2.2# 变量的注意事项**
1. 定义变量的时候, 等号两端没有空格.
2. 变量名可以由英文字母, 数字, 下划线组成, 其中: 数字不能开头.
3. 变量名不要和关键字重名, 且最好做到见名知意.
4. 如果变量值中间有空格, 要用引号包裹变量值, 建议使用: 双引号.
5. 变量值中可以用\表示转移符, 例如: \n就表示换行, \t表示制表符)
** **** 注意:单引号,表示原样输出 双引号,可以引用变量的值**
3.shell变量--环境变量
**配置环境变量的目的:**
在任意的路径下,都能使用(环境变量中)配置好的内容
** env # 查看环境变量** ![](https://img-blog.csdnimg.cn/direct/0594bbb11e144de4882751362cd7211e.png)
3.1 设置环境变量
**临时设置,会话结束,自动断开**
export 变量名=变量值
例如:export name=zhangsan
**永久设置**
vim /etc/.bashrc # 只针对当前用户有效
vim /etcprofile # 针对于所有用户有效
** 注意:设置完毕后需要刷新下配置问价,才能生效**
** ** source /etc/profile
4.关于Linux的符号
4.1.``符号
** `Linux命令` # 引用Linux命令的结果**
4.2.{}符号
** {变量} # 引用变量的值**
4.3.[]符号
** [数学运算] # 进行数学运算**
5.编写和执行shell脚本
** 5.1.编写格式:**
1. 在后缀名为.sh的文件中进行编写, 当然, 文件后缀名可以是其它的, 建议是 .sh
2. 文件的第一行建议是 #!/bin/bash 表示指定Shell解释器.
3. 除了第1行的#外, 其它行的#都是 注释.
5. 2.执行方式:
方式1: sh my.sh # 不需要对 my.sh脚本 有执行权.
方式2: source 脚本名.sh #source my.sh 不需要对 my.sh脚本 有执行权.
方式3: 相对路径./my.sh # 要有执行权
方式4: 绝对路径/root/my.sh # 要有执行
5.3.特殊符号:
** **$0 # 文件名
$n # 参数1,参数2.....
$* # 所有参数
$# # 参数总数
** 5.4.固定值 编写 :**
** 5.5.固定值 执行:**
** 5.6.动态传参 编写 :**
5.7.动态传参 执行:
大数据-Linux常用命令完结,下篇更新:虚拟机配置固定ip,域名映射,虚拟机连接远程工具!
版权归原作者 清风777. 所有, 如有侵权,请联系我们删除。