Linux操作系统基础及常用命令

时间:2022-08-31 17:04:31
  1. CPU的核心设备:运算器、控制器、寄存器。(实现加法器)

  2. 南桥(south bridge):低速总线控制器,早期用来连接大量I/O设备、硬盘、键盘鼠标、显示器

    北桥(north bridge):高速总线控制器,实现高频率、大数据传输,快速实现数据交换;早期用来连接内存。现在北桥连接南桥直接实现控制

  3. 缓存:CPU <-- 一级缓存 <-- 二级缓存 <-- 内存(快 <-- 慢)

    缓存工作的基本前提:程序的局部性原理(时间局部性、空间局部性)

    a.时间局部性:刚访问过的数据短时间内会再次被访问。

    b.空间局部性:离刚访问过的数据非常近的数据会被马*问到。(将所需访问的数据全部调入内存等待访问)

  4. 程序的移植:

    (Why:底层芯片工作机制不同,程序需要依赖芯片来运行)--芯片运算程序时以二进制数进行(机器语言);不可移植

    --> 为加速程序员的开发速度,芯片支持微码编程(汇编语言),利用编译器进行转换,转换结果为机器语言;不可移植

    --> (Because:汇编语言与芯片的结合程度非常紧密--低级语言)产生高级语言;可移植

    API:应用编程接口(Application Program Interface)。利用API中间层实现程序移植。

  5. CPU芯片的不同系列:硬件架构

        ARM、x86、x64、安腾、alpha、UltraSparc、Power、M68000(M68k)、PowerPC

  6. 操作系统(OS):负责管理硬件资源

        Windows、Linux、Unix(HP-UX、Solaris、AIX、SCO UNIX、Unixware)、os/2

  7. 批处理系统:jobs1$$$$jobs2(每次执行一个作业,结束后自动执行下一个作业)

    多任务(CPU--分片slice:5ms、5ms;Memory--分段1,2--虚拟地址空间)

    进程(process)

  8. 库:程序(无程序入口,只提供调用接口,被程序调用执行)

    system call:系统调用            library call:库调用

    【程序 <--> 内核 <--> 硬件】【硬件--OS--库--应用】

  9. shell:人(回车)机交互接口(shell本身就是一个命令行接口)

    GUI:Graphic User Interface图形用户界面

         Windows、X-Window(Gnome-C、KDE-C++、XFace

    CLI:Command Line Interface命令行接口

         sh、bash、csh、zsh、ksh、tcsh

  10. GNU运动 --> GPL:General Public License宣言 -- *使用

                                                           --> LGPL:Lesser --> GPLv2/GPLv3

    Emacs:文本编辑器

    gcc:GNU C Complier

    ABI:Application Binary Interface应用二进制接口

    Debian:dpt          RedHat:rpm

  11. Linux的基本原则:

        由目的单一的小程序组成,组合小程序完成复杂任务;

        一切皆文件;   

        尽量避免捕获用户接口(无需用户输入);

        配置文件保存为存文本格式;

  12. 命令提示符(prompt):bash(shell)                  

        #:root   $:普通用户

    命令格式:命令 选项 参数(# command options... arguments...)

        选项(短选项:-character多个选项可以组合 / 长选项:--word多个选项不能组合

        参数(命令的作用对象)

    magic number:魔数标示二进制程序的执行格式(Windows和Linux是不一样的)

        #!/bin/bash

  13. 使用凭证:login + passwd (Linux严格区分大小写)

        login:用户名:用户ID

        认证机制:Authentication鉴别用户所有者(密钥)

        授权:Authorization

        审计:Audition监督被授权者(日志)

  14. 虚拟终端(terminal):

        Ctrl+Alt+F(2-6)增加新用户登录

        Ctrl+Alt+F1返回原用户

        Ctrl+Alt+F7图形界面(未必适合所有笔记本,跟键盘格式有关)

  15. 模拟终端:图形界面打开的终端

  16. 切换用户:su(switch user)      

        # su [-l] 用户名    (不加-l是半切换,加-l是完全切换)

        # exit    (退回原来用户)

    修改当前用户密码:passwd(pass word)

        # passwd    (密码复杂性规则)

  17. 常用命令:

        # ls [参数]    (list 列出指定路径下的文件)

            -l(--long):长格式

                文件类型:

                    -:普通文件(f)

                    d:目录文件

                    b:块设备文件(block)

                    c:字符设备文件(character)

                    l:符号链接文件(symbolic link file)

                    p:管道文件(pipe)

                    s:套接字文件(socket)

                文件权限:9位,每3位一组,每一组:rwx(读,写,执行)

                文件硬链接的次数

                文件的属主(owner)

                文件的属组(group)

                文件大小(size):默认单位是字节

                时间戳(timestamp):最近一次被修改的时间(月 日 年)

                    访问:access

                    修改:modify改变内容

                    改变:change,metadata(元数据)改变属性

                文件名

            -h:做单位转换

            -a:显示以.开头的隐藏文件(-A:显示所有隐藏文件,不包括.和..)

                .  表示当前目录

                ..  表示当前目录的上一级目录(父目录)

            -d:显示目录自身属性

            -i:显示inode节点(index node)

            -r:逆序显示文件(-R:递归recursive显示递归消耗资源

        # pwd    (Printing Working directory 列出当前所在目录)

        # cd  [参数]   (change directory 切换目录)

                  空/~:回到用户家目录

          ~ USERNAME:进入指定用户家目录

                   -:在当前目录和前一次所在目录之间来回切换

                  ..:切换到上级目录

        # type    (显示指定命令属于哪种类型)

            命令类型:

                内置命令(shell builtin),内部,�冉�

                外部命令:在文件系统的某个路径下有一个与命令名称相应的可执行文件

            获得命令的使用帮助:

                内部命令:help COMMAND        外部命令:COMMAND --help

                命令手册:manual

                    # man [代码] COMMAND

        man命令的可用帮助文档分类          

代码 |              代表内容

  1  |  普通的命令

     |   (/bin,/usr/bin,/usr/local/bin)

  2  |  内核调用的函数与工具

  3  |  常见的函数与函数库

  4  |  特殊文件(设备文件的说明)

  5  |  文件格式(配置文件的语法)

  6  |  游戏

  7  |  惯例与协议

  8  |  管理员可用的命令

     |(/sbin,/usr/sbin,/usr/local/sbin)

  9  |   内核相关的文件

           帮助文档的目录结构              

NAME:命令名称及功能简要说明

SYNOPSYS:用法说明,包括可用的选项

DESCRIPTION:命令功能的详尽说明,包括每个选项的意义

EXAMPLES:使用事例(附带简单说明)

OVERVIEW:概述

DEFAULTS:默认的功能

OPTIONS:说明每个选项的意义

ENVIRONMENT:环境变量

FILES:用到的文件

SEE ALSO:相关的资料

HISTORY:维护历史与联系方式

                在线文档:    # info COMMAND    (更详细)

            环境变量:命名的内存空间

                PATH:使用冒号分隔的路径(外部命令使用时的查找路径)

        # date    (时间管理)

        # clock    (显示硬件时间)

        # hwclock [参数]    (读取、修改时间)

            -r:读取时间

            -w:将系统时间改为硬件时间

            -s:将硬件时间改为系统时间

        # cal [参数]    (获取完整日历calander)

        # echo "****"    (默认有换行符,加-e时\n起作用)

        # printf "****"    (默认没有换行符,\n直接起作用)