自己记录学习用的,有问题欢迎指出哈。
linux服务器基础命令:
cd / --切换到根目录
cd ./ -- 当前目录
cd ../ -- 上一级
cd 目录名称 -- 当前目录下的下一级
ls -l --查看文件列表
ls -- 同上
ls -a --全部文件列表(包括默认隐藏)
ll --human -- 查看大小(对人类友好,编译后)
ll --h --同上(简写)
alias ll='ls -l' 为ls -l 命令去别名 ll --设置别名
rm -rf 文件名或者文件夹 --删除文件(慎用,无法找回)
mv 源文件名或者源文件夹 目标文件夹目标文件名 --移动文件(文件夹)到指定位置
cp 源文件 目标文件 --复制文件
cp -R 文件夹 --深度复制文件夹
touch 文件名 --创建文件
mkdir 路径 --创建文件夹
mkdir -p /a/b/c -- -p是递归创建所有不存在的文件夹
tar -xvf 文件路径 --解压文件
unzip --解压.zip格式文件
tar -zcvf savedata.tar.gz savedata/ --打包并压缩文件
cat 文件名 --查看文件内容(从头到尾全部)
head -n 数字 文件名 --查看文件前几行内容
tail -n 数字 文件名 --查看尾部几行内容
tail -f 文件名 --持续滚动查看文件内容
pwd --查看当前路径
chmod 771 ttt.txt --改变文件权限 -- rw- r-- x-- r 读 4 w 写 2 x 执行 1
有x执行权限 可以省略例如 python test.py 的python 执行命令
编辑文件内容:
vi 文件名
vim 文件名
--如果没有文件,会创建对应文件
i 进入边界模式,编辑模式命令:
dd --删除整行
/内容 --搜索
set number 设置行号
u 撤销(取消编辑模式)
esc 取消编辑模式
q! --退出文件 不保存
wq! --保存并退出
ps aux | grep 关键字 --查看相关进程 | grep 关键字 --筛选相关
kill -9 进程id --结束进程
wc -l 文件名 --查询文件行数
echo aaa --打印 结果 aaa
echo aaa > aaa.txt 将aaa插入到aaa.txt 覆盖全文
echo aa111a >> aaa.txt 将aaa插入到aaa.txt 累加
curl -i 地址 // 请求地址
curl -X POST 地址 //post请求
curl -X POST 地址 -H 'Content-type: application.json' -d '{"name":"name"}'
### 关机 shutdown 慎用!!!!!
后台运行python.py进程命令:
nohup python b.py>file1.log &
或
nohup python -u b.py>file1.log 2>&1 & -u可以实时更新到file1.log中使用tail -f file1.log
查看
<!--
0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出。
在一般使用时,默认的是标准输出,既1。当我们需要特殊用途时,可以使用其他标号。
例如,将某个程序的错误信息输出到log文件中:./program 2>log。
这样标准输出还是在屏幕上,但是错误信息会输出到log文件中。
也可以实现0,1,2之间的重定向。2>&1:将错误信息重定向到标准输出。 -->
上传下载文件工具:
yum install lrzsz 文件上传下载工具
rz --上传文件
sz 文件名 --下载文件
linux系统定时任务
--crontab 定时执行 指定程序
crontab -e --进入编辑(其他与文件编辑一致)
内容:
* * * * * run
- - - - -
| | | | |
| | | | ----- 星期中星期几 (0 - 6) (星期天 = 0或7)
| | | ------- 月份 (1 - 12)
| | --------- 一个月中的第几天 (1 - 31)
| ----------- 小时 (0 - 23)
------------- 分钟 (0 - 59)
例如:
15 * * * * /path/to/command 每小时的第15分钟运行
0,30 9-18 * * 1-5 sh /python/run.sh 工作日半小时执行一次
docker 容器:
docker images 查看镜像列表
docker ps -a 查看容器列表
docker pull 镜像名:版本 拉取镜像、下载镜像
docker run --name 名称 -itd 镜像名:版本 命令
docker run 包含了docker pull
-it -d 后台运行
--rm 容器停止删除 (exit)
--name 取名称
容器内部的退出,有两种
exit 会退出并停止容器
ctrl + p + q 退出不停止容器
docker start/stop/restart 容器id或者容器名 stop 停止不删除容器
docker rm 容器id或者容器名称 删除容器
docker rmi 镜像id或者镜像名称 删除镜像
docker exec -it 容器id或者容器名 命令 执行容器内命令 ex:docker exec -it 容器id /bin/bash
docker run --name 名称 -itd 拉取并后台运行容器
-v 本地目录:服务器目录 挂载卷
-p 本地端口:服务器端口
镜像名:版本 --命令
操作系统:
linux 一个大类的操作系统
centos ubuntu android --操作系统
<!-- 对应安装 包命令 -->
centos yum 例如:yum install **
ubuntu apt
linux wget
centos 7-8-9
linux 安装 conda环境:
#下载脚本
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
# 运行
sh Miniconda3-latest-Linux-x86_64.sh
#这一步提示选择no
You can undo this by running conda init --reverse $SHELL? [yes|no]: no
#查看shell是什么
echo $SHELL
# output
# /bin/bash
eval "$(/安装路径/bin/conda shell.bash hook)"
# 初始化
conda init
# 加载环境变量
source ~/.bashrc
# 默认不加载conda的shell
conda config --set auto_activate_base false
# conda常用命令
conda env list
conda create -n 名称 python=版本
conda activate 名称
conda deactivate 返回
linux 如何部署python项目:
1、进入docker容器(centos镜像)
docker exec -it 容器名/容器id /bin/bash
2、进入conda 创建的python环境中
conda activate 名称
3、安装依赖
pip install Flask Gunicorn
安装应用依赖
pip install -r requirements.txt
--python终端生成配置文件 pip list --format=freeze > requirements.txt
# 配置Gunicorn(创建 gunicorn.conf 文件 与app.py 同层级)
bind = '127.0.0.1:8000'
workers = 4
# 进入对应目录 启动Gunicorn 重启需要kill -9 原本的程序
gunicorn -D -c gunicorn.conf app:app
gunicorn -D --reload -c gunicorn.config.py app:app # 更新文件后 同步更新