美文网首页
20181204前端工程化Linux预备知识

20181204前端工程化Linux预备知识

作者: PixelEyes | 来源:发表于2018-12-04 23:12 被阅读0次
    1. 操作系统概述
    2. 远程登录Linux系统
    3. 强调重要Linux命令
    4. Linux进程与线程
    5. Linux网络的坑
    6. 免密登录
    • 操作系统概述
      操作系统种类分为 Unix和"类Unix"
      Unix,Linux,OSX,Windows,Androd
      Linux:ubuntu,CentOS,redhat,Fedora,Debian
      安装CentOS=> Minimal ISO

    Windows下使用命令行工具: cmder
    Cmder终端环境下使用ssh命令
    官方网站: http://cmder.net/
    下载地址: https://github.com/cmderdev/cmder/releases/download/v1.3.10/cmder.zip
    远程登录: ssh root@192.168.1.164

    $ ssh root@192.168.1.20
    

    修改host, hostnamectl -h帮助信息

    $ hostnamectl set-hostname XXXX
    
    常用Linux命令

    行编辑器: vi/vim

    $ ll //查看目录
    $ ls //查看目录
    $ vi
    $ vim
    $ sudu vi 
    $ q //退出
    $ q! //不保存退出
    $ export PATH=xxxxx //加入到全局路径 (这个不确定是不是这么写)
    

    服务管理命令: (systemctl [start stop restart enable disable] 服务名称)

    $ systemctl //显示所有服务
    $ systemctl start mysqld //启动mysql服务(mysql服务名称是mysqld,后面带个d代表守护进程)
    $ systemctl start httpd //启动apahe
    $ systemctl start nginx  //启动nginx
    $ systemctl restart nginx  //重新启动nginx
    $ systemctl stop nginx  //停止nginx
    $ systemctl disable nginx  //禁用nginx (操作系统启动时,不跟着启动)
    $ systemctl enable nginx  //禁用nginx
    

    命令行下载命令 curl,wget
    CentOS下安装wget命令是yum
    ubuntu是apt或apt-get

    $ yum install wget //CentOS下安装wget命令是yum,ubuntu是apt-get
    $ wget https://github.com/cmderdev/cmder/releases/download/v1.3.10/cmder.zip //下载cmder
    $ curl https://github.com/cmderdev/cmder/releases/download/v1.3.10/cmder.zip -o xxxxname //下载cmder并重命名为xxxxname
    

    curl 功能更强大

    Linux下查看帮助

    $ man curl  //查看帮助信息
    

    在终端下不小心ctrl+s 了怎么办?
    意思是暂停终端,sleep 按ctrl+q 退出挂起

    常用Linux终端快捷键
    ctrl+c 结束正在运行的程序
    ctrl+d 结束输入或者退出shell
    ctrl+s 暂停屏幕输出(相当于挂起)
    ctrl+q 退出暂停屏幕输出
    ctrl+l 清屏(clear)
    ctrl+a 移动光标到行首
    ctrl+e 移动光标到行尾

    进程、线程与协程

    • 进程的目的就是担当分配系统资源(cpu时间,内存) 的实体
    • 线程是操作系统能够进行运算调度的最小单位
    • 协程是一种用户态的轻量级线程,无法利用多核资源
    • IO密集型应用的发展: 多进程 -> 多线程 -> 事件驱动 -> 协程
    • CPU密集型应用的发展: 多进程 -> 多线程
    • 调度和切换的时间: 进程>线程>协程

    sshd->shell->ping
    ssh服务登录到远程服务器,利用shell拉起一个ping命令
    ps aux | grep mariadb
    kill pid
    Linux进程管理相关命令

    $ top
    $ ps
    $ kill -9 // 9 强制退出进程
    $ pkill mysqld //退出名字中带有mysql的进程
    $ w //查看当前系统上谁在登录
    

    Linux网络管理

    • ifconfig
    • ip 查看
    • traceroute 排查网络故障
    • 查看网络端口占用进程
    $ ifconfig  //查看网络配置
    $ ip 
    $ ip addr
    $ ip route
    $ traceroute www.baidu.com  //追踪路由
    $ ip addr //查看有几个网卡
    $ ifup eth0 //启动显卡
    $ ifdown  //关闭显卡
    $ netstat -h //
    $ ss -anp | grep 80 //ss选择出使用80端口的进程
    $ netstat -anp | grep 80 //netstat选择出使用80端口的进程
    
    pixel@ubuntu:~/Desktop/workspace/koatest$ ip addr
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
        link/ether 00:0c:29:b5:2b:fe brd ff:ff:ff:ff:ff:ff
        inet 192.168.79.130/24 brd 192.168.79.255 scope global dynamic noprefixroute ens33
           valid_lft 1322sec preferred_lft 1322sec
        inet6 fe80::b5eb:2ef6:2e83:d647/64 scope link noprefixroute 
           valid_lft forever preferred_lft forever
    pixel@ubuntu:~/Desktop/workspace/koatest$  ifup ens33 //启动网卡
    
    

    Linux免密远程登录 (重点必须掌握)
    免密登录的原理
    配置免密登录的步骤

    • 1.生成密匙对
    • 2.上传配置公钥
    • 3.配置本地私钥
    • 4.免密登录功能的本地配置文件

    1.生成秘钥对

    • $ ssh-keygen -t rsa -C '名字' -f '名字_rsa'

    2.上传配置公钥

    • 上传公钥到服务器对应账号的home路径下的.ssh/中 (ssh-copy-i "公钥文件名" 用户名@服务器IP或域名)
    • 配置公钥文件访问权限为600(-rw-r--r--),根用户可读可写,后面其他不可写 600/622
      公钥会保存到服务器authorized_keys文件中

    3.配置本地私钥

    • 把第一步生成的私钥复制到你的home目录下的.ssh/ 路径下
    • 配置你的私钥文件访问权限为600
    • chmod 600 你的私钥名称
    
    //-f:输出的文件名字
    //-t:
    
    pixel@ubuntu:~/Desktop/workspace/koatest$ ssh-keygen -t rsa -C "david" -f "david_rsa"
    Generating public/private rsa key pair.
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    Your identification has been saved in david_rsa.
    Your public key has been saved in david_rsa.pub.
    The key fingerprint is:
    SHA256:/ix+8ZQQIqbCimVSbGgdBXASJTj58u7LBBGMyuSVL+U david
    The key's randomart image is:
    +---[RSA 2048]----+
    |=O===.           |
    |*=B+ .o . .      |
    |B*. +o . . .     |
    |++*..E    .      |
    |oB ..   S  . .   |
    |o..    .  . o    |
    | ..     .  +     |
    | o.     .o. .    |
    | .+.   ..oo      |
    +----[SHA256]-----+
    pixel@ubuntu:~/Desktop/workspace/koatest$ 
    cat authorized_keys
    
    
    

    ssh -i 名字_rsa root@192.168.1.20 //配置免密登录脚本的时候,要这样写
    scp //远程上传
    scp -i 名字_rsa /filename root@192.168.1.20:/ //将公钥文件上传到远程服务器的根目录

    $ ssh -i 名字_rsa root@192.168.1.20 
    $ scp -i 名字_rsa /filename root@192.168.1.20:/  
    

    4 免密登录功能的本地配置文件

    image.png

    相关文章

      网友评论

          本文标题:20181204前端工程化Linux预备知识

          本文链接:https://www.haomeiwen.com/subject/jgivcqtx.html