zoukankan      html  css  js  c++  java
  • Linux基础总结

    Linux基础总结

    1.计算机硬件和操作系统基础

    计算机层次:
    单机:硬件(CPU)->系统(内核+系统软件:防火墙)->应用软件(分层设计:解耦,解耦的好处:耦合性,关联性)

    网络:不同机器通信

      程序运行模式(IO,input output):
          用户模式:user space,us
          内核空间:system space

    CPU就是这样设计,Linux内核也这样设计,用户的系统调用交给内核去执行
    cpu的特权指令只能系统内核调用,而应用只能调用普通指令(权限的问题)

    网络/磁盘 -> 内核空间 <-> 用户空间 <- 网络/磁盘

    2.IO(Input Output,通常说的是产生的"IO阻塞")

    原理:程序运行模式
    网络IO:网络到计算机之间(发消息给另外一个人:发的人:output ,收:input)
    磁盘IO: 磁盘存之间(读文件/接受文件)
    IO产生的本质(跨媒介、跨层次)

    通用型语言:c c++ java python(所有的CPU指令都能用)
    脚本语言:php javascript(部分的CPU指令都能用)

    3.程序是如何运行的?

    系统软件(一开机就载入内存,识别你的操作,交给CPU操作)
    应用软件:CPU <- 内存 <- 磁盘(程序)/网络
      编程语法 -> CPU api(CPU指令字典,字典有权限,系统软件和应用层软件权限不同,系统软件给出的api不一样(封装了CPU指令))
    CPU还有区别
    CPU指令:
    1寄存器,2到累加器,3到显卡,4像素颜色绿, 5像素颜色红

    python print:1,2,3,5
    C printf:1,2,3,4

    4.优化:

    软件/代码优化(程序员关心):程序=数据结构(IO优化)+ 算法(算法:1.广义:思路,解决问题的方法,函数,几行代码,2.侠义:排序 二分法 常规逻辑)
    野生程序员:什么是IO?什么是算法?
    普通程序员:数据结构(IO优化)
    高级程序员:算法优化(工作两年后)
    架构师:数据结构优化、算法优化、系统优化、硬件优化

    系统优化(运维)
    硬件优化(运维)

    5.linux的风靡

    免费、开源

    6.shell /(win cmd)

    bash(默认,其它的不用管)
    脚本语言:(部分的CPU指令都能用)

    作用(优势):linux命令 + 编程语法(伪代码a = ls /tmp;if a then mv a /usr )
    缺点:可编程性很弱(基本的东西(变量 流程控制if for while 正则),没有(网络编程,不能访问网络api,并发api等高级特性))

    python:python有shell接口,subprocess
    python -> c -> shell -> CPU:
    Popen(['ls'], stdout=PIPE) == ls

    正常:python -> c -> CPU

    7,Linux主要命令

    日常管理

    帮助:man (全)
    history
    alias

    路径:
    默认的命令,处理的是相对路径 ls 列出当前路径下的文件和目录名
    绝对路径:从根目录起始的路径
    相对路径:从当前路径起始的路径 cd /tmp;cd ..(/)

    目录管理

    ls
    pwd
    cd
    cd ..
    cd -

    文件管理

    *vi(熟悉)
    *find (熟悉)
    which
    cat/less
    echo
    touch

    软件管理

    把rpm理解为安卓的apk(有依赖)
    首选yum (应用商店,自动解决依赖,下载的其实也是rpm)
    rpm(先有rpm再有yum,自己去网上找)
    源码包 先编译(make),才能安装(make install) : 定制化高,但是难度大,比rpm还难

    用户管理
    su -
    sudo

    系统管理

    service 进程名 start/stop/restart
    /etc/init.d/进程名 start/stop/restart
    chkconfig 开机启动项

    nohup
    &
    ps -ef | grep 进程名
    netstat -lnp | grep 端口号
    free -h
    df -h 看磁盘
    top(windows的进程管理器)
    ifconfig -a

    解压缩:tar zxvf(少用)/jxvf .tar.gz .zip(zip unzip)
    Windows .rar .zip .7z
    Linux .zip .gz .bz2 .xz .tar .gz .tar .bz2 .tar .xz

    防火墙

    ipatbles(不会直接关闭,了解就行) / centos7 firewalld
    selinux(太复杂,所有人基本是直接关闭)

    文件传输WINSCP //可视化软件
    yum install lrzsz -y // 命令,只能传输单文件(压缩文件,单个文件),缺点:不能传输目录(需要压缩)

    权限管理

    用户权限 root用户 普通用户 其它用户(自己意外的用户) 用户组(普通用户)
    文件权限(包含目录) :r-4 2 x -1 ugo

                                                            感谢:鸣人先生

  • 相关阅读:
    php_l3arning_notes_3
    php_l3arning_notes_2
    php_l3arning_notes_1
    从 HTTP 到 HTTPS 再到 HSTS
    WSGI&ASGI
    WSGI 介绍
    什么是multipart/form-data请求
    SSH 端口转发
    Redis与RabbitMQ作为消息队列的比较
    数据库索引,到底是什么做的?
  • 原文地址:https://www.cnblogs.com/wuqiuming/p/9196759.html
Copyright © 2011-2022 走看看