Linux基础

Linux基础

  1. 常用windows快捷命令

    	计算器 : calc
    	画图:mspaint
    	查看电脑配置:dxdiag
    
  2. 计算机

    1. 硬件
      • 主机
        • 存储器:实现记忆存储(ROM、RAM、内存条、硬盘、cd\dvd、磁盘)
        • 运算器:负责算术运算、逻辑运算
        • 控制器:对信号进行控制
      • 外接设备
        • 输入设备:键盘、鼠标、麦克风、摄像头等
        • 输出设备:显示器、音响、打印机
    2. 软件
      • 系统软件
        • 操作系统
        • 驱动程序
      • 应用软件

SSH原理

SSH命令

ssh 用户名@IP     密码
用户名密码验证方式

在这里插入图片描述1. 客户端发起ssh请求
2. 服务器将公钥发送给客户端
3. 客户端输入用户名密码,通过服务器给的公钥进行加密,发送给服务器
4. 服务器通过自己的私钥对客户端发送的数据进行解密,然后与本地存储的用户名密码进行比对

密钥验证

1. 客户端先生成一对密钥
2. 客户端将公钥复制一份发送给服务器并重命名为authorized_keys
3. 客户端发送一个请求给服务器端,包括用户名和IP
4. 服务器端收到后,就会到authorized_keys中查找,如果有对应的用户明和IP,会随机生成一个字符串,
5. 通过公钥对字符串进行加密,发送给客户端
6. 客户端收到后,会通过私钥对消息进行解密,然后将字符串发送给服务器
7. 服务器接收到字符串后会和之前生成的字符串进行比对,若一致,则不用输入密码

Linux 常用命令

  1. rm

    rm 	-r 递归目录
    	-f 强制删除
    	-l 提示用户确认
    
  2. mv

    1. 移动文件或目录,重命名文件或目录
    mv [-选项] 原路径 目标路径 
    	-f 目标文件存在时,覆盖
    	-l 用户确认
    	-v 显示移动路径  
    
  3. 进程

    PID 进程号
    PPID 父进程号
    每个进程对应唯一的一个端口号
    ps:查看当前窗口正在运行的进程
    	-ef :系统正在运行的进程
    kill:杀死进程
    	-9 :强制终止
    	动态进程通过杀死父进程,杀死该进程
    eg: 
    kill -9 66666
    
    reboot :重启
    shutdown :关机
    	-h now :立即关机
    # 用户名密码
    root 123456
    
  4. hostname、which

    hostname: 查看主机名
    find:查找指定字符串是否存在(全匹配)
    	find 目录 -name "查找的内容"
    which:查看命令在Linux系统所处于的具体位置或路径
    	which 命令名
    
  5. grep

    grep :模糊查找
    	-n "字符串" 文件名
    	-n :显示行号
    |: 管道
    	一个命令的输出作为另一个命令的输入
    cat word.txt | grep "A"
    
  6. cat、more

    cat:查看文件所有内容
    more 快捷键
    	回车 :按行显示
    	空格 :按页显示
    	b :返回上一页
    	q :退出
    
  7. find

    find -name根据文件名查找指定的字符串
    	-size 根据文件大小查找
    		find / -size +4k
    	-type 根据文件类型查找
    		-d 目录
    		-f  文件
    
  8. echo

    echo 打印内容
    	默认打印到控制台,常常配合重定向使用
    重定向符号:
    	> 表示覆盖写入
    	>> 表示追加写入
    
  9. cp

    cp 复制文件
    cp 【-选项】 源路径 目标路径
    	-r 递归目录
    
  10. tar

    tar 解压打包
    	-c 打包
    	-x 解压
    	-v 对.gzip结尾的文件打包或解压
    	-z 显示运行中的信息
    	-f 指定文件
    打包:  tar -xcvf 111.tar.gz demo
    解包:  tar -zxvf  111.tar.gz
    
  11. whoami、who

    whoami :查看当前用户名信息
    who :查看系统登录用户信息
    	-q: 
    	-u: 
    	-m:
    	
    # 切换用户
    su - mylinux
    # 添加用户
    useradd node1
    # 设置密码
    passwd node1
    # 删除用户
    userdel -r node1
    # 退出
    exit
    # 用户权限
    	u :用户
    	g :用户组
    	o :其他用户
    	a :全部用户
    # 操作权限
    r 4 :读权限
    w 2 :写权限
    x 1 :执行权限
    # 修改操作权限
    chmod 777 文件名
    	
    
  12. vim 常用快捷命令
    常用命令

包管理器

yum

yum -y(自动下载) install 软件名   # 安装
		remove	#  卸载
		search	#搜索
yum install wget

rpm

rpm -q query
	-a all
	-i info
	-l list
	-f file

文件上传下载

1、利用SSH工具
2、安装lrzsz
	1、rz:上传
	2、sz:下载

systemctl控制服务

systemctl stop 停止服务
		start 开启服务
		# restart 重启服务
		status 查看服务状态
		enable 开机自启动
		disable 禁用开机自启动
		
NetworkMananger 主网络服务
network 副网络服务

fillwalld 防火墙服务
sshd ssh服务

软连接

ln -s 被链接文件或目录 生成的链接名

不写 -s 就是硬链接

修改时区

# 自动校准时间
yum -y install ntp

# 手动校准时间
ntpdate -u ntp.aliyun.com

# 日期
date -d 字符串时间标记 +格式化字符串
	-d 按照给定字符串显示日期,一般用于日期计算
	%Y year
	%m month
	%d day
	%H hour
	%M 分
	%S 秒
 date -d "-1 month" "+%Y-%m-%d"
 date -d "-31 day" "+%Y-%m-%d"
 
 # 日历
 cal 当月
 cal -y 整年日历
 cal 2018 18年的日历
 cal 4 2030 30年4月

网络编程

三要素:
	IP地址:唯一标识一台计算机设备
	端口:网络数据通信的出入口
	网络协议:UDP、TCP、SSH、HTTP、HTTPS等

Shell

  1. 解释器

    1. sh
    2. csh
    3. Bash
    4. ksh
  2. 查看sh

    1. cat /ec/shells
    2. echo $SHELL 输出默认
  3. shell简单使用

    1、创建.sh结尾的文件
    2、编写内容
    3、授予执行权限
    4、执行文件 ./1.sh
    
    # 变量
    1、用户变量:在编程中使用
    2、环境变量:所有程序都能访问环境变量
    3、特殊变量:
    	sh 1.sh 参数1 参数2
    			$0:当前程序名称
    			$n:表示第n个参数
    			$#:命令行参数个数
    			$*:以"参数1 参数2 ..." 形式保存所有参数
    
    
    # 定义变量
    your_name="wj1wj1jwj1j"
    
    # 访问变量‘
    $your_name
    ${your_name}
    
    # 删除变量
    unset your_name
    # 只读变量
    readonly your_name="wj1wj1jwj1j"
    
    .bashrc  用户变量位置
    /etc/profile 系统变量位置
    source .bashrc
    source /etc/profile
    
    # shell字符串
    变量名=值
    变量名='值'
    变量名="值"
    ' '里面都是普通字符 
    

Linux安装JDK

# JDK.sh

#!/bin/bash
# 解压到指定目录
cd /opt/modules
tar -xzvf jdk-8u65-linux-x64.tar.gz

# 卸载centOS自带的JDK
OLDJDK=`rpm -qa|grep java`
OLDJDK=`echo ${OLDJDK} | sed 's/\.noarch//g'`

# 循环遍历JDK字符串
for loop in ${OLDJDK}
do
    rpm -e --nodeps ${loop}
done   
# 添加JAVA环境变量
echo "export JAVA_HOME=/opt/modules/jdk1.8.0_65" >> /etc/profile
echo "export PATH=$JAVA_HOME/bin:$PATH" >> /etc/profile
echo "export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar" >> /etc/profile

# 使环境变量立即生效
source /etc/profile
有提示版shell脚本
#!/bin/bash
# 解压到指定目录
cd /opt/modules
tar -xzvf jdk-8u65-linux-x64.tar.gz

# 卸载centOS自带的JDK
OLDJDK=`rpm -qa|grep java`
OLDJDK=`echo ${OLDJDK} | sed 's/\.noarch//g'`
# 是否每次删除命令都提示用户
echo -n "是否每次删除都提示:(y/n)"
ISTIPS=`read istip`

if [ ${ISTIPS} == "n"]
then
    # 循环遍历JDK字符串
    for loop in ${OLDJDK}
    do
        rpm -e --nodeps ${loop}
    done   
else
    for loop in ${OLDJDK}
    do
        echo -n "是否删除${loop}(y/n):"
        ISDEL=`read inputstr`
        if [ ${ISDEL} == "y"]
        then
            #删除循环出来的JDK
            rpm -e --nodeps ${loop}
        elif [ ${ISDEL} == "n"]
        then
            # 继续下一次循环
            echo "您选择不删除"
            continue
        else
            echo "您的输入不合法"
            # 继续下一次循环
            continue
        fi
    done
fi

# 添加JAVA环境变量
echo "export JAVA_HOME=/opt/modules/jdk1.8.0_65" >> /etc/profile
echo "export PATH=$JAVA_HOME/bin:$PATH" >> /etc/profile
echo "export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar" >> /etc/profile

# 使环境变量立即生效
source /etc/profile

Mysql安装(Linux)

安装前注意事项
1、MySQL安装方式
	1、rpm 安装:
	2、GLIBC安装:
	3、源码编译安装:
2、卸载mariadb数据库
	1、rpm -qa|grep mariadb
	2、rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64
	3、yum -y install 依赖插件
	4、yum -y install libaio  安装异步插件
	5 rpm -ivh mysql-community-common-8.0.13-1.el7.x86_64.rpm mysql-community-client-8.0.13-1.el7.x86_64.rpm mysql-community-server-8.0.13-1.el7.x86_64.rpm mysql-community-libs-8.0.13-1.el7.x86_64.rpm 
3、初始化MySQL
	1、随机密码保存位置:/var/log/mysqld.log | grep password
	2、删除MySQL所有文件:rm -rf  /var/lib/mysql/*
	3、初始化数据目录:mysqld --initialize
	4、更改文件拥有者与所属组: chown mysql:mysql /var/lib/mysql -R
	5、启动MySQL:systemctl start mysqld
	6、开启开机自启动:systemctl enable mysqld
	6、登录MySQL:mysql -uroot -p
		输入1、中查出来的随机密码
	7、修改密码
		1、alter user user() identified by "123456";
		2、set password = '123456';
		3、设定用户host:update user set host = "%" where user='root';
	8、远程授权:alter USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
		远程登录:cmd:mysql -h 192.168.8.11 -P -u root -p
	10、刷新:flush privileges;
# 干净卸载MySQL
见下图
4、干净卸载MySQL
	1、关闭MySQL服务:systemctl stop mysqld
	2、查找安装MySQL的rpm包:rpm -qa|grep mysql
	3、卸载:yum remove 包名
	4、查看是否卸载完全:rpm -qa|grep mysql
	5、查找MySQL相关目录
		1、查找:find / -name mysql
        	2、删除:rm -rf 查出来的路径
	6、删除默认配置、日志
		rm -rf /etc/my.cnf
		rm -rf /var/log/mysqld.log
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值