linux基础

软件的安装:

apt = apt-get+ apt-cache+apt list

apt install  xxx
apt-get  install    xxx

yum --→centos

wget 主要是通过指定的url完成资源的下载

https://download.jetbrains.8686c.com/python/pycharm-professional-2019.2.1.tar.gz

wget -c https://download.jetbrains.8686c.com/python/pycharm-professional-2019.2.1.tar.gz

wget -c https://download.jetbrains.8686c.com/python/pycharm-professional-2019.2.1.tar.gz -P 保存的路径

curl: 下载工具 类似 wget

curl -O https://download.jetbrains.8686c.com/python/pycharm-professional-2019.2.1.tar.gz

相同点:

都是linux下的文件下载工具
它们都可以向互联网发送HTTP POST请求并返回请求项。这可以是文件、图片或者是其他诸如网站的原始 HTML 之类
可以集成在bash脚本中。

wget

专业的下载工具,支持递归下载。
纯粹的命令行工具
wget 简单直接,拥有智能的默认设置。它规定了很多在常规浏览器里的事物处理方式,比如 cookies 和重定向,这都不需要额外的配置。

curl

curl是一个多功能工具。当然,它可以下载网络内容,但同时它也能做更多别的事情。
curl 技术支持库是:libcurl。这就意味着你可以基于 cURL 编写整个程序,允许你基于 libcurl 库中编写图形环境的下载程序,访问它所有的功能。
curl 支持更多的网络协议。curl supports FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE, POP3, IMAP, SMTP and RTSP at the time of this writing. Wget supports HTTP, HTTPS and FTP

虚拟环境:

venv:
lib —>site-packages
原因:
pip install flask

在线视频 + 虚拟环境 (online)
django 2.0

online:
pip
python3
django 2.0

电商类+ 虚拟环境(shopping)
django 2.1

shopping:
pip
python3
django 2.1
redis
进入虚拟环境:
pip install django==2.1
博客:
django1.11

虚拟环境
Python 2和Python 3之间存在着较大的差异,并且,由于各种原因导致了Python 2和Python 3的长期共存。在实际工作过程中,我们可能会同时用到Python 2和Python 3,因此,也需要经常在Python 2和Python 3之间进行来回切换。这就需要对python的版本进行管理,除此之外还需要对不同的软件包进行管理。大部分情况下,对于开源的库我们使用最新版本即可。但是,有时候可能需要对相同的Python版本,在不同的项目中使用不同版本的软件包。

在这里,我们要使用两个工具:pyenv和virtualenv。前者用于管理不同的Python版本,后者用于管理不同的工作环境。有了这两个工具,Python相关的版本问题将不再是问题。

虚拟环境搭建:

  1. python3 3.6.8
  2. pip3 sudo apt install python3-pip
    whereis python3 —→ /usr/bin/python3
    whereis pip3 —→ usr/bin/pip3

virtualenv: 用于管理不同的工作环境

virtualenv | virtualenvwrapper

  1. 创建虚拟环境:
    virtualenv 虚拟环境名字
    默认去找python2
    The path python2 (from --python=python2) does not exist

virtualenv -p /usr/bin/python3.6 虚拟环境名字

virtualenv -p /usr/bin/python3.6 mytest

  1. 进入虚拟环境:(激活虚拟环境)
    source 虚拟环境目录/bin/activate

(mytest) running@ubuntu:~

  1. 退出虚拟环境:
    deactivate

virtualenvwrapper:virtualenv的扩展包

安装:

  1. sudo apt install virtualenvwrapper
    /usr/share/virtualenvwrapper/ virtualenvwrapper.sh

  2. pip3 install virtualenvwrapper

usr/local/lib/python3.6/dist-packages

/home/running/.local/bin/virtualenvwrapper.sh

.bashrc ---->当前用户的环境变量的配置文件

$HOME --→ /home/running

在.bashrc的最后面添加:
export WORKON_HOME=$HOME/.Envs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.6
source /home/running/.local/bin/virtualenvwrapper.sh

保存.bashrc

source .bashrc

常用命令:

mkvirtualenv shopping:创建虚拟环境 shopping
workon shopping: 工作在 online环境 或 从其它环境切换到 shopping 环境
deactivate: 退出终端环境
rmvirtualenv 虚拟环境的名字:删除运行环境 虚拟环境的名字
lsvirtualenv: 列出可用的运行环境
lssitepackages: 列出当前环境安装了的包

pip list
pip freeze > requirements.txt

pip install -r requirements.txt

总结:

  1. virtualenv -p /usr/bin/python3 虚拟环境
    激活:source 虚拟环境/bin/activate
    退出虚拟环境: deactivate

  2. virtualenvwrapper 虚拟环境 的升级版

  3. 配置:.bashrc文件 (当前用户家目录cd ~ , ll)
    .bashrc_profile

……
保存 source .bashrc
命令:
mkvirtualenv -p /usr/bin/python3 shopping:创建虚拟环境 shopping
workon shopping: 工作在 online环境 或 从其它环境切换到 shopping 环境
deactivate: 退出终端环境
rmvirtualenv 虚拟环境的名字

  1. 可以使用此方式:
    sudo apt-get install python3-venv
    python3 -m venv 虚拟环境
    source 虚拟环境/bin/activate
    退出: deactivate

Pyenv:
用于管理不同的Python版本
2.7
3.5
3.6
3.7.0
3.7.1

requirements.txt

pyenv是一个Python版本管理工具,它能够进行全局的Python版本切换,也可以为单个项目提供对应的Python版本。使用pyenv以后,可以在服务器上安装多个不同的Python版本,也可以安装不同的Python实现。不同Python版本之间的切换也非常简单。pyenv官方地址https://github.com/pyenv/pyenv-installer

  • 注意:
    • 使用pyenv管理python,必须是用pyenv安装的python才行,系统以前有的,需要重新用pyenv安装
    • 使用pip安装第三方模块时会安装到~/.pyenv/versions/xxx下,不会和系统模块发生冲突;
    • 使用pip安装模块后,可能需要执行pyenv rehash更新数据库。

export PATH=“ H O M E / . p y e n v / b i n : HOME/.pyenv/bin: HOME/.pyenv/bin:PATH”
eval “ ( p y e n v i n i t − ) " e v a l " (pyenv init -)" eval " (pyenvinit)"eval"(pyenv virtualenv-init -)”

source .bashrc

pyenv update 更新

pyenv install –list

强调:原生python3.6 python2.7 python3.7 操作系统

  1. 安装对应版本的python

pyenv install 版本号

pyenv versions 查看可以管理的版本有哪些

python 3.7.0
python 3.6.8
python 2.7.5
python 3.7.1

  1. 使用版本号:
    pyenv global 3.6.8

  2. 使用3.6.8设置虚拟环境:
    pyenv virtualenv 3.6.8 虚拟环境

  3. 进入虚拟环境:
    pyenv activate 虚拟环境名字

  4. 退出:
    pyenv deactivate 虚拟环境名字

  5. pyenv:
    3.6.8 --→
    pyenv global 3.6.8
    创建虚拟环境:
    pyenv virtualenv 3.6.8 虚拟环境名

3.7.0
-----》
pyenv global 3.7.0
创建虚拟环境:
pyenv virtualenv 3.7.0 虚拟环境名

3.6.5
….

Psm :

镜像源:
pip python包管理器

pip install redis
pip install pymysql

需要安装:
pip install psm
psm的命令:

psm ls 浏览查看可以使用的镜像源

pypi https://pypi.python.org/simple/
douban http://pypi.douban.com/simple/
aliyun http://mirrors.aliyun.com/pypi/simple/
qinghua https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/

psm use 镜像源的名字
如: psm use aliyun

psm show 查看镜像源

apt
apt install virtualenv

安装常用的软件:

  1. mysql
    数据库:mysql数据库

数据库:
大小:
大型: oracle , db2
中小型: sql server mysql,redis,mongodb,…

关系型和非关系型:
关系型数据库: mysql ,oralce,sql server
非关系型:NoSQL : redis, mongodb

数据库管理系统:
mysql 服务器

server

sudo apt install mysql-server mysql-client

ps -aux | grep mysql

sudo service mysql start
sudo service mysql stop

进入mysql服务器终端:

1。 命令窗口终端:
mysql -u用户名 -p密码

 sudo  mysql -uroot -p
 直接进入终端


 /etc/mysql/debian.cnf

# Automatically generated for Debian scripts. DO NOT TOUCH!

[client]
host = localhost
user = debian-sys-maint
password = S9byvnkmo64Hdij3
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = S9byvnkmo64Hdij3
socket = /var/run/mysqld/mysqld.sock

尝试使用配置文件的用户名或者密码进行登陆:

mysql -udebian-sys-maint -pS9byvnkmo64Hdij3

show databases;

±-------------------+
| Database |
±-------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |

进入系统的数据库:
修改密码正确的步骤是:

use mysql;

select host,user from user;

update user set authentication_string=PASSWORD(‘root’) where User=‘root’;

update user set plugin=“mysql_native_password”; 必须要加否则修改不成功

flush privileges;

exit;


用户创建:
CREATE USER ‘username’@‘localhost’ IDENTIFIED BY ‘password’;

授权:(单独授权)

GRANT privileges ON databasename.tablename TO ‘username’@‘localhost’

说明:
privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
databasename:数据库名
tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用表示,如.*

创建用户同时授权:(建议使用)

grant all privileges on . to test@localhost identified by ‘1234’;

flush privileges;

回收权限:
REVOKE privilege ON databasename.tablename FROM ‘username’@‘host’;

删除用户:
DROP USER ‘username’@‘host’;

补充:
UFW或Uncomplicated Firewall是iptables的接口,旨在简化配置防火墙的过程。UFW默认安装在Ubuntu上。如果没有安装,你可以使用sudo apt-get install ufw 。

另外大家也可以使用sudo apt install gufw(此为图形界面的安装,可以通过图形界面修改防火墙)

  • ufw常见操作

    sudo ufw status                 #查看状态和规则
    sudo ufw disable                #禁用
    sudo ufw enable                 #启用
    sudo ufw reset                  #重置
    sudo ufw status numbered        #显示规则编号
    
  • 设置默认策略

    如果您刚刚开始使用防火墙,则首先要定义的规则是您的默认策略。这些规则控制如何处理未明确匹配任何其他规则的流量。

    sudo ufw default deny incoming   #拒绝所有传入连接
    sudo ufw default allow outgoing  #允许所有传出连接
    
  • 开启或禁用指定连接

    #允许连接
    sudo ufw allow 端口/服务
    
    #允许ssh远程连接
    sudo ufw allow ssh  #或者sudo ufw allow 22/tcp  
    
    #允许未加密的web访问
    sudo ufw allow http  #或sudo ufw allow 80
    #允许加密的web访问
    sudo ufw allow https  #或sudo ufw allow 443
    
    #允许ftp访问
    sudo ufw allow ftp  #或sudo ufw allow 21/tcp
    
    #允许远程mysql访问
    sudo ufw allow 3306
    
    #允许特定范围的端口
    sudo ufw allow 6000:6007/tcp #允许使用端口6000 - 6007 X11连接
    
    #允许特定ip地址
    sudo ufw allow from 15.15.15.51
    
    #允许特定子网
    sudo ufw allow from 15.15.15.0/24  #允许所有的IP地址范围从15.15.15.1到15.15.15.254
    
    #拒绝连接
    sudo ufw deny http
    sudo ufw deny from 15.15.15.51
    
  • 删除规则

    sudo ufw status numbered #先查看编号
    sudo ufw delete 2  #再按编号删除
    
    #按实际规则
    sudo ufw delete allow http
    sudo ufw delete allow 80
    
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只敲代码的大脸猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值