Day012|Day012 - Linux-2(安装软件)(2018-11-14)

Linux发行版本(在内核基础上做了工具):

  • Redhat
  • CentOS
  • Ubuntu
  • Fedora
  • SUSE
  • Debian
Linux安装软件:
  1. 使用包管理工具
    yum (用python写的) (CentOS和Redhat) / rpm (CentOS和Redhat) / deb / apt (Ubuntu用的)
  2. 源代码构建安装 - 直接下载源代码,用C语言构建工具进行构建
  3. 直接下载二进制程序 - 需要配置环境变量之后使用
市场占用率最高的服务器产品:
Nginx ===> HTTP服务器 ===> 提供Web应用
Apache
yum search nginx -> 在yum的仓库中搜索软件
yum install nginx -> 安装Nginx (可带-y参数)
systemctl start nginx -> 启动Nginx服务
service nginx start -> CentOS 6.x版本和Ubuntu
systemctl restart nginx -> 重启Nginx服务
systemctl stop nginx -> 停止Nginx服务
systemctl status nginx -> 查看Nginx服务状态
systemctl enable nginx -> 设置Nginx服务开机自启
systemctl disable nginx -> 禁用Nginx服务开机自启
yum remove nginx -> 卸载Nginx (可带-y参数)
yum update nginx -> 更新名为Nginx的软件包
yum info nginx -> 查看名为Nginx的软件包
yum list installed - 查看已经安装的软件包
yum update - 全部更新
yum list installed | grep nginx - 查看是否已经安装Nginx(grep为搜索命令)
Apache的名字是httpd
Internet是基于TCP/IP模型的四层架构
应用层 - HTTP (80)/ FTP (23)/ SSH / QQ / SMTP(发邮件) (25)/ POP3(收邮件)(110)
传输层 -(端到端传输服务) TCP (可靠性,冗余校验码)(流量控制,拥塞控制(滑动窗口协议))/ UDP
网络层 - IP - 寻址和路由
物理链路层(网络接口层) - 分帧和校验
服务端口是对IP地址的扩展,用来区分不同的服务的
苹果系统上传:
打开苹果终端 - 新建窗口 - sftp root@47.107.226.94
pwd - cd /usr/share/nginx/html
pwd
lpwd(在本地执行)
lcd /Users/Hao/Desktop (文件所在目录)
lpwd
put -r web1807/.
windows上传:
安装Xshell和Xftp
sftp root@服务器IP地址
SFTP的常用命令:
quit / exit / bye - 退出sftp
cd / lcd - 切换远端工作目录 / 切换本地工作目录
pwd / lpwd - 查看远端工作目录 / 查看本地工作目录
ls / lls - 查看远端目录下的内容 / 查看本地目录下的内容
put - 上传文件 (-r递归可以用来上传文件夹)
get - 下载文件 (-r递归可以用来下载文件夹)
mkdir / lmkdir 在远端创建目录 / 在本地创建目录
源代码构建安装Python:
gcc --version - 查看是否有GCC
  1. 安装gcc和依赖库
    yum -y install wget gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
  2. 下载Python源代码
    wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz
  3. 解压缩和解归档
    xz -d Python-3.7.0.tar.xz (xz格式用xz,gz用gunzip)
    tar -xvf Python-3.7.0.tar
  4. 执行配置生成构建文件(Makefile)
    cd Python-3.7.1
    ./configure --prefix=/usr/local/python37 --enable-optimizations (./告诉壳程序在当前路径)
    这一步完成之后会生成一个名叫Makefile的文件
  5. 构建和安装
    make && make install
    (在同一行一次执行两个命令,用&&连接,第一个成功了再执行第二个;
    用||链接,第一个失败了再执行第二个;
    用;连接,第一个执行完成后不检查执行结果直接执行第二个)
  6. 安装环境变量
    cd ~ 回到用户目录
    vim .bash_profile (vim神级编辑器,vim下按i进入编辑模式,按Esc退出编辑模式,保存文件要先退出编辑模式再按:wq)
    光标移动到PATH=$PATH:$HOME/bin行的最后,按i键插入:/usr/local/python37/bin
    (加好后是PATH=$PATH:$HOME/bin:/usr/local/python37/bin)
    按Esc退出编辑模式,再按“:”进行保存输入, 输入wq进行保存退出 (write quit),回车
  7. logout,重新登入,输入python3 --version检查环境变量是否配置好
  8. 注册一个快捷方式(符号链接)
    ln -s /usr/local/python37/bin/python3 /usr/bin/python3
如果安装失败,将python包删除,再重新安装
Redis安装:
  1. 下载安装包
  2. 解压缩解归档
  3. 构建和安装 make && make install
  4. redis-server --version
    redis-cli --version
finaldata(恢复数据的软件,数据被删除后在硬盘中只是没有被引用,如果没有其他数据写入覆盖,还可以被恢复)
创建一个硬链接(相当于增加文件的引用计数(不复制数据的备份))
ln 源文件 目标文件
ln sohu.html hello.html
创建一个软链接(符号链接)(相当于是windows下的快捷方式,可以为常用的文件和文件夹在用户主目录下创建软链接来方便操作)
ln -s 源文件 目标文件
ln -s /usr/local/python37/bin/python3 /usr/bin/python3
文件夹也可以创建软链接
ln -s 文件夹路径 需要创建的路径
ps 查看进程状态(processes)
ps -ef / -aux 查看所有进程
kill 进程号 (关掉进程)
kill -9 进程号 (强行结束进程)
top 相当于windows的任务管理器
【Day012|Day012 - Linux-2(安装软件)(2018-11-14)】登录系统成功之后进入Shell(壳程序)交互式环境
大多数Linux系统默认的Shell都是bash
bsh - bourne shell
bourne again shell

    推荐阅读