嘘~ 正在从服务器偷取页面 . . .

Centos8


1.安装 CentOS

  • 官网下载 CentOS 8 64
  • 软件安装源
  • 源:https://mirrors.aliyun.com/centos/8/BaseOS/x86_64/os/
    • Centos 安装软件:
      • 将带有 sh 的程序放在指定位置(sh 相对于 windows 的 exe)
      • 创建快捷方式:
        • 创建一个:*.desktop 文件,vim 进行编辑
        • 将创建好的快捷方式移动到:/usr/share/applications/目录下即可
[Desktop Entry]
Type=Application
Name=Pycharm
GenericName=Pycharm3
Comment=Pycharm3:The Python IDE
Exec=sh /home/pycharm-community-2020.1/bin/pycharm.sh
Icon=/home/pycharm-community-2020.1/bin//pycharm.png
Terminal=pycharm
Categories=Pycharm;

2.SSH 连接


  • 如果 IP 没错还是无法链接服务器安装 SSH 服务:
    • yum install openssh-server

1)SCP 指令传输文件和下载文件


  • 传输文件:
    • scp 本地路径 用户名@服务器 IP:服务器路径
  • 下载文件
    • scp 用户名@服务器 IP:服务器路径 本地路径

  • 传输目录:
    • scp -r 本地路径 用户名@服务器 IP:服务器路径
  • 下载目录:
    • scp -r 用户名@服务器 IP:服务器路径 本地路径

3.安装 Python

  • 按顺序执行命令:
  • yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel
  • 下载:找到一个目录 wget python 链接,下载指定版本 python 到当前目录
  • 解压:tar -zxvf 文件名
  • 进入目录:cd 解压目录
  • 配置环境:./configure
  • 编译:make
  • 安装:make install
  • 我执行到这里系统执行python3就已经变成我需要的版本了
  • 设置 python 默认安装源:

1)Python 包的管理

  • 尽量创建虚拟环境进行包的安装
  • 创建虚拟环境
    • 进到需要创建的环境:一般选 opt 目录(用户程序目录)
      • python -m venv 环境名
      • 进入环境:进入到环境的 bin 目录内通过 source 执行 acticate
      • 进入环境:source bin/activate
      • 退出环境:执行指令deactivate

4.安装 docker

  • 其他 docker 源可以访问: Docker

  • 安装依赖:yum install -y yum-utils device-mapper-persistent-data lvm2
  • 设置 yum 源:yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 安装 docker:yum install -y docker-ce --allowerasing
  • 设置开机自动启动:systemctl enable docker
  • 启动 docker:systemctl start docker
  • 重启 docker:systemctl restart docker
  • 结束 docker:systemctl stop docker
  • 查看版:docker -v

1)docker 常用操作

  • 复制到宿主机,或者宿主机复制到容器:docker cp /路径 id 或者名字:路径
  • 查看已安装容器:docker images
  • 查看正在运行的容器:docker ps
  • 启动容器:docker start 容器 ID/名称
  • 停止容器:docker stop 容器 ID/名称
  • 重启容器:docker restart 容器 ID/名称
  • 删除容器:docker rmi -f 容器 ID 号
  • 进入容器:docker exec -ti 容器名 bash
  • 删除已经运行的容器:docker container rm name
  • 删除所有容器:docker container rm $(docker container ls -aq) -f
  • 退出容器:exit

2)docker 安装 MySQL

  • 安装最新版本:docker pull mysql:latest
  • 查看是否已经安装:docker images
  • 启动 MySQL:docker run --name 服务名 -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql
    • 指定 3306 端口,密码 root,设置服务显示名
  • 外部访问:mysql -u root -h IP -p
  • 远程指定端口访问:mysql -h 0.0.0.0 -P 3306 -u root -p

1)更改 MySQL 编码格式:

  • 进入 MySQL 容器:
  • 找到:cd /etc/mysql/conf.d 目录下的 mysql.cnf 文件(可以不进入直接复制)
  • 复制文件到宿主机:docker cp ID 或名字:/etc/mysql/conf.d/mysql.cnf /宿主机路径
  • 退出容器 vim 编辑文件输入以下内容:
default-character-set=utf8
[client]

default-character-set=utf8
[mysqld]

character_set_server=utf8
init_connect='SET NAMES utf8'
  • 将文件替换回原始路径即可
  • 显示编码:show variables like ‘character%’;

3)docker 安装 redis

  • 安装最新版本:docker pull redis:latest
  • 启动 redis:docker run –name redis -p 6379:6379 redis
    • 指定将内部端口 6379 向外开放
  • 启动 redis 并设置密码: docker run --name redis -p 7777:6379 -d redis --requirepass “密码”
  • 如果你要进行 scrapy 可视化部署的搭建,就不要以 6379 端口启动,因为后面的一键部署是以 6379 进行的。

  • 已经设置密码修改密码方法:
    • 1.进入 redis 的容器 docker exec -it 容器 ID bash
    • 2.进入 redis 目录 cd /usr/local/bin
    • 3.运行命令:redis-cli
    • 4.查看现有的 redis 密码:config get requirepass
    • 5.设置 redis 密码 config set requirepass ** 为你要设置的密码
    • 6.若原来有密码,则使用 auth 密码 来认证密码
    • 远程连接:./redis-cli -h 192.168.100.109 -p 6379

5.CentOS 指令集

  • 指令 –help 可以显示帮助信息
  • 立即重启:shutdown -r now
  • 立即关机:shutdown -h now
    • 数字格式为延迟多少关机
      • shutdown -h 10 ‘关机提示
    • 时间格式为指定点关机
      • shutdown -h 15:25 ‘关机提示
    • 取消定时关机:shutdown -c
  • 立即重启 2:reboot

1)指令 [选项] [操作对象]


  • ls:列出所有文件(当前目录、指定目录)
    • -l 以列表形式详细显示
    • -la 以列表形式显示所有文件(包括隐藏文件)
    • -lh 以列表形式显示,按大小进行排序
    • ls 列出的文件:蓝色代表文件夹,黑色代表文件,绿色为拥有所有权限
    • Linux 所有隐藏文件都是以.开头

  • pwd:输出当前工作目录的绝对路径

  • cd:切换工作目录
    • Linux 中~表示当前用户家目录
    • cd -:在最近两次工作目录切换

  • mkdir:创建一个目录(相对路径或者绝对路径)
    • -p 可以直接多层路径创建
    • mkdir 路径 1 路径 2 路径 3 一次性创建多个目录
      • 可以配合-p 使用

  • touch:创建文件(相对路径或者绝对路径)
    • 也可以创建多文件

  • cp:复制文件/文件夹到指定路径
    • cp 路径 目标路径
    • -r 当复制目录的时候需要增加-r

  • mv 指令(移动文件,重命名文件)
    • mv 源文件路径 目标文件路径
    • 两种指令语法一样

  • rm 指令(删除文件,目录)
    • -f 直接删除,不会出现提示
    • -r 递归删除
    • 可以配合通配符,进行大量删除

  • ln -s 源文件 链接文件(类似快捷方式文件)
    • -s 如果没有-s 链接的文件会和源文件一样大小
    • -f 建立时,将同档案名删除
    • -i 删除前进行询问
    • 尽量使用绝对路径

  • > or >>输出重定向:将终端中的内容输出到文本中
    • 指令>:覆盖原有文件内容
    • 指令>>:追加在文件内容
    • 正常输出指令的语法>文件路径

  • cat 指令:直接打开一个文件(多个文件合并成一个文件)
    • 直接打开一个文件:cat 文件路径
    • 合并文件内容:cat 文件路径 1 文件路径 2 文件路径 3 …. > 保存文件名

  • tar:打包(解包)文件
    • tar -选项 打包文件.tar 被打包的文件/路径
    • tar -选项 打包的文件.tar
    • tar -zxvf 解压
    • tar - zcvf 压缩
选项 含义
c 生成档案文件,创建打包文件(压缩用)
x 解开档案文件,解开打包文件(解压用)
z 表示用 gunzip 解压或者压缩
v 列出归档解档的详细过程,显示进度
f 指定档案文件名称,f 后面一定是 .tar 文件,所以必须放选项最后

2)进阶指令


  • df -h:查看系统磁盘剩余容量
    • -h 以更加人性化的方式显示

  • free : 查看内存使用情况
    • -m :单位切换为 m
    • -g:单位切换为 g
    • -h 以更加人性化的方式显示

  • head -n:查看一个文件的前 n 行,不指定默认显示 10 行

    • head -5 文件路径
  • tail -n:查看一个文件的后 n 行,不指定默认显示 10 行

    • tail -f 文件路径
      • 可以动态的查看文件的变化内容(不能是用户自己添加的)
      • 一般用于日志的查看

  • date:(读取,设置时间)(直接输出详细信息)
    • 输出年月日格式:date +%Y-%m-%d 或者 date +%F
    • 输出年月日时分秒:date ‘+%F %T
      • 输出指定天数之前/后的日期:
        • date -d ‘-1 day’ ‘+%F +%T
        • date -d ‘5 years’ ‘+%F +%T’

  • cal:直接输出当前月日历
    • cal -3:输出前一个本月和后一个月总共三个月
    • cal -y 年份:输出指定月份全年的日历

  • clear/ctrl+L:清除控制台信息

  • wc:统计文件内容信息
    • wc -参数 路径
    • c 统计字节数。
    • l 统计行数。
    • w 统计字数
  • wc -lwc ./cpp

  • 管道操作( grep )
    • ls / |grep o:
      • 输出根目录下包含 o 的文档
      • ls /:会输出目录所有内容
        • |grep o:通过管道加 grep 进行过滤
    • ls / | wc -w:查看指定文件目录文件数量

3)高级指令

  • hostname:输出完整主机名
  • id:查看一个用户的基本信息
    • 用户 id,用户组 id,附加组 id

  • whoami:显示当前登陆用户名 一般用于 shell 指令

  • ps:用于查看服务器进程
    • -e:表示列出全部进程
    • -f:表示全部的列

  • top:查看服务器进程占用的资源
    • 执行完指令后可以按
      • M:按内存高低排序
      • P:按 CPU 占用进行高低排序

  • du:查看目录真实大小
    • -s:只显示汇总的大小
    • -h:以较高可读性的形式进行显示
    • du -sh 路径

  • kill:结束(杀死)一个进程
    • kill 进程 ID:结束指定进程
    • killall 进程名:杀死所有同名进程

  • ip addr:查看网卡(ifconfig 也可以)
    • ifconfig:有的无法使用

  • uptime:获取计算机开机到目前的时间

  • uname:获取操作系统类型
    • uname - a:a 表示 all 获取详细系统信息

  • netstat - tnlp:获取网络链接信息
    • 出现-bash: netstat: command not found 需要安装 net-tools
      • yum install net-tools
      • -t:表示只列出 tcp 协议
      • -n:以更人性化的样式显示
      • -p:表示显示发起连接的进程 pid 和进程名称

  • find 路径 -选项
    • 查找指定路径下文件
    • -name:按文档名称进行搜索
    • -type:按文档类型进行搜索
      • -表示文件(在使用 find 的时候使用 f 代替-)
      • d 表示文件夹
    • 实例:
      • find / -name conf.* :查找全部文件内 conf 任意格式的文件
      • find / -type -f:查找根目录下所有的文件(f)
      • find ./gcc -type f|wc -l:查找并统计

  • service:控制一些软件的服务 启动/停止/重启
    • start stop restart
    • service 服务 操作

  • man:包含 linux 中全部命令的手册
    • man 命令
    • q 退出

  • ctrl + u:删除光标之前所有内容
  • ctrl + k:删除光标之后所有内容

还有不计其数的指令,用到的时候面向百度编程吧

6.CentOS 文件解析

  • Bin:存放常用命令目录(普通用户也能执行的命令)*
  • Dev:存放外接设备,不能直接使用,需要手动挂载。
  • Mnt:上面 Dev 挂载的的内容会被挂载到这里
  • Etc:该目录存储配置文件
  • Home:存储除了 root 以外的主目录(类似 Windows 下的 User)
  • Proc:存储 Linux 运行运行时候的进程目录
  • Root:存储 root 的主目录
  • Sbin:系统管理员目录存放目录(只有管理员才可以执行的命令)
  • Tmp:存储运行时的临时文件
  • Usr:存放用户自己安装的软件
  • Var:存放程序/系统的日志文件目录

  • Boot:存放启动引导/配置等文件/核心文件
  • lib:系统最基本的动态链接共享库
  • lib64:64 位的的动态链接共享库
  • media:通过目录来访问外设中的内容。
  • ops:表示“可选的应用软件包”,用于安装多数第三方软件和插件;
  • srv:表示“服务”,包含一些网络服务启动之后所需要取用的数据;
  • sys:包含各种注册到系统上的设备和总线的文件
  • run:临时文件系统,存储系统启动以来的信息,重启时目录内容将被删除

7.rpm 软件管理

  • 查询:rpm -qa|grep 关键词
    • 查询所有软件
    • -q :query 查询
    • -a :all 全部
    • 配合 grep 管道查询指定软件

  • 卸载:rpm -e
    • e :卸载指定软件
      • 没有依赖关系可以直接卸载
        • 依赖关系:被其他软件包需要
    • rpm -e * –nodeps(尽量不要强制卸载,会出现问题)
      • –nodeps:无视依赖关系,强制卸载

  • 安装:rpm -ivh rpm 软件包名
    • i:install,安装
    • v:显示进度条
    • h:以’#‘显示进度条

文章作者: 林木木
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 林木木 !
评论
 上一篇
Django Django
Django 是用 Python 开发的一个免费开源的 Web 框架,几乎囊括了 Web 应用的方方面面,可以用于快速搭建高性能、优雅的网站,Django 提供了许多网站后台开发经常用到的模块,使开发者能够专注于业务部分。
2022-06-27
下一篇 
安卓逆向 安卓逆向
记录自己成功的App
2022-04-14
  目录