首页 > 系统相关 >linux -- 基础(二)

linux -- 基础(二)

时间:2023-05-05 20:11:48浏览次数:43  
标签:linux01 -- 基础 etc systemctl yum linux root

1 网络命令

1.1 查看本机的ip地址

ip  addr  -- 查看本机的IP地址 
inet 192.168.133.33/

1.2 服务

systemctl  start|stop|restart|status 服务名

systemctl  status  network   -- 查看网络服务状态
systemctl  stop  network
systemctl  start  network
systemctl  restart  network
systemctl  disable  network   开机禁用
systemctl  enable  network  开机启动

 -- 关闭NetworkManager网络服务 避免和network冲突
systemctl status NetworkManager
systemctl stop NetworkManager
systemctl disable NetworkManager


1.3 防火墙服务

  systemctl  status firewalld   **** 
  Active: active (running) since Fri 2021-10-08 23:02:24 CST; 10h ago   -- 防火墙在运行
  
  systemctl  start   firewalld 
  systemctl  stop   firewalld 
  systemctl  restart   firewalld 
  systemctl  disable   firewalld   配置上自动关闭
  systemctl  enable   firewalld 
  
  如果报错 重新安装防火墙 yum -y install firewalld.service
  我们配置关闭防火墙 systemctl  stop   firewalld 
  配置开启禁用 systemctl  disable   firewalld 

1.4 主机名

[root@localhost ~]# hostname   -- 查看当前主机名
localhost.localdomain
[root@localhost ~]# hostname  linux01   -- 临时修改主机名
[root@localhost ~]# hostname
linux01

[root@localhost ~]# vi /etc/hostname   -- 修改主机名  永久
[root@localhost ~]# cat /etc/hostname 
linux01
--reboot  重启生效 
[root@linux01 ~]# 

1.5 域名

在网路之间所有通信的机器都会分配唯一的ip地址 ,ip是一个机器的唯一标识 , 通过IP地址定位一个机器

将ip映射成一个字符串 使用字符串(域名)映射你的机器

域名映射 :

C:\Windows\System32\drivers\etc

在windows上配置虚拟机的ip映射 
C:\Windows\System32\drivers\etc\hosts
192.168.133.33    linux01

在linux上配置windows的域名映射
vi  /etc/hosts
192.168.22.2 windows

1.6 网络端口查看

netstat
英文:network statistics		命令路径:/bin/netstat		执行权限:所有用户
作用:主要用于检测主机的网络配置和状况
-a  all显示所有连接和监听端口
-t (tcp)仅显示tcp相关连接
-u (udp)仅显示udp相关连接
-n 使用数字方式显示地址和端口号
-l (listening)  显示监控中的服务器的socket
-p  port 


-- 执行命令 
[root@linux01 ~]# netstat -nltp | grep 3306
tcp6       0      0 :::3306                 :::*                    LISTEN      1748/mysqld         
[root@linux01 ~]# service  mysqld stop 
Redirecting to /bin/systemctl stop mysqld.service
[root@linux01 ~]# netstat -nltp | grep 3306
[root@linux01 ~]# 

注意:如果netstat命令报错 notfound 下载安装
-- 安装网络工具  
yum -y install  net-tools 

1.7 Linux安装mysql

  1. 进入到/opt/apps文件夹

  2. yum -y install wget

  3. wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

  4. yum -y install mysql57-community-release-el7-10.noarch.rpm

  5. yum -y install mysql-community-server --nogpgcheck

  6. systemctl start mysqld

  7. netstat -nltp | grep 3306

  8. grep "password" /var/log/mysqld.log

    2021-11-21T19:13:01.139721Z 1 [Note] A temporary password is generated for root@localhost: hUk5ak36Pn%T
    
  9. mysql -uroot -phUk5ak36Pn%T

  10. 修改密码

登陆mysql后  

#这两个设置后 密码可以简单设置
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
#修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

2 权限

为了保证系统数据的安全 , 不同的用户对不同的文件具有不同的操作权!

操作权: 读 写 执行

2.1 文件

使用root用户根目录创建 a文件夹 在a文件夹中创建1.txt文件

-rw-r--r--. 1 root root 26 Oct  9 19:09 1.txt
              用户  组
-  文件类型
rw-   当前用户拥有的权限  r read w write  x excute 执行权
r--   当前用户所属的组
r--   其他人  其他人对这个文件只有读的权限


[root@linux01 ~]# useradd zss  添加用户  zss
[root@linux01 ~]# su -l zss    切换用户 zss
[zss@linux01 root]$ 

[zss@linux01 a]$ echo "hello"  >> 1.txt      写 
bash: 1.txt: Permission denied   权限被拒绝


需要zss修改这个文件  没有写的权限  给zss分配写权限
o  other
u  user 当前用户 
g  group 组
a  all 
chmod   a+w 1.txt 
chmod   o+w 1.txt 
chmod   u-r  1.txt  
*** 给任何用户分配任意权限
 u   g   o
rwx rwx rwx
111 111 111
 7   7   7     chmod  777 1.txt
r-x rw- --x
101 110 001    chmod  561  1.txt

文件执行权 
在哪linux中脚本文件是可以执行的
vi a.sh  
#!/bin/bash 
echo "我可以执行..."
echo "我在当前目录下创建文件 aaa.doc"
touch  aaa.doc
有了执行权限以后可以直接执行  ./a.sh   /a/a.sh

2.2 文件夹权限

文件夹的权限的前提是具有x权限 , 没有x权限其他的权限没有意义 

w  写   创建文件  创建文件夹  删除内容  复制移动  重命名
r  读     ls   

注意-R递归

ll -R  /a   递归查看文件夹中的内容
chmod -R  777 /a  递归修改文件夹和文件夹内所有内容的权限

3 系统命令

free -h  查看内存   
echo 1 > /proc/sys/vm/drop_caches 清除缓存

df -h   查看硬盘 
du  查看文件或者是文件夹的大小
	-a 显示子文件的大小
	-b 字节
	-h以易读的方式显示 KB,MB,GB等
du -sh /etc 查看etc下所有文件的总大小 以合适的单位显示
	

top  查看进程 类似任务管理器
	-d 秒数,指定几秒刷新一次,默认3秒(动态显示)
kill -9 PID  强制结束进程
kill -1 pid 重启进程

ps   查看系统中的进程信息
	 	    a:显示所有用户的进程
             u:显示用户名和启动时间
             x:显示没有控制终端的进程
             e:显示所有进程,包括没有控制终端的进程
			l:长格式显示
ps aux      #查看系统中所有进程,使用BSD操作系统格式,unix
ps aux | grep mysql      查看mysql进程

helloword.class  java 0101010

pstree 查看当前进程树 
minimal版本中可能没有安装这个工具,需要手动安装
yum -y install psmisc



ctrl +z   可以把一个前台运行的程序挂起到后台(挂起,就意味着程序被暂停了)
jobs   查看当前在后台挂起的程序
fg  1  将指定id的job放回前台继续运行

暂时用不到
将一个程序放后台运行的标准写法:
nohup  sh back.sh  1>/dev/null 2>&1 &

1>/dev/null : 表示将程序的标准输出重定向到/dev/null 文件
2>&1     :  表示将程序的标准错误输出,重定向到“标准输出通道”
&       :  表示将程序放在后台执行
nohup    : 表示不要挂起


用户命令
	useradd zss 添加用户 
	userdel -r zss 删除用户并删除home文件

4.时间管理

手动设置时间
	date -s '2021-11-21'

(1)date								 (功能描述:显示当前时间)
(2)date +%Y							 (功能描述:显示当前年份)
(3)date +%m							 (功能描述:显示当前月份)
(4)date +%d							 (功能描述:显示当前是哪一天)
(5)date "+%Y-%m-%d %H:%M:%S"		   (功能描述:显示年月日时分秒)
(6)date  -d' -1 day' +'%Y-%m-%d'		(功能描述:显示前一天时间)
	date -d '1 days ago'			     (功能描述:显示前一天时间)

时间同步
	yum -y install ntp

vi /etc/ntp.conf

server npt1.aliyun.com
server time.windows.com
server time.apple.com

	
启动服务
systemctl  start  ntpd
systemctl  enable  ntpd
查看状态
ntpstat



为了让集群中的所有节点都保持时间同步
可以把所有节点都安装上ntpd,并且配好时间同步服务器

或者,也可以,只让节点1去向public同步服务器同步,其他节点向节点1同步
[root :多易 @doit03 ~]# systemctl start ntpd
[root :多易 @doit03 ~]# systemctl enable ntpd
[root :多易 @doit03 ~]# vi /etc/ntp.conf
server linux01

5.集群搭建

5.1 快照

复制当前的机器的环境 ,当出现问题的时候 ,将机器恢复到当前快照的状态

5.2 克隆

关闭要被克隆的虚拟机
进行完整克隆
修改克隆虚拟机的ip及主机名

修改linux的IP地址 
vi /etc/sysconfig/network-scripts/ifcfg-ens33
192.168.22.171
修改主机名称
vi /etc/hostname
linux02

修改windows的hosts文件 配置 DNS映射  C:\Windows\System32\drivers\etc\hosts
192.168.22.171   linux02
192.168.22.172   linux03

OK然后按照以上的方式 再克隆一个linux03

5.3 远程复制

现在windows可以直接通过linux01,linux02,linux03连接Linux的服务器
但是linux操作服务器之间不能互相连接 需要修改配置
先修改linux01下的hosts文件 
vi /etc/hosts
192.168.22.2 windows
192.168.22.170 linux01
192.168.22.171 linux02
192.168.22.172 linux03
修改后 将修改后的hosts文件远程复制给linux02和linux03
scp /etc/hosts  linux02:/etc/
scp /etc/hosts  linux03:/etc/
复制完可以cat一下验证 是否复制成功

远程复制 
scp  -r 目录   ip:/目录位置
scp -r 目录   ip:$PWD   远程复制到当前文件夹下 要求对方必须有对应的文件夹

5.4 ssh免密连接

如果系统中没有ssh命令,则说明工具包没有安装或者安装不完整,可用yum进行安装
yum - y install openssh
ssh是用于远程登录的工具(CRT本质是就是一个ssh客户端程序,windows版本的)

使用ssh登陆其他计算机
ssh linux02
输入密码
ssh linux03
输入密码


免密配置 
  在linux01上生成密钥
  ssh-keygen
  将生成好的公钥发送给linux01 linux02 linux03
  ssh-copy-id linux01
  ssh-copy-id linux02
  ssh-copy-id linux03
  
  相同操作在linux02 linux03上再操作一遍
  这样3台计算机就可以免密连接了
  

原理
image

5.5 软件安装

5.5.1 rpm包管理器

RPM软件包也称为二进制软件包    依赖关系 (手动的解决)
RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括RedHat、CentOS、SUSE等Linux的发行版本都有采用,可以算是公认的行业标准了。RPM文件在Linux系统中的安装最为简便

rpm的常用参数
i:安装应用程序(install)
vh:显示安装进度;(verbose hash) 
U:升级软件包;(update) 
qa: 显示所有已安装软件包(query all)
e:卸载应用程序(erase)
注意:如果其它软件包有依赖关系,卸载时会产生提示信息,可使用--nodeps强行卸载。
查询所有安装的rpm包: # rpm –qa
查询mysql相关的包: # rpm –qa | grep mysql
安装:rpm  -ivh  jdk.rpm
卸载: rpm –e mysql*
强行卸载:rpm –e mysql*  --nodeps

注意:如果使用rpm安装软件包需要手动解决依赖关系 比如多个包之间有依赖关系 先安装谁 后安装谁 需要自己手动解决

5.5.2 yum包管理器

yum工具的工作原理:  根据你命令中指定的软件包名称,去软件仓库服务器(yum源)上下载并安装
/etc/yum.repos.d/ xx.repo
我们也可以在该目录下添加centos以外的别的公司所提供的软件仓库地址配置

基本使用 
yum list 查询所有可用软件包列表
yum list | grep rz 搜索指定的软件包
yum info lrzsz 查看软件包信息
yum -y install lrzsz 自动应答安装软件包lrzsz
yum -y remove lrzsz 卸载软件包

注意:使用yum安装软件 可以自动解决软件包之间的依赖问题  并且方便软件包的升级 
	yum deplist  软件包 列出一个包所有依赖的包
	yum -y update  包名  升级 如果不写包名升级所有(慎用)


标签:linux01,--,基础,etc,systemctl,yum,linux,root
From: https://www.cnblogs.com/paopaoT/p/17375248.html

相关文章

  • 5.5
    #include"time_user.h"  time_user::time_user(void){}  time_user::~time_user(void){} voidtime_user::timeset(){   cin>>h>>m>>s;} voidtime_user::timedis(){   cout<<h<<":"<<m<&l......
  • 小D-新版接口自动化教程- http 请求 Requests 实战
     #-*-coding:UTF-8-*-importrequestsresponse=requests.get("https://www.baidu.com")print(response.text)......
  • String、StringBuilder、StringBuffer
    String真正不可变有下面几点原因:保存字符串的数组被final修饰且为私有的,并且String类没有提供/暴露修改这个字符串的方法。String类被final修饰导致其不能被继承,进而避免了子类破坏String不可变。String:不可变,线程安全StringBuilder:可变,单线程,线程不安全StringBuf......
  • java基于springboot+vue的垃圾分类管理系统,附源码+文档+PPT+数据库
    1、项目介绍垃圾分类网站的主要使用者分为管理员和用户、垃圾分类管理员,实现功能包括管理员:首页、个人中心、用户管理、垃圾分类管理员管理、垃圾分类管理、垃圾类型管理、垃圾图谱管理、系统管理,垃圾分类管理员;首页、个人中心、用户管理、垃圾分类管理员管理、垃圾分类管理、垃......
  • 22基于java的电影院售票管理系统
    项目背景随着互联网和电子商务的快速发展,开发一个电影院订票系统来帮助电影院对电影信息,售票信息进行统一化的信息管理;遇到的问题在设计的过程中,需要解决以下的几个问题:电影院会有多个播放厅,从而在同一时间播放不同的电影来满足客户需求每个厅的大小可能不同,即容纳的人数不......
  • 2023年电子科技大学ACM-ICPC暑假前集训-第一次队内赛
    Preface队内赛被吊打了呜呜呜,F死命贪心贪到天昏地暗,直接后面两题一眼没看其实后面对拍大概知道贪心是有问题的了,但以为可以用分类讨论来避免掉所以没去写DP(他其实什么都知道,只是不想面对罢了)感觉DP还是一如既往地是我的弱项的说,还得好好练习的说G和H其实比较常规,补题的时候一......
  • pta_【CPP0026】以点类Point及平面图形类Plane为基础设计三角形类Triangle
    #include<iostream>#include<cmath>usingnamespacestd;//点类PointclassPoint{private:doublex;doubley;public:Point(doublexv=0,doubleyv=0);/*构造函数*/Point(constPoint&p);/*拷贝构造*/~Point();/*......
  • 「学习笔记」AC 自动机
    「学习笔记」AC自动机点击查看目录目录「学习笔记」AC自动机算法问题思路代码例题KeywordsSearch玄武密码单词病毒最短母串文本生成器背单词密码禁忌前置:「学习笔记」字符串基础:Hash,KMP与Trie。好像对例题的讲解越来越抽象了?算法问题求\(n\)个单词在一个长度为\(......
  • string为接口的注意事项
    string为接口的注意事项问题描述​在一个应用程序中用到了另外一个库的dll,向dll的接口传递std::string参数时报错。由于这方面的问题比较多,所以我进行了深入研究。前置知识在vs项目右键->属性->C/C++->代码生成->运行库,有四个选项,/MD、/MDd、/MT、/MTd含有D的选项......
  • 顺序容器5
    #include<queue>#include<iostream>#include<cstdlib>#include<ctime>usingnamespacestd;constintSPLIT_TIME_MIN=500;constintSPLIT_TIME_MAX=2000;classCell;priority_queue<Cell>cellQueue;classCell{ private: staticintcount; ......