linux 基础(1)
第一章 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)的更多相关文章
- Linux基础练习题(二)
Linux基础练习题(二) 1.复制/etc/skel目录为/home/tuer1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. [root@www ~]# cp -r ...
- 大数据每日干货第四天(linux基础之一目录结构与常用命令)
为了和qq空间同步,也写的第四天,前面几天明天会发布,本来打算把每天学的东西记录下来,通过朋友给的建议要发的话稍微系统化下,从大数据需要的linux基础,到离线数据分析包括hadoop. ...
- Linux课程实践一:Linux基础实践(SSH)
一.SSH服务 1. 安装SSH (1)查看是否已经安装过ssh服务 rpm -qa |grep ssh (2)进行安装 sudo apt-get install openssh-server Ubu ...
- 还是不想改报告,伊阿忆啊哟-Linux基础继续
hi 虽然今天是最最美好的周六(前不着工作日后不着工作日),但老子还要来改报告,但额就是不想改,你拿我有啥办法啊... 争取完结Linux基础 一.Linux常用命令(三) 4.帮助命令 4.1 帮助 ...
- 原来今天是感恩节-Linux基础继续&MySQL和PHP
hi 原来今天是感恩节.虽然一直没有过这个节日的习惯,但仅仅是听到感恩的消息,都能想到一幅幅画面.愿大家安好! 下午开题会议还是有所收获,悄悄的,就变向那个不喜欢自己的人了. 一.Linux基础(二) ...
- 买错的电影票,含着泪也得看-LAMP搭建&Linux基础
hi 没说过,上周五室友过生请客,在龙湖里吃嗨了喝爽了,回去的路上侃侃而谈.说好的这周一起去看年内最后的大片,火星救援的,谁知道老子眼神不好,买错了电影的时间...把周六的约定提前到了今儿个下午,ma ...
- Linux基础3(文件权限)
文件权限 1.普通权限 (登陆用户对文件或目录的读写执行的权限) 普通权限对管理员用户无效 文件和目录 都有4中类型的用户u 所有者 : 文件.目录的创建者g 所属组 : 文件.目录属于的用户组o 其 ...
- Linux课程实践一:Linux基础实践(基础操作)
一.软件源维护 1. 基本操作 (1)查看源列表 sudo vim /etc/apt/sources.list deb:二进制软件安装包 deb-src:源码包 (2)备份软件源列表 sudo cp ...
- 实践一:Linux基础实践
一.Linux基础实践 1.1 1. 掌握软件源的维护方法,配置系统使用软件源镜像.掌握通过软件源来查找,安装,卸载,更新软件的方法. 这部分内容在许多学长学姐的报告里都有很详细的讲解,我在此就不赘述 ...
- Linux基础精华
Linux基础精华 (继续跟新中...) 常用命令: Linux shell 环境 让你提升命令行效 率的 Bash 快捷键 [完整版] 设置你自己的liux alias Linux的Find使用 L ...
随机推荐
- 九度OJ题目1443:Tr A (JAVA)
题目描述: A为一个方阵,则Tr A表示A的迹(就是主对角线上各项的和),现要求Tr(A^k)%9973. 输入: 数据的第一行是一个T,表示有T组数据. 每组数据的第一行有n(2 <= n & ...
- web注册功能实现
开发工具:Eclipse Web前端语言:html+jsp 后端数据库:MySQL 数据库UI工具:Navicat for MySQL (根据网上各位前辈的信息,自学实现这个注册基本功能,以后要是学到 ...
- 实际比较filter2D和imfilter之间的关系
实际比较filter2D和imfilter之间的关系 卷积运算是图像处理和增强中经常遇到的一种算法.由于很多优秀的开源算法都是采用matlab编写的,在我改写为c ...
- 获取 metadata 的完整例子 - 每天5分钟玩转 OpenStack(166)
我们将通过实验详细分析 instance 从 nova-api-metadata 获取信息的完整过程. 环境介绍 1. 一个 all-in-one 环境(多节点类似). 2. 已创建 neutron ...
- Windows 10 IoT Serials 7 – 如何用树莓派制作家庭流媒体播放器
Windows 10平台引入了AllJoyn开源软件框架,它提供了一组服务可以创建动态近端网络,让设备可以相互连接实现功能交互.目前,AllJoyn开源软件框架由AllSeen联盟负责管理.AllSe ...
- NIO(四、Selector)
目录 NIO(一.概述) NIO(二.Buffer) NIO(三.Channel) NIO(四.Selector) Selector 前面两个章节都描述了Buffer和Channel,那这个章节就描述 ...
- 储存过程嵌套临时表同名引发的BUG?
临时表使用:存储过程嵌套时,均创建了相同名称的临时表. create procedure SP_A ( @i int output )asbegin create table #t ( ta int ...
- 读书笔记 effective c++ Item 41 理解隐式接口和编译期多态
1. 显示接口和运行时多态 面向对象编程的世界围绕着显式接口和运行时多态.举个例子,考虑下面的类(无意义的类), class Widget { public: Widget(); virtual ~W ...
- 【C++】智能指针详解(一):智能指针的引入
智能指针是C++中一种利用RAII机制(后面解释),通过对象来管理指针的一种方式. 在C++中,动态开辟的内存需要我们自己去维护,在出函数作用域或程序异常退出之前,我们必须手动释放掉它,否则的话就会引 ...
- JS中new的运行方式
---恢复内容开始--- 在JS中,有两个基础原型,分别是Function.prototype和Object.prototype.这两个原型组成了JS中的所有实例他们的关系是 Function.pro ...