RPM包管理
- rpm -ivh RPM包全名
安装软件(rpm) - rpm -e --nodeps 名字
删除 rpm包 - rpm -qa | mysql
查看mysql的rpm包
yum包管理(安装的软件库)
- yum -y install 包名
安装软件 如vim net-tools zip等 可以一次装多个 空格隔开即可 - yum uninstall 包名
卸载 - yum list <package_name>
不加<package_name>列出所有可安装的软件清单,加了列出指定的
多台机器时间同步
yum -y install ntp
vi /etc/ntp.conf
将原有4个注释掉,添加下面三个阿里云
保存退出:wq
然后开启服务,并设置开机自动启动
systemctl start ntpd.service
systemctl enable ntpd.service
注意:设置完之后 可能不会立马生效,过一会儿就会系统更新了
顺带说点时间相关的测试一下
- date
显示当前时间 - date “+%Y-%m-%d %H:%M:%S”
以指定格式显示当前时间(若中间没有空格,则不需要双引号) - date -d “1 day ago” “+%Y-%m-%d %H:%M:%S”
以指定格式显示一天前的时间 - date -d “1 day ago 1month ago” “+%Y-%m-%d %H:%M:%S”
以指定格式显示一个月零一天前的时间
常用命令
文件搜索:find
一般我们可能根据name在指定的某个目录下搜索,使用比较多
精确查询 / 模糊查询
需求1:搜索/opt目录下的abc.txt
[root@localhost opt]# find /opt -name "abc.txt" #以绝对路径的方式
#下面几个是当前目录下搜索的简化写法
[root@localhost opt]# find -name "abc.txt"
[root@localhost opt]# find . -name "abc.txt"
[root@localhost opt]# find ./ -name "abc.txt"
需求2:搜索/opt目录下.txt文件
[root@localhost opt]# find /opt -name "*.txt"
需求3:搜索/opt目录下以a开头的txt文件,或者以a开头,或者包含ab
[root@localhost cc]# find /opt -name "a*.txt"
[root@localhost cc]# find /opt -name "a*"
[root@localhost cc]# find /opt -name "*ab*"
Vi编辑器
用于编辑文本文件,doc不行、csv ok
vi vs vim vim是vi的增强版,类似notepad++,但是功能远不及notepad++
vi的三种模式
1.命令模式:只读模式,即只能看
2.编辑模式:需要从命令模式进入到编辑模式,i、a、o
i:光标闪烁处的前一个字符输入
a:光标闪烁处的后一个字符输入
o:换行,光标定位到行首
3.末行模式 -- 执行 保存 退出 查找 显示行号等操作
4.如何显示和取消行号
显示:set nu
取消:set nonu
5.shift + g: 定位到文件的末尾
6.撤销和恢复撤销(保命指令)
撤销:u
恢复撤销:Ctrl + r
7.删除
dd:删除光标所在行
ndd删除多行
D:删除到行尾,删除一行 shift + d
8.复制
yy:复制一行,nyy复制多行
9.搜索
/搜索内容
通过 n:向后找,N向前找
10.替换
:%s/old/new/g g全局
小技巧:
可以使用类似Notpad++这种工具去连接Linux,编辑文件!!Ediplus、Sublime都可以!!!
如何修改主机名称,同时windows系统可以使用主机名称访问到,后面的组件,我们一般都使用主机名
1.修改主机名称
临时有效:hostname 主机名称 不用
永久有效(两种方式):
1.hostnamectl set-hostname xxx
修改完,查看主机名:hostname
cat /etc/hostname
2.修改配置文件:/etc/hosts ,这个文件中配置映射关系
127.0.0.1 qqmm
2.修改windows本地的c盘system..../hosts文件,配置映射关系【可能修改不了,需要先移动到桌面然后修改完了再移动回去】
192.168.100.101 hadoop101
ip地址 映射的主机名
使用小工具去管理hosts文件:SwitchHosts 或者 uTools里面的插件hosts切换
3.就可以使用主机名进行配置连接
用户权限相关
明确:在Linux中,可能有很多用户,每个用户或者某几个用户可能拥有一样的权限!
比如:/opt/aa,张三、李四可以对这个目录进行操作【mkdir、tocuh】,王五就不行
对于多个用于用用相同权限,我们可以通过用户组group去管理,即将用户纳入到group中
1.关于文件权限的说明:
10位:
第1位:文件-/目录d/软连接l
第2-4位置:当前user拥有的权限 u --->user
第5-7位置:当前group拥有的权限 g --->group
最后三位:其他用户拥有的权限 o --->other
-rw-r--r--. 1 root root 56 6月 29 18:56 ccccc.txt
2.新建用户和组【基本用不到】
每个用户没有处理的话,只能进自己的家目录
生产环境中:我们是一个用户给多人使用!
即项目组中有20个人,10个开发,10个人共用一个dev用户!!!
新建用户:
[root@hadoop101 cc]# useradd jlwang
从root切换到普通用户,无需密码;普通用户切到root
设置密码:
passwd jlwang
会让你输入密码
提示密码最少8个字符,不用管它
查看用户信息
查看用户是否存在:id 用户名
[root@hadoop101 cc]# id jlwang
uid=1000(jlwang) gid=1000(jlwang) 组=1000(jlwang)
当前登录用户是谁:whoami
[jlwang@hadoop101 ~]$ whoami
jlwang
查看当前所有登录的用户列表:who
切换用户
su 用户名/su - 用户名/ su【切到root用户,不推荐使用】
[jlwang@hadoop101 cc]$ su - zhangsan # 这种写法会有一个提示
密码:
上一次登录:二 6月 29 19:44:46 CST 2021pts/0 上
退出当前用户:exit
组操作
groupadd 组名
需求1:将jlwang和 张三,纳入到dev组
①[root@hadoop101 ~]# groupadd dev
②修改用户所在组
usermod -g 组 用户名
[root@hadoop101 ~]# usermod -g dev jlwang
[root@hadoop101 ~]# usermod -g dev zhangsan
③验证用户信息
[zhangsan@hadoop101 root]$ id zhangsan
uid=1001(zhangsan) gid=1002(dev) 组=1002(dev)
需求2:在/opt目录下,创建一个目录dev,该目录所属用户zhangsan,所属组是dev
①通过root创建目录
[root@hadoop101 ~]# cd /opt/
[root@hadoop101 opt]# mkdir dev
[root@hadoop101 opt]# ll
drwxr-xr-x. 2 root root 6 6月 29 19:57 dev
②修改目录所属用户以及所属组
给一个类似root,权限也比较大的用户dev给你在生产中使用,此时你可能需要将某个目录授权给dev用户,这个dev用户生产中大家共用
# 修改文件 | 目录 的拥有者
chown 用户名 文件名|目录名
[root@hadoop101 opt]# chown zhangsan dev
[root@hadoop101 opt]# ll
drwxr-xr-x. 2 zhangsan root 6 6月 29 19:57 dev
我们使用zhangsan这个用户,去dev目录,就可以新建文件
# 递归修改文件|目录的组
chgrp -R 组名 文件名|目录名
[root@hadoop101 opt]# chgrp dev dev
[root@hadoop101 opt]# ll
drwxr-xr-x. 2 zhangsan dev 19 6月 29 20:01 dev
3.授权【改变文件属性rwx,也会用到】
【这个必须会计算,比如给你数字,要能对应出字母!!!!!!!!】
-r--r-----. 1 root root 4328 8月 6 2019 sudoers
修改文件属性,给他w权限
chmod 权限(可以使用rwx,也可以使用数字) 文件/目录
这么几种写法要会:rwx三个一组【有就是1,没有就是0】111=7 777 5 101 655
1.chmod 777 abc ---》不建议这么干
2.给某个用户某个权限: chmod u+w 目录
给文件w属性:chmod u+w sudoers
收回:chmod u-w sudoers
3.给某个组或者其他用户同上
4.ugo可以在一起组合使用,比如 chmod ugo+rwx sudoers
4.普通用户如何具备root权限
修改一个文件:/etc/sudoers
备注:默认这个文件,没有w,即只读,不可写,所以你要使用上面的命令修改文件属性
找到这行,root ALL=(ALL) ALL
在上面这行下面需要添加一行新内容:
zhangsan ALL=(ALL) NOPASSWD:ALL
功效:就是在一些命令的前面加sudo,同时也无需输入张三这个用户的密码
系统信息相关命令
常用命令:ps 、df 、du 、top、uptime、free、netstat、tailf/tail -f/F、sed
chmod、chown
1.date cal【了解,日历】
需要掌握的内容:
①格式化日期的写法:date +"%Y-%m-%d" ---> 2021-06-29
②日期加减
date -d "1 day ago" +"%Y-%m-%d"
date -d "-2 day" +"%Y-%m-%d"
date -d "1 month" +"%Y-%m-%d"
date -d "1 month" +"%Y-%m-%d"
③设置日期
[root@hadoop101 etc]# date -s "20210629 16:59:58"
2.查看进程
类似windows的任务管理器
man ps
①ps -ef | grep 某个进程
②ps aux | grep 某个进程
这个命令查看的更全一点,它有cpu、memory的使用情况
③杀死某个进程 kill
kill -9 进程号
kill -15 进程号
3.查看端口号是否占用
netstat,需要安装 :yum -y install net-tools
netstat -nultp
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
4.查看磁盘空间
df -h:以人性化的方式显示磁盘信息
5.查看某个目录下的文件大小情况
du -h [目录名]
du -sh [目录名]
实例:
[root@hadoop101 opt]# du -sh /opt/cc/*
0 /opt/cc/aa
4.0K /opt/cc/-bbbbbb.tar.gz
4.0K /opt/cc/ccccc.txt
0 /opt/cc/dddddd.txt
0 /opt/cc/eeeeee.txt
8.0K /opt/cc/Linux简要笔记
[root@hadoop101 opt]# du -sh /opt/cc
16K /opt/cc
[root@hadoop101 opt]# du -sh /opt/cc
16K /opt/cc
[root@hadoop101 opt]# du -h /opt/cc
0 /opt/cc/aa
16K /opt/cc
6.top
动态显示运行中进程并且排序,这个命令很重用! yarn top
7.free
显示汇总信息
[root@hadoop101 jdk1.8.0_251]# free
total used free shared buff/cache available
Mem: 32761712 333544 31687068 11900 741100 32077140
Swap: 1953788 0 1953788
8.sed
sed '2d' abc
查看不含第二行的文件abc,但是不改变原文件内容
sed -n '3p' abc
查看指定行内容,3为行数,可替换为$代表最后一行,和正则一样用法
sed -i 's/hehe/xixi/' abc
将文件中所有的hehe改为xixi
sed -i '/had/i flink' abc
搜索had所在行,在其前面添加flink,/代表查找,/斜杠代表分隔符,i代表在这行前面,a代表在这行后面
sed -i '3a java' abc
在第三行后面 追加一个java
9.awk
awk '{print $1,$2}' abc
使用默认分隔符 空格 来分割abc文件并且打印分割完之后每组的第一第二个参数
awk -F, '{print $1,$2}' abc
使用逗号分割
10.其他
①启动vmware,默认占用的空间可能比较大,可以通过参数配置去优化
磁盘空间充足,忽略!!!
加完那个配置之后,Linux开机可能会慢!!!!!
②关闭防火墙:
查看状态:[root@hadoop101 opt]# systemctl status firewalld
永久禁用:systemctl disable firewalld.service
③重启机器
reboot
poweroff --- 一般使用
init 0
11.常用软件的安装
Linux中,软件的安装基本都遵循:解压--》配置
JDK的安装和配置
1.下载上传
2.解压到你指定的目录
3.配置
①全局使用:/etc/profile ---》后面就配置这个
只能具有root权限的人去修改,若是普通用户,也要配置sudoers
同时,加sudo vi /etc/profile
②针对当前用户: bashfile ,这里需要自己建一个文件
将jdk的解压路径配置进去
JAVA_HOME = 你的路径
PATH 原有的值不能删除,你要引入一个新的 ,类似windows下配置一样
#JAVA_HOME
export JAVA_HOME=/opt/jdk1.8.0_251
export PATH=$PATH:$JAVA_HOME/bin
4.需要刷新配置文件
source /etc/profile