第一章 Linux 基础知识(一)

一、硬件介绍:
  由一条总线把CPU、内存和I/O设备串联起来并与其他设备进行通信。CPU负责运算,内存用于储存临时变量,硬盘用于储存数据。
1.1处理器CPU
  从内存中读取指令--解码为二进制语言--执行指令,重复执行前面三个步骤直到程序结束。 
  寄存器--CPU的一部分,用于缓存一些比较重要待解决的指令。
  第一类.通用寄存器:用来保存变量和临时结果。
  第二类.程序计数器:它保存了将要取出的下一条指令的内存地址。在指令取出后,程序计算器就被更新以便执行后期的指令。
  第三类.堆栈指针寄存器:它指向内存中当前栈的顶端。该栈包含已经进入但是还没有退出的每个过程中的一个框架。在一个过程的堆栈框架中保存了有关的输入参数、局部变量以及那些没有保存在寄存器中的临时变量。(知识补充:1.堆栈:就像往箱子里放置叠好的衣服,一件一件往箱子里放,遵循后进先出原则,就像要把第一件衣服取出来,必须从最后一件开始取,直到取出第一件。2.队列:就像排队刷卡出大门,遵循先进先出原则,一条队列,肯定是第一个排队的人刷卡先走。)
  第四类.程序状态字寄存器:这个寄存器包含了条码位(由比较指令设置)、CPU优先级、模式(用户态或内核态),以及各种其他控制位。用户通常读入整个PSW,但是只对其中少量的字段写入。  
  内核态与用户态
  程序状态字寄存器中有一个二进制位控制这两种模式(0、1)。
  内核态:当cpu在内核态运行时,cpu可以执行指令集中所有的指令,很明显,所有的指令中包含了使用硬件的所有功能,(操作系统在内核态下运行,从而可以访问整个硬件)
  用户态:用户程序在用户态下运行,仅仅只能执行cpu整个指令集的一个子集,该子集中不包含操作硬件功能的部分,因此,一般情况下,在用户态中有关I/O和内存保护(操作系统占用的内存是受保护的,不能被别的程序占用),当然,在用户态下,将PSW中的模式设置成内核态也是禁止的。
  内核态与用户态切换:用户态下工作的软件不能操作硬件,但是我们的软件比如暴风影音,一定会有操作硬件的需求,比如从磁盘上读一个电影文件,那就必须经历从用户态切换到内核态的过程,为此,用户程序必须使用系统调用(system call),系统调用陷入内核并调用操作系统,TRAP指令把用户态切换成内核态,并启用操作系统从而获得服务。
  CPU中的一级缓存L1就是寄存器。二级缓存L2用于多核CPU之间的通信,访问速度比访问内存快一点。
1.2存储器
  寄存器就是L1缓存,高速缓存就是L2.
  高速缓存命中:高速缓存硬件检查所需要的高速缓存行是否在高速缓存中,如果是,则为高速缓存命中。
  内存RAM:断电后数据全部消失,易失性储存。
  ROM:只读存储器在工厂中就被编程完毕,然后再也不能修改。
  闪存:类似固态硬盘,不像机械硬盘那么脆弱,但是擦除次数过多就会损坏。
  CMOS储存器:内置一小块电池,主要用于记录时间和日期参数,还保存一些其他参数,入记录哪一个是系统磁盘等等。
  扇区:机械硬盘中,盘面一个圆中的一小段。 
  平均寻道时间:机械手臂从一个柱面随机移动到相邻的柱面的时间成为寻到时间,找到了磁道就以为找到了到了数据所在的那个圈圈,但是还不知道数据具体这个圆圈的具体位置
  平均延迟时间:机械臂到达正确的磁道之后还必须等待旋转到数据所在的扇区下,这段时间成为延迟时间。
  虚拟内存:用于运行大于物理内存的程序,从机械硬盘中分一块来暂时运行内存暂时不需要但是将要运行的指令,在linux中成为swap,这种机制的核心在于快速地映射内存地址,由cpu中的一个部件负责,成为存储器管理单元。

二、基本命令的介绍

退出终端命令:exit
关闭Linux系统的命令:init 0
切换虚拟终端的方法:Ctrl+Alt+F[1~6]
who命令 :查看有多少个终端打开着
whoami命令:获取当前用户名
date命令:查看时间日期
cal命令:查看日历
clear命令:清屏(或者 Ctrl+L)
su命令 : su - root(根用户运行及访问)
passwd命令:修改用户密码
pwd命令:以绝对路径的方式显示用户当前工作目录
ls命令:用来显示目标列表
cd命令:用来确定和切换目录
mkdir:创建文件夹 mkdir -p /boot/aaa 先创建boot然后创建aaa
ls -d /boot/a 查看指定目录下的文件
mv命令:mv /boot/aaa /boot/bbb 把aaa移动到boot下重命名aaa为bbb
rm -rf /boot/aaa 删除aaa及其目录下的所有子文件
rmdir命令:删除空目录(其目录下无别的目录或文件)
touch命令:touch aaa.txt 创建aaa.txt文件
cat命令:查看文件内容 
head:head -n 1 /tmp/aaa.txt 显示文件的第一行
tail -f /tmp/aaa.txt 动态监测文件新增内容
echo qwer > /tmp/aaa.txt 把qwer写入文件覆盖原有内容
echo qwer >> /tmp/aaa.txt 把qwer以追加方式写入文件
more命令:每次在屏幕上显示一屏(一页)的文件内容 more +3 aaa.txt 从第三行开始显示日志内容

linux 基础(1)的更多相关文章

  1. Linux基础练习题(二)

    Linux基础练习题(二) 1.复制/etc/skel目录为/home/tuer1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. [root@www ~]# cp -r ...

  2. 大数据每日干货第四天(linux基础之一目录结构与常用命令)

           为了和qq空间同步,也写的第四天,前面几天明天会发布,本来打算把每天学的东西记录下来,通过朋友给的建议要发的话稍微系统化下,从大数据需要的linux基础,到离线数据分析包括hadoop. ...

  3. Linux课程实践一:Linux基础实践(SSH)

    一.SSH服务 1. 安装SSH (1)查看是否已经安装过ssh服务 rpm -qa |grep ssh (2)进行安装 sudo apt-get install openssh-server Ubu ...

  4. 还是不想改报告,伊阿忆啊哟-Linux基础继续

    hi 虽然今天是最最美好的周六(前不着工作日后不着工作日),但老子还要来改报告,但额就是不想改,你拿我有啥办法啊... 争取完结Linux基础 一.Linux常用命令(三) 4.帮助命令 4.1 帮助 ...

  5. 原来今天是感恩节-Linux基础继续&MySQL和PHP

    hi 原来今天是感恩节.虽然一直没有过这个节日的习惯,但仅仅是听到感恩的消息,都能想到一幅幅画面.愿大家安好! 下午开题会议还是有所收获,悄悄的,就变向那个不喜欢自己的人了. 一.Linux基础(二) ...

  6. 买错的电影票,含着泪也得看-LAMP搭建&Linux基础

    hi 没说过,上周五室友过生请客,在龙湖里吃嗨了喝爽了,回去的路上侃侃而谈.说好的这周一起去看年内最后的大片,火星救援的,谁知道老子眼神不好,买错了电影的时间...把周六的约定提前到了今儿个下午,ma ...

  7. Linux基础3(文件权限)

    文件权限 1.普通权限 (登陆用户对文件或目录的读写执行的权限) 普通权限对管理员用户无效 文件和目录 都有4中类型的用户u 所有者 : 文件.目录的创建者g 所属组 : 文件.目录属于的用户组o 其 ...

  8. Linux课程实践一:Linux基础实践(基础操作)

    一.软件源维护 1. 基本操作 (1)查看源列表 sudo vim /etc/apt/sources.list deb:二进制软件安装包 deb-src:源码包 (2)备份软件源列表 sudo cp ...

  9. 实践一:Linux基础实践

    一.Linux基础实践 1.1 1. 掌握软件源的维护方法,配置系统使用软件源镜像.掌握通过软件源来查找,安装,卸载,更新软件的方法. 这部分内容在许多学长学姐的报告里都有很详细的讲解,我在此就不赘述 ...

  10. Linux基础精华

    Linux基础精华 (继续跟新中...) 常用命令: Linux shell 环境 让你提升命令行效 率的 Bash 快捷键 [完整版] 设置你自己的liux alias Linux的Find使用 L ...

随机推荐

  1. loadrunner:Auto Correlate自动定位瓶颈

    Auto correlate可以根据数据趋势,自动分析出可能影响目标性能的数据项,通过它可以很方便地找出哪些数据之间有明显的相互依赖性. 下面以分析影响平均响应时间的windows资源为例,讲解Aut ...

  2. JavaWeb之Filter、Listener

    昨天和大家介绍了一下JSON的用法,其实JSON中主要是用来和数据库交互数据的.今天给大家讲解的是Filter和Listener的用法. 一.Listenner监听器 1.1.定义 Javaweb中的 ...

  3. 来谈一谈------JavaScript对象

    1.window常用的属性: ①history ②location 2.history对象的方法: ①back() ②forward() ③go() 3.location对象的属性: ①host() ...

  4. HibernateSessionFactory类的主要方法

    package com.app.www.hibernate; import java.sql.SQLException; import org.hibernate.HibernateException ...

  5. windows系统解决github.com访问超时

    当github无法访问时,可以尝试在hosts文件中添加下面的内容 windows:c:\windows\system32\drivers\etc 192.30.252.131 https://git ...

  6. node.js报错throw err; // Rethrow non-MySQL errors e:\serverTest\node_modules\mysql\lib\protocol\Parser.js:79 解决方法

    今天在用node+angular做后台时,需要使用session保存登陆状态的时候,遇到了此问题,问题直译为非mysql问题,我也在后台取到的登陆用户名和密码,确实不是数据库问题.最后发现在使用ses ...

  7. IE6 margin 双倍边距解决方案

    一.什么是双边距Bug? 先来看图: 我们要让绿色盒模型在蓝色盒模型之内向左浮动,并且距蓝色盒模型左侧100像素.这个例子很常见,比如在网页布局中,侧边栏靠左侧内容栏浮动,并且要留出内容栏的宽度.要实 ...

  8. Python之xml文档及配置文件处理(ElementTree模块、ConfigParser模块)

    本节内容 前言 XML处理模块 ConfigParser/configparser模块 总结 一.前言 我们在<中我们描述了Python数据持久化的大体概念和基本处理方式,通过这些知识点我们已经 ...

  9. 使用 ipdb 调试 Python

    1.安装 pip install ipdb 2.使用 python -m ipdb xxx.py 程序内部: from ipdb import set_trace set_trace() 3.常用命令 ...

  10. 第1章1zabbix快速入门

    p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; t ...