• Linux学前知识2


    (由于本人懒癌晚期,这是很早之前的笔记,抱着单纯想把笔记写成博客的目的才放上来)
    linux内核:是操作系统最核心的软件。kernel
    linus—》芬兰—》美国
    企鹅—>tencent
    内核是开源免费的,都可以去下载。
    www.kernel.org
    函数:其实就是实现某个功能的一段程序代码。
    我们可以直接调用。
    库(函数库)

    内核的作用:
    1.对cpu进行调度管理
    2.对内存进行管理
    3.对进程进行管理
    4.对文件系统进行管理:文件的存放、读取等操作
    5.对其他硬件进行管理

    centos 、redhat、Ubuntu(乌班图)
    CPU –>32bit or 64bit

    这里写图片描述

    虚拟化软件
    vmware workstation
    oracle VM virtualbox

    ====网络问题
    1.vmware
    网卡类型选桥接
    桥接到真实的有线网卡(realtek 瑞昱或者intel)
    虚拟机的ip地址172.16.70.* (1-240)
    子网掩码255.255.0.0

    虚拟机的ip地址一定要和你的真实机器是相同网段

    1U=4.445厘米
    xeon —》至强

    一个机柜=24u

    文件夹里可以存放文件和文件夹

    ==小总结
    文件和文件夹的基本操作: touch vim mkdir rm cp mv file du ls
    pwd cd
    文件里的内容:cat more less head tail
    文件的查找:which whereis locate find
    文件的压缩:zip gzip bzip2 tar

    标准输入(standard input)
    标准输出(standard output)
    标准的错误输出(standard error output)

    标准的输入 –》键盘 —-》0
    标准的输出 –》显示器 –>正确的 —》1
    标准的错误输出 –》显示器 —》错误的 —》2
    ====linux下一切皆文件
    所有的硬件都会和一个文件对应
    /dev/ —>存放设备文件的目录 device
    /dev/sda —>第1块磁盘
    ===输入输出重定向
    标准输入:从该设备接收用户输入的数据
    标准输出:通过该设备向用户输出数据
    标准错误:通过该设备报告执行出错信息

    Linux 内核提供了一种通过 /proc
    文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。
    proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。

    文件系统:就是管理文件的一套系统,
    例如:文件的存放,读取,命名,一个文件多大,一个文件夹里可以存放多少个文件等

    PID =process id
    top 查看linux里的进程信息 —》动态显示
    shift+> 翻页显示进程信息 下一页
    shift+< 上一页
    1 显示cpu的个数(每个cpu的使用情况)
    q 退出 quit

    ps aux #查看进程的命令
    静态显示
    (查看敲命令的时候的一瞬间当前系统的进程的情况)
    ps - report a snapshot of the current processes.
    ps aux|grep vsftpd
    root
    | 管道符号:将前面命令输出送给后面的命令做为输入。
    grep
    是一个字符过滤命令,可以根据条件帮助我们过滤包含某些字符串的行,显示出来,不包含的不显示
    killall vsftpd 杀死所有的叫vsftpd的进程
    ====内核:linux内部最核心的软件
    1.对cpu进行调度管理
    2.对进程进行管理
    3.对内存进行分配管理
    4.对文件系统管理
    5.对其他的硬件进行管理

    echo $$ 查看当前bash的进程号
    free -m 以M为单位显示内存的使用情况
    cat /proc/cpuinfo 查看cpu的信息
    cat /proc/meminfo 查看内存信息
    ====内核(kernel)
    利用文件描述符(file descriptor)来访问文件。
    文件描述符是非负整数。
    打开现存文件或新建文件时,内核会返回一个文件描述符。
    读写文件也需要使用文件描述符来指定待读写的文件。
    文件描述符在形式上是一个非负整数。
    实际上,文件描述符是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。
    文件描述符就是进程打开的每一个文件对应的一个编号,进程通过这个编号来找到相应的文件。
    内核帮助进程维护一张文件描述符表:
    文件名—》编号

    ulimit -a 查看内核相关的限制参数
    文件描述符
    pipe size
    ulimit -n
    查看linux内核默认情况下允许的最大文件描述符的数量
    ulimit -n 65535 直接修改内核允许的最大文件描述符的
    ulimit -n
    65535
    文件描述符的范围0-1023
    默认情况下

    TTY = terminal type
    终端程序的类型:
    1.tty1 tty2 tty6
    linux里控制台终端类型 —》直接进入系统的
    ctrl+alt+F1 ~ F6
    ctrl+alt+F1 —->tty1
    ctrl+alt+F2 —->tty2
    ctrl+alt+F7 —->tty7
    依次类推
    2.pts/0 pts/1 pts/2
    伪终端(模拟出来的一个终端)
    远程连接到系统、
    打开terminal程序
    多用户多任务—>linux

    ll /dev/pts/1
    crw–w—- 1 root tty 136, 1 Jan 14 15:17 /dev/pts/1 字符设备文件
    输入字符,输出字符

    重定向
    改变标准输入、标准输出的方向就是重定向 —>乾坤大挪移
    “>” 输出重定向 –》如果后面接的文件不存在,就会新建,如果文件存在会覆盖原来的内容。
    “>>” 追加输出重定向 —》如果后面接的文件不存在,就会新建,如果文件存在不会覆盖原来的内容,只是追加到文件的末尾。
    ”< ” 输入重定向

    “>”和”>>” 都是重定向输出
    1> :指标准信息输出路径(也就是默认的输出方式)
    2> :指错误信息输出路径
    2>&1 #指将标准信息输出路径指定为错误信息输出路径(也就是都输出在一起)

    2> 错误的输出,只有发生错误的时候,才会执行错误重定向
    2>> 追加
    &> 不论是正确的输出,还是错误的输出都往一个文件里重定向.会覆盖原来的内容
    2>&1 等效于&>
    &>>不会覆盖原来的内容

    ”>4.txt”
    如果4.txt文件存在就是清空里面的内容,如果不存在就是新建这个空文件4.txt

    /dev/null 垃圾桶,任何信息重定向到这里都会没有,不保存

    /dev/zero 系统的零发生器,专门产生0

    read -p “please input your name:”
    read 是一个命令,用来提醒用户输入内容,然后将输入的内容赋值给一个变量
    -p 提醒信息 print
    u_name
    是一个变量的名字

    echo 是输出内容的命令
    echo $u_name 输出u_name变量的值

    mkdir aa 如果执行成功就执行echo yes命令,如果不成功就执行echo no命令
    mkdir aa &>/dev/null && echo yes ||echo no
    no

    && 前面的条件成立就执行后面的命令
    || 前面的条件不成立就执行后面的命令

    [ -d aa ] 判断当前目录下aa是否是目录并且存在
    [ -d bbb ]||mkdir bbb 如果bbb目录不存在,则直接新建

  • 相关阅读:
    我们在囧途之程序员转型记
    项目开发应遵循1+7还是7+1?
    自己用的一款模板解析程序(支持插件和扩展)(思路讨论和使用体验)
    设计的核心任务之一:层次的控制
    【设计 = 编码】 VS 【设计 ≠ 编码】
    从一生的角度看程序员的学习和发展
    编码质量与命名
    软件开发十年小史
    设计的核心任务之三:确保正交性
    国内外软件开发上的差距与分析
  • 原文地址:https://www.cnblogs.com/lpeng94/p/12546518.html
Copyright © 2020-2023  润新知