第一章 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. 算法模板——sap网络最大流 2(非递归+邻接表)

    实现功能:同最大流 1 这里面主要是把前面的邻接矩阵改成了邻接表,相比之下速度大大提高——本人实测,当M=1000000 N=10000 时,暂且不考虑邻接矩阵会不会MLE,新的程序速度快了很多倍(我 ...

  2. 1641: [Usaco2007 Nov]Cow Hurdles 奶牛跨栏

    1641: [Usaco2007 Nov]Cow Hurdles 奶牛跨栏 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 424  Solved: 272 ...

  3. android studio 中的 gradle version

    刚开始接触AS,从geithub上download了好多项目,每一个都需要改动,对我这种新手来说,慢慢琢磨吧 问题一: 解决办法: 在build.gradle中,将gradle的版本改正如上图所示即可 ...

  4. cassandra简单介绍与基本操作

    项目中用到了cassandra,用来存储海量数据,且要有高效的查询:本博客就进行简单的介绍和进行一些基本的操作 一.使用场景: 是一款分布式的结构化数据存储方案(NoSql数据库),存储结构比Key- ...

  5. java中的递归

    所谓递归,是指程序调用自身,当然,递归不会无休止地调用下去,它必然有一个出口,当满足条件时程序也就结束了,不然的话,那就是死循环了. 看下面这个类,有几个递归方法,看了之后肯定会对你学习递归很有帮助的 ...

  6. ubuntu中文输入问题

    因为硬盘版的一些缺陷,我狠心的把windows8覆盖为ubuntu 13.10,用u盘安装,除了分区稀里糊涂的还不知到怎么分,其他问题就是汉字的输入问题了,因为之前选了english-US 后来就没有 ...

  7. C++标准库之stack(各函数及其使用全)

    原创作品,转载请注明出处:http://www.cnblogs.com/shrimp-can/p/5283207.html 栈是后入先出的.成员函数有: 1.栈的声明 std::deque<in ...

  8. Android设计模式之代理模式

    代理模式: 为其他对象提供一种代理以控制对这个对象的访问 Subject类定义了RealSubject和Proxy的共用接口,这样就在任何使用RealSubject的地方都可以使用Proxy inte ...

  9. C#_扩展方法

    这里我先引用一个实例,需求是这样:我们要将一个字符串中的字幕大小写变换,即大写变小写,小写变大写. 通常,我们首先会考虑在当前类中写一个方法,将字符串传进去,然后返回变换后的字符串.这样写当然不会错, ...

  10. 解决VIM编辑器中文乱码

    追加如下内容到/etc/vimr (或者不同的用户家目录下的.vimrc文件中) set encoding=utf8filetype plugin indent onsyntax on" s ...